Skip to content

kowalskidawid/proxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Go Multi-Interface Proxy

A simple and lightweight HTTP/HTTPS proxy server written in Go that allows you to dynamically select the network interface (VPN, Wi-Fi, Ethernet) for outgoing traffic. This tool solves the problem of testing connections from different source IP addresses without changing the default gateway of the operating system.

πŸš€ Features

Auto-Discovery: Automatically scans the system (Windows/Linux) and detects active network interfaces. Dynamic Routing: Select the outgoing interface using the proxy username authentication method (e.g., http://vpn1@localhost:8080). HTTPS Support: Full support for TLS tunneling (CONNECT method). Zero Configuration: No configuration files required – the script automatically maps interface names to simple aliases.

πŸ“‹ Requirements

Go (Golang) version 1.16 or newer. Operating System: Windows or Linux.

πŸ› οΈ Installation & Run

Clone the repository or download the main.go file. Open a terminal in the project folder. Run the program: go run main.go

πŸ’» Usage Examples (cURL)

The proxy syntax is: http://<INTERFACE_ALIAS>@localhost:8080.

  1. Route through VPN (e.g., Local Area Connection 5): curl -v -x http://localarea5@localhost:8080 http://ifconfig.me

Should return your VPN IP address. 2. Route through Ethernet (LAN): curl -v -x http://ethernet@localhost:8080 http://ifconfig.me

Should return your home ISP IP address. 3. Default Route (System Gateway): curl -v -x http://localhost:8080 http://ifconfig.me

βš™οΈ Building (.exe) To create a standalone executable file: go build -o proxy.exe main.go

You can now run proxy.exe on other machines without installing Go.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages