Proxyko is a powerful Proxy Auto-Configuration (PAC) service with a built-in forwarding proxy that allows users to manage per-device proxy settings through a user-friendly web dashboard.
Proxyko offers a range of features to simplify proxy configuration management:
- User-friendly Dashboard: An intuitive web interface for service configuration.
- Per-Device Proxy Settings: Assign unique proxy configurations to each device using secure tokens.
- IP-based Access Control: Restrict device access based on IP addresses for improved security.
- Real-time Monitoring: Track and analyze service usage statistics through the dashboard.
- 2FA Support: Enhance account security with two-factor authentication.
- Built-in Proxy Server: An optional integrated proxy server with advanced rule configuration.
The preferred way to run Proxyko is via Docker Compose. Simply clone the repo, edit docker-compose.yml to set the required environment variables, and run:
docker-compose up -dThe service will then be accessible at http://localhost:8032 by default.
Contributions are welcome! To set up a development environment, follow these steps:
- Clone the repository:
git clone https://github.com/jokelbaf/proxyko.git cd proxyko - Create a virtual environment:
uv sync --dev
- Configure environment variables:
Create a
.envfile in the root directory and set the necessary environment variables as per the.env.examplefile. - Run the application:
uv run src/app.py
To work with proxy-related features, you'll need to clone and run the proxy server separately.
I love watching anime on Crunchyroll, but some shows have broken subtitles on mobile devices. I initially wrote a simple proxy server using MITMProxy to automatically fix the subtitles, but turning it on and off and configuring proxy settings on my iPhone every time was a pain. I explored different options and discovered PAC files, which allow automatic proxy configuration based on rules. However, managing PAC files manually was cumbersome, so I decided to create Proxyko to streamline the process. I deployed both it and my proxy on a dedicated server, so now I can toggle the proxy on my phone with just a few taps :)
The project is licensed under the MIT License. Enjoy!