A modern, responsive VPN dashboard application built with React, TypeScript, and Tailwind CSS. Features a sleek mobile-first design with server selection, connection statistics, and real-time status monitoring.
- Modern UI/UX: Clean, mobile-first design with dark/light theme support
- Server Selection: Choose from multiple global server locations
- Real-time Stats: Monitor connection speed, latency, and data usage
- Security Features: Encryption, IP masking, and tunneling protection
- Responsive Design: Optimized for mobile, tablet, and desktop
- Animated Interactions: Smooth transitions and connection animations
- TypeScript: Full type safety and enhanced developer experience
Before you begin, ensure you have the following installed:
- Node.js (v16.0.0 or higher)
- npm (v7.0.0 or higher) or yarn (v1.22.0 or higher)
- WireGuard (for VPN functionality)
git clone <repository-url>
cd ghostsurf-mobile-vpnnpm installor
yarn installsudo apt update
sudo apt install wireguardbrew install wireguard-tools- Download WireGuard from https://www.wireguard.com/install/
- Install the MSI package
- Add WireGuard to your system PATH
-
Generate key pair:
wg genkey | tee privatekey | wg pubkey > publickey
-
Create configuration file
/etc/wireguard/wg0.conf:[Interface] PrivateKey = <your-private-key> Address = 10.0.0.2/24 DNS = 1.1.1.1 [Peer] PublicKey = <server-public-key> Endpoint = <server-ip>:51820 AllowedIPs = 0.0.0.0/0
-
Start WireGuard:
sudo wg-quick up wg0
npm run devor
yarn devNavigate to http://localhost:5173 to view the application
- AES-256 Encryption: Military-grade encryption for all traffic
- ChaCha20-Poly1305: Modern authenticated encryption
- Perfect Forward Secrecy: New keys for each session
- Real IP Protection: Hide your actual IP address
- Geographic Spoofing: Appear from different locations
- DNS Leak Protection: Prevent DNS queries from revealing identity
- WireGuard Protocol: Modern, fast, and secure tunneling
- Split Tunneling: Route specific apps through VPN
- Kill Switch: Block internet if VPN disconnects
-
Create production build
npm run build
or
yarn build
-
Preview production build
npm run preview
or
yarn preview
-
Deploy The built files will be in the
dist/directory, ready for deployment to any static hosting service.
- Connect/Disconnect: Use the main button to toggle VPN connection
- Server Selection: Choose from available server locations in the sidebar
- Statistics: Monitor real-time connection stats in the stats panel
- Security Dashboard: View encryption, IP masking, and tunneling status
- Theme Toggle: Switch between light and dark themes
- Optimized touch interactions
- Responsive layout adapts to screen size
- Swipe-friendly navigation
- Frontend Framework: React 18 with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components: shadcn/ui (Radix UI primitives)
- Icons: Lucide React
- State Management: React Context API
- Routing: React Router DOM
- Theme: next-themes for dark/light mode
- VPN Protocol: WireGuard
src/
βββ components/ # Reusable UI components
β βββ ui/ # shadcn/ui components
β βββ AppLayout.tsx # Main app layout
β βββ VPNDashboard.tsx # Main dashboard
β βββ ServerList.tsx # Server selection
β βββ StatsPanel.tsx # Statistics display
β βββ SecurityDashboard.tsx # Security overview
β βββ EncryptionPanel.tsx # Encryption status
β βββ IPMaskingPanel.tsx # IP masking info
β βββ TunnelingPanel.tsx # Tunneling status
βββ contexts/ # React contexts
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions
βββ pages/ # Page components
βββ main.tsx # App entry point
- Fork the repository
- Create a feature branch
git checkout -b feature/amazing-feature
- Commit your changes
git commit -m 'Add some amazing feature' - Push to the branch
git push origin feature/amazing-feature
- Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the existing issues on GitHub
- Create a new issue with detailed information
- Include steps to reproduce the problem
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run lint- Run ESLint
No additional environment variables required for basic functionality.
Note: This is a UI demonstration app. For production VPN functionality, additional backend services and native mobile app development would be required.