A simple, anonymous HTTP proxy built with Go. It forwards requests to any URL specified in the path, while attempting to enhance user privacy by removing identifying headers.
- Acts as a reverse proxy for any given URL.
- Simple API:
http://<proxy-address>/<target-url> - Enhances anonymity by removing
X-Forwarded-For,X-Real-Ip, andForwardedheaders. - Easy to deploy locally or on platforms like Render.
To use the proxy, simply prepend the proxy's address to the URL you want to visit.
For example, if the proxy is running at http://localhost, you can access https://www.google.com through it like this:
curl http://localhost/https://www.google.comYou need Go installed (version 1.23 or newer).
- Clone the repository.
- Run the application with admin privileges (required for port 80):
sudo go run main.go
The proxy will be running at http://localhost.
You need Docker installed.
- Build the Docker image:
docker build -t simple-proxy . - Run the container. This command maps your local port 80 to the container's port 80:
docker run -p 80:80 simple-proxy
The proxy will be running at http://localhost.
This project is ready for deployment on Render. Render can build and deploy the application directly from the Dockerfile in this repository.
- Go to the Render Dashboard and create a new Web Service.
- Connect Public Git Repository:
https://github.com/glidea/simple-proxy. - Render will automatically detect it's a Go project with a
Dockerfile. Use the following settings:- Environment:
Docker
- Environment:
- Click Create Web Service. Render will build the image and deploy your service.
- Once deployed, Render will provide you with a public URL (e.g.,
https://simple-proxy-xyz.onrender.com). You can use this URL as your proxy address.
Example using the Render URL:
curl https://simple-proxy-xyz.onrender.com/https://www.google.comPORT: The port on which the server will listen. Defaults to80if not set.
- When running locally, you may need admin/sudo privileges to bind to port 80.
- On cloud platforms like Render, the
PORTenvironment variable is automatically set by the platform. - The proxy removes certain headers to enhance user privacy, but complete anonymity is not guaranteed.