This is a simple implementation of a secure HTTP proxy server(can HTTPS and HTTP) in Go.
- Secure TLS connection
- Basic authentication
- Configurable via a YAML file
-
Clone the repository:
git clone https://github.com/hightemp/https_proxy cd https_proxy
-
Build the project:
go build -o https_proxy main.go
-
Create a
config.yaml
file with the following content:proxy_addr: 0.0.0.0:8080 username: "your_username" password: "your_password" proto: https cert_path: "path/to/your/cert.pem" key_path: "path/to/your/key.pem"
-
Create certificates.
sudo certbot certonly --standalone -d example.com
Add certs to config:
cert_path: "/etc/letsencrypt/live/example.com/fullchain.pem" key_path: "/etc/letsencrypt/live/example.com/privkey.pem"
Start the proxy server with the path to your configuration file:
./https_proxy -config config.yaml
This project is licensed under the MIT License.