Debain/Ubuntu/Deepin 下使用 ss
如果你有一台 ss 的服务器,在 Debian Like 的环境下要如何***呢?
安装 ss 客户端
如果还没安装 pip 就得先安装
sudo apt-get install python-pip
然后安装 ss
pip install shadowsocks
启动 ss
创建文件 /etc/ss.json
内容如下
{
"server": "1.2.3.4", # 服务器IP
"server_port": 8899, # 服务器Port
"method": "aes-128-cfb", # 加密方式
"password": "123456", # 端口密码
"local_address": "127.0.0.1", # 本地监听IP
"local_port": 1080, # 本地监听Port
"fast_open": true, # TCP Fast Open
"workers": 1 # worker进程数量
}
然后执行 sslocal -c ss.json & 启动
如果有出现AttributeError: /usr/lib/x86_64-Linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
因为是 openssl 升级了的 api 改了,而 ss 还没改过来
有两种解决方式。
1.安装最新的 ss 客户端pip install -U git+https://github.com/shadowsocks/shadowsocks.git@master
2.手动修改文件
到 /usr/local/lib/python2.7/dist-packages/shadowsocks/crypto/openssl.py 文件中
- 将第52行
libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)改为libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,) - 将第111行的
libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)
改为libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
关于这问题的讨论可看这里
开机启动
若有开机启动的需求,在 /etc/rc.local 文件中添加
#! bin/bash
sslocal -c /etc/ss.json &
exit 0
设置权限
chmod a+x,u+x /etc/rc.local
在浏览器中使用
我推荐一个插件SwitchyOmega。
如果你用的是 chrome,因为没有***,商店访问不到的。可以到项目的 release 中下载 chrome 的插件。然后拖到浏览器中就可以安装了。
当然要在chrome://extensions/扩展管理中勾选成开发者模式。

使用也比较简单,默认有两种模式的,一种是 proxy 模式,就是需要代理的模式。另一种是通过规则,自动切换的模式。
因为我不止一端会用到这些规则,自己每次手到调整这些规则是很麻烦的。所以我建立一个 github 的仓库专门管理的这些规则的,就可以多端共享了。你也可以 fork 网友整理的规则。
在终端中使用
因为在终端中不能直接使用socks5协议,只好用软件将 http 请求转成 sock5。而我使用的软件是privoxy。
安装
sudo apt-get install privoxy
配置
配置文件在 /etc/privoxy/config,在文件的最后添加一行
forward-socks5 / localhost:1080 .
默认的端口是 8118
启动并设置开机启动
systemctl start privoxy
systemctl enable privoxy
使用方式1
在使用之前,执行一句
export http_proxy=http://localhost:8118/
export http_proxy=http://localhost:8118/
将 http 请求都发给 privoxy 进行转发
当然这样搞会让当前的 shell http 请求会转发了。若用完后不想再转发到代理还要
unset http_proxy
unset https_proxy
比较麻烦,最好可以是完成一个命令后自动重置,于是就有第二种使用方式了。
使用方式2
在 .bashrc 或者是 .zshrc 文件中添加一个函数
proxy(){
if [ "0" -eq "$#" ]
then
echo "参数不足"
return
fi
export https_proxy="localhost:8118"
export http_proxy="localhost:8118"
echo `$@`
unset https_proxy;
unset http_proxy
}
然后就可以用这种方式访问了
proxy curl https://www.google.com
以上就是我在 Debian Like 环境下使用 ss 的方式
Debain/Ubuntu/Deepin 下使用 ss的更多相关文章
- 3.Ubuntu/Deepin下安装Monaco/Menlo字体
前段时间在一家公司实习,让IT给电脑安装了Ubuntu系统,用着挺好,但总感觉字体不太好看,网上小伙伴说Monaco字体不错,所以计划安装试试. 看了好多教程,不得不说,一些教程走下来真心是装不成功, ...
- ubuntu/deepin 下 Sha 哈 dow 哈 socks 全局配置
1. 安装编译环境 Ubuntu在默认情况下没有提供C/C++的编译环境,因此需要手动安装.如果单独安装gcc以及g++比较麻烦,为了方便,我们直接安装Ubuntu提供的build-essential ...
- Debian/Ubuntu/Deepin下AndroidStudio2/3打开AVD模拟器无反应
Debian系AS无法启动模拟器 问题描述 早在半年前将开发环境从windows迁移到了Linux:当时用的是Debian系统,也是在安装完成AndroidStudio之后无法开启模拟器,也没出现什么 ...
- ubuntu/deepin 下下载wxpython
1 输入apt-cache search wxpython 如果有返回信息 则输入 sudo apt-get install python-tools 2 否则 1.添加软件源地址到apt列表中.输入 ...
- Ubuntu/Deepin下常用软件汇总(持续更新)
最近开始用Ubuntu了,好多软件都不是常用的了,在这边留底,以免忘记.如果没有写安装方法,则直接在软件源中可以找到 UNetbootin U盘制作工具,制作Ubuntu的安装U盘超好用 Braser ...
- deepin下codeblocks更改调试终端
codeblocks建立控制台程序生成完毕后,发现自带的调试终端xterm不能进行复制粘贴操作参考了Ubuntu的更换调试终端的方法,就是把deepin下的deepin-terminal 用作调试终端 ...
- Deepin 下开启SSH远程登陆
关于deepin下安装ssh以后root用户登陆报错的解决 最近刚刚接触到deepin,觉得,wow,除了mac,还有这么好看的非win系统,而且第测出那个Linux,宽容度很高,非常适合我这种比 ...
- Linux(Ubuntu)下安装NodeJs
用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...
- ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`
今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ %] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: un ...
随机推荐
- MySQL在删除表时I/O错误原因分析
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯数据库技术 发表于云+社区专栏 问题现象 最近使用sysbench测试MySQL,由于测试时间较长,写了一个脚本按prepare- ...
- C#语言介绍
C#(读作“See Sharp”)是一种简单易用的新式编程语言,不仅面向对象,还类型安全. C# 源于 C 语言系列,C.C++.Java 和 JavaScript 程序员很快就可以上手使用. C# ...
- C# 操作Word页眉页脚——奇偶页/首页不同、不连续设置页码、复制页眉页脚、锁定页眉页脚、删除页眉页脚
前言 本文是对Word页眉页脚的操作方法的进一步的阐述.在“C# 添加Word页眉页脚.页码”一文中,介绍了添加简单页眉页脚的方法,该文中的方法可满足于大多数的页眉页脚添加要求,但是对于比较复杂一点的 ...
- 六大设计原则(三)DIP依赖倒置原则
依赖倒置原则DIP(Dependence Inversion Principle) 依赖倒置原则的含义 高层模块不能依赖低层模块,二者都应该依赖其抽象. 抽象不应该依赖于细节. 细节应该依赖抽象. 什 ...
- cesium 之图层管理器篇(附源码下载)
前言 cesium 官网的api文档介绍地址cesium官网api,里面详细的介绍 cesium 各个类的介绍,还有就是在线例子:cesium 官网在线例子,这个也是学习 cesium 的好素材. 内 ...
- 【转载】Sqlserver数据库备份的几种方式
在实际的数据库Sqlserver的运维的过程中,很多时候我们需要做到数据的备份操作,可以做到定时备份,也可以进行手动数据库备份.在实际的过程中,有时候因业务需要备份出完整数据库,而有时候又因为实际业务 ...
- pytest进阶之xunit fixture
前言 今天我们再说一下pytest框架和unittest框架相同的fixture的使用, 了解unittest的同学应该知道我们在初始化环境和销毁工作时,unittest使用的是setUp,tearD ...
- 一键解决更改计算机名后无法启动MSSQLSERVER服务问题
问题版本:SQL Server 2012. 解决办法:打开服务,Win + R运行services.msc,找到 SQL SERVER(MSSQLSERVER)服务右键->属性,切换至登录选项卡 ...
- .NET 下 模拟数组越界
前面一篇文章提到过 数组越界行为,虽然编译器为我们做了大量的检查工作让我们避免这些错误. 但是我觉得还是有必要模拟一下数组越界,感受一下这个错误. 那么对于.NET来说我们怎么来模拟数组越界呢? 一. ...
- mysql优化一之查询优化
这一篇笔记的mysql优化是注重于查询优化,根据mysql的执行情况,判断mysql什么时候需要优化,关于数据库开始阶段的数据库逻辑.物理结构的设计结构优化不是本文重点,下次再谈 查看mysql语句的 ...