-
-
Notifications
You must be signed in to change notification settings - Fork 290
docs: remnawave stealthnet bot #351
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
ivan-nginx
wants to merge
3
commits into
remnawave:main
Choose a base branch
from
remnawave-contrib:awesome-remnawave-stealthnet-bot
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+129
−0
Open
Changes from 2 commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
111 changes: 111 additions & 0 deletions
111
docs/awesome-remnawave/_install-guides/remnawave-stealthnet-bot.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,111 @@ | ||
| ### 🏗 Architecture | ||
|
|
||
| ``` | ||
| ┌──────────────────────────────────────────────────────────┐ | ||
| │ STEALTHNET 3.0 │ | ||
| ├──────────────┬──────────────┬──────────────┬─────────────┤ | ||
| │ Telegram │ Mini App │ Client │ Admin │ | ||
| │ Bot │ (WebApp) │ Dashboard │ Panel │ | ||
| │ Grammy │ React │ React │ React │ | ||
| ├──────────────┴──────────────┴──────────────┴─────────────┤ | ||
| │ Backend API (Express) │ | ||
| │ JWT Auth · Prisma ORM · Webhooks │ | ||
| ├──────────────────────────────────────────────────────────┤ | ||
| │ PostgreSQL │ Remnawave API │ | ||
| │ (data) │ (VPN core) │ | ||
| ├──────────────────────────────┴───────────────────────────┤ | ||
| │ Nginx + Let's Encrypt · Docker Compose │ | ||
| └──────────────────────────────────────────────────────────┘ | ||
| ``` | ||
|
|
||
| | Service | Technologies | Purpose | | ||
| | ------------ | ------------------------------------------------------ | -------------------------------------------------------------------------------- | | ||
| | **backend** | Node.js, Express, Prisma, PostgreSQL | REST API: authentication, clients, plans, payments, referrals, promos, analytics | | ||
| | **frontend** | React 18, Vite, Tailwind CSS, shadcn/ui, Framer Motion | Admin panel + client dashboard + Telegram Mini App | | ||
| | **bot** | Grammy (TypeScript) | Full-featured Telegram bot with client account access | | ||
| | **nginx** | Nginx + Certbot | Reverse proxy, SSL, static files, gzip | | ||
| | **postgres** | PostgreSQL 16 | Data storage | | ||
|
|
||
| --- | ||
|
|
||
| ### ⚙️ Features | ||
|
|
||
| --- | ||
|
|
||
| #### 💳 Payments & Subscriptions | ||
|
|
||
| * 💰 **Platega.io** — payment processing (cards, SBP, crypto, etc.); callback URL is available in the admin panel | ||
| * 🏦 **YooMoney** — balance top-ups and plan payments via card (transfer form, HTTP notifications); webhook URL with “Copy” button in settings | ||
| * 🧾 **YooKassa** — card and SBP payments via API (RUB only); 54-FZ receipts; `payment.succeeded` webhook; webhook URL can be copied from the admin panel | ||
| * 💼 **Internal balance payments** — deposit and charge from user balance | ||
| * ⚡ **Instant activation** — plans are activated automatically via webhook after payment (Platega, YooMoney, YooKassa) | ||
| * 🏷 **Payment description branding** — all payment providers automatically insert the **service name** from admin settings (General → Service Name) into the payment description | ||
| * 🧩 **Flexible plans** — categories, duration, traffic & device limits, binding to Remnawave squads | ||
| * 🌍 **Multi-currency support** — multiple currencies (USD, RUB, etc.) | ||
|
|
||
| --- | ||
|
|
||
| #### 👥 Referral Program | ||
|
|
||
| * 🧱 **3 referral levels** — earn from direct invites and their referrals | ||
| * 📊 **Custom percentages** — configurable per level | ||
| * 🔄 **Automatic rewards** — bonuses credited to balance after each referral payment | ||
| * 🔗 **Referral links** — for both Telegram bot and website | ||
|
|
||
| --- | ||
|
|
||
| #### 🎟 Promo System | ||
|
|
||
| * 🆓 **Promo groups** — free subscription via link (`/start promo_CODE`) with activation limits | ||
| * 🏷 **Promo codes** — percentage or fixed discounts, plus free days | ||
| * ⏳ **Usage limits** — total limit, per-client limit, expiration date | ||
| * 📈 **Activation statistics** — usage count, who activated, when | ||
|
|
||
| --- | ||
|
|
||
| #### 🚀 Trial Period | ||
|
|
||
| * 🎁 **Free trial** — configurable duration, traffic and device limits | ||
| * 🔒 **One-time activation** — one trial per client | ||
| * 🧭 **Dedicated squads** — separate Remnawave squad for trial users | ||
|
|
||
| --- | ||
|
|
||
| #### 🔗 Remnawave Integration | ||
|
|
||
| * 👤 **User management** — create, delete, block users in Remnawave | ||
| * 📦 **Subscriptions** — activation, renewal, status checks | ||
| * 🖥 **Nodes** — monitoring, enable/disable, restart | ||
| * 🗂 **Squads** — user distribution across servers | ||
| * 🔄 **Two-way synchronization** — data sync (Remnawave ↔ STEALTHNET) | ||
| * 📡 **Webhooks** — automatic processing of Remnawave events | ||
|
|
||
| --- | ||
|
|
||
| #### 📱 Mobile & Mini App | ||
|
|
||
| * 📂 **Collapsible plan categories** — on narrow screens and inside the Mini App, categories are displayed as an accordion (first open by default, others expandable) | ||
| * 🧾 **Compact plan cards** — single-column layout on mobile, slim rows (name & parameters on the left, price and “Pay” button on the right) | ||
| * 🧭 **Unified mobile interface** — bottom navigation, compact header, identical UI in mobile browser and Telegram WebApp | ||
|
|
||
| --- | ||
|
|
||
| #### 📊 Analytics & Reports | ||
|
|
||
| * 📈 **Dashboard** — real-time key metrics | ||
| * 💵 **Revenue charts** — daily data for the last 90 days | ||
| * 👥 **Client growth** — registration dynamics | ||
| * 🏆 **Top plans** — best-selling subscriptions | ||
| * 🧮 **Referral stats** — earnings per level | ||
| * 🔁 **Conversion tracking** — trial → paid subscription | ||
| * 🗃 **Sales reports** — filtering by date and payment provider | ||
|
|
||
| --- | ||
|
|
||
| #### 🔐 Security | ||
|
|
||
| * 🛡 **JWT authentication** — access + refresh tokens | ||
| * 🔑 **Forced password change** — on first admin login | ||
| * 📧 **Email verification** — confirmation via email link | ||
| * 🚫 **Client blocking** — with reason specification | ||
| * 🔒 **SSL/TLS** — automatic Let's Encrypt certificates |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.