forgejo-aneksajo/services
Nick 9b974f2f79 git-annex: support downloading over HTTP (#6)
This makes HTTP symmetric with SSH clone URLs.

This gives us the fancy feature of _anonymous_ downloads,
so people can access datasets without having to set up an
account or manage ssh keys.

Previously, to access "open access" data shared this way,
users would need to:

  1. Create an account on gitea.example.com
  2. Create ssh keys
  3. Upload ssh keys (and make sure to find and upload the correct file)
  4. `git clone git@gitea.example.com:user/dataset.git`
  5. `cd dataset`
  6. `git annex get`

This cuts that down to just the last three steps:

  1. `git clone https://gitea.example.com/user/dataset.git`
  2. `cd dataset`
  3. `git annex get`

This is significantly simpler for downstream users, especially for those
unfamiliar with the command line.

Unfortunately there's no uploading. While git-annex supports uploading
over HTTP to S3 and some other special remotes, it seems to fail on a
_plain_ HTTP remote. See https://github.com/neuropoly/gitea/issues/7
and https://git-annex.branchable.com/forum/HTTP_uploads/#comment-ce28adc128fdefe4c4c49628174d9b92.

This is not a major loss since no one wants uploading to be anonymous anyway.

To support private repos, I had to hunt down and patch a secret extra security
corner that Gitea only applies to HTTP for some reason (services/auth/basic.go).

This was guided by https://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/

Fixes https://github.com/neuropoly/gitea/issues/3

Co-authored-by: Mathieu Guay-Paquet <mathieu.guaypaquet@polymtl.ca>
2024-04-25 15:12:53 +02:00
..
actions Always delete existing scheduled action tasks (#27662) (#27688) 2023-10-19 09:37:20 +02:00
agit Move notification interface to services layer (#26915) 2023-09-05 18:37:47 +00:00
asymkey Another round of db.DefaultContext refactor (#27103) (#27262) 2023-09-25 19:24:35 +02:00
attachment [FEAT] allow setting the update date on issues and comments 2023-11-13 12:33:49 +01:00
auth git-annex: support downloading over HTTP (#6) 2024-04-25 15:12:53 +02:00
automerge Improve queue and logger context (#24924) 2023-05-26 07:31:55 +00:00
context Another round of db.DefaultContext refactor (#27103) (#27262) 2023-09-25 19:24:35 +02:00
convert [FEAT] add Forgero Git Service 2023-11-13 12:33:49 +01:00
cron [PRIVACY] Add a DNS method to fetch new updates 2023-11-13 13:57:31 +01:00
externalaccount More db.DefaultContext refactor (#27265) (#27347) 2023-09-29 13:35:01 +00:00
feed More db.DefaultContext refactor (#27265) (#27347) 2023-09-29 13:35:01 +00:00
forgejo [UPGRADE] add sanity checks for [storage*] 2023-11-13 12:33:49 +01:00
forms [GITEA] Fix required error for token name 2023-11-13 14:06:32 +01:00
gitdiff Fix successful return value for SyncAndGetUserSpecificDiff (#27152) 2023-09-20 22:28:17 +02:00
indexer Improve retrying index issues (#27554) (#27634) 2023-10-16 09:55:53 +08:00
issue [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
lfs [GITEA] Drop sha256-simd in favor of stdlib 2023-11-13 14:06:31 +01:00
mailer Merge branch 'rebase-v1.21/forgejo-branding' into wip-v1.21-forgejo 2023-11-13 16:47:18 +01:00
markup Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
migrations [GITEA] Skip unsupported code comment 2023-11-13 14:06:30 +01:00
mirror More db.DefaultContext refactor (#27265) (#27347) 2023-09-29 13:35:01 +00:00
notify [GITEA] notifies admins on new user registration 2023-11-13 14:06:27 +01:00
org Delete repos of org when purge delete user (#27273) (#27728) 2023-11-01 10:03:12 +08:00
packages Close all hashed buffers (#27787) (#27790) 2023-10-25 22:24:25 +02:00
pull [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
release Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
repository [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
secrets Refactor secrets modification logic (#26873) 2023-09-05 15:21:02 +00:00
task Fix incorrect ctx usage in defer function (#27740) (#27741) 2023-10-22 14:36:49 +00:00
uinotification More db.DefaultContext refactor (#27265) (#27347) 2023-09-29 13:35:01 +00:00
user [MODERATION] User blocking 2023-11-13 13:58:02 +01:00
webhook Fix comment permissions (#28213) (#28216) 2023-11-26 13:56:50 +01:00
wiki Fix incorrect test code for error handling (#27139) 2023-09-20 08:51:36 +08:00