forgejo-aneksajo/services
Nick 3fcb1c1443 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-26 13:00:01 +02:00
..
actions [ACTIONS] skip superflous pull request synchronized event (#2314) 2024-02-13 12:00:27 +01: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-26 13:00:01 +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 convert.ToTeams on empty input (#28426) (#28767) 2024-01-16 14:39:23 +00: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 Only migrate the first 255 chars of a Github issue title (#28902) (#28912) 2024-01-31 14:18:26 +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 Fix debian InRelease Acquire-By-Hash newline (#29204) (#29299) 2024-02-22 11:07:28 +01:00
pull Concatenate error in checkIfPRContentChanged (#28731) (#28737) 2024-01-16 14:39:23 +00:00
release Avoid sending update/delete release notice when it is draft (#29008) (#29025) 2024-02-13 14:17:34 +01:00
repository Do not use lower tag names to find releases/tags (#29261) (#29262) 2024-02-20 09:36:37 +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 Forbid removing the last admin user (#28337) (#28793) 2024-01-16 14:41:11 +00: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