nuts-serve

Server to make GitHub releases (private) available to download with Squirrel support

Usage no npm install needed!

<script type="module">
  import nutsServe from 'https://cdn.skypack.dev/nuts-serve';
</script>

README

Nuts

Nuts is a simple (and smart) application to serve desktop-application releases.

Schema

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).

Deploy

Features

  • :sparkles: Store assets on GitHub releases
  • :sparkles: Proxy releases from private repositories to your users
  • :sparkles: Simple but powerful download urls
    • /download/latest
    • /download/latest/:os
    • /download/:version
    • /download/:version/:os
    • /download/channel/:channel
    • /download/channel/:channel/:os
  • :sparkles: Support pre-release channels (beta, alpha, ...)
  • :sparkles: Auto-updates with Squirrel
    • For Mac using /update?version=<x.x.x>&platform=osx
    • For Windows using Squirrel.Windows and Nugets packages
  • :sparkles: Private API
  • :sparkles: Use it as a middleware: add custom analytics, authentication
  • :sparkles: Serve the perfect type of assets: .zip for Squirrel.Mac, .nupkg for Squirrel.Windows, .dmg for Mac users, ...
  • :sparkles: Release notes endpoint
    • /notes/:version
  • :sparkles: Up-to-date releases (GitHub webhooks)
  • :sparkles: Atom/RSS feeds for versions/channels

Deploy it / Start it

Follow our guide to deploy Nuts.

Auto-updater / Squirrel

This server provides an endpoint for Squirrel auto-updater, it supports both OS X and Windows.

Documentation

Check out the documentation for more details.