Ubuntu系统下浏览器和终端的SS代理配置

来源:互联网 发布:分卷包数据不正确修复 编辑:程序博客网 时间:2024/06/07 07:55

前言

终于用上了Ubuntu,但是G.W.F让人心烦:浏览器没法用谷歌等外网;终端下载文件太慢;Github克隆速度不忍直视。本教程基于神器Shadowsocks,实现了浏览器和终端的网络加速,废话少说,下面一一道来。

软件安装和使用

Linux平台的SS有Python和GUI两种形式,个人推荐后者,比较方便直观,截取官方网站的安装方法如下:

sudo add-apt-repository ppa:hzwhuang/ss-qt5 sudo apt-get updatesudo apt-get install shadowsocks-qt5

安装好后相当于有了水管,那么水从哪里来呢?我这里不是帮他们打广告,仅仅为需要的童鞋而推荐一个还算靠谱的提供商 (长期更新地址,如果chrome打不开,可以试试edge或者手机浏览器)。

水管通水后的界面大概如下(忽略我的延迟时间,这是意外):
这里写图片描述

为浏览器设置代理

在Ubuntu系统下,只安装SS,Chrome浏览器依然不能访问谷歌等网站,原因在于缺少SwitchyOmega扩展。

SwitchyOmega的下载安装

正常情况下你肯定进不去Chrome商店,只能下载插件手动安装:下载地址,Github的下载速度忍忍就好。

SwitchyOmega的配置

这款插件的配置过程比较复杂,如果想手动配置,具体可以参看这个教程网站

这里,博主也准备了一个更为简单的方法,直接导入我的配置文件,下载地址
这里写图片描述

这里还需要最后一步,如果想进谷歌,那么首先输入网址,然后点击auto switch,在隐藏菜单里面选择ss(这样做相当于建立一个网站名单,名单上的网站会使用代理),然后刷新几次,就可以顺利上网了。

这里写图片描述

如果你不巧用的是Firefox,那么是没有SwitchyOmega插件的,不过火狐有个FoxyProxy Standard插件可用,应该是类似的,使用教程仅作为参考,我没试过,因为我不用Firefox。

为终端设置代理

安装polipo软件

sudo apt-get install polipo

修改配置文件

config文件是只读的,要想修改里面的数据,需要获得最高权限。

cd /etc/polipo/sudo chmod 777 config # 为config文件申请最高权限vi /etc/polipo/config # 打开进行编辑

原文件中已经有了两句话,那么需要新加入3句话:

socksParentProxy = "localhost:1080"socksProxyType = socks5logLevel=4

ps:这里建议修改文件后恢复其本来的权限,这算是个好习惯。

关闭和启动polipo

关闭软件,让配置生效,然后重启。

sudo service polipo stopsudo service polipo start

验证和使用

安装完成后使用下面代码验证效果:

curl ip.gs #查询你的IP地址和地理信息
http_proxy=http://localhost:8123 curl ip.gs

第二条语句得到的ip地址已经不是中国的了:“当前 IP:103.204.172.117 来自:日本大阪府大阪 starrydns.com”,说明安装成功。

上面实验说明了想要为某个命令加上代理,就在前面使用:http_proxy=http://localhost:8123

ps:8123是polipo的默认端口,如有需要,可以修改成其他有效端口。

设置别名

每一次都输入这么一串命令实在太不人性化,解决方法就是给这个命令一个缩写的别名,比如“hp”。

vi .bashrc

打开配置文件,在最后面加上一句:

alias hp="http_proxy=http://localhost:8123" 

关闭文件,执行下面代码:

source ~/.bashrc

这样,hp就可以代表之前很长的命令,试验一下:

hp curl ip.gs

当前 IP:103.204.172.117 来自:日本大阪府大阪 starrydns.com ,bingo!

为当前会话设置全局代理

难道要在每条联网命令前面都加上“hp”?当然不会,以下操作可以让当前终端窗口的所有联网命令都经过代理,一条命令,接管所有:

export http_proxy=http://localhost:8123 # 当前终端使用代理unset http_proxy # 当前终端取消代理

更为长久的代理设置

如果我想Ubuntu终端一直处于代理状态,能不能做到呢?这也是可以的,以下设置可以让本机的终端一直拥有代理能力,设置好后就完全不用操心了,类似于写入环境变量的操作。

方法很简单,将以下语句:

export http_proxy=http://localhost:8123

加入.bashrc文件末尾,再执行source ~/.bashrc即可。

ps:实际使用中,某些命令貌似还是需要单独加hp,比如我用wget命令下载文件的时候,加上了别名hp ,下载速度才快得起来,例如:

# 加上hp,才能达到1M/s以上的下载速度wget hp https://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download 

为Git设置代理

刚才的一大堆设置对git命令没有作用,为此我们要单独设置。

事实上在git命令最后加参数可以实现代理:

--config http.proxy=localhost:8123

但我们仍然觉得不方便,还是起个别名吧,比如就叫“gp”。

在.bashrc文件末尾加入这一句:

gp=" --config http.proxy=localhost:8123"

执行source ~/.bashrc

以后,在git clone命令后面加入$gp就可以加快克隆速度,比如:

git clone https://github.com/gmarik/Vundle.vim.git $gp
0 0