Skip to content

hidessh99/sub-cf-vpn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ HideSSH VPN CF - Cloudflare VPN Tunnel Config Generator

Bun React TypeScript Vite TailwindCSS Docker Nginx

Aplikasi Web Modern, Super Cepat, & Dinamis untuk Membuat Konfigurasi VLESS, Trojan, dan Shadowsocks melalui Cloudflare CDN/WebSocket Tunnel.


✨ Fitur Unggulan

  • ⚑ Dukungan Protokol Lengkap: Generate tautan konfigurasi VLESS, Trojan, dan Shadowsocks (SS) dengan mudah dan presisi.
  • 🌐 Cloudflare Tunnel Ready: Mendukung kustomisasi port HTTP (80/8080/8880/dll) maupun HTTPS TLS (443/2052/2083/dll), Wildcard Subdomain, SNI, dan kustom path WebSocket/HTTPUpgrade.
  • πŸ”„ 100% Konfigurasi Dinamis & GitHub Raw Live Sync:
    • Daftar Domain (domain.json), Bug Host (bug_list.json), dan Proxy IP (proxyip.json) dimuat secara dinamis secara live langsung dari GitHub Raw CDN (raw.githubusercontent.com).
    • Zero Maintenance di VPS: Setiap kali Anda memperbarui daftar domain atau bug host di GitHub dan melakukan push, seluruh pengunjung web akan langsung menerima data terbaru tanpa perlu Anda login/SSH ke VPS ataupun mengedit file di server!
    • Smart Fallback: Dilengkapi mekanisme otomatis untuk beralih (fallback) ke file JSON lokal VPS jika akses GitHub sedang bermasalah/down.
  • πŸ“‘ Bun Microservice Checker (Port 4002): Mengecek status aktif/mati (active/dead) serta latensi proxy secara real-time melalui layanan mandiri berbasis Bun (checker/index.ts) yang cepat dan terisolasi di jaringan internal kontainer.
  • πŸ“² QR Code & Clash YAML Generator: Buat kode QR secara instan untuk di-scan dari HP (V2RayNG / Shadowrocket) serta dukungan ekspor format konfigurasi Clash/Meta.
  • 🎨 UI/UX Cyberpunk Glassmorphism: Desain dark mode premium bergaya kaca dengan wadah kapsul (glass pill badge) untuk logo kustom (kontmu.svg), favicon kustom (icon6.svg), animasi halus, serta Judul Tab Browser Dinamis yang otomatis mengikuti nama konfigurasi web Anda.
  • 🐳 12-Factor App & aaPanel Ready: Arsitektur Dual-Container (Frontend Nginx Alpine di port 4001 + Backend Bun Checker di port internal 4002), dilindungi verifikasi keamanan Subresource Integrity (SRI SHA-512) pada aset CDN, serta sangat mudah dideploy di aaPanel / Baota Panel maupun CI/CD GitHub Actions.

πŸ› οΈ Teknologi yang Digunakan

Komponen Teknologi / Library Keterangan
Runtime & Package Manager Bun (oven/bun:1) Pengganti Node.js/npm yang memberikan kecepatan kompilasi dan eksekusi maksimal.
Frontend Core React 18 + TypeScript Membangun antarmuka SPA (Single Page Application) dengan kepastian tipe data.
Backend Checker Bun Standalone HTTP Service Microservice pengecekan socket TCP berkecepatan tinggi pada port internal 4002.
Build Tool Vite 6 Dev server dengan Hot Module Replacement (HMR) super cepat & bundler produksi teroptimasi.
Styling & UI Tailwind CSS + Vanilla CSS Desain modern, responsif, glassmorphism, dan kaya animasi mikro.
Web Server Kontainer Nginx Alpine Slim Web server ringan (< 15 MB) untuk menyajikan aset statis dengan kompresi Gzip di dalam Docker.
CI/CD Pipeline GitHub Actions Otomatisasi build dan push image Docker ke GitHub Container Registry (GHCR).

πŸ“‚ Struktur Codebase

Berikut adalah gambaran arsitektur folder dan fungsi setiap komponen penting di dalam repository ini:

