Skip to content

PascalPixel/carrots

 
 

Repository files navigation

🥕 Carrots

TypeScript-based Electron downloads and updates server that uses GitHub to serve files.

Setup

  1. Create a .env file in the root with these variables;
    1. ACCOUNT Repository account name
    2. REPOSITORY Repository name
    3. TOKEN (optional) GitHub Private Token for private repos

Development

  1. npm install
  2. npm run preview

Testing

  • Adjust the private.test.ts to match your own repo's release files
  • npm run test

Production

  • It is simply a node.http handler, use anywhere you like
  • Vercel can deploy and run it as-is using the provided config

Routes

  • Homepage
    Route: /
    Description: A nice frontend to show the latest version and all downloads
  • API
    Route: /api/semver
    Description: An endpoint to get the latest version number
  • Download
    Route: /download/:platform
    Description: Downloads for most Electron platforms
  • Electron autoUpdater
    Route: /update/:platform/:version
    Description: Electron autoUpdater endpoint for Mac and Windows
  • Update Metadata
    Route: /update/:platform/:version/RELEASES
    Description: Electron autoUpdater nupkg endpoint for Windows

Support

OS Filetype As Supported
Linux .deb Download Yes
Linux .rpm Download Yes
Linux .AppImage Download Yes
Linux .snap Download Yes
Linux .flatpak Download No
Windows .exe Download Yes
Windows .exe Download No
Windows .nupkg Update Yes
Mac .dmg Download Yes
Mac .zip Download Yes
Mac .zip Update Yes

Thanks

Shamelessly based on and made possible thanks to;

About

Lightweight TypeScript update server for Electron apps

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 100.0%