惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
Attack and Defense Labs
Attack and Defense Labs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
阮一峰的网络日志
阮一峰的网络日志
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
V
Visual Studio Blog
博客园 - Franky
博客园 - 叶小钗
有赞技术团队
有赞技术团队
IT之家
IT之家
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园_首页
J
Java Code Geeks
S
SegmentFault 最新的问题
Last Week in AI
Last Week in AI
月光博客
月光博客
博客园 - 司徒正美
小众软件
小众软件
The Cloudflare Blog
宝玉的分享
宝玉的分享
博客园 - 聂微东
WordPress大学
WordPress大学
雷峰网
雷峰网
V
V2EX
Engineering at Meta
Engineering at Meta
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
The Register - Security
The Register - Security
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
Recent Announcements
Recent Announcements
D
Docker
F
Fortinet All Blogs
美团技术团队
H
Help Net Security
U
Unit 42
MyScale Blog
MyScale Blog

博客园 - zakun

Gitlab CI 本地开发部署 Golang grpc 实践 Mongo 聚合演示 真・一键激活 JetBrains 全家桶! Kafka 分区细说 解决国内Homebrew安装 Homebrew How to Install PHP Install Elasticsearch with Docke wsl2 网络相关设置 php docker image nginx 反向代理常用设置说明 Golang常见的并发模式 Gin框架的几种热加载方法 协程 Mysql Full-Text Index 介绍 gitlab runner 使用摘要 Gitlab Docker 使用摘要 Docker 简介 linux-查看文件夹大小 Linux 如何删除乱码文件-inode删除 Nginx反爬虫: 禁止某些User Agent抓取网站 PHP添加$_SERVER服务器环境变量
适配 WSL 的 proxy 完整脚本
zakun · 2026-07-18 · via 博客园 - zakun

适配 WSL 的 proxy 完整脚本

创建脚本

#!/bin/bash
# WSL专用自动获取Windows主机代理IP
WIN_HOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
# 修改为你Windows代理软件端口,常见7890、10809
PROXY_PORT="7890"
PROXY_URL="http://${WIN_HOST}:${PROXY_PORT}"
NO_PROXY_LIST="localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,.local"

function proxy_on {
    export http_proxy=$PROXY_URL
    export https_proxy=$PROXY_URL
    export ftp_proxy=$PROXY_URL
    export no_proxy=$NO_PROXY_LIST

    export HTTP_PROXY=$PROXY_URL
    export HTTPS_PROXY=$PROXY_URL
    export FTP_PROXY=$PROXY_URL
    export NO_PROXY=$NO_PROXY_LIST

    echo -e "\033[32m✅ WSL代理已开启\033[0m"
    echo "Windows主机地址: $WIN_HOST"
    echo "代理地址: $PROXY_URL"
    echo "不走代理: $NO_PROXY_LIST"
    if curl -s -I https://www.google.com >/dev/null; then
        echo -e "\033[32m🌐 外网连通正常\033[0m"
    else
        echo -e "\033[31m❌ 代理无法连通,请检查Windows代理软件端口/允许局域网连接\033[0m"
    fi
}

function proxy_off {
    unset http_proxy https_proxy ftp_proxy no_proxy
    unset HTTP_PROXY HTTPS_PROXY FTP_PROXY NO_PROXY
    echo -e "\033[31m❌ 代理已关闭\033[0m"
}

function proxy_status {
    echo "==== WSL 当前代理环境变量 ===="
    env | grep -i proxy
}

case "$1" in
    on)
        proxy_on
        ;;
    off)
        proxy_off
        ;;
    status)
        proxy_status
        ;;
    *)
        echo "用法:"
        echo "  source ~/proxy.sh on    开启代理"
        echo "  source ~/proxy.sh off   关闭代理"
        echo "  source ~/proxy.sh status 查看状态"
        ;;
esac

配置快捷别名(推荐)

echo "alias proxy='source ~/proxy.sh'" >> ~/.bashrc
source ~/.bashrc

使用命令

# 开启代理
proxy on

# 关闭代理
proxy off

# 查看当前代理
proxy status