当前位置: 澳门新濠3559 > 服务器运维 > 正文

使用shadowsocks客户端的方法,后面的数字是随机生

时间:2019-11-08 03:17来源:服务器运维
Ubuntu开机后自动运行 现在可以科学上网了,可是每次开机都要手动打开终端输入一条命令,虽然这条命令并不长,但是每次都去手动输入,显得自己很low,而且关掉终端代理就关闭了。

Ubuntu开机后自动运行

现在可以科学上网了,可是每次开机都要手动打开终端输入一条命令,虽然这条命令并不长,但是每次都去手动输入,显得自己很low,而且关掉终端代理就关闭了。

写个脚本

我们可以在比如/home下新建个文件叫做shadow.sh,在里面写上我们启动ss客户端需要的命令,然后保存即可。

#!/bin/bash
#shadow.sh
sslocal -c /etc/shadowsocks.json

看可不可以我们到终端执行命令 sh /home/shadow.sh,如果成功的话会有信息输出的。你也可以到浏览器去试试。这个时候你虽然输入的少了,可是关了终端还是会掉的,我们可以让他在后台运行,nohup sh /home/shadow.sh &。

加入开机运行

这里我们需要在/etc下编辑一个叫rc,local的文件,需要root权限,在终端先su获取root权限。

这里问题来了,因为我们要开机启动,要使用root权限来执行前面写好的脚本,但如果你的shawdocks不是在root下装的话,执行脚本是就会报错:
“Traceback (most recent call last):
File “/home/gaoxw/.local/bin/sslocal”, line 7, in
from shadowsocks.local import main”
使用sudo安装还是会报上面这个错误。

如果你有root帐号的话,然后vim /etc/rc.local编辑,在exit之前输入nohup bash /home/shadow.sh>/home/d.txt & 保存。

这个时候你可以reboot重启了,测试下看看能不能后台自动运行,重启你可以先去看下我们要他输出d.txt,你竟然发现是 /home/shadow.sh line 3 :sslocal: command not found,打开浏览器果然是无法链接代理服务器。

经过一番搜索我们发现远离linux是找不到sslocal这条命令?需要添加路径,我们发现sslocal和ssserver这两个命令是被存在 /usr/local/bin下面的,其实不用去profile添加了,直接把这两个文件移动到/bin下,就可以了。

1

输出两条进程信息就说明成功开启了。

  • 为了提升安全等级,禁止root账号通过ssh登录

    cd /etc/ssh/
    vi sshd_config
    

启动ss客户端

前两步很简单,可是有人就纳闷了安装好了不知道怎么用,其实可以用sslocal -help 来查看帮助就知道了

sslocal -c /etc/shadowsocks.json

一条命令代理就可以启动了。
这里仅仅是启动了shadowsocks还是不行的,我们还需要设置相关的代理。

1

