Ubuntu代理配置¶
目前用的 VPN
是影梭,发现它没有对应的 Linux
使用教程
在网上找了一些资料,有多种方式可以实现翻墙,记录一下
主要内容:
Shadowsocks
安装和配置¶
Shadowsocks
可以通过命令行设置,也可以通过图形界面设置
仅仅通过设置 Shadowsocks
还不能连接外网,还需要在浏览器(以 Chrome
为例)上设置代理或者设置全局代理
官方 wiki
:shadowsocks/shadowsocks-qt5
命令行安装和配置¶
参考:Linux下使用shadowsocks(以ubuntu16.04为例,非服务器)
github
上面还有好多不同版本的 shadowsocks
,比如 shadowsocks-go
安装:
sudo apt-get install shadowsocks
安装完成后可以使用命令 sslocal
zhujian@zhujian-virtual-machine:~$ sslocal -h
usage: sslocal [-h] -s SERVER_ADDR [-p SERVER_PORT]
[-b LOCAL_ADDR] [-l LOCAL_PORT] -k PASSWORD [-m METHOD]
[-t TIMEOUT] [-c CONFIG] [--fast-open] [-v] [-q]
optional arguments:
-h, --help show this help message and exit
-s SERVER_ADDR server address
-p SERVER_PORT server port, default: 8388
-b LOCAL_ADDR local binding address, default: 127.0.0.1
-l LOCAL_PORT local port, default: 1080
-k PASSWORD password
-m METHOD encryption method, default: aes-256-cfb
-t TIMEOUT timeout in seconds, default: 300
-c CONFIG path to config file
--fast-open use TCP_FASTOPEN, requires Linux 3.7+
-v, -vv verbose mode
-q, -qq quiet mode, only show warnings/errors
Online help: <https://github.com/clowwindy/shadowsocks>
可以通过命令行的方式配置,也可以通过配置文件的方式进行
主要修改 server
, server_port
和 password
配置代理文件 shadowsocks.json
{
"server":"服务器的ip",
"server_port":服务器的端口,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":true
}
配置文件方式启动代理:
sslocal -c shadowsocks.json
客户端安装和配置¶
安装:
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5
安装完成后可以在搜索栏中打开 Shadowsocks
可以通过扫描二维码的方式获取 VPN
配置
创建代理后点击连接即可
Chrome
代理配置¶
启动 Shadowsocks
代理后,还需要在浏览器(以 Chrome
为例)上进行代理设置,利用插件 SwitchyOmega
实现
SwitchyOmega
安装¶
国内下载网站:Proxy SwitchyOmega
下载插件后,打开 Chrome
浏览器,搜索栏中输入 chrome://extensions/
进入插件管理页面
直接将插件拖拽到该页面即可自动安装
问题:插件无法安装
参考:
ubuntu 16.04 chrome无法拖拽安装crx插件
linux下怎么用命令行开启chrome?还有就是常见的安装软件linux下安装在哪儿?
如果上述方式无法安装插件,通过命令行启动 Chrome
google-chrome --enable-easy-off-store-extension-install
重复上述操作即可
SwitchyOmega 代理¶
安装完成后,搜索栏旁边出现图标
点击该图标 -> Options
,打开设置页面
点击左侧 New profile
选项,新建配置文件
输入配置文件名(随意,比如 ss
),默认选择 Proxy Profile
,点击 Create
`
然后在新创建的配置文件中选择 Protocol -> SOCKS5
,输入 Server -> 127.0.0.1
,输入 Port -> 1080
,点击左下角的 Apply Changes
完成上述操作后,点击 SwitchyOmega
图标,选择刚才创建的配置文件 ss
,即可访问外网
全局代理配置¶
参考:
ubuntu基于shadowsocks的PAC全局代理:解决方案
ubuntu下 shadowsocks(VPN)配置全局可用
安装 GenPAC
:
pip install genpac
生成本地 pac
文件
genpac --format=pac --pac-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy.pac"
打开系统设置 ->
网络 ->
网络代理
Method
选项选择 Automatic
,Configuration URL
输入本地文件
file:///you_path/autoproxy.pac
点击 Apply system wide
即可实现全局代理
ProxyChains
¶
设置完成全局代理后,在终端仍旧会出现无法连接的情况,需要进一步设置代理,可以使用工具 proxychains
或者 polipo
以 proxychains
为例
安装:
sudo apt-get install proxychains
修改配置文件 /etc/proxychains.conf
#socks4 127.0.0.1 9050
socks5 127.0.0.1 1080
重启应用
sudo /etc/init.d/proxychains restart
打开命令行窗口,在输入命令的前面增加 proxychains
即可
proxychains curl www.google.com
问题:proxychains ping www.google.com
出错
ProxyChains-3.1 (http://proxychains.sf.net)
ERROR: ld.so: object 'libproxychains.so.3' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
PING www.google.com (74.86.17.48) 56(84) bytes of data.
参考:
proxychains-ld-preload-cannot-be-preloaded
Is ping not supposed to work via proxychains?
这里面共有两个问题,第一个问题:没有预加载 libproxychains.so.3
查找:
locate libproxychains.so.3
/usr/lib/x86_64-linux-gnu/libproxychains.so.3
/usr/lib/x86_64-linux-gnu/libproxychains.so.3.0.0
可以修改预加载文件 /usr/bin/proxychains
cat /usr/bin/proxychains
#!/bin/sh
echo "ProxyChains-3.1 (http://proxychains.sf.net)"
if [ $# = 0 ] ; then
echo " usage:"
echo " proxychains <prog> [args]"
exit
fi
export LD_PRELOAD=libproxychains.so.3
exec "$@"
或者自己添加到环境变量
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libproxychains.so.3
第二个问题:proxychains
对 ping
没用
参考:Is ping not supposed to work via proxychains?
proxychains
使用的协议和 ping
使用的协议不同