Skip to content

WProxy is an authenticated SOCKS5 and HTTP proxy tool with port multiplexing support. It helps you access the internet in a secure and efficient environment. Supports forwarding to target domains or IPs specified in HTTP/HTTPS headers.

Notifications You must be signed in to change notification settings

Wenpiner/WProxy

Repository files navigation

WProxy

WProxy is an authenticated SOCKS5 and HTTP proxy tool that supports port multiplexing. It helps you browse the internet securely and efficiently.

English | 中文文档

Features

  • Supports authentication to prevent unauthorized access
  • Supports port multiplexing, allowing multiple proxy services on a single port
  • Lightweight and cross-platform, runs on Windows, Linux and macOS
  • Supports SOCKS5 and HTTP/HTTPS proxy protocols
  • Supports forwarding to target domains or IPs specified in HTTP/HTTPS headers

Quick Installation

One-click Installation for Linux

Use the following command to quickly install WProxy:

curl -s https://raw.githubusercontent.com/Wenpiner/WProxy/main/install.sh | sudo bash

The installation script will automatically:

  1. Detect system architecture (supports amd64 and arm64)
  2. Download the latest version from GitHub
  3. Install to the system directory
  4. Create a configuration file
  5. Set up a system service (with auto-start on boot)

After installation, you can check the service status with:

systemctl status wproxy

Uninstallation

Use the following command to quickly uninstall WProxy:

curl -s https://raw.githubusercontent.com/Wenpiner/WProxy/main/uninstall.sh | sudo bash

The uninstallation script will automatically:

  1. Stop and disable the WProxy service
  2. Remove the system service file
  3. Delete the program files
  4. Remove the configuration files

Manual Installation

If you prefer to install manually, follow these steps:

  1. Download the latest WProxy binary from the GitHub repository
  2. Extract the downloaded file to your system
  3. Run the ./wproxy command in the terminal to start the proxy server

Configuration

The configuration file is located at /etc/wproxy/config.yaml. You can configure the following settings:

  • listen_addr: The listening address of the proxy server, default is 0.0.0.0:1080
  • username and password: The credentials required for authentication

Default configuration:

listen_addr: "0.0.0.0:1080"
username: "admin"
password: "16-character random password"  # Automatically generated during installation

Notes:

  1. A random 16-character password is automatically generated during installation
  2. The generated password will be displayed after installation, please keep it safe
  3. To change the password, edit the configuration file and restart the service

Usage

  • Configure your applications or browsers to use WProxy as a proxy server

  • Enter the proxy server's address, port, and authentication credentials (if enabled)

  • Start browsing the internet through the proxy server

  • If you need to forward to target domains or IPs specified in HTTP/HTTPS headers, add the X-Proxy-Host, X-Proxy-Scheme, and X-Proxy-Secret fields to the request headers. For example:

    Unauthenticated HTTP forwarding

    GET /xxx/xxx HTTP/1.1
    Host: example.com
    X-Proxy-Host: target-domain.com
    X-Proxy-Scheme: http

    Unauthenticated HTTP forwarding with custom port (non-TLS)

    GET /xxx/xxx HTTP/1.1
    Host: example.com
    X-Proxy-Host: target-domain.com:8080
    X-Proxy-Scheme: http

    Unauthenticated HTTPS forwarding with custom port (TLS)

    GET /xxx/xxx HTTP/1.1
    Host: example.com
    X-Proxy-Host: target-domain.com:8443
    X-Proxy-Scheme: https

    Authenticated HTTPS forwarding

    GET /xxx/xxx HTTP/1.1
    Host: example.com
    X-Proxy-Host: target-domain.com:8443
    X-Proxy-Scheme: https
    X-Proxy-Secret: your_password

    The proxy server will forward the request to the specified target address and port based on these fields.

⚠️ Notes

  1. Proxy-Authorization corresponds to the BasicAuth authentication method. If no password is set, this field is not required.

Service Management

After installation, you can manage the WProxy service with the following commands:

# Start the service
sudo systemctl start wproxy

# Stop the service
sudo systemctl stop wproxy

# Restart the service
sudo systemctl restart wproxy

# Check service status
sudo systemctl status wproxy

# Enable auto-start on boot
sudo systemctl enable wproxy

# Disable auto-start on boot
sudo systemctl disable wproxy

Contributing

If you find any issues or have suggestions for improvements, feel free to submit an issue or pull request. We're happy to improve WProxy together with the community.

License

WProxy is released under the MIT License, allowing you to freely use, modify, and distribute this project.

Star History

Star History Chart

About

WProxy is an authenticated SOCKS5 and HTTP proxy tool with port multiplexing support. It helps you access the internet in a secure and efficient environment. Supports forwarding to target domains or IPs specified in HTTP/HTTPS headers.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published