β”œβ”€β”€ πŸ“ checker/
β”‚   └── πŸ“„ index.ts                      # πŸ”₯ Bun Standalone HTTP Microservice (API Checker Port 4002)
β”œβ”€β”€ πŸ“ docker/
β”‚   β”œβ”€β”€ πŸ“„ docker-compose.yml            # Konfigurasi orkestrasi kontainer ganda khusus aaPanel / VPS
β”‚   └── πŸ“„ .env                          # Konfigurasi variabel lingkungan Docker (HOST_IP, PORT, dll.)
β”œβ”€β”€ πŸ“ doc/
β”‚   └── πŸ“„ CARA_MENJALANKAN_LOCALHOST.md # Panduan lengkap menjalankan di localhost (Bun & Docker)
β”œβ”€β”€ πŸ“ public/
β”‚   β”œβ”€β”€ πŸ“„ proxyip.json                  # Daftar cadangan/default IP Proxy Cloudflare
β”‚   β”œβ”€β”€ πŸ“„ domain.json                   # Daftar domain (disajikan sebagai aset statis oleh Nginx)
β”‚   └── πŸ“„ bug_list.json                 # Daftar bug host (disajikan sebagai aset statis oleh Nginx)
β”œβ”€β”€ πŸ“ src/
β”‚   β”œβ”€β”€ πŸ“ components/
β”‚   β”‚   β”œβ”€β”€ πŸ“„ Layout.tsx                # Kerangka utama tampilan web (Header Glassmorphism, Logo kontmu.svg)
β”‚   β”‚   └── πŸ“„ Toast.tsx                 # Komponen notifikasi pop-up (sukses salin link, error, dll.)
β”‚   β”œβ”€β”€ πŸ“ pages/
β”‚   β”‚   └── πŸ“„ Generator.tsx             # πŸ”₯ Logika inti aplikasi (State, Filter, Checker, & Form UI)
β”‚   β”œβ”€β”€ πŸ“ utils/
β”‚   β”‚   β”œβ”€β”€ πŸ“„ common.ts                 # Fungsi bantuan utilitas (Copy clipboard, generate UUID)
β”‚   β”‚   β”œβ”€β”€ πŸ“„ config.ts                 # Konfigurasi sistem & pemuatan environment variables (VITE_*)
β”‚   β”‚   └── πŸ“„ generators.ts             # πŸ”₯ Algoritma pembentuk link VLESS, Trojan, SS, dan Clash
β”‚   β”œβ”€β”€ πŸ“„ App.tsx                       # Root komponen React & penanggung jawab rute halaman
β”‚   β”œβ”€β”€ πŸ“„ index.css                     # Sistem desain, Tailwind directives, & animasi mikro kustom
β”‚   β”œβ”€β”€ πŸ“„ index.tsx                     # Titik masuk utama (Entry point) rendering DOM & Judul Dinamis
β”‚   β”œβ”€β”€ πŸ“„ types.ts                      # Definisi tipe data TypeScript (ProxyItem, Status, dll.)
β”‚   └── πŸ“„ vite-env.d.ts                 # Kamus tipe data TypeScript untuk impor aset statis (CSS/SVG/PNG)
β”œβ”€β”€ πŸ“„ .github/workflows/docker.yml      # Alur kerja CI/CD GitHub Actions untuk build Docker otomatis ke GHCR
β”œβ”€β”€ πŸ“„ Dockerfile                        # Konfigurasi Multi-Stage Build Docker (Stage 1: Bun, Stage 2: Nginx)
β”œβ”€β”€ πŸ“„ docker-compose.yml                # Konfigurasi orkestrasi kontainer utama
β”œβ”€β”€ πŸ“„ nginx.conf                        # Konfigurasi Nginx produksi (Gzip, SPA Routing, Reverse Proxy ke Port 4002)
β”œβ”€β”€ πŸ“„ domain.json                       # ⚑ File sumber daftar domain dinamis yang bisa diedit langsung
β”œβ”€β”€ πŸ“„ bug_list.json                     # ⚑ File sumber daftar bug host dinamis yang bisa diedit langsung
β”œβ”€β”€ πŸ“„ proxyip.json                      # ⚑ File sumber daftar IP proxy dinamis yang bisa diedit langsung
β”œβ”€β”€ πŸ“„ package.json                      # Daftar dependensi & skrip eksekusi Bun
β”œβ”€β”€ πŸ“„ tsconfig.json                     # Konfigurasi kompilator TypeScript (berisi dukungan @types/bun & cloudflare)
└── πŸ“„ vite.config.ts                    # Konfigurasi Vite & proxy lokal ke API checker

