https://github.com/isnanno/sushiproxy
Proxy Express que serve ZIPs de scripts Lua Steam via GitHub API (LuaTools / Virtuous)
https://github.com/isnanno/sushiproxy
express lua nodejs proxy steam
Last synced: 1 day ago
JSON representation
Proxy Express que serve ZIPs de scripts Lua Steam via GitHub API (LuaTools / Virtuous)
- Host: GitHub
- URL: https://github.com/isnanno/sushiproxy
- Owner: isnanno
- License: mit
- Created: 2025-12-14T02:57:32.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-07-01T21:28:52.000Z (1 day ago)
- Last Synced: 2026-07-01T22:16:49.587Z (1 day ago)
- Topics: express, lua, nodejs, proxy, steam
- Language: JavaScript
- Size: 817 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SushiProxy
> Proxy Express que serve arquivos `.zip` de scripts Lua para jogos Steam a partir de um **repositório GitHub privado** — usado pelo ecossistema LuaTools / Virtuous.
[](package.json)
[](server.js)
[](https://store.steampowered.com)
[](LICENSE)
---
## Como funciona
```
Cliente (LuaTools / Virtuous)
│
▼
GET /game/:appid ──► GitHub API (repo privado)
│ │
▼ ▼
stream .zip {appid}.zip (Git LFS)
```
O servidor busca `https://api.github.com/repos/{OWNER}/{REPO}/contents/{appid}.zip` com token e devolve o ZIP como download.
## Variáveis de ambiente
| Variável | Descrição |
|----------|-----------|
| `PORT` | Porta HTTP (padrão: `3000`) |
| `GITHUB_TOKEN` | Personal Access Token com acesso ao repo privado |
| `OWNER` | Dono do repositório GitHub (editar em `server.js` ou via env) |
| `REPO` | Nome do repo com os ZIPs (padrão: `sushitools-games-repo`) |
| `BRANCH` | Branch (padrão: `main`) |
## Setup local
```bash
npm install
export GITHUB_TOKEN=ghp_...
# Edite OWNER em server.js ou mova para env
node server.js
```
Teste: `http://localhost:3000/game/730` (substitua pelo AppID desejado)
## Repositório de jogos (Git LFS)
Os arquivos `{appid}.zip` devem estar no repo privado. O `.gitattributes` neste projeto documenta tracking LFS para `*.zip`.
Estrutura esperada no repo de jogos:
```
sushitools-games-repo/
├── 730.zip
├── 570.zip
└── ...
```
## Deploy
Compatível com Square Cloud, Railway, VPS, etc. Configure `GITHUB_TOKEN` como secret.
## Projetos relacionados
- [luatools-steam-plugin](../luatools-steam-plugin) — plugin Millennium
- [virtuous-steam-installer](../virtuous-steam-installer) — instalador standalone GUI
## Licença
MIT — veja [LICENSE](LICENSE).