用脚本快速设置系统代理

wen 实用脚本 3

本文目录导读:

用脚本快速设置系统代理

  1. Windows 系统
  2. macOS 系统
  3. Linux 系统
  4. 跨平台 Python 脚本
  5. 使用说明

Windows 系统

PowerShell 脚本

# 设置代理
$proxyServer = "127.0.0.1:7890"  # 修改为你的代理地址
# 设置HTTP代理
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer -Value $proxyServer
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 1
# 设置环境变量(对某些应用生效)
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://$proxyServer", "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://$proxyServer", "User")
Write-Host "代理已开启: $proxyServer"
# 关闭代理
$proxyServer = ""
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
[Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, "User")
[Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, "User")
Write-Host "代理已关闭"

批处理脚本

@echo off
:: 开启代理
set proxy=127.0.0.1:7890
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer /t REG_SZ /d %proxy% /f
echo 代理已开启: %proxy%
:: 关闭代理
:: reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
:: echo 代理已关闭

macOS 系统

Shell 脚本

#!/bin/bash
# 设置代理
PROXY_HOST="127.0.0.1"
PROXY_PORT="7890"
# 设置 Wi-Fi 代理(默认网络接口)
networksetup -setwebproxy Wi-Fi $PROXY_HOST $PROXY_PORT
networksetup -setsecurewebproxy Wi-Fi $PROXY_HOST $PROXY_PORT
# 设置环境变量
export HTTP_PROXY="http://$PROXY_HOST:$PROXY_PORT"
export HTTPS_PROXY="http://$PROXY_HOST:$PROXY_PORT"
echo "代理已开启: $PROXY_HOST:$PROXY_PORT"
# 关闭代理
# networksetup -setwebproxystate Wi-Fi off
# networksetup -setsecurewebproxystate Wi-Fi off
# unset HTTP_PROXY HTTPS_PROXY
# echo "代理已关闭"

Linux 系统

临时设置(仅当前终端)

#!/bin/bash
# 设置代理
export HTTP_PROXY="http://127.0.0.1:7890"
export HTTPS_PROXY="http://127.0.0.1:7890"
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
echo "代理已设置"
# 清除代理
# unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy

永久设置(写入配置文件)

#!/bin/bash
# 添加代理配置到 /etc/environment
sudo tee -a /etc/environment << EOF
HTTP_PROXY="http://127.0.0.1:7890"
HTTPS_PROXY="http://127.0.0.1:7890"
http_proxy="http://127.0.0.1:7890"
https_proxy="http://127.0.0.1:7890"
EOF
# 添加到 bashrc
echo 'export HTTP_PROXY="http://127.0.0.1:7890"' >> ~/.bashrc
echo 'export HTTPS_PROXY="http://127.0.0.1:7890"' >> ~/.bashrc
echo "代理已永久配置,请重新登录生效"

跨平台 Python 脚本

#!/usr/bin/env python3
import sys
import platform
import subprocess
def set_proxy(proxy_host="127.0.0.1", proxy_port="7890"):
    system = platform.system()
    proxy = f"{proxy_host}:{proxy_port}"
    if system == "Windows":
        import winreg
        # 修改注册表
        key = winreg.OpenKey(winreg.HKEY_CURRENT_USER,
                            r"Software\Microsoft\Windows\CurrentVersion\Internet Settings",
                            0, winreg.KEY_ALL_ACCESS)
        winreg.SetValueEx(key, "ProxyEnable", 0, winreg.REG_DWORD, 1)
        winreg.SetValueEx(key, "ProxyServer", 0, winreg.REG_SZ, proxy)
        winreg.CloseKey(key)
        print(f"Windows 代理已设置: {proxy}")
    elif system == "Darwin":  # macOS
        subprocess.run(["networksetup", "-setwebproxy", "Wi-Fi", proxy_host, proxy_port])
        subprocess.run(["networksetup", "-setsecurewebproxy", "Wi-Fi", proxy_host, proxy_port])
        print(f"macOS 代理已设置: {proxy}")
    elif system == "Linux":
        # 设置环境变量
        env_vars = {
            "HTTP_PROXY": f"http://{proxy}",
            "HTTPS_PROXY": f"http://{proxy}",
            "http_proxy": f"http://{proxy}",
            "https_proxy": f"http://{proxy}"
        }
        for key, value in env_vars.items():
            print(f"export {key}={value}")
        print(f"Linux 代理变量已设置")
if __name__ == "__main__":
    # 使用示例
    set_proxy("127.0.0.1", "7890")

使用说明

  1. 修改代理地址:将脚本中的 0.0.1:7890 替换为你的实际代理地址
  2. 管理员权限:Windows 和 macOS 可能需要管理员权限
  3. 生效范围
    • PowerShell/CMD 脚本:影响系统范围
    • Shell 脚本:临时影响当前会话
    • 环境变量:影响大部分命令行工具

选择适合你系统的脚本,将代理地址修改为实际的代理服务地址即可。

抱歉,评论功能暂时关闭!