Ubuntu下源码编译安装最新版Shadowsocks-Qt5
既然说好的打造技术博客,总得写点干货什么的,正好前些日子买个了新的ss服务,买完才注意到加密方式是chacha20-ietf-poly1305
,再一看Shadowsocks-Qt5在Ubuntu的软件源里面最新版本只是2.9,不支持啊,于是只能自己研究一下怎么弄了,遇到了不少坑,和大家分享一下经验方法。
卸载旧版本Shadowsocks-Qt5
sudo apt-get purge shadowsocks-qt5
安装libsodium
sudo apt-get install libsodium-dev
安装libbotan-2.x
下载解压编译安装,没啥好说的,可以访问Botan-Index of release 获取最新本版,虽说新版本好像也没啥用XD
wget https://botan.randombit.net/releases/Botan-2.3.0.tgz
tar xvf Botan-2.3.0.tgz
cd Botan-2.3.0
./configure.py
make
sudo make install
sudo ldconfig
安装libQtShadowsocks
sudo apt-get install qt5-qmake qtbase5-dev libqrencode-dev libqtshadowsocks-dev libappindicator-dev libzbar-dev libbotan1.10-dev
git clone https://github.com/shadowsocks/libQtShadowsocks.git
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
如果软件源中没有libqtshadowsocks-dev,可以使用pip安装
sudo apt-get install python-pip
sudo pip install shadowsocks
如果原先安装过Qt,可能会提示找不到Qt目录,导入环境变量,然后重新编译安装
export LD_LIBRARY_PATH=/opt/Qt5.10.0/5.10.0/gcc_64/lib/
rm -rf * #删除build文件夹中文件
cmake ..
make
sudo make install
sudo ldconfig
安装Shadowsocks-Qt5
sudo apt-get install qt5-qmake qtbase5-dev libqrencode-dev libqtshadowsocks-dev libappindicator-dev libzbar-dev libbotan1.10-dev
git clone https://github.com/shadowsocks/shadowsocks-qt5.git
cd shadowsocks-qt5
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
如果提示找不到Qt目录,编辑CMakeLists.txt
,加入一行并保存
set(CMAKE_PREFIX_PATH "/opt/Qt5.10.0/5.10.0/gcc_64")
然后重新编译安装
rm -rf * #删除build文件夹中文件
cmake ..
make
sudo make install
sudo ldconfig
启动ss-qt5
直接启动即可
ss-qt5
若提示
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5: version `Qt_5' not found (required by ss-qt5)
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5Network.so.5: version `Qt_5' not found (required by ss-qt5)
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by ss-qt5)
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by ss-qt5)
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ss-qt5)
ss-qt5: /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5: version `Qt_5' not found (required by ss-qt5)
则还是环境变量的问题,导入后重新启动即可
export LD_LIBRARY_PATH=/opt/Qt5.10.0/5.10.0/gcc_64/lib
ss-qt5
启动后在帮助
-关于
查看一下版本号若是新版就ok了
这时手动添加一个新连接,就已经可以看到加密方式中有chacha20-ietf-poly1305
选项了
Tips
可以写个sh,放到桌面双击启动
#/bin/bash
export LD_LIBRARY_PATH=/opt/Qt5.10.0/5.10.0/gcc_64/lib
ss-qt5
将文件管理器
-编辑
-首选项
-行为
-可执行文本文件
修改为打开可执行文本文件时运行它们
即可,别忘了给sh脚本执行权限哦
顺便说一下命令行中如何使用ss,以及method chacha20-ietf-poly1305 not supported
咋解决
新建json文件,内容格式如下
{
"server": "1.2.3.4",
"server_port": "1234",
"password": "1234567",
"local_address": "127.0.0.1",
"local_port": 1080,
"timeout":300,
"method":"chacha20-ietf-poly1305",
"fast_open": false,
"workers": 1
}
然后安装最新版本ss并从文件中配置启动即可
sudo pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip -U
sslocal -c xxx.json
想让命令走ss推荐使用porxychains
,具体使用方法可以Google一下不再赘述