Small HTTP server that redirects to artifacts from the latest github release for a project
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
Chris Smith b20a16ec40 Tidying, add redirection option 5 anos atrás
.gitignore Initial version 5 anos atrás
Dockerfile Initial version 5 anos atrás
LICENCE Initial version 5 anos atrás
README.md Tidying, add redirection option 5 anos atrás
go.mod Initial version 5 anos atrás
go.sum Initial version 5 anos atrás
main.go Tidying, add redirection option 5 anos atrás

README.md

github-release-redirector

Small go application that listens for incoming HTTP requests and redirects to assets from the latest release published to a GitHub repository.

Usage

$ go install .
$ github-release-redirector -port 1234 -repo user/repo

or using docker:

$ docker run -p 8080:8080 csmith/github-release-redirector -repo user/repo

Options

Usage of github-release-redirector:
  -port int
    	the port to listen on for HTTP requests (default 8080)
  -redirect string
    	if specified, requests for / will be redirected to this url
  -repo string
    	the repository to redirect releases for, in user/repo format [required]

Notes

If the -redirect option is specified, then requests to the root (i.e. /) will be redirected to that URL, and no further processing will be done for that request.

Releases are refreshed at startup and then once an hour.

Assets are matched on their name, so an asset attached to the latest release named “myproject-installer-1.2.3.exe” will be available at the URL /myproject-installer-1.2.3.exe.

Any url not mapped to an asset is responded to with a 404 not found error; if there is no latest release available all requests will respond with 500 internal server error.

The service listens only on HTTP, not HTTPS. For production use it should be placed behind an SSL-terminating proxy such as Traefik, Nginx or HAProxy.

Licence

This software is released under the MIT licence. See the LICENCE file for full details.