Website β’ Features β’ Installation β’ Quick Start β’ Contributing
Managing multiple proxy configurations shouldn't be complicated. X-Proxy makes it simple:
- β‘ One-Click Switching - Switch proxies in < 100ms, no page reload needed
- π Privacy First - No tracking, no telemetry, all data stored locally
- π¨ Clean Interface - Intuitive UI that gets out of your way
- π Modern Stack - Built with TypeScript, Vite, and Manifest V3
- π¦ Lightweight - < 10MB memory footprint
- π Free & Open Source - MIT licensed, use it however you want
- π HTTP/HTTPS & SOCKS5: Full support for common proxy protocols
- π Unlimited Profiles: Save and organize as many proxy configurations as you need
- β‘ Instant Switching: Activate profiles with a single click from toolbar
- π§ System Integration: Seamless Chrome proxy API integration
- πΎ Local Storage: All data stays on your device, no cloud sync
- TypeScript with strict mode for type safety
- Manifest V3 compliant for future compatibility
- Comprehensive tests with 48+ test cases
- Modern tooling with Vite and Vitest
- Clean codebase that's easy to contribute to
Visit the Chrome Web Store - X-Proxy and click "Add to Chrome"
# Clone the repository
git clone https://github.com/helebest/x-proxy.git
cd x-proxy
# Install dependencies
npm install
# Build the extension
npm run build
# Load in Chrome:
# 1. Open chrome://extensions/
# 2. Enable "Developer mode"
# 3. Click "Load unpacked"
# 4. Select the `dist` folder
Download the latest release from GitHub Releases and load it in Chrome developer mode.
Works on all Chromium browsers: Chrome, Edge, Brave, Opera, and more!
- Click the X-Proxy icon in your Chrome toolbar
- Add a profile by clicking "β Add Profile"
- Configure your proxy:
Name: My Proxy Type: HTTP or SOCKS5 Host: proxy.example.com Port: 8080
- Click Save and then click the profile to activate
- Click "System" to return to direct connection
SOCKS5 Proxy:
Type: SOCKS5
Host: 127.0.0.1
Port: 1080
HTTP Proxy:
Type: HTTP
Host: proxy.company.com
Port: 8080
- Web Development: Test apps behind different proxy configurations
- Privacy: Route traffic through privacy-focused proxies
- Geo-Testing: Access region-specific content during development
- Corporate Networks: Easily switch between work and personal proxies
- Self-Hosted Proxies: Manage multiple self-hosted proxy servers (Squid, Shadowsocks, V2Ray, etc.)
x-proxy/
βββ background.js # Service worker - proxy management logic
βββ popup.js # Popup UI - quick access interface
βββ options.js # Options page - full profile management
βββ manifest.json # Extension manifest (Manifest V3)
βββ vite.config.*.ts # Separate builds for each component
βββ docs/ # GitHub Pages website
- Background Service Worker: Manages Chrome proxy API and profile state
- Popup Interface: Quick switching and status display
- Options Page: Full-featured profile management
- Local Storage: Chrome storage API for data persistence
See the codebase for detailed implementation. Key files: background.js
, popup.js
, options.js
.
# Development
npm run build # Build all components
npm run watch # Watch mode for development
npm run type-check # TypeScript type checking
npm run lint # Code quality checks
# Testing
npm test # Run all tests
npm run test:unit # Unit tests only
npm run test:coverage # Coverage report
# Utilities
npm run clean # Clean build artifacts
npm run generate-icons # Generate icon assets
- Language: TypeScript (strict mode)
- Build Tool: Vite
- Testing: Vitest + Testing Library
- APIs: Chrome Extension APIs (Manifest V3)
- Storage: Chrome Storage API (local)
X-Proxy has comprehensive test coverage:
npm test # Run all tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
Test Coverage:
- Unit tests for core logic
- Integration tests for Chrome APIs
- E2E tests for user workflows
- Bug regression tests
Contributions are welcome! Here's how you can help:
- π Bug fixes
- π Documentation improvements
- π Translations
- β¨ UI/UX enhancements
- PAC script support
- Auto-switch rules by domain/URL
- Import/export profiles
- Firefox port (WebExtensions)
- Dark mode theme
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'feat: add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
X-Proxy is designed to be lightweight and fast:
Metric | Value |
---|---|
Startup Time | < 50ms |
Proxy Switching | < 100ms |
Memory Usage | < 10MB |
CPU Usage | Minimal when idle |
Extension Size | ~2MB installed |
Your privacy is important:
- β No Telemetry - Zero data collection or tracking
- β Local Storage Only - All data stays on your device
- β No External Requests - Extension doesn't phone home
- β Open Source - Audit the entire codebase
- β
Minimal Permissions - Only
proxy
andstorage
required
Read our Privacy Policy for details.
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: You can use, modify, and distribute this software freely, even for commercial purposes.
- Website: https://helebest.github.io/x-proxy/
- Issues: https://github.com/helebest/x-proxy/issues
- Discussions: https://github.com/helebest/x-proxy/discussions
- Changelog: CHANGELOG.md
- Contributing Guide: CONTRIBUTING.md
If you find X-Proxy useful, consider:
- β Starring the repository
- π Reporting bugs or suggesting features
- π€ Contributing code or documentation
- π Donating via PayPal
- Core proxy switching functionality
- HTTP/HTTPS & SOCKS5 support
- Profile management (create, edit, delete)
- Clean, intuitive UI
- TypeScript + Manifest V3
- Comprehensive test suite
- Chrome Web Store publication β
- SEO optimization for GitHub Pages
- Unified button styling
- FAQ section with schema markup
- Enhanced README and documentation
- PAC script support
- Auto-switch rules by domain
- Import/export profiles
- Profile import/export via JSON
- Firefox support (WebExtensions)
- Advanced proxy features
- Statistics and analytics (local only)
- Custom themes
See CHANGELOG.md for detailed version history.
Built with:
Inspired by projects like SwitchyOmega and FoxyProxy, but with a focus on simplicity and privacy.
- GitHub Issues: For bug reports and feature requests
- GitHub Discussions: For questions and community chat
- Email: helebest@gmail.com
Made with β€οΈ by helebest
Simple, reliable proxy switching for Chrome