如果你有一台 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的更多相关文章

  1. 3.Ubuntu/Deepin下安装Monaco/Menlo字体

    前段时间在一家公司实习,让IT给电脑安装了Ubuntu系统,用着挺好,但总感觉字体不太好看,网上小伙伴说Monaco字体不错,所以计划安装试试. 看了好多教程,不得不说,一些教程走下来真心是装不成功, ...

  2. ubuntu/deepin 下 Sha 哈 dow 哈 socks 全局配置

    1. 安装编译环境 Ubuntu在默认情况下没有提供C/C++的编译环境,因此需要手动安装.如果单独安装gcc以及g++比较麻烦,为了方便,我们直接安装Ubuntu提供的build-essential ...

  3. Debian/Ubuntu/Deepin下AndroidStudio2/3打开AVD模拟器无反应

    Debian系AS无法启动模拟器 问题描述 早在半年前将开发环境从windows迁移到了Linux:当时用的是Debian系统,也是在安装完成AndroidStudio之后无法开启模拟器,也没出现什么 ...

  4. ubuntu/deepin 下下载wxpython

    1 输入apt-cache search wxpython 如果有返回信息 则输入 sudo apt-get install python-tools 2 否则 1.添加软件源地址到apt列表中.输入 ...

  5. Ubuntu/Deepin下常用软件汇总(持续更新)

    最近开始用Ubuntu了,好多软件都不是常用的了,在这边留底,以免忘记.如果没有写安装方法,则直接在软件源中可以找到 UNetbootin U盘制作工具,制作Ubuntu的安装U盘超好用 Braser ...

  6. deepin下codeblocks更改调试终端

    codeblocks建立控制台程序生成完毕后,发现自带的调试终端xterm不能进行复制粘贴操作参考了Ubuntu的更换调试终端的方法,就是把deepin下的deepin-terminal 用作调试终端 ...

  7. Deepin 下开启SSH远程登陆

    关于deepin下安装ssh以后root用户登陆报错的解决   最近刚刚接触到deepin,觉得,wow,除了mac,还有这么好看的非win系统,而且第测出那个Linux,宽容度很高,非常适合我这种比 ...

  8. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  9. ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`

    今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ %] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: un ...

随机推荐

  1. 设计模式-发布订阅模式(javaScript)

    1. 前言 2. 什么是发布订阅模式 3. 发布订阅优缺点 4. 举例 4. 总结 1. 前言 发布订阅者模式是为了发布者和订阅者之间避免产生依赖关系,发布订阅者之间的订阅关系由一个中介列表来维护.发 ...

  2. Java学习路线图分析

     Java学习路线分析图 第一阶段 技术名称 技术内容 J2SE(java基础部分) java开发前奏 计算机基本原理,Java语言发展简史以及开发环境的搭建,体验Java程序的开发,环境变量的设置, ...

  3. angular开发环境搭建及新建项目

    最近一个星期准备学习一下angular前端框架,因为之前在学习abp框架的时候,都要求前端要掌握angular,所以不得不回来恶补一下了,学习的过程有时间的话会记录在这里,方便以后复习. 闲言少叙,下 ...

  4. IDEA编写css样式报错

    粗心大意!浪费了30分钟时间,必须记录一下! 报错图片 琢磨了半天,没想出是哪里错了,很无奈!!!!!!!!! 度娘:ctrl+shift+alt+H,设置成NONE就可以了 试了一下,果然好使,不再 ...

  5. 基于Nginx进行地图瓦片缓存的方案描述

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在产品的迭代中,我们完成了移动端瓦片缓存方案和服务端瓦片缓存 ...

  6. java:比赛中常用方法整理——字符串(基础)

    一.将字符串转化为字符数组: toCharArray返回一个字符数组. char[] a=J.toCharArray(); 二.字符串的长度 字符串的长度和字符数组的长度是不一'样'的. 字符串长度( ...

  7. Arduino入门笔记(5):1602液晶实验(实现时钟)

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...

  8. CF914G Sum the Fibonacci FWT、子集卷积

    传送门 一道良心的练习FWT和子集卷积的板子-- 具体来说就是先把所有满足\(s_a \& s_b = 0\)的\(s_a \mid s_b\)的值用子集卷积算出来,将所有\(s_a \opl ...

  9. php爬取微信文章内容

    php爬取微信文章内容 在做官网升级的时遇到新的需求,需要将公司公众号文章显示在官网的文章模块下.但存在的问题是:微信文章的链接会失效,并且需要对文章部分内容做修改,同时要减少微信运营人员的工作量,避 ...

  10. web服务器之nginx和apache的区别

    ① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如:  pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻 ...