forgejo-aneksajo/services
Nick 3c1406977e 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-08-12 11:35:08 +02:00
..
actions enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
agit fix(hook): ignore unknown push options instead of failing 2024-07-02 20:18:33 +00:00
asymkey enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
attachment enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
auth git-annex: support downloading over HTTP (#6) 2024-08-12 11:35:08 +02:00
automerge Fix automerge will not work because of some events haven't been triggered (#30780) 2024-05-26 19:01:36 +02:00
context [BUG] Allow 4 charachter SHA in /src/commit 2024-08-06 01:18:48 +00:00
contexttest enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
convert enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
cron enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
doctor Replace Gitea with Forgejo 2024-07-24 21:41:11 +00:00
externalaccount [Fix] Account Linking UpdateMigrationsByType (#31428) 2024-06-23 12:40:53 +02:00
f3 enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
federation feat(federated-star) star repositories via ActivityPub (#1680) 2024-06-06 08:58:11 +02:00
feed enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
forgejo enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
forms Add slogan config (#3752) 2024-06-07 17:12:48 +00:00
gitdiff enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
indexer Update issue indexer after merging a PR (#30715) 2024-05-12 20:03:10 +02:00
issue enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
lfs Fix #31185 try fix lfs download from bitbucket failed (#31201) 2024-06-16 13:42:59 +02:00
mailer enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
markup enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
migrations enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
mirror test(mock): DeletePushMirrors & AddPushMirrorRemote 2024-06-02 16:31:41 +02:00
notify Clean up log messages (#30313) 2024-04-15 20:01:35 +02:00
org enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
packages packages: skip error logging on duplicate 2024-03-24 07:12:31 +01:00
pull fix: use url.JoinPath to join url parts 2024-07-31 14:02:26 +00:00
release enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
remote Enable unparam linter (#31277) 2024-06-16 13:42:58 +02:00
repository enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
secrets Refactor deletion (#28610) 2023-12-25 21:25:29 +01:00
task Fix "force private" logic (#31012) 2024-05-26 18:20:33 +02:00
uinotification Penultimate round of db.DefaultContext refactor (#27414) 2023-10-11 04:24:07 +00:00
user enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
webhook enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00
wiki enable linter testifylint on v8 (#4573) 2024-07-30 19:41:27 +00:00