Skip to content

fhluo/winproxy

Repository files navigation

winproxy

Change Windows system proxy settings

build workflow version

English简体中文

Installation

Using Cargo

cargo install winproxy

Using Go

go install github.com/fhluo/winproxy/go/cmd/winproxy@latest

Download Pre-built Binaries

Visit the Releases page to download pre-built binaries.

Usage

View Current Proxy Settings

winproxy

This will display your current proxy configuration in a formatted table.

Enable/Disable Proxy

# Enable proxy
winproxy -p true

# Disable proxy
winproxy -p false

Set Proxy Server

# Set HTTP proxy
winproxy -p true --proxy-address "127.0.0.1:8080"

# Set proxy with bypass list (semicolon-separated)
winproxy -p true --proxy-address "127.0.0.1:8080" --bypass-list "localhost;127.*;<local>"

Library Usage

Add winproxy to your Cargo.toml:

[dependencies]
winproxy = "0.5"

Example usage:

use winproxy::DefaultConnectionSettings;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Read current proxy settings
    let mut settings = DefaultConnectionSettings::from_registry()?;
    println!("Current settings: {:?}", settings);

    // Enable proxy and set address/bypass list
    settings.enable_proxy();
    settings.proxy_address = "127.0.0.1:8080".to_string();
    settings.set_bypass_list_from_str("localhost;127.*;<local>");

    // Apply settings
    settings.version += 1;
    settings.write_registry()?;
    println!("Proxy enabled!");

    Ok(())
}

About

Change Windows system proxy settings

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published