mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-12 02:24:21 -05:00
Offer a download link to specific release file #1647
Open
opened 2025-11-02 04:08:20 -06:00 by GiteaMirror
·
15 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
No Label
type/proposal
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#1647
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ahtcx on GitHub (Mar 23, 2018).
How about one-upping GitHub and offering a direct download link to any file from any release. The best way I can think of would be with the following URL scheme, I don't they could interfere with any current ones.
/{user}/{repo}/releases/download/latest/{name}namefrom latest stable release/{user}/{repo}/releases/download/latest:stable/{name}namefrom latest stable release/{user}/{repo}/releases/download/latest:prerelease/{name}namefrom latest prerelease/{user}/{repo}/releases/download/tag:{tag}/{name}namefrom specific releasetagThe URLs should 302 to the attachement URL, if no file or release exists it should 404. If you like the idea but have bigger priorities I could look into implementing it myself, though it will take some time since I've never contributed to a big project, nor used Go.
This is really useful to provide a static URL to the latest release similar to
wordpress.org/latest.zipthat can be used by scripts. Instead it would look more like/wordpress/wordpress/releases/download/latest/wordpress.zip.@ahtcx commented on GitHub (Mar 23, 2018):
I'm not sure how it could be handled when a release offers multiple files with the same name, but who does that anyway?
@lafriks commented on GitHub (Mar 23, 2018):
If semantic versioning of tags is taken into account I like the idea
@ahtcx commented on GitHub (Mar 24, 2018):
/{user}/{repo}/releases/download/version:{constraint}/{name}would be pretty cool! I'm currently setting up the dev environment and hopefully I can implement this!@ahtcx commented on GitHub (Mar 25, 2018):
I'm currently working on this and am unsure how to "cleanly" tackle the problem of multiple attachements with the same name, do you think it would make sense to ban attachements with the same file name? If not any ideas of how to make every single attachement accessible, including files with the same name?
@lafriks commented on GitHub (Mar 25, 2018):
I think that attachments with same name should not be allowed
@njdro commented on GitHub (Apr 3, 2018):
I request this or similar also please. i was using https://dl.gitea.io/gitea/master/gitea-master-linux-amd64 up until very recently, now it no longer exists, so my weekly update script no longer works.
@lafriks commented on GitHub (Apr 3, 2018):
@meoso it will be back soon again, we did move over infra to larger disk space, so not everything is back. As soon as our drone instance will be fully working again master downloads will be available again
@DjSni commented on GitHub (Aug 18, 2019):
I think it should also be integrated into the API.
Is there any news ?
@l-2-j commented on GitHub (May 4, 2022):
Handling multiple attachments with the exact same filename sounds like the
300 Multiple Choicesstatus header would work well. At least if there's no other reason to deny multiple attachments with the same filename?If I understand the specification of said header correctly, it could just return a list of attachments in a similar vein as the API already does for retrieving the attachments (
/repos/{owner}/{repo}/releases/{id}/assets)? Though of course filtered to only contain the attachments with the matching filename.And that way it could later on be potentially extended to match with just partial filenames (
*.exe?partialmatch=true->foo-vX.Y.Z.exe&bar-vZ.Y.X.exe) type of a thing.@Mai-Lapyst commented on GitHub (May 29, 2022):
Is anyone currently working on this? If not I would start working on this.
@nerdCopter commented on GitHub (May 29, 2022):
i would love URL =
https://dl.gitea.io/gitea/master/gitea-master-linux-amd64or similar. it worked great when it worked.@Mai-Lapyst commented on GitHub (May 29, 2022):
@Garionion commented on GitHub (May 31, 2022):
I have had build a very simple api wrapper which (for now) does only a 307 (basically the same as 302) to the actual file.
gitea-attachements-proxy
there also exists a docker image
One can use the following patterns:
eg: /garionion/fluffychat/releases/download/tag:v1.3.0/fluffychat-linux-x86.tar.zst
I wanted to do actual proxying and maybe caching but if gitea itself gets this feature i may abandon my "solution"
EDIT:
it uses
GITEA_URLfrom env as upstream url@Mai-Lapyst commented on GitHub (May 31, 2022):
I did some work today on this and i fugured out that gitea currently provides an api for at least tag-based access to attachments; eg:
/:user/:repo/releases/download/:tag/:fileName.This now poses the problem that the new API cannot be implemented directly since it would require to remove the already existing API and thus making this feature a breaking change.
So the question is: do we want to switch to the new API / URL scheme or do we want an alternative route for this?
@dboreham commented on GitHub (Apr 10, 2023):
Is anyone working on this? It looks pretty straightforward to implement. Add another route like this one : https://github.com/go-gitea/gitea/blob/main/routers/web/web.go#L961 to signify "latest" (we can't just specify a
vTagof "latest" because that might be a valid tag) and extend the code here to pick the latest release: https://github.com/go-gitea/gitea/blob/main/routers/web/repo/repo.go#L359