mirror of
https://github.com/1andrevich/re-sputnik.git
synced 2026-08-25 00:27:27 +00:00
- Add OpenWrt 23.05+ requirement to all README files - Expand privacy statement to clarify no telemetry/analytics and data only goes to router, provided URLs, and official package sources - Update smoke check command in CONTRIBUTING and all READMEs to include pytest: `python -m compileall -q src && pytest -q` - Minor formatting improvements
134 lines
6.9 KiB
Markdown
134 lines
6.9 KiB
Markdown
<p align="center">
|
|
<img src="src/re_sputnik/resources/branding/banner_en.png" alt="Re:Sputnik" width="760">
|
|
</p>
|
|
|
|
<p align="center">
|
|
<a href="https://t.me/one_andrevich"><img src="https://img.shields.io/badge/Telegram-Join-2CA5E0?style=flat-square&logo=telegram&logoColor=white" alt="Telegram"></a>
|
|
<a href="https://ko-fi.com/D1D11SQNQD"><img src="https://img.shields.io/badge/Ko--fi-Support-FF5E5B?style=flat-square&logo=ko-fi&logoColor=white" alt="Ko-fi"></a>
|
|
<a href="https://nowpayments.io/donation?api_key=decbeb76-30f8-4c6d-ba40-2d2dec7fd888"><img src="https://img.shields.io/badge/Crypto-Donate-2EBE74?style=flat-square&logo=bitcoin&logoColor=white" alt="Crypto donate"></a>
|
|
<a href="LICENSE"><img src="https://img.shields.io/badge/License-GPL--3.0-blue?style=flat-square" alt="License: GPL-3.0"></a>
|
|
</p>
|
|
|
|
# Re:Sputnik
|
|
|
|
**Desktop app that sets up and manages [Re:HomeProxy](https://github.com/1andrevich/homeproxy-hiddify) on an OpenWrt router — over SSH, without touching a terminal or LuCI.**
|
|
|
|
You enter the router's address and password; the app does the rest in a graphical wizard:
|
|
installs the proxy backend and a core, imports your servers, sets up routing and DPI bypass,
|
|
and lets you manage Wi-Fi, diagnostics and security afterwards.
|
|
|
|
> Re:Sputnik does **not** bundle any proxy cores — it installs them onto the router from their
|
|
> official sources, and talks to the router only over SSH/RPC (`ubus call luci.homeproxy.*`,
|
|
> `uci`, the package's own scripts). At its core it is a generic "install + configure software on
|
|
> OpenWrt" platform; Re:HomeProxy is just the first recipe.
|
|
|
|
<!-- Screenshots: add a screenshots/ folder and link the key screens here once the repo is public. -->
|
|
|
|
## Download
|
|
|
|
Grab the latest build from the [**Releases**](https://github.com/1andrevich/re-sputnik/releases)
|
|
page — no installer. Requires a router on **OpenWrt 23.05 or newer**.
|
|
|
|
- **Windows** — `Re-Sputnik-windows-x64.exe`, double-click.
|
|
- **macOS** (Apple Silicon) — `Re-Sputnik-macos-arm64.zip`, unzip and drag `Re-Sputnik.app` to Applications.
|
|
- **Linux** — `Re-Sputnik-linux-x86_64.AppImage` / `-aarch64.AppImage`, `chmod +x` and run.
|
|
|
|
Builds are currently **unsigned**. Windows SmartScreen warns (More info → Run anyway). On macOS
|
|
the first launch is blocked — open **System Settings → Privacy & Security**, scroll to the
|
|
**Security** section, and click **Open Anyway** next to the Re-Sputnik message (confirm with
|
|
Touch ID / password). You only need to do this once.
|
|
|
|
## Features
|
|
|
|
- **Install** — detects the router's architecture and package manager (opkg/apk), installs
|
|
Re:HomeProxy and a proxy core (**hiddify-core** or **sing-box-extended**), and can pre-download
|
|
packages on the PC for routers on throttled/restricted networks.
|
|
- **Servers** — import subscriptions (sing-box/Hiddify JSON and Xray/V2Ray JSON), share-links
|
|
(VLESS/Reality, Hysteria2, Trojan, Shadowsocks…), `vpn://`, and `.conf` files
|
|
(WireGuard/AmneziaWG); URLTest speed pools.
|
|
- **Routing** — ready-made modes (Russia / China / Iran / global) over the Re:filter and
|
|
Russia Inside rule-sets.
|
|
- **DPI bypass** — built-in **ByeDPI** (47 presets) and **Zapret 2** (36 presets), plus a
|
|
strategy tester that probes several sites in parallel and shows what actually works on your ISP.
|
|
- **Manage** — diagnostics (core status, DNS, routes), Wi-Fi / LAN / DHCP, passwords and SSH keys,
|
|
backup & maintenance, SQM / UPnP.
|
|
- **Languages** — Russian, English, Persian, Chinese
|
|
|
|
## Three ways in
|
|
|
|
- **⚡ Step-by-step** — a linear wizard that walks a non-technical user through internet,
|
|
installation, servers, and verification.
|
|
- **⚙ Advanced** — free navigation over the sections (Servers, Rules, Diagnostics, Anti-DPI,
|
|
Core, Security…) for hands-on management.
|
|
- **📦 Pre-install packages** — download on the PC and push to the router, to install with no
|
|
internet on the router itself.
|
|
|
|
Any mode picks up the router's current configuration instead of starting from scratch.
|
|
|
|
## Architecture (short)
|
|
|
|
```
|
|
UI (customtkinter) wizard + settings screens; drives the setup flow
|
|
engine/* per-feature logic (install, nodes, rules, ByeDPI, Zapret, diagnostics…)
|
|
RouterClient (paramiko) the ONLY door to the router: built-in scripts, ubus, uci
|
|
Secrets (keyring) router credentials in the OS keychain
|
|
```
|
|
|
|
Commands run one at a time per connection, so concurrent requests can't get dropped by the
|
|
router's SSH daemon. No telemetry or analytics: the app talks only to the router you connect
|
|
it to, any subscription/update URL you provide, and official package sources (GitHub, OpenWrt)
|
|
when installing software. Credentials never leave your machine.
|
|
|
|
## Tech stack
|
|
|
|
Pure Python + a few libraries — no web/HTML/CSS/JS:
|
|
|
|
| Layer | Library |
|
|
|-------|---------|
|
|
| UI | customtkinter (Tk) |
|
|
| Router comms | paramiko (SSH) |
|
|
| Secrets | keyring (OS keychain) |
|
|
| Icons | Lucide/Phosphor (UI) + Simple Icons (brands), baked SVG→PNG at build time |
|
|
|
|
## Develop
|
|
|
|
```sh
|
|
python -m venv .venv
|
|
. .venv/Scripts/activate # Windows: .venv\Scripts\activate
|
|
pip install -e ".[dev]"
|
|
python -m re_sputnik
|
|
python -m compileall -q src && pytest -q
|
|
```
|
|
|
|
CI runs the tests on every push ([`test.yml`](.github/workflows/test.yml)); on-demand multi-platform
|
|
builds live in [`build.yml`](.github/workflows/build.yml); tagged releases (`vX.Y.Z`) build all
|
|
platforms and publish to the Releases page via [`release.yml`](.github/workflows/release.yml).
|
|
See [`CONTRIBUTING.md`](CONTRIBUTING.md) for the contribution flow (Developer Certificate of Origin).
|
|
|
|
## Trademark notice
|
|
|
|
Not affiliated with or endorsed by YouTube, Telegram, Discord, Meta, or Hiddify. Service logos
|
|
are trademarks of their respective owners and are used only to identify the services they
|
|
represent.
|
|
|
|
## Support the project
|
|
|
|
If Re:Sputnik is useful to you, a ⭐ helps — or support development directly:
|
|
|
|
<a href="https://ko-fi.com/D1D11SQNQD" target="_blank"><img height="40" src="https://storage.ko-fi.com/cdn/kofi5.png?v=6" alt="Support on Ko-fi"></a>
|
|
|
|
<a href="https://nowpayments.io/donation?api_key=decbeb76-30f8-4c6d-ba40-2d2dec7fd888" target="_blank" rel="noreferrer noopener"><img src="https://nowpayments.io/images/embeds/donation-button-white.svg" alt="Crypto & Bitcoin donation via NOWPayments"></a>
|
|
|
|
Questions and updates — [Telegram](https://t.me/one_andrevich).
|
|
|
|
## License
|
|
|
|
Re:Sputnik is **free software** under the **GNU General Public License v3.0** (GPLv3): you may
|
|
use, study, modify, and share it under those terms. See [`LICENSE`](LICENSE) for the full text
|
|
and [`NOTICE`](NOTICE) for third-party attributions.
|
|
|
|
Re:Sputnik is a separate program from **Re:HomeProxy** (also GPL-licensed): it talks to the
|
|
router over SSH/RPC and does not bundle or link Re:HomeProxy's source. All bundled third-party
|
|
dependencies are under permissive or weak-copyleft licenses (MIT/BSD/HPND/MPL-2.0; paramiko under
|
|
LGPL-2.1), compatible with the GPLv3. Contributions are accepted under the Developer Certificate
|
|
of Origin — see [`CONTRIBUTING.md`](CONTRIBUTING.md).
|