sudo find / -name sslocal
  • python pip安装使用
    如果直接使用yum -y install python-pip命令安装会报错
    No package python-pip available.
    Error: Nothing to do
    这是因为像CentOS这类衍生出来的发行版,他们的源有时候内容更新的比较滞后,或者说有时候一些扩展的源根本就没有。所以在使用yum来search python-pip的时候,会说没有找到该软件包。因此为了能够安装这些包,需要先安装扩展源EPEL(EPEL 是yum的一个软件源,里面包含了许多基本源里没有的软件)。
    #首先安装epel扩展源:
    yum -y install epel-release
    #然后安装python-pip
    yum -y install python-pip
    #安装完之后别忘了清除一下cache
    yum clean all
    #搞定!

  • 安装ShadowSocks客户端
    安装前需先安装pythos-pip
    #安装ShadowSocks
    pip install shadowsocks
    #新建ss配置文件
    vi /etc/shadowsocks.json
    #将下面内容写入文件
    {
    "server":"1.1.1.1", #ss服务器IP
    "server_port":1035, #端口
    "local_address": "127.0.0.1", #本地ip
    "local_port":1080, #本地端口
    "password":"password", #连接ss密码
    使用shadowsocks客户端的方法,后面的数字是随机生成的。"timeout":300, #等待超时
    "method":"rc4-md5", #加密方式
    "fast_open": false, # true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可
    "workers": 1 # 工作线程数
    }
    #写好后,保存并退出
    启动ShadowSocks
    #让ShadowSocks在后台运行
    nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &
    #澳门新濠3559,加入开机自动启动
    echo " nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" /etc/rc.local
    查看SS的状态
    ps aux |grep sslocal |grep -v "grep"
    #运行显示如下
    root 7587 0.1 0.1 184180 8624 pts/0 S 08:44 0:03 /usr/bin/python /usr/bin/sslocal -c /etc/shadowsocks.json /dev/null
    杀掉SS进程
    #通过ps命令查看job的进程号(PID,假设为7587),然后执行kill pid
    kill 7587

  • 安装PPPOE拨号上网
    #第一步 搜寻pppoe可以找到pppoe相关套件,我们要使用的是rp-pppoe。
    yum search pppoe
    #第二步 使用yum安装rp-pppoe。
    yum install rp-pppoe -y
    #第三步 开始配置PPPoE连线。
    pppoe-setup
    #以下是设置项

    1. 输入您的连线帐号
      2. 输入您的网路介面卡,预设是eth0,基本上都是使用预设的,除非您的伺服器安装了多张网路介面卡,按Enter继续。
      3. 这个步骤请输入no或直接按下Enter,否则如果您长时间连线,连线会被自动中断。
    2. 设定主要DNS伺服器,使用Google Public DNS,请输入8.8.8.8。
    3. 次要DNS伺服器,请输入8.8.4.4。
    4. 请输入连线密码。
    5. 请重复输入连线密码。
    6. 这里输入no就好了,不用使用一搬使用者权限做连线。
    7. 设定防火墙,输入0就好了,如果有特殊需求在额外设定吧。
    8. 是否开机自动拨号,请输入yes。
    9. 确认资料无误?是的话请输入y,重新设定请按Ctrl+C或输入n。
    10. 最后!执行连线动作,连线成功不会有讯息出现!
      /sbin/ifup ppp0 或者 /sbin/pppoe-start

      #操作指令 : 结束连线 -> /sbin/ifdown ppp0 查看状态 -> /sbin/pppoe-status

  • 安装配置vim
    #开始安装
    [root@localhost /]# yum -y install vim
    #设置vim
    [root@localhost /]# vim /etc/profile
    #在最后一行添加
    alias vi='vim'
    #保存后退出
    #使修改生效
    [root@localhost /]# source /etc/profile

    #修改vim配置
    [root@localhost /]# vim ~/.vimrc
    #在新建的文件内增加以下内容
    set nocompatible #不考虑与vi的兼容
    set tabstop=4 #Tab键的宽度
    set softtabstop=4 #逢8空格进1制表符
    set shiftwidth=4 #统一缩进量
    set number #显示行号
    set showmatch #高亮显示对应的括号
    set wrap #长行自动换行显示
    set list lcs=tab:¦  #设置缩进对齐线(注意后面有空格)
    #保存退出并使修改生效
    [root@localhost /]# source ~/.vimrc
    
  • 安装Apache
    #通过yum安装httpd
    yum install httpd
    #检查是否安装成功
    rpm -qi httpd
    #设置自动启动
    systemctl enable httpd.service
    #启动apache服务器
    systemctl start httpd.service
    #查看apache服务器状态
    systemctl status httpd.service

    #禁止通过浏览器访问网站目录结构
    <Directory "/var/www/html">
      Options Indexes FollowSymLinks
      AllowOverride None
      Require all granted
    </Directory>
    #将`Options Indexes FollowSymLinks`改为`Options None`
    

配置浏览器

在firefox中

