https://github.com/vanilla-os/hermes
Hermes automates downloading releases from GitHub using nightly.link and uploading them to a local CDN.
https://github.com/vanilla-os/hermes
cdn github-releases hacktoberfest releases vanillaos vos
Last synced: 2 months ago
JSON representation
Hermes automates downloading releases from GitHub using nightly.link and uploading them to a local CDN.
- Host: GitHub
- URL: https://github.com/vanilla-os/hermes
- Owner: Vanilla-OS
- License: gpl-3.0
- Created: 2024-07-11T20:31:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-16T22:01:40.000Z (6 months ago)
- Last Synced: 2025-05-01T09:46:20.105Z (5 months ago)
- Topics: cdn, github-releases, hacktoberfest, releases, vanillaos, vos
- Language: Go
- Homepage:
- Size: 28.3 KB
- Stars: 3
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Hermes
Hermes automates downloading releases from GitHub and uploading them to a CDN.
## How It Works
Hermes periodically checks for new releases on GitHub by looking at a remote JSON manifest. When a new release is found, it downloads the release, uploads it to the specified CDN, maintains a limited number of builds locally, and creates a symbolic link to the latest downloaded build so that it can be easily accessed using the `latest.zip` link.
## Usage
To use Hermes, you need to specify the interval, release index URL, codename, and root path.
Example usage:
```bash
hermes -interval=30 \
-releaseIndex="https://raw.githubusercontent.com/Vanilla-OS/info/main/devBuilds.json" \
-codename="orchid" \
-root="./builds"
```or via environment variables:
```bash
export HERMES_INTERVAL=30
export HERMES_RELEASE_INDEX="https://raw.githubusercontent.com/Vanilla-OS/info/main/devBuilds.json"
export HERMES_CODENAME="orchid"
export HERMES_ROOT="./builds"
hermes
```### Building from Source
To build the Hermes binary from source, run:
```sh
go build -o hermes .
```### Why the name Hermes?
Hermes, in Greek mythology, is known as the swift-footed messenger of the gods, often depicted with winged sandals and a caduceus (a staff entwined with two snakes). This symbolism makes Hermes a highly suitable name for a tool that automates the distribution of software releases.