如何做一个一键科学上网开关?
自己尝试了一下,不会弄,因为相关软件流量开关是在软件内的,也就是启动软件后,还要在软件内点开一个开关才可以。所以这样的情况,有没有办法做个快捷键?
你好,要看一下你使用科学上网软件是否支持 开关的快捷键设置,支持的话,就可以设置对应快捷键即可。
win系统的话可以这样曲线设置
用ai写一个bat文件,切换代理的因为一般都是梯子到127.0.0.1:XXXX
bat负责打开代理和关闭代理就可以了
下面的bat供参考,不能用作一键切换,可以丢给ai帮你改改
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: ========== 权限检测 ==========
net session >nul 2>&1
if %errorlevel% neq 0 (
echo NO admin
echo check admin
pause
exit
) else (
echo admin: YES
)
:: ========== 测试网卡是否存在 ==========
echo [调试] 正在查询网卡信息...
netsh interface show interface name="%网卡名称%" >nul 2>&1
if errorlevel 1 (
echo [错误] 找不到网卡 "%网卡名称%"
echo 可用的网卡列表:
netsh interface show interface
echo.
echo 请将上面的"接口名称"修改为正确的名称
pause
exit
) else (
echo [调试] 网卡存在检查: 通过
)
title 代理管理工具
mode con cols=70 lines=20
color 07
:menu
cls
echo.
echo ════════════════════════════════════════════════════════════
echo 系统代理管理工具
echo ════════════════════════════════════════════════════════════
echo.
CALL :check_proxy
CALL :show_ip
echo.
echo ════════════════════════════════════════════════════════════
echo1. ON
echo2. OFF
echo3. Refesh
echo4. resetNIC
echo5. Exit
echo ════════════════════════════════════════════════════════════
echo.
set /p choice="请选择操作 : "
if "%choice%"=="1" GOTO enable_proxy
if "%choice%"=="2" GOTO disable_proxy
if "%choice%"=="3" GOTO menu
if "%choice%"=="4" GOTO restart_nic
::if "%choice%"=="4" GOTO set_proxy
if "%choice%"=="5" exit
GOTO menu
:restart_nic
echo.
echo ===================================
echo 正在重启网卡 [以太网]...
echo 步骤1/2: 禁用网卡...
netsh interface set interface "以太网" disable
if errorlevel 1 (
echo [错误] 禁用失败,请检查是否以管理员运行
pause
goto menu
)
timeout /t 1 /nobreak >nul
echo 步骤2/2: 启用网卡...
netsh interface set interface "以太网" enable
if errorlevel 1 (
echo [错误] 启用失败
pause
goto menu)
echo [成功] 网卡已重启
echo ===================================
pause
goto menu
:check_proxy
echo 当前代理状态:
set PROXY_KEY="HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
reg query %PROXY_KEY% /v ProxyEnable >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] 无法读取注册表
GOTO :eof
)
for /f "tokens=3" %%a in ('reg query %PROXY_KEY% /v ProxyEnable ^| findstr /i "ProxyEnable"') do (
if "%%a"=="0x0" (
echo [状态] 代理已关闭
) else (
echo [状态] 代理已开启
for /f "tokens=3,*" %%b in ('reg query %PROXY_KEY% /v ProxyServer ^| findstr /i "ProxyServer"') do (
echo [地址] %%b
)
)
)
GOTO :eof
:show_ip
echo 本机IP地址信息:
for /f "tokens=2 delims=:" %%a in ('ipconfig ^| findstr /i "IPv4"') do (
set "ip=%%a"
set "ip=!ip: =!"
if defined ip echo !ip!
)
GOTO :eof
:enable_proxy
set proxy_addr=192.168.1.8:7890
reg add %PROXY_KEY% /v ProxyEnable /t REG_DWORD /d 1 /f >nul 2>&1
reg add %PROXY_KEY% /v ProxyServer /t REG_SZ /d "%proxy_addr%" /f >nul 2>&1
echo.
echo 正在刷新设置...
ipconfig /flushdns >nul 2>&1
echo 代理已开启并设置为: %proxy_addr%
pause
GOTO menu
:disable_proxy
reg add %PROXY_KEY% /v ProxyEnable /t REG_DWORD /d 0 /f >nul 2>&1
echo.
echo 正在刷新设置...
ipconfig /flushdns >nul 2>&1
echo 代理已关闭
pause
GOTO menu
:set_proxy
set /p new_proxy="请输入新的代理地址: "
if "%new_proxy%"=="" (
echo 地址不能为空!
pause
GOTO menu
)
reg add %PROXY_KEY% /v ProxyServer /t REG_SZ /d "%new_proxy%" /f >nul 2>&1
echo.
echo 代理地址已修改为: %new_proxy%
pause
GOTO menu
页:
[1]