preference->advanced->network->connection->settings中选择手动设置代理,并将http代理设置为127.0.0.1 端口8123 (就是之前第二步配置的port)
做到这步应该就能通过shadowsocks访问了,但我遇到的电脑还是不行,后来将http代理下面的“Use this proxy server for all protocols(将代理应用到所有协议)”这个也钩上才可以了。

PS.如果跳过第二步,直接在第三部中配置http代理设置为127.0.0.1 端口1080,有些文章中是这样配置的,但是本人亲测这样无法连接上网。

5

1.安装shadowsocks

  • 网络配置
    CentOS 7取消了ifconfig命令,使用ip addr命令查看IP地址
    刚刚安装的CentOS 7无法联网,设置下面几步即可以联网。

    cd /etc/sysconfig/network-scripts/      
    

转换HTTP代理

Shadowsocks默认是用Socks5协议的,对于Terminal的get,wget等走Http协议的地方是无能为力的,所以需要转换成Http代理,加强通用性,这里使用的转换方法是基于Polipo的。

输入命令安装Polipo:
sudo apt-get install polipo

修改配置文件:
sudo gedit /etc/polipo/config

将下面的内容整个替换到文件中并保存:

    # This file only needs to list configuration variables that deviate
    # from the default values. See /usr/share/doc/polipo/examples/config.sample
    # and "polipo -v" for variables you can tweak and further information.
    logSyslog = false
    logFile = "/var/log/polipo/polipo.log"

    socksParentProxy = "127.0.0.1:1080"
    socksProxyType = socks5

    chunkHighMark = 50331648
    objectHighMark = 16384

    serverMaxSlots = 64
    serverSlots = 16
    serverSlots1 = 32

    proxyAddress = "0.0.0.0"
    proxyPort = 8123

重启Polipo:
/etc/init.d/polipo restart

验证代理是否正常工作:
export http_proxy=”
curl www.google.com

如果正常,就会返回抓取到的Google网页内容。

另外,在浏览器中输入

2

4.开机启动shadowsocks(可选)

找到以太网卡配置文件ifcfg-enp文件,后面的数字是随机生成的
vi ifcfg-enp

ONBOOT=no改为ONBOOT=yes
保存并退出
重启network
service network restart
设置好重启后就可以联网了

配置

sudo vim /etc/shadowsocks.json
//这里的json文件是自己创建的,不是系统自带

配置文件的内容大致如下:

{
    "server":"服务器的ip",
    "server_port":服务器的端口,
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"密码",
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false
}

3

查看ss是否已经开启,用下面这个:

将文件内的#PermitRootLogin yes
修改为PermitRootLogin no
systemctl restart sshd.service

Linux下使用shadowsocks(以ubuntu16.04为例,非服务器),

系统环境:Ubuntu 16.04

执行vim /etc/profile,添加如下三句:

ps -ef | grep sslocal

安装

Linux不同的发行版执行的命令如下(最好在root下运行以下命令,原因我下面会说明):

Debian / Ubuntu:
apt-get install python-pip
pip install shadowsocks

CentOS:
yum install python-setuptools && easy_install pip
pip install shadowsocks

3

sudo sh /path/sslocal.sh

执行ps aux |grep sslocal |grep -v "grep"查看后台sslocal是否运行。

这里的"sslocal.sh"要写该脚本所在的路径

nohup sslocal -s your_server_ip -p your_server_port -l 1080 -k your_server_passwd -t 600 -m rc4-md5 > /dev/null 2>&1 &

一般在用户目录下创建sslocal.sh文件,内容如下:

安装客户端shadowsocks

sslocal -s "server_ip" -p "server_port" -b "127.0.0.1" -l 1080 -k "password" -t 600

2

2.配置shadowsocks

1,使用的是sslocal这个命令,表示shadowsocks以客户端模式工作

sudo vi /etc/rc.local

3

一般是在 /usr/local/bin/sslocal 下

2

以上代码用root执行效果较好

1

这里的"path"代表的是你机器上"sslocal.sh"所在的路径,如果路径和权限都没问题,在下次开机时就会启动ss了。

查看vim /usr/local/etc/privoxy/config文件,先搜索关键字:listen-address找到listen-address 127.0.0.1:8118这一句,保证这一句没有注释,8118就是将来http代理要输入的端口。然后搜索forward-socks5t,将forward-socks5t / 127.0.0.1:1080 .此句的注释去掉.

 

2,将上述命令里的your_server_ip,your_server_port,your_server_passwd换成自己的,这三个分别代表服务器ip,服务器上shadowsocks的端口以及密码.后面的rc4-md5加密方式也要换成跟server端一致。

3.启动shadowsocks

其实shadowsocks安装时是不分客户端还是服务器端的,只不过安装后有两个脚本一个是sslocal代表以客户端模式工作,一个是ssserver代表以服务器端模式工作。

 

注意

 

备注:如果不需要用代理了,记得把bash里的配置注释上,免得把流量跑完了。

在/etc/rc.local中添加启动命令

注意:此处不要用ping命令来检测

注意要写上sslocal的绝对路径

3

bash sslocal.sh start

2

sudo apt-get install python-pip
pip install shadowsocks

背景:前文介绍了客户端为iOS,Android,Mac,Windows时,使用shadowsocks客户端的方法。本文介绍客户端为CentOS(一般linux环境)时,(尤其是命令行里的命令)使用shadowsocks的方法。

在exit 0前添加

4

查找shadowsocks安装路径

exporthttp_proxy=

如果想增加开启自动启动,执行:echo " nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &" /etc/rc.local

9

1

配置/etc/profile

{"server":"your_server_ip",#ss服务器IP"server_port":your_server_port,#端口"local_address":"127.0.0.1",#本地ip"local_port":1080,#本地端口"password":"your_server_passwd",#连接ss密码"timeout":300,#等待超时"method":"rc4-md5",#加密方式"fast_open":false,# true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法: echo 3 > /proc/sys/net/ipv4/tcp_fastopen 开启之后,将 fast_open 的配置设置为 true 即可"workers":1# 工作线程数}

访问官网 -zxvf privoxy-3.0.24-stable-src.tar.gz解压,然后cd privoxy-3.0.24-stable进去。

上述安好了shadowsocks,但它是socks5代理,我门在shell里执行的命令,发起的网络请求现在还不支持socks5代理,只支持http/https代理。为了我门需要安装privoxy代理,它能把电脑上所有http请求转发给shadowsocks。

1

11

10

然后运行nohup sslocal -c /etc/shadowsocks.json /dev/null 2>&1 &启动shadowsocks。

第三句ftp的代理根据需要,不需要的话可以不添加.然后source /etc/profile,执行curl www.google.com或wget www.google.com判断是否成功访问。

安装Privoxy

nohup sslocal-c/etc/shadowsocks.json /dev/null2>&1&privoxy--user privoxy /usr/local/etc/privoxy/config

7

为了更方便,建议新建一个.json的文件,将上述信息放里面,如新建/etc/shadowsocks.json文件,内容为:

6

privoxy --user privoxy /usr/local/etc/privoxy/config

autoheader && autoconf./configuremake&&makeinstall

8

yuminstallpython-pippipinstallshadowsocks

2

3,前面的nohub表示后台执行,否则将会阻塞shell端口.

执行如下命令启动privoxy,参考官网,不同的平台对应不同的方法:

如果不能访问,请重启机器,依次打开shadowsocks和privoxy再测试.

安装前需要执行useradd privoxy创建一个用户privoxy,然后依次执行如下三条命令:

依次执行上述两个命令,先安装python的pip,然后安装shadowsocks。然后执行下述命令后台启动:

编辑:服务器运维 本文来源:使用shadowsocks客户端的方法,后面的数字是随机生

关键词: