This commit is contained in:
27
README.md
27
README.md
@@ -1,24 +1,23 @@
|
||||
# Software Station
|
||||
|
||||
A modern, high-performance software distribution platform for software built and hosted on Gitea. Built with Go (backend) and Svelte 5 (frontend).
|
||||
A software distribution platform for assets built and hosted on Gitea. Built with Go and Svelte 5.
|
||||
|
||||
## Features
|
||||
|
||||
- **Direct Gitea Integration**: Automatically fetches releases, assets, and metadata from your Gitea instance.
|
||||
- **High-Performance Proxy**: Proxies downloads with support for **Resumable Downloads (HTTP Range)** and modern transfer protocols.
|
||||
- **Security First**:
|
||||
- **Dynamic Bot Protection**: Supports external User-Agent blocklists with automatic daily updates and local caching.
|
||||
- **Hardened Fingerprinting**: Advanced multi-layer request fingerprinting (`IP`, `UA`, `Client Hints`, `TLS Metadata`) and stateful device tracking (`_ss_uid`) to prevent rate-limit collisions and automated abuse.
|
||||
- **Secure Downloads**: Salted, persistent SHA256 download IDs to prevent repository bypasses.
|
||||
- **Gitea Integration**: Fetches releases, assets, and metadata from Gitea repositories.
|
||||
- **Download Proxy**: Handles downloads with HTTP Range support for resuming and SHA256 checksum verification.
|
||||
- **Bot & Abuse Prevention**:
|
||||
- Filters requests using User-Agent blocklists.
|
||||
- Fingerprints requests (IP, UA, TLS) to prevent rate-limit evasion.
|
||||
- Uses hashed IDs for download links.
|
||||
- SSRF protection for proxy requests.
|
||||
- Automatic SHA256 checksum verification for assets.
|
||||
- **Throttling & Rate Limiting**: Intelligent download throttling (Default: 5MB/s, Speed downloaders: 1MB/s, Heavy users: 256KB/s) and global API rate limiting.
|
||||
- **RSS Updates**: Secure XML-encoded RSS feed for tracking new software releases.
|
||||
- **Internationalization (i18n)**: Multi-language support (English, German, Italian, Russian) with automatic browser detection.
|
||||
- **Throttling**: Tiered download speed limits and global API rate limiting.
|
||||
- **RSS Feed**: XML feed for tracking new software releases.
|
||||
- **i18n**: Support for English, German, Italian, and Russian.
|
||||
|
||||
## Upcoming
|
||||
|
||||
- S3 for software assets.
|
||||
- S3, SFTP, WebDAV for software assets.
|
||||
- Gitea Packages support (containers, npm, etc.).
|
||||
- ISOs support (Linux distributions)
|
||||
- Automatic Torrent generation and seeding for software assets.
|
||||
@@ -30,12 +29,14 @@ A modern, high-performance software distribution platform for software built and
|
||||
- Container scanning
|
||||
- Authentication for certain software/containers
|
||||
- Admin panel
|
||||
- Infisical support for secrets management.
|
||||
- Sqlite for database
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Go 1.21+
|
||||
- Go 1.25+
|
||||
- Node.js & pnpm (for frontend)
|
||||
- A Gitea instance
|
||||
|
||||
|
||||
Reference in New Issue
Block a user