1. ss client

1.2. 安装配置 ss-local

1.2.1. 安装 ss

sudo snap install shadowsocks-libev

1.2.2. 配置 ss 客户端

新建一个配置文件,例如:/etc/shadowsocks-libev/ss-local.json,命令如下:

vi /etc/shadowsocks-libev/ss-local.json

文件内容如下:

{"server": "127.0.0.1","server_port": 1984, #注意不是your_server_port,后续在obfs配置"local_address": "127.0.0.1","local_port": 1080,"password": "your_server_password","timeout": 300,"method": "your_server_method","fast_open": false
}

1.2.4. 开机自启 service

以下使用 Systemd 来实现 shadowsocks 开机自启。

如果没有安装 Systemd,需要先安装 Systemd(可以使用 systemctl --help 命令来检查是否安装了 Systemd)。

安装的命令是:

apt-get install systemd

新建 shadowsocks-local 配置文件:

vim /etc/systemd/system/ss-local.service

添加如下内容:

[Unit]
Description=Shadowsocks Client Service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks-libev/ss-local.json[Install]
WantedBy=multi-user.target

shadowsocks-local 配置生效:

systemctl enable /etc/systemd/system/ss-local.service

启动 shadowsocks-local 服务:

systemctl start ss-local

查询 shadowsocks-local 服务当前的状态:

systemctl status ss-local
● ss-local.service - Shadowsocks Client ServiceLoaded: loaded (/etc/systemd/system/ss-local.service; enabled; vendor preset: enabled)Active: active (running) since Wed 2022-08-17 22:26:09 CST; 30min agoMain PID: 1115 (ss-local)Tasks: 1 (limit: 9411)Memory: 1.8MCPU: 84msCGroup: /system.slice/ss-local.service└─1115 /usr/bin/ss-local -c /etc/shadowsocks-libev/ss-local.json

2. simple-obfs

2.1. simple-obfs 编译安装

simple-obfs 的 GitHub 地址:

https://github.com/shadowsocks/simple-obfs

编译和安装 simple-obfs

sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev libpcre3-dev libev-dev asciidoc xmlto automakecd ~/Downloads
git clone https://github.com/shadowsocks/simple-obfs.git
cd simple-obfs
git submodule update --init --recursive./autogen.sh
./configure && make
sudo make install

其他 Linux 系统的安装方式可以参考 simple-obfs 的 GitHub 官网。

2.3. 开机自启 service

以下使用 Systemd 来实现 shadowsocks 开机自启。

关于 Systemd 的安装请参考第 “1.2.4.” 小节,这里不再重复。

新建 obfs-local 配置文件:

vim /etc/systemd/system/obfs-local.service

添加如下内容:

[Unit]
Description=Simple Obfs Client Service
After=network.target[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/obfs-local -s *your_server_ip* -p *your_server_port* -l 1984 --obfs-uri *your_uri_option* --obfs *your_obfs_option* --obfs-host *your_host_option*[Install]
WantedBy=multi-user.target

注:请自行修改 -s your_ss_server_ip -p 8139 的值,这是你的开启了 simple-obfs 服务的 ShadowSocks 服务器的 IP 和端口设置,否则是不能正常工作的。

obfs-local 配置生效:

systemctl enable /etc/systemd/system/obfs-local.service

启动 obfs-local 服务:

systemctl start obfs-local

查询 obfs-local 服务当前的状态:

systemctl status obfs-local
● obfs-local.service - Simple Obfs Client ServiceLoaded: loaded (/etc/systemd/system/obfs-local.service; enabled; vendor preset: enabled)Active: active (running) since Wed 2022-08-17 22:26:09 CST; 38min agoMain PID: 1112 (obfs-local)Tasks: 1 (limit: 9411)Memory: 560.0KCPU: 72msCGroup: /system.slice/obfs-local.service

3. socks5 转 http/https

实际使用中,经常会遇到命令行终端或本地程序需要代理,但是他们只支持 httphttps 协议,所以就需要把 socks5 协议的代理转换协议,这个时候我们需要 privoxy

3.1. 安装 privoxy

安装命令:

apt-get install privoxy python-m2crypto

注意:必须同时安装 python-m2crypto,否则在 Ubuntu 14.04privoxy 可能会运行不起来。

3.2. 配置 privoxy

修改配置文件 /etc/privoxy/config

vim /etc/privoxy/config

找到如下两行,这里 listen-address 后的端口是未来我们要使用的 IP 和端口,默认值为 8118forward-socks5t 后的端口是 ShadowSocks 使用的本地 IP 和端口,这个依据自己的配置修改,不要忘了最后的 “.”。(listen-address 的值可能默认就不用修改,forward-socks5t 的值默认是没有的,需要自己添加,找到关于 forward-socks 的相关内容并添加以下的配置,可以在配置文件的 “5.2. forward-socks4, forward-socks4a, forward-socks5 and forward-socks5t” 处找到。

listen-address      localhost:8118
forward-socks5t     /   127.0.0.1:1080    .

配置文件的内容有点长,可以使用 vim 中的 / 命令查找相关关键字。

注:以上配置中的确是 forward-socks5t,而不是 forward-socks5,也不是笔误。

3.3. ubuntu全局设置代理

保存配置后,启动服务:

service privoxy start

修改网络代理,如图

测试:
1、浏览器自行测试
2、重启SHELL
curl www.google.com

3.3. 启动 privoxy (测试失败,不能使用,后续自行研究)

保存配置后,启动服务:

service privoxy start
或者
/usr/sbin/privoxy /etc/privoxy/config
export http_proxy=127.0.0.1:8118
export https_proxy=127.0.0.1:8118
export ftp_proxy=127.0.0.1:8118

4. genpac (未测试,自行研究)

genpac 用来获取 gfwlist 文件,顺便测试一下 ShadowSocksSOCKS5 服务是否正常。

安装 genpac

pip install genpac
pip install --upgrade genpac

pip 超时的问题,修改超时时间:

vim ~/.pip/pip.config[global]
timeout = 60000
index-url = http://e.pypi.python.org/simple
trusted-host = pypi.douban.com[install]
use-mirrors = true
mirrors = http://e.pypi.python.org

以上配置不仅设置了超时时间,同时也添加了下载的镜像地址。

通过镜像网站安装:

pip install -i http://pypi.douban.com/simple genpac
pip install -i http://pypi.douban.com/simple --upgrade genpac

另外推荐另一个站点(清华大学):http://e.pypi.python.org

获取 gfwlist 文件,如果下载不了,说明 SOCKS5 功能可能不能正常使用。可以尝试把 --gfwlist-proxy 参数去掉再试,表示不使用 SOCKS5 协议,直接连接。

genpac --pac-proxy "SOCKS5 127.0.0.1:1080" --gfwlist-proxy "SOCKS5 127.0.0.1:1080" --gfwlist-url "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt" --output "autoproxy.pac"

X. 参考文章

https://github.com/shines77/my_docs/blob/master/linux/ubuntu/Ubuntu-14.04-ShadowSocks-local.md

Ubuntu下使用ss-local+simple-obfs相关推荐

  1. ubuntu下/etc/rc.local和/etc/init.d/rc.local的区别

    在ubuntu下要把一个程序加入开机启动,一般可以通过修改rc.local来完成,但ubuntu下有两个rc.local文件.分别是/etc/rc.local和/etc/init.d/rc.local ...

  2. Ubuntu下解决:Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

    Ubuntu下解决:Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) Enter ...

  3. Ubuntu下常用强化学习实验环境搭建(MuJoCo, OpenAI Gym, rllab, DeepMind Lab, TORCS, PySC2)

    原文地址:http://blog.csdn.net/jinzhuojun/article/details/77144590 和其它的机器学习方向一样,强化学习(Reinforcement Learni ...

  4. ubuntu下docker环境、php环境以及laravel的安装

    2019独角兽企业重金招聘Python工程师标准>>> ubuntu下docker环境.php环境以及laravel的安装 因为在学习laravel,需要搭建一个php7的开发环境, ...

  5. ubuntu下安装与使用Log4cpp

    ubuntu下安装与使用Log4cpp 1.下载版本:log4cpp-1.1rc3.tar.gz,  该版本中没有1.0版本的那些bug,不需修改,下载地址:http://sourceforge.ne ...

  6. 虚拟机VMware的Ubuntu下安装tensorflow详解

    这里笔者已经安装好了虚拟机并安装了Ubuntu系统,并且虚拟机可以联网,因此就直接开始介绍下面的步骤.网上博文很乱,特意整理,以供参考. 虚拟机VMware的Ubuntu下安装tensorflow详解 ...

  7. 深度学习环境配置10——Ubuntu下的torch==1.7.1环境配置

    深度学习环境配置10--Ubuntu下的torch==1.7.1环境配置 注意事项 一.2022/9/18更新 学习前言 各个版本pytorch的配置教程 环境内容 环境配置 一.Anaconda安装 ...

  8. Ubuntu下pip安装CPU版PaddlePaddle

    Ubuntu下pip安装CPU版PaddlePaddle Ubuntu下pip安装cpu版PaddlePaddle安装过程记录 虚拟机连不上网(NAT) 更改下载源 更改sources.list So ...

  9. Ubuntu 下安装Python2.7, Scrapy, tabula

    1, 首先安装Python 安装依赖包: apt-get install zlib-devel bzip2-devel openssl-devel ncurses-devel 1.下载源码包,后面的下 ...

最新文章

  1. 攻破JAVA NIO技术壁垒
  2. PostgreSQL MySQL 兼容性之 - bit 函数和操作符
  3. [NOI2018]你的名字
  4. 图像算法九:【图像特征提取】特征降维、PCA人脸特征抽取、局部二进制
  5. ADS板级PCIE_SI仿真
  6. RTKLIB_E.4GNSS卫星星历表和时钟
  7. 调通sina33下的AP6212A0(WIFI+BT)(V1.1版本)
  8. 各地2022年上半年软考考试疫情防控要求汇总-2022-05更新
  9. Linux安装配置FTP(pure-ftpd)
  10. 云服务优缺点_云服务是什么,它有哪些优缺点?
  11. 公众号读者突破 10000 啦!啥也别说了,送书!
  12. 此spoolsv.exe(木马程序)非彼spoolsv.exe(系统进程)
  13. SAR图像相干斑滤波算法
  14. 酒店WiFi覆盖工程
  15. 宇视摄像机——枪机安装wifi天线
  16. day16 初识面向对象编程(类与对象、构造函数与对象,类与类)
  17. 挖掘高流量网站长尾词
  18. 九八投洽会,图扑为你再现工业元宇宙
  19. 卸载 VirusScan 中的 ePolicy Orchestrator 代理
  20. 有哪些好用抠图软件?这几种抠图工具简单又高效

热门文章

  1. Idea构建异常---Could not parse metadata xx/xx/maven-metadata-local.xml-删除文件解决不掉---SpringCloud工作笔记176
  2. 织梦CMS的管理员密码加密方式
  3. 解决模拟器不能上网问题
  4. mvc java框架_java常用MVC框架说明与对比
  5. dann的alpha torch_pytorch BiLSTM+CRF代码详解
  6. linux mint安装中文包_Linux Mint 安装中文后菜单字体变成楷体的解决办法
  7. windows10专业版 hyper-v
  8. qrCode生成二维码图片
  9. mysql查询日期格式_mysql 日期格式化查询
  10. 莫提博客 - 简约优雅的个人博客系统