百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

Unix 平台下各种加速配置

ninehua 2025-03-01 14:56 38 浏览



本文主要阐述在 *Uinx 平台下,各种常用开发工具的加速配置,加速前提是你需要有一个能够加速的 socks5 端口,常用工具请自行搭建;本文档包括 docker、terminal、git、chrome 常用加速配置

一、加速类型

目前大部分工具在原始版本都是只提供 socks5 加速,常用平台一些工具已经支持手动设置加速端口,如 telegram、mega 同步客户端等等;但是某些工具并不支持 socks5,通用的加速目前各个平台只支持 http、https 设置(包括 terminal 下);综上所述,在设置之前你至少需要保证有一个 socks5 端口能够进行加速,然后根据以下教程将 socks5 转换成 http,最后配置各个软件或系统的加速方式为 http,这也是我们常用的某些带有图形化客户端实际的背后实现

二、socks5 to http

sock5 转 http 这里采用 privoxy 进行转换,根据各个平台不同,安装方式可能不同,主要就是包管理器的区别,以下只列举 Ubuntu、Mac 下的命令,其他平台自行 Google

  • Mac: brew install privoxy
  • Ubuntu: apt-get -y install privoxy

安装成功后,需要修改配置以指定 socks5 端口以及不代理的白名单,配置文件位置如下:

  • Mac: /usr/local/etc/privoxy/config
  • Ubuntu: /etc/privoxy/config

在修改之前请备份默认配置文件,这是个好习惯,备份后修改内容如下:

# 转发地址
forward-socks5   /               127.0.0.1:1080 .
# 监听地址
listen-address  localhost:8118
# local network do not use proxy
forward         192.168.*.*/     .
forward            10.*.*.*/     .
forward           127.*.*.*/     .

其中 127.0.0.1:1080 为你的 socks5 ip 及 端口,localhost:8118 为你转换后的 http 监听地址和端口;配置完成后启动 privoxy 即可,启动命令如下:

  • Mac: brew services start privoxy
  • Ubuntu: systemctl start privoxy

三、Docker 加速拉取 gcr.io 镜像

对于 docker 来说,terminal 下执行 docker pull 等命令实质上都是通过调用 docker daemon 操作的;而 docker daemon 是由 systemd 启动的(就目前来讲,别跟我掰什么 service start…);对于 docker daemon 来说,一旦它启动以后就不会再接受加速设置,所以我们需要在 systemd 的 service 配置中配置它的加速。

目前 docker daemon 接受标准的终端加速设置(读取 http_proxy、https_proxy),同时也支持 socks5 加速;为了保证配置清晰方便修改,这里采用创建单独配置文件的方式来配置 daemon 的 socks5 加速,配置脚本如下(Ubuntu、CentOS):

#!/bin/bash

set -e

OS_TYPE=$1
PROXY_ADDRESS=$2

if [ "${PROXY_ADDRESS}" == "" ]; then
    echo -e "\033[31mError: PROXY_ADDRESS is blank!\033[0m"
    echo -e "\033[32mUse: sudo $0 centos|ubuntu 1.2.3.4:1080\033[0m"
    exit 1
fi

if [ "${OS_TYPE}" == "" ];then
    echo -e "\033[31mError: OS_TYPE is blank!\033[0m"
    echo -e "\033[32mUse: sudo $0 centos|ubuntu\033[0m"
    exit 1
elif [ "${OS_TYPE}" == "centos" ];then
    mkdir /etc/systemd/system/docker.service.d || true
    tee /etc/systemd/system/docker.service.d/socks5-proxy.conf <<-EOF[Service]
Environment="ALL_PROXY=socks5://${PROXY_ADDRESS}"EOFelif [ "${OS_TYPE}" == "ubuntu" ];then
    mkdir /lib/systemd/system/docker.service.d || true
    tee /lib/systemd/system/docker.service.d/socks5-proxy.conf <<-EOF[Service]
Environment="ALL_PROXY=socks5://${PROXY_ADDRESS}"EOFfi
systemctl daemon-reload
systemctl restart docker
systemctl show docker --property Environment

将该脚本内容保存为 docker_proxy.sh,终端执行 bash docker_proxy.sh ubuntu 1.2.3.4:1080 即可(自行替换 socks5 地址);脚本实际上很简单,就是创建一个与 docker.service 文件同级的 docker.service.d 目录,然后在里面写入一个 socks5-proxy.conf,配置内容只有两行:

[Service]
Environment="ALL_PROXY=socks5://1.2.3.4:1080

这样 systemd 会自动读取,只需要 reload 一下,然后 restart docker daemon 即可,此后 docker 就可以通过加速端口直接 pull gcr.io 的镜像;注意: 配置加速后,docker 将无法 pull 私服镜像(一般私服都是内网 DNS 解析),但是不会影响容器启动以及启动后的容器中的网络

四、Chrome 加速访问

对于 Chrome 浏览器来说,目前有比较好的插件实现用来配置根据策略的加速访问;这里使用的插件为 SwitchyOmega

4.1、SwitchyOmega 下载

默认情况下 SwitchyOmega 可以通过 Chrome 进行在线安装,但是众所周知的原因这是不可能的,不过国内有一些网站提供代理下载 Chrome 扩展的服务,如
https://chrome-extension-downloader.com、
http://yurl.sinaapp.com/crx.php,这些网站只需要提供插件 ID 即可帮你下载下来;SwitchyOmega 插件的 ID 为
padekgcemlokbadohgkifijomclgjgif,注意下载时不要使用 chrome 下载,因为他自身的防护机制会阻止你下载扩展程序;下载后打开 chrome 的扩展设置页,将 crx 文件拖入安装即可,如下所示:

4.2、SwitchyOmega 配置

SwitchyOmega 安装成功后在 Chrome 右上角有显示,右键点击该图标,进入选项设置后如下所示:

默认情况下左侧只有两个加速模式,一个叫做 proxy 另一个叫做 autoproxy;根据加速模式不同 SwitchyOmega 在浏览网页时选择的加速通道也不同,不同的加速方式可以通过点击 新建情景模式 按钮创建,下面介绍一下常用的两种情景模式:

代理服务器: 这种情景模式创建后需要填写一个代理地址,该地址可以是 http(s)/socks5(4) 类型;创建成功后,浏览器右上角切换到该情景模式,浏览器访问所有网页的流量全部通过该代理地址发出,不论你是访问百度还是 Google

自动切换模式: 这种情景模式并不需要填写实际的代理地址,而是需要填写一些规则;创建完成后插件中选择此种情景模式时,浏览器访问所有网页流量会根据填写的规则自动路由,然后选择合适的代理情景模式;可以实现智能切换代理

综上所述,首先应该创建(或者修改默认的 proxy 情景模式)一个代理服务器的情景模式,然后填写好你的加速 IP 和对应的协议端口;接下来在浏览器中切换到该情景模式尝试访问 kubenretes.io 等网站测试加速效果;成功后再次新建一个自动切换情景模式,保证 规则列表规则 一栏后面的下拉列表对应到你刚刚创建的代理服务器情景模式,默认情景模式 后面的下拉列表对应到直接连接情景模式,然后点击下面的 添加规则列表 按钮,选择 AutoProxy 单选框,规则列表网址 填写
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt(这是一个开源项目收集的需要加速的网址列表);最后在浏览器中切换到自动切换情景模式,然后访问 kubernetes.io、baidu.com 等网站测试是否能自动切换情景模式

五、Terminal 加速

5.1、脚本方式

对于终端下的应用程序,百分之九十的程序都会识别 http_proxy 和 https_proxy 两个变量;所以终端加速最简单的方式就是在执行命令前声明这两个变量即可,为了方便起见也可以写个小脚本,示例如下:

sudo tee /usr/local/bin/proxy <<-EOF#!/bin/bash
http_proxy=http://1.2.3.4:8118 https_proxy=http://1.2.3.4:8118 \$*EOF
sudo chmod +x /usr/local/bin/proxy

将上面的地址自行更换成你的 http 加速地址后,终端运行 proxy curl ip.cn 即可测试加速效果

5.2、proxychains-ng

proxychains-ng 是一个终端下的工具,它可以 hook libc 下的网络相关方法实现加速效果;目前支持后端为 http(s)/socks5(4a),前段协议仅支持对 TCP 加速;

Mac 下安装方式:

brew install proxychains-ng

Ubuntu 等平台下需要手动编译安装:

# 安装编译依赖
apt-get -y install gcc make git

# 下载源码
git clone https://github.com/rofl0r/proxychains-ng.git

# 编译安装
cd /proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
sudo make install
sudo make install-config

安装完成后编辑配置使用即可,Mac 下配置位于
/usr/local/etc/proxychains.conf,Ubuntu 下配置位于 /etc/proxychains.conf;配置修改如下:

# 主要修改 [ProxyList] 下的加速地址
[ProxyList]
socks5 1.2.3.4 1080

然后命令行使用 proxychains4 curl ip.cn 测试即可

六、Git 加速

目前 Git 的协议大致上只有三种 https、ssh 和 git,对于使用 https 方式进行 clone 和 push 操作时,可以使用第五部分 Terminal 加速方案即可实现对 Git 的加速;对于 ssh、git 协议,实际上都在调用 ssh 协议相关进行通讯(具体细节请 Google,这里的描述可能不精准),此时同样可以使用 proxychains-ng 进行加速,不过需要注意 proxychains-ng 要自行编译安装,同时 ./configure 增加 --fat-binary 选项,具体参考 GitHub Issue;ssh、git 由于都在调用 ssh 协议进行通讯,所以实际上还可以通过设置 ssh 的 ProxyCommand 来实现,具体操作如下:

sudo tee /usr/local/bin/proxy-wrapper <<-EOF#!/bin/bash
nc -x1.2.3.4:1080 -X5 \$*
#connect-proxy -S 1.2.3.4:1080 \$*EOF
sudo chmod +x /usr/local/bin/proxy-wrapper

sudo tee ~/.ssh/config <<-EOFHost github.com
    ProxyCommand /usr/local/bin/proxy-wrapper '%h %p'EOF

需要注意: nc 命令是 netcat-openbsd 版本,Mac 下默认提供,Ubuntu 下需要使用 apt-get install -y netcat-openbsd 安装;CentOS 没有 netcat-openbsd,需要安装 EPEL 源,然后安装 connect-proxy 包,使用 connect-proxy 命令替代

原文:

https://mritd.me/2018/03/28/unix-proxy-setting/

相关推荐

单打独斗的产品设计师工作流程总结

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。我从入行开始就在一个做自己产品的小公司工作,到现在已经三年了。刚开始工作的时候什么也不懂,老板说让出效果图,就开始直接...

毕业生必备软件!6套APP构建我的产品设计工作流

工欲善其事,必先利其器。思维和方法论固然超级重要,但是掌握并制定适合自己的工作流也可以成倍提升效率。好的软件加上熟练的使用可以帮助解决遇到的所有问题,不仅可以减轻大脑和身体的负担,更可以让产品设计师在...

如何在APP原型上写需求?(app原型设计规范)

你有没有过这样的经历——辛辛苦苦写了半天的文档,结果开发一眼没看,做需求的时候又把文档里的内容问了一遍?如果你也有这样的经历,那么在APP原型上写需求,或许能帮你解决这个问题。为什么要把需求直接写在...

产品经理工具箱|原型及交互设计工具

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。世界上最实在最方便的原型设计及交互工具:国外的谷歌,facebook等大型互联网公司的交互工具就是上面最原始,最有效最...

交互设计利器汇总:实用工具大揭秘!

近年来,页面交互设计有了很好的发展,越来越受到人们的重视。如果你想成为一名页面交互设计师,除了对平面设计和产品设计有一定的了解外,更重要的是要知道哪个软件适合页面交互设计。本文将带您了解5款流行的页面...

Taro - 京东凹凸实验室出品的小程序多端开发工具,内置 UI 组件库

可以支持转换到微信/京东/百度/支付宝/字节跳动/QQ小程序以及H5端,同时也支持使用Vue语法了。关于Taro凹凸实验室(O2Lab)来自京东零售集团,创建于2015年10月,是...

开发2小时,修bug2周,我用Trae做了个小程序

在当今快速发展的科技时代,AI技术的崛起为开发者带来了前所未有的机遇与挑战。一方面,AI极大地降低了技术门槛,让更多的创意得以快速实现;另一方面,它也提升了竞争维度,促使人们在认知、方法和时间效率上不...

好用的10款免费原型设计工具(免费的原型设计软件)

对产品经理或UI/UX设计师来说,一款好的原型设计工具至关重要。好的原型设计软件能够帮助你快速构建还原度高且信息架构清晰明了的原型图,还能极大减低工作中与同事的沟通成本,更高效地推进工作。那么,一款好...

用局域网内部分享Axure原型,这里有详细的步骤

来人人都是产品经理【起点学院】,BAT实战派产品总监手把手系统带你学产品、学运营。用axure做好原型,想分享给别人,有几个方法:生成本地文件,发送本地文件,但是文件有更新,就要重新发送用axure自...

Axure制作App原型应该怎样设置尺寸?原型尺寸对照表!

最近有几位小伙伴儿都提出同样一个疑问:想用Axure设计一个APP原型放到真实的移动设备中演示,但不知道应该使用什么尺寸?若要解释清楚像素和分辨率需要的篇幅比较长,请大家参考百度百科。这里老枪搜集...

200套数据可视化大屏模版Axure高保真原型

超炫可视化大屏模版来了,Axure高保真原型。关注微信公众号“素材帮帮站”,发送消息100051,获取素材下载地址。查看往期文章,获取更多免费素材。

Axure RP 8 Beta版正式上线(axure rp8是什么软件)

AxureSoftwareSolution公司于美国当地时间8月12日宣布其旗下产品AxureRP的v8版本的测试版正式上线。以下是其官方博客关于对AxureRP8Beta版的介绍:今天,...

PM小技术:使用SAE发布在线Axure文档

俗话说,不会写代码的产品经理不是好的射鸡湿。关于产品经理与技术之间的微妙关系,扯开了讲可是长篇大论,比如知乎上这个问题:IT行业产品经理(尤其是创业的)需要懂技术吗?懂到什么程度?,以及这个:产品经...

『原型资源』Axure自带图标库不够用,第三方经典图标库来袭

今天小编为大家带来第三方经典图标库,己确认内容可用现推荐给大家。直接上手就可不用自己画哈~获取原型文档请与班主任联系!先睹为快,合适再拿走不谢:图标太多,截取部分给大家参考o(* ̄︶ ̄*)o免费领取资...

Axure RP 8 测试版:将于今年夏天到来

我们一直在努力的开发AxureRP8。我认为这是对现有客户以及刚接触Axure的人的一个重要版本。我们希望看到你使用这些新特性,所以我们对现有客户免费升级。所有有AxureRP授权的客户包括标准...