General Introduction
Go-Proxy is a high-performance proxy server developed using the Go language , mainly used to provide proxy services in different network environments . It supports a variety of protocols, including HTTP, HTTPS, SOCKS5, WebSocket, TCP and UDP, and is able to meet a variety of proxy requirements.Go-Proxy's design goal is to provide a powerful and easy-to-use proxy solution for scenarios such as enterprise intranet penetration, cross-region access, network acceleration and secure communication. In particular, its seamless integration with Docker makes deployment and management easier and more efficient.
Function List
- HTTP, HTTPS, SOCKS5, WebSocket, TCP and UDP proxy support
- Supports chained proxies and intranet penetration for complex network environments
- Provides high strength TLS encryption to ensure secure communication
- Supports speed limit, traffic limit and connection limit, flexible control of network resources
- Manage black and white lists to control access and enhance security
- Cross-platform compatibility, supporting Windows, Linux and macOS
- Provides detailed logging and monitoring features for easy management and troubleshooting
- Supports Docker deployment to simplify installation and management processes
Using Help
Installation process
- Installation from source::
- Ensure that the Go language environment is installed.
- Execute the following command to download and install Go-Proxy:
go get github.com/yusing/go-proxy
- Go to the project directory, compile and run:
cd $GOPATH/src/github.com/yusing/go-proxy go build . /go-proxy
- Installation with Docker::
- Make sure Docker is installed.
- Pull the Go-Proxy image:
bash
docker pull ghcr.io/yusing/go-proxy
- Run the container:
bash
docker run -p 8080:8080 ghcr.io/yusing/go-proxy
Guidelines for use
- configuration file::
- Go-Proxy supports detailed configuration via configuration files. The default configuration file is
config.yaml
, the user can modify the parameters in the configuration file as needed, such as the proxy port, protocol type, chained proxy settings, and so on.
- Go-Proxy supports detailed configuration via configuration files. The default configuration file is
- Starting a proxy server::
- Use the following command to start the proxy server:
. /go-proxy -config config.yaml
- Once the server is started, you can access the proxy server through a browser or other client tool to perform proxy testing.
- Advanced Features::
- chained agent: Set the upstream proxy server address in the configuration file to realize multi-level proxy, which is suitable for complex network environments that require multi-level proxy.
- intranet penetration: By configuring the intranet penetration parameters, it realizes the extranet access of the intranet devices and solves the problem that the intranet devices cannot directly access the extranet.
- encrypted communications: Enable TLS encryption to ensure the security of proxy communications and prevent data theft or tampering.
- limit on speed and limit on current: Set speed and flow limit parameters in the configuration file to control the proxy traffic and the number of connections to prevent network resources from being misused.
- black and white list: Configure black and white lists to manage IP addresses and domain names that are allowed or prohibited from accessing, enhancing network security.