πŸš€ Cara Menjalankan Aplikasi

Anda dapat menjalankan aplikasi ini dengan 2 metode utama. Untuk panduan yang lebih mendalam, silakan baca doc/CARA_MENJALANKAN_LOCALHOST.md.

1. Menggunakan Docker Compose (Sangat Disarankan untuk VPS / aaPanel)

Metode ini menjalankan 2 kontainer terintegrasi (Nginx Web di port 4001 dan Bun Checker di port internal 4002):

# 1. Clone repository ini di VPS Anda
git clone https://github.com/hidessh99/sub-cf-vpn.git
cd sub-cf-vpn

# 2. Build dan jalankan menggunakan konfigurasi di folder docker/
cd docker
docker compose up -d --build

Aplikasi langsung dapat diakses melalui browser di: πŸ‘‰ http://IP_VPS_ANDA:4001.

Tip

Cara Kerja Live GitHub Sync & Zero VPS Maintenance:
Secara default, aplikasi mengambil data domain.json, bug_list.json, dan proxyip.json secara langsung dari GitHub Raw CDN (raw.githubusercontent.com). Ini berarti Anda tidak perlu lagi login ke VPS atau me-restart Docker saat menambah domain/bug baru! Cukup edit dan push di repository GitHub Anda, dan seluruh pengunjung web akan langsung mendapatkan data terbaru saat me-refresh browser. (Jika GitHub Raw gagal diakses karena masalah jaringan, sistem otomatis beralih memuat dari file lokal VPS via volume mapping).

2. Menggunakan Bun (Untuk Development Lokal / Modifikasi Kode)

Jika Anda ingin mengubah tampilan atau mengembangkan fitur dengan fitur Live Reload:

# 1. Instal dependensi dengan Bun
bun install

# 2. Jalankan server development & API Checker (di 2 terminal terpisah)
bun dev
bun run checker

(Aplikasi web di http://localhost:5173, dan API checker mandiri di port 4002).


βš™οΈ Kustomisasi Environment Variables (12-Factor App)

Aplikasi ini mendukung kustomisasi melalui Environment Variables saat proses kompilasi/build. Anda dapat mengaturnya melalui file .env.local atau argumen build di Docker:

Nama Variabel Nilai Default Deskripsi
VITE_WEB_NAME "HideSSH VPN CF" Nama aplikasi web yang ditampilkan di UI.
VITE_PROXY_LIST_URL "https://raw.githubusercontent.com/.../proxyip.json" URL GitHub Raw CDN atau path lokasi file JSON daftar IP proxy Cloudflare.
VITE_DOMAIN_LIST_URL "https://raw.githubusercontent.com/.../domain.json" URL GitHub Raw CDN atau path lokasi file JSON daftar domain penanda.
VITE_BUG_LIST_URL "https://raw.githubusercontent.com/.../bug_list.json" URL GitHub Raw CDN atau path lokasi file JSON daftar Bug Host / SNI.
VITE_API_CHECK_URL "/api/check?ips=" Endpoint API internal (self-hosted Bun checker) atau eksternal untuk mengecek latensi & status hidup proxy.
VITE_PATH_TEMPLATE "/{ip}-{port}" Format template path WebSocket/HTTPUpgrade yang dihasilkan.

πŸ”’ Keamanan & Arsitektur Port Kontainer

  • Unprivileged Port 4001: Kontainer Docker dikonfigurasi untuk mendengarkan pada port 4001 (bukan port standar 80). Hal ini mencegah terjadinya bentrok port dengan web server reverse proxy (seperti Nginx, Apache, Caddy, atau Traefik) yang berjalan di VPS utama Anda.
  • Reverse Proxy Ready: Anda dapat dengan mudah mengarahkan domain Anda (misal via Nginx Proxy Manager atau Cloudflare Tunnel) langsung ke target http://127.0.0.1:4001.

πŸ“„ Lisensi

Proyek ini didistribusikan di bawah lisensi MIT. Silakan digunakan, dimodifikasi, dan dikembangkan secara bebas.

Dibuat dengan ❀️ oleh HideSSH

About

Cloudflare VPN Tunnel

Topics

Resources

Security policy

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors