This is a clone of GitbookIO/nuts with the goal of staying updated and matained. As of 2021-03-17, all PRs open in GitbookIO/nuts have been open in this repo. All PRs will be reviewed, updated, then merged (or closed with an explanation). This project may add or removed features in an independent manner from GitbookIO/nuts with the overarching goal of making it easy to deploy assets behind a proxy.
Contributions in the form of code, tests, or documentation are appreciated and welcome 😃
Nuts is a simple (and smart) application to serve desktop-application releases.
It uses GitHub as a backend to store assets, and it can easily be deployed to Heroku as a stateless service. It supports GitHub private repositories (useful to store releases of a closed-source application available on GitHub).
- Store assets on GitHub releases
- Proxy releases from private repositories to your users
- Simple but powerful download urls
/download/latest
/download/latest/:os
/download/:version
/download/:version/:os
/download/channel/:channel
/download/channel/:channel/:os
- Support pre-release channels (
beta
,alpha
, ...) - Auto-updates with Squirrel
- For Mac using
/update?version=<x.x.x>&platform=osx
- For Windows using Squirrel.Windows and Nugets packages
- For Mac using
- Private API
- Use it as a middleware: add custom analytics, authentication
- Serve the perfect type of assets:
.zip
for Squirrel.Mac,.nupkg
for Squirrel.Windows,.dmg
for Mac users, ... - Release notes endpoint
/notes/:version
- Up-to-date releases (GitHub webhooks)
- Atom/RSS feeds for versions/channels
This server provides an endpoint for Squirrel auto-updater, it supports both OS X and Windows.
Check out the documentation for more details.
Apache License 2.0 copyleft GitbookIO/nuts