ΠΡΠΎ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° goida-vpn-configs.
Π‘Π°ΠΉΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ°ΡΡΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ (V2Ray / VLESS / Hysteria / Trojan / VMess / Reality / Shadowsocks), Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, QR-ΠΊΠΎΠ΄Ρ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ: ΠΠ°Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΡΡΠ³ΠΈΠ²Π°ΡΡΡΡ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
goida-vpn-configs, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ. - ΠΠ²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ:
- ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠΉ: Flask-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ API-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΠ°ΠΌΠΈ ΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
- Π‘ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ: ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° Π΄Π»Ρ Ρ ΠΎΡΡΠΈΠ½Π³Π° Π½Π° GitHub Pages.
- Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ UI: TailwindCSS Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ, Alpine.js Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΌΠ½ΠΎΠΉ ΠΈ ΡΠ²Π΅ΡΠ»ΠΎΠΉ ΡΠ΅ΠΌ.
- ΠΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ GitHub API: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ VPN-ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ² ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
- ΠΠ±Ρ ΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ: Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·Π΄Π΅Π» Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌΠΈ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΠΎΠΌ Π΄Π»Ρ ΠΎΠ±Ρ ΠΎΠ΄Π° SNI/CIDR Π±Π΅Π»ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ².
- ΠΠΈΠ΄Π΅ΠΎ-Π³Π°ΠΉΠ΄Ρ: ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π²ΠΈΠ΄Π΅ΠΎ-ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡ: GitHub Actions ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΡΠ±ΠΎΡΠΊΡ ΡΠ°ΠΉΡΠ° Π΄Π»Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ .
main.py: ΠΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°ΠΉΠ» Flask-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ Π»ΠΎΠ³ΠΈΠΊΡ API Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΎΠΊ Π½Π° ΠΠ ΠΈ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ GitHub.services.py: ΠΠΎΠ³ΠΈΠΊΠ° ΠΏΠ°ΡΡΠΈΠ½Π³Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ ΠΈ Π΄Π°Π½Π½ΡΡ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡΡ ΠΈΠ· Π²Π½Π΅ΡΠ½ΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ².build.py: Π‘ΠΊΡΠΈΠΏΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ. Π Π΅Π½Π΄Π΅ΡΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ HTML-ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ JSON-ΡΠ°ΠΉΠ»Ρ Π΄Π»Ρ API ΠΏΡΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ Π΄Π΅ΠΏΠ»ΠΎΠ΅.notes.md: ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΏΠΎ ΠΏΡΠΎΠ΅ΠΊΡΡ, ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ.templates/: Jinja2 ΡΠ°Π±Π»ΠΎΠ½Ρ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ (hero,tabs,instructionsΠΈ Π΄Ρ.).static/: Π‘ΡΠΈΠ»ΠΈ, ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΡ (statistics.js,update-download-links.js) ΠΈ ΠΌΠ΅Π΄ΠΈΠ°-ΡΠ΅ΡΡΡΡΡ.
- Backend: Python 3.10+, Flask, Waitress, Requests.
- Frontend: HTML5, TailwindCSS (CDN), Alpine.js (CDN), FontAwesome.
- CI/CD: GitHub Actions + Custom Python Build Script.
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ:
git clone https://github.com/AvenCores/goida-vpn-site.git
cd goida-vpn-site- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅:
python -m venv .env
# Windows:
.env\Scripts\activate
# Linux/macOS:
source .env/bin/activate- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
pip install -r requirements.txt- ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ:
python main.py(Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π½Π°http://localhost:5000). - Π‘Π±ΠΎΡΠΊΠ° ΡΠ°ΠΉΡΠ°:
python build.py(ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅dist/).
ΠΡΠΎΠ΅ΠΊΡ Π½Π°ΡΡΡΠΎΠ΅Π½ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅:
- ΠΠΎ ΡΠ°ΡΠΏΠΈΡΠ°Π½ΠΈΡ: ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΠΊ
build.pyΠ΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π°Ρ . - ΠΡΠΈ ΠΏΡΡΠ΅: ΠΡΠ±ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² Π²Π΅ΡΠΊΠ΅
mainΡΡΠΈΠ³Π³Π΅ΡΠΈΡ Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠ°ΠΉΡΠ° Π² Π²Π΅ΡΠΊΡgh-pages.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Secret MY_TOKEN Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ.
- SBER:
2202 2050 1464 4675