前言
注意:下面的所有例子均为虚拟代理,请自行替换为你自己的代理
设置代理是为了这几种情况:
- 跨越
GFW
防火长城,简称翻墙
- 从
内网
访问外网
- 从
内网
访问内网镜像库
(npm、composer 等)
代理方式
代理设置至少有以下几种方式:
设置目标代理机器(常用)
如:
http://yourProxyServer:port
设置 pac 自动匹配代理(常用于浏览器)
如:
http://example/a.pac
代理地址
假设你目前可用的代理是:http://yourProxyServer:port
,后面例子均以此代理作为示范。
Windows CMD 代理设置
当前 CMD 窗口有效:
REM 设置代理
set http_proxy=http://yourProxyServer:port
set https_proxy=http://yourProxyServer:port
REM 查看代理
echo %http_proxy%
echo %https_proxy%
REM 取消代理(留空即可)
set http_proxy=
set https_proxy=
若想一直有效,设置系统环境变量:http_proxy、https_proxy,并重启你的 Windows。
注意:
http_proxy
和https_proxy
对应的都是http://yourProxyServer:port
,后者可能没有https
的s
Linux 代理设置
同下面 Mac 代理设置 ↓
Mac 代理设置
这里只说命令行配置代理的方式
在 ~/.bash_profile
或 ~/.zshrc
中填入设置代理的快捷方式:
# shadowsocks 翻墙用,不翻墙可不用
alias proxy_ss='export all_proxy=socks5://127.0.0.1:1086; export http_proxy=http://127.0.0.1:1087; export https_proxy=https://127.0.0.1:1087'
# 其他代理
alias proxy_dev='export http_proxy=http://yourProxyServer:port; export https_proxy=http://yourProxyServer:port'
# 取消所有代理设置
alias unproxy='unset all_proxy; unset http_proxy; unset https_proxy'
设置完,记得 source 一下配置文件。
使用,shell 中执行(开发机为例):
# 设置代理
proxy_dev
# 取消代理
unproxy
单独命令:
# 临时设置代理
export http_proxy=http://yourProxyServer:port
export https_proxy=http://yourProxyServer:port
# 查看代理
echo $http_proxy
echo $https_proxy
# 取消代理
unset http_proxy
unset https_proxy
Mac Homebrew 代理设置
同上面 Mac 命令行的代理设置。
Git 代理设置
# 全局:设置 Git 访问外网(如 github)的代理
git config --global http.proxy http://yourProxyServer:port
# 全局:查看 Git 代理
git config --global --get http.proxy
# 全局:删除 Git 代理
git config --global --unset http.proxy
# ----------- 下面是针对每个项目局部的,非全局 -----------------
# 设置 Git 访问外网(如 github)的代理
git config http.proxy http://yourProxyServer:port
# 查看 Git 代理
git config --get http.proxy
# 删除 Git 代理
git config --unset http.proxy
Git 用户名、邮箱设置
# 设置 Git 全局:用户名、邮箱 ↓
git config --global user.name "youName"
git config --global user.email yourEmail@example.com
# 下面是针对每个 Git 项目的,非全局 ↓
git config user.email yourEmail@example.com
git config user.name "youName"
哪个设为全局,哪个设为当前项目,按个人需求而定,并无绝对。
npm 代理设置 + 镜像设置
使用淘宝 npm 镜像(推荐)
此时需同时设置:淘宝镜像 + 你的代理(若有的话)
# ↓ 设置淘宝 npm 镜像
npm config set registry https://registry.npmmirror.com
# ↓ 若本来即可访问外网,无需下面代理设置
npm config set https-proxy http://yourProxyServer:port
使用 npm 官方镜像
设置代理(若有的话):
npm config set proxy http://yourProxyServer:port
npm config set https-proxy http://yourProxyServer:port
npm 代理、镜像查看方式
# 查看 npm 所有设置
npm config list
# 查看代理
npm config get proxy
npm config get https-proxy
# 查看镜像
npm config get registry
# 取消代理
npm config rm proxy
npm config rm https-proxy
yarn 代理设置 + 镜像设置
# 设置 registry 镜像
yarn config set registry https://registry.npmmirror.com
# 设置代理(若有的话)
yarn config set proxy http://yourProxyServer:port
# 查看所有设置
yarn config list
# 查看镜像设置
yarn config get registry
# 查看某个设置
yarn config get proxy
yarn 全局配置: 用户目录/.yarnrc
注意:
有时设置了代理也不生效,可能原因是
yarn.lock
文件的问题,删掉重来试试
nvm 代理设置
# 设置代理(永久)
nvm proxy "http://yourProxyServer:port"
# 设置代理(临时,非必须)
set http_proxy=http://yourProxyServer:port
set https_proxy=http://yourProxyServer:port
# 查看代理
nvm proxy
# 删除代理
nvm proxy "none"
Bower 代理设置
新建 .bowerrc
文件, 填入 proxy
和 https-proxy
:
{
"directory": "bower_components",
"proxy": "http://yourProxyServer:port/",
"https-proxy": "http://yourProxyServer:port/"
}
支持三种设置方式:
- 当前项目:
当前目录(bower.json 的同级目录)
- 当前用户目录
- 系统根目录(Linux 的
/
目录)
PHP Composer 代理设置
安装完 Composer 后,使用 Composer 时是直接使用系统(如 Win 的 CMD)的代理,并无代理配置文件。
也即:Windows 下需设置 CMD 的代理,类似
set http_proxy=yourProxyServer:port
set https_proxy=yourProxyServer:port
之后,才能进行 composer require packageName
系统配置了这两个环境变量的话,就相当于 Composer 的全局代理
PhpStorm、IntelliJ IDEA、PyCharm、WebStorm、Android Studio(或 Jetbrains 系其他)代理设置
File
-> Settings
-> Appearance & Behavior
-> System Settings
-> HTTP Proxy
-> Manual proxy configuration
-> HTTP
-> Host name: yourProxyServer
-> Port number: yourProxyPort
-> OK
Maven 代理、镜像设置
Maven 的代理、镜像设置内容较多,详细见 这里
Gradle 代理设置
- 若设置当前项目:
- 新建或编辑当前项目内的
gradle.properties
- 新建或编辑当前项目内的
- 若设置全局项目:
- 新建或编辑
用户目录/.gradle/gradle.properties
- 新建或编辑
在 gradle.properties
文件中增加以下设置:
systemProp.http.proxyHost=yourProxyServer
systemProp.http.proxyPort=yourPort
systemProp.https.proxyHost=yourProxyServer
systemProp.https.proxyPort=yourPort
参考:https://docs.gradle.org/current/userguide/build_environment.html
Python 的 pip 代理设置
pip 可用于安装 Python 的包。
pip 的代理设置有 3 种方式(n 选 1):
系统环境变量
- 就如 CMD 的代理设置,之后再
pip install yourPackage
,Win ↓
set http_proxy=http://yourProxyServer:port set https_proxy=http://yourProxyServer:port
- 就如 CMD 的代理设置,之后再
--proxy
参数pip install yourPackage --proxy http://yourProxyServer:port
pip.ini
配置文件(推荐,永久)以 Win 为例,在用户目录新建目录和文件
%HOME%\pip\pip.ini
,填入:[install] proxy=http://yourProxyServer:port
查看设置是否成功:
pip config list
pip 设置代理的官方文档:https://pip.pypa.io/en/stable/user_guide/#using-a-proxy-server
VSCode 代理设置
VSCode 默认从 http_proxy
和 https_proxy
环境变量获取代理。
但也可手动设置: File
-> Preference
-> Settings
,在右侧 User Settings
里粘贴以下代码:
"http.proxy": "http://yourProxyServer:port",
Notepad++ 代理设置
菜单栏 -> 最右侧问号 ?
-> 设置更新代理服务器
->
Proxy server
:yourProxyServerPort
:yourPort
Sublime 代理设置
Sublime 默认使用系统的 PAC
设置。浏览器能上网,Sublime 基本就能联网。
也可在配置文件自定义代理:
菜单栏
->Preferences
->Settings
->在左右任意一侧填入
:
"http_proxy": "http://yourProxyServer:port",
"https_proxy": "http://yourProxyServer:port",
Eclipse 代理设置
Eclipse 代理设置方式:
Window
->Preferences
->General
->Network Connections
-> 右侧Active Provider
选择Manual
->Proxy entries 表格
中双击第 1 行的HTTP
->Host
填yourProxyServer
->Port
填yourPort
->OK
HTTPS
、SOCKS
同理设置
Atom 编辑器 代理设置
见下面命令:
# 设置代理
apm config set https-proxy https://yourProxyServer:port
# 查看代理
apm config get https-proxy
# 查看所有配置(显示的结果的 `userconfig` 就是配置文件所在位置)
apm config get
wget 代理设置
方法 01(临时):
先设置 Windows CMD 的代理:
set http_proxy=http://yourProxyServer:port set https_proxy=http://yourProxyServer:port
或 Linux shell 的代理:
export http_proxy=http://yourProxyServer:port export https_proxy=http://yourProxyServer:port
然后可以直接使用 wget 命令
方法 02(永久,推荐!):
直接使用 wget 配置文件,在当前用户主目录下新建文件
.wgetrc
(或 Linux 的/etc/wgetrc
):http-proxy = yourProxyServer:port https-proxy = yourProxyServer:port ftp-proxy = yourProxyServer:port
然后可以直接使用 wget 命令
方法 03(临时):
- 直接在 wget 命令中添加参数,如
wget https://www.baidu.com -e https-proxy=yourProxyServer:port
- 或 (都是 http ,而非 https)
wget http://www.baidu.com -e http-proxy=yourProxyServer:port
curl 代理设置
方法 01(临时):
- 先设置 Windows CMD 的代理:
set http_proxy=yourProxyServer:port set https_proxy=yourProxyServer:port
- 或 Linux shell 的代理:
export http_proxy=yourProxyServer:port export https_proxy=yourProxyServer:port
- 然后可以直接使用 curl 命令,如
curl http://www.baidu.com -o baidu.html
方法 02(永久,推荐!):
- 直接使用 curl 配置文件,在当前用户主目录下新建配置文件(Win:
_curlrc
)(Linux:.curlrc
):proxy = yourProxyServer:port
- 然后可以直接使用 curl 命令,如
curl http://www.baidu.com -o baidu.html
方法 03(临时):
- 直接在 curl 命令中添加参数,如
curl https://www.baidu.com -o baidu.html -x yourProxyServer:port
-x
小写 x 代表proxy
的意思
Golang 的 go get 代理
Golang 的 go get
使用系统的 http_proxy
,但拉取代码时会使用 Git 的代理,
所以两步都要做:
- 设置系统代理(或说 CMD 代理)
set http_proxy=yourProxyServer:port
- 设置 Git 代理,参考前面的
Git 代理设置
git config --global http.proxy http://yourProxyServer:port
参考:
若使用 VSCode,要想 VSCode 自动下载 Go 的依赖工具,则也应设置 VSCode 的 settings.json 中的代理:
"http.proxy": "http://yourProxyServer:port",
Navicat 连外网数据库
Navicat 貌似必须同时配置 通道地址
和 代理服务器
。
注意:此方法不太安全,慎重使用!
- 步骤 01: Navicat 安装目录找到文件:
C:\Program Files\PremiumSoft\Navicat Premium\ntunnel_mysql.php
(或对应语言的 php),放置到你外网 Web 服务目录下(浏览器可打开http://IP:port/abc/ntunnel_mysql.php
看到一个页面) - 步骤 02:
右键某个数据库连接
->HTTP
-> 勾选使用 HTTP 通道
->通道地址
填http://IP:port/abc/ntunnel_mysql.php
-> 下面代理服务器
-> 勾选使用代理服务器
->主机
填yourPorxyServer
->端口
填yourPort
->测试连接
->确定
Virtual Box、VMware 代理设置
普通用户虚拟机都采用 NAT 模式吧。
代理设置:虚拟机内的系统与外部物理机一样的代理设置,才能上网。
Xshell 代理设置
打开某个 session 的属性设置
- Connection
- Proxy
- Browse
- Add
- Name:anyName(或随意名字)
- Type:HTTP 1.1
- Host:yourProxyServer
- Port:yourPort
- OK
- Close
- Proxy Server 选择刚新建的代理
- 完毕
SecureCRT 代理设置
分 2 步走,先全局添加代理项,再在每个连接中选择对应的代理项。
- 全局添加代理项
- Options
- Global Options
- Firewall
- Add
- Name:anyName(或随意名字)
- Type:HTTP (no authentication)
- Hostname or IP:yourProxyServer
- Port:yourPort
- OK
- Add
- 在你的连接中选中刚刚新建的代理项
- 你的连接 -> 属性
- Connection
- SSH2
- Firewall
- 选择
刚新建的代理项
Proxifier 为其他软件设置代理
与前面各个软件为各自设置代理不同,Proxifier 是另一种思路:统一为别的软件设置代理。
优点:
- 不用按照每个软件的不同方式设置各自的代理
- 部分没有代理设置界面的软件很适合使用 Proxifier
- 可查看被代理软件的实际流量情况
- Windows、Mac 都可使用
缺点:
- 代理设置有时不够个性化(如 Git 的全局代理与当前 Git 项目代理)
步骤:
菜单栏 Profile
->Proxy Servers
->Add
->Address
填yourProxyServer
->Port
填yourPort
->Protocol
填HTTPS
->OK
菜单栏 Profile
->Proxification Rules
->Add
->Name
随意填- >Applications
通过Browse
按钮选择你想代理的软件的 exe 文件 ->Action
选择前面步骤设置的yourProxyServer
->OK
鸣谢
感谢Dylan提供的代理汇总!