forgejo-aneksajo/services
Nick 3d6d9fcf11 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-29 12:16:05 +02:00
..
actions fix(actions): call automerge service on successful commit state 2024-04-15 16:17:16 +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-29 12:16:05 +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 Fix incorrect relative/absolute URL usages (#29531) (#29547) 2024-03-10 18:45:59 +07:00
cron [GITEA] Actually recover from a panic in cron task 2023-12-10 17:20:49 +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 [BUG] split code conversations in diff tab (#2306) 2024-02-16 14:06:43 +01:00
indexer Fix missing issue search index update when changing status (#28325) (#28330) 2023-12-08 13:41:16 +01: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 Fix missing link on outgoing new release notifications (#29079) (#29300) 2024-02-22 11:07:31 +01:00
markup Move web/api context related testing function into a separate package (#26859) 2023-09-01 11:26:07 +00:00
migrations Change the default maxPerPage for gitbucket (#30392) (#30471) 2024-04-15 09:52:00 +02: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 Fix debian InRelease Acquire-By-Hash newline (#29204) (#29299) 2024-02-22 11:07:28 +01:00
pull Fix commit_status problem when testing (#29672) (#29675) 2024-03-10 18:45:59 +07:00
release Avoid sending update/delete release notice when it is draft (#29008) (#29025) 2024-02-13 14:17:34 +01:00
repository fix(api): error 500 on tag creation when a workflow exists 2024-04-19 10:52:17 +02: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 Check the token's owner and repository when registering a runner (#30406) (#30412) 2024-04-15 09:35:37 +02:00
webhook Fix possible data race on tests (#30093) (#30108) 2024-04-03 12:32:38 +02:00
wiki Fix incorrect test code for error handling (#27139) 2023-09-20 08:51:36 +08:00