操作系统:航天龙梦 Fedora 28 KDE live 6
适用架构:mips64el
打游戏的人最怕什么?延时。如果游戏的服务器在电信的网络,而你恰恰是个联通用户,哈哈,那你惨了!如果你是个中移铁通用户,恭喜你,你更惨了。
那么,有没有办法打通各网络间的通讯呢?有,寻找中间服务器,比如阿里云,不论是电信还是联通,都很快。那么,通过阿里云作为媒介,可以极大的降低2个网络间的延迟。用到的工具呢,可以是ShadowSocks。
sudo dnf install shadowsocks-qt5
好啦!安装完毕。如果想要自己编译请往下看。
为了简化步骤,可以一次性全部安装完毕。
sudo dnf install git qt5 qt5-qtbase-devel qt5-qtbase-gui botan2 botan2-devel cmake cmake-gui gcc gcc-c++ pkg-config qrencode qrencode-libs qrencode-devel zbar zbar-devel zbar-qt zbar-qt-devel libappindicator libappindicator-devel
当然,为了看清依赖关系,也可以分批安装依赖。
sudo dnf install git
查看版本:git --version
sudo dnf install qt5 qt5-qtbase-devel qt5-qtbase-gui
查看版本:qmake-qt5 --version。版本Qt >= 5.5
sudo dnf install botan2 botan2-devel
查看版本:botan --version。版本Botan-2 >= 2.3.0
sudo dnf install cmake cmake-gui
查看版本:cmake --version。CMake >= 3.1
sudo dnf install gcc gcc-c++
查看版本:gcc --version,g++ --version。支持C++14各项功能的编译器(比如GCC >= 4.9)。
sudo dnf install pkg-config
查看版本:pkg-config --version
sudo dnf install qrencode qrencode-libs qrencode-devel
查看版本:qrencode --version
sudo dnf install zbar zbar-devel zbar-qt zbar-qt-devel
sudo dnf install libappindicator libappindicator-devel
由于ShadowSocks软件及库,使用pkgconfig链接依赖,因此,对所有依赖库编译安装至系统目录,并设置pkgconfig链接目录为原始目录。
不要在生产环境使用主分支的代码,因为还在开发阶段。请使用stable稳定分支。
git clone -b stable https://github.com/shadowsocks/libQtShadowsocks.git
cd libQtShadowsocks
查看编译配置
cmake -L
如果不报错,清直接跳转到步骤5。如果报错,请在步骤4检查配置。
在“启动”菜单中,点击“CMake”。
点击“Browse Source”浏览源代码路径、点击“Browse Build”浏览二进制程序的路径。
如果在BOTAN_LIBRARY_VAR选项的value中,不是有效路径。填写libbotan-2.so的路径。
点击configure。如果不报错,点击generate。
在libQtShadowsocks目录中,新建build文件夹,并切换进入该文件夹。
mkdir build && cd build
生成编译配置。
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
执行编译。
make -j4
安装
sudo make install
以上的操作将同时编译和安装libQtShadowsocks和shadowsocks-libQtShadowsocks。如果需要打包的话,需要根据发行版的指南分割为2个或3个软件包。
创建一个链接,以便pkg-config能检索到QtShadowSocks。
sudo ln /usr/lib/pkgconfig/QtShadowsocks.pc /usr/lib64/pkgconfig/QtShadowsocks.pc
返回libQtShadowsocks目录的上一级目录
cd ..
git clone https://github.com/shadowsocks/shadowsocks-qt5.git
cd shadowsocks-qt5
查看编译配置
cmake -L
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
make -j4
sudo make install
如果你的游戏不支持socks代理,那么我们就需要将http、https或ftp转发。这个任务由privoxy来完成。
sudo dnf install privoxy
改之前备份配置文件
sudo cp /etc/privoxy/config /etc/privoxy/config.bak
查看文件sudo vi /etc/privoxy/config ,
先搜索关键字:listen-address 找到“listen-address 127.0.0.1:8118“这一句,在章节4.2的上一行。保证这一句没有注释,8118 就是将来 http 代理要输入的端口。
然后搜索 forward-socks5t,在章节5.2,将“forward-socks5t / 127.0.0.1:9050 .”此句的注释去掉。并把端口号改为1080。保存退出。
启动 privoxy。
sudo systemctl start privoxy
如果在终端中让游戏临时使用代理,可以直接执行以下命令。重启终端或计算机后,设置会失效。
export http_proxy=http://127.0.0.1:8118 &&/
export https_proxy=http://127.0.0.1:8118 &&/
export ftp_proxy=http://127.0.0.1:8118
如果要设置成永久的全局代理,可以选择配置 /etc/profile,重启电脑后,配置能保存住。
执行 vi /etc/profile,添加上边的三行语句:
第三句 ftp 的代理根据需要,不需要的话可以不添加。然后 source /etc/profile,执行 curl www.google.com 或 wget www.google.com 判断是否成功访问。
或可以先执行:
curl ip.gs
显示为本地 IP 信息(例:当前 IP:222.xxx.xxx.xxx 来自:中国四川 电信) 直接执行:
export http_proxy=http://127.0.0.1:8118 再执行:
curl ip.gs 显示代理后的 IP 信息(例:当前 IP:138.xxx.xxx.xxx 来自:美国)
如果不能访问,请重启机器,依次打开 shadowsocks 和 privoxy 再测试.
nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
systemctl start privoxy
《LibQtShadowSocks github wiki》:https://github.com/shadowsocks/libQtShadowsocks/wiki/Compiling
《ShadowSocks-Qt5 github wiki》:https://github.com/shadowsocks/shadowsocks-qt5/wiki/Compiling
《「Shadowsocks」- A secure socks5 proxy》:http://www.k4nz.com/2.Networks_and_Protocols/Layer_7_-_Application_Layer/SOCKS_-_Socket_Secure/About_Shadowsocks/libQtShadowsocks.html
《pkg-config 详解》https://blog.csdn.net/newchenxf/article/details/51750239
《linux 配置 shadowsocks 代理全局代理》https://www.looaon.com/index.php/%E5%BA%94%E7%94%A8%E9%85%8D%E7%BD%AE/832.html