ubuntu服务器用shadowsocks做代理

测试一下用 shadowsocks 来做代理服务器

登录ubuntu服务器

我的服务器是20.04版本,python 3.8

安装shadowsocks

$sudo pip3 install shadowsocks

Building wheels for collected packages: shadowsocks
Building wheel for shadowsocks (setup.py) … done
Created wheel for shadowsocks: filename=shadowsocks-2.8.2-py3-none-any.whl size=51658 sha256=451f745570ca87d3250df8d160a20ec76fca56f3f367d5e46587e5dda1f70623
Stored in directory: /home/xxx/.cache/pip/wheels/40/f7/14/208a189571d8a2279abb774182453d0d9356bdaf0299236350
Successfully built shadowsocks
Installing collected packages: shadowsocks
WARNING: The scripts sslocal and ssserver are installed in ‘/home/xxx/.local/bin’ which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use –no-warn-script-location.
Successfully installed shadowsocks-2.8.2

配置shadowsocks端口与密码等

$sudo vi /etc/shadowsocks.json 生成配置文件

{
“server”:”服务器内网ip(填公网ip好像不行)”,
“server_port”: 你自己的端口默认8838,
“local_port”:1080,
“password”:”你的密码”,
“timeout”:600,
“method”:”aes-256-cfb”
}

启动shadowsocks服务

$sudo /home/xxx/.local/bin/ssserver -c /etc/shadowsocks.json -d start

会出现一个错误 undefined symbol: EVP_CIPHER_CTX_cleanup

File “/home/xxx/.local/lib/python3.8/site-packages/shadowsocks/crypto/openssl.py”, line 52, in load_openssl
libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)
File “/usr/lib/python3.8/ctypes/init.py”, line 386, in getattr
func = self.getitem(name)
File “/usr/lib/python3.8/ctypes/init.py”, line 391, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: /lib/x86_64-linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup

该问题是由于在openssl 1.1.0中废弃了 EVP_CIPHER_CTX_cleanup() 函数而引入了 EVP_CIPHER_CTX_reset() 函数所导致的。

打到 python3.8/site-packages/shadowsocks/crypto/openssl.py, 将 EVP_CIPHER_CTX_cleanup 替换为 EVP_CIPHER_CTX_reset 一共有二处

重新启动服务,确认服务运行,注意需要在云服务器控制台打开对应端口

配置 Shadowsocks 服务器开机自动启动

运行 chmod +x /etc/rc.local 为启动脚本添加执行权限。
运行 vim /etc/rc.local 编辑启动脚本并添加如下内容:
/etc/rc.local

ssserver -c /etc/shadowsocks.json -d start

下载客户端,下载后解压

地址:https://github.com/shadowsocks/shadowsocks-windows/releases

添加一个服务器

关于系统代理– 全局模式/PAC模式

1、全局模式:你可能会遇到一些网站打不开,仍然无法访问,这个你可以试试选择【系统代理-全局模式】,这样使全部流量经过节点服务器。

2、PAC模式【推荐】:选择PAC模式,PAC文件网址列表走节点服务器,国内网址则走你自己使用的网络流量。

3、关于PAC更新,你可以直接从 GFWList (由第三方维护)更新 PAC 文件,或者你可以手动编辑本地pac文件。需要更新PAC:依次操作:PAC ->从GFW List更新PAC (等待更新完毕后)->使用本地PAC->启动系统代理。

然后就可以使用了

参考文章:https://blog.lingyf.com/build-shadowsocks-server-to-cross-gfw/

5.2. 启用 TCP BBR(本次未做)

TCP BBR 是 Google 开发的拥塞控制算法,该算法可实现更高的带宽和更低的互联网流量延迟:

运行 vim /etc/sysctl.conf 编辑内核配置文件并添加如下内容:/etc/sysctl.conf

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

运行 sysctl -p 重新加载内核配置文件。 运行 sysctl net.ipv4.tcp_available_congestion_control 确认 BBR 已启用:

现在用什么方式相对稳定?能不能不买域名?

是不是只能 V2Ray + WebSocket + TLS + Nginx

AEAD 

拯救被墙的服务器 https://itlanyan.com/recovery-blocked-ip/

V2Ray高级技巧:流量伪装 https://itlanyan.com/v2ray-traffic-mask/

trojan教程 https://itlanyan.com/trojan-tutorial/

V2Ray教程 – tlanyan.htm https://itlanyan.com/v2ray-tutorial/

Windows给力!可以扔掉Linux虚拟机了!

Windows给力!可以扔掉Linux虚拟机了!
文章转自:小姐姐味道(微信公众号ID:xjjdog)
Linux在程序员中属于高逼格的存在,当然安装了图形界面的程序员要减分,毕竟你需要用鼠标了!程序员的桌面不能比谁的更酷更炫,要比谁的屏幕多,桌面颜色少!
Windows向来是没有这种光圈的,因为它的目标是白痴用户。当然它的cmd命令从始至终充满了科技的味道,一直都是黑白两色。
微软最近几年终于要照顾一下苦逼的开发者了。两个拿得出手的产品,一个是vscode,另外一个就是Windows Terminal
为什么终端这么重要呢?对于一个程序员来说,没有了命令行相当于少了半条手臂。这条手臂到底美不美,壮不壮,要看命令行终端好不好用。
以至于微软的员工,很长一段时间在公司都抱着一台Mac,这多打脸啊。
现在,终于不用这么纠结了。Windows和Linux终于合体了。在同一个系统下,你既可以玩游戏,又可以开开心心的写命令行了,而且有了海量的Linux工具支持。

安装Windows Terminal

在远程连接其他Linux的时候,我通常使用Xshell,就因为它长得比较漂亮耐看。
在Windows上,就可以安装Windows Terminal。有点类似于MacOS上的iTerm,可以说是Windows下最舒适的终端。
安装Windows Terminal需要从应用商店去获取,就是下面这个按钮。
Windows给力!可以扔掉Linux虚拟机了!
在搜索框里搜索Windows Terminal,即可找到这个软件。比较人性化的一点是,它不像Mac的应用商店一样,需要你先准备一个账号。WT不需要登录即可获取。
如果你的页面一直打转也不要紧,关闭重新打开几次就好了。由于众所周知的原因,国外网站就没有几个不转圈的。
Windows给力!可以扔掉Linux虚拟机了!

安装Ubuntu子系统

此时,我们仅仅安装了一个命令行终端而已,离我们扔掉Linux的目标还差上一小节。别担心,下面就介绍怎么在Windows上安装Ubuntu
方案一、通过虚拟机安装Linux,然后终端去访问?。这种方案太低级,是我过去一直用的方式,充满了坎坷。
方案二、划分一个分区安装Linux,然后重启的时候进行切换。开个玩笑,这种方式更加落后,属于古董级别玩家的产物。
我们只需要在系统上开启子系统功能,然后在应用商店安装Linux就可以了。
有多简单?简单到你操作的时间可能都没看我唠叨的时间花费多。
如下图,在控制面板,找到程序选项,点击  “启用或关闭Windows功能”。
Windows给力!可以扔掉Linux虚拟机了!
从弹出的对话框里,划到最下边,然后给“适用于Linux的Windows子系统“,打勾,完事!
Windows给力!可以扔掉Linux虚拟机了!
从应用商店安装Ubuntu系统,这个系统将会以软件的形式存在。我这里选择的是LTS版本,可以看到给它打分的人并不多,可能大多数都是像我一样没有微软账号的游客。
Windows给力!可以扔掉Linux虚拟机了!

事后配置

此时,神奇的事情发生了。在我们的Windows Terminal右上角,有一个向下的箭头,点击它,就可以看到刚刚安装的Ubuntu。
在Windows上离着Linux,只差一次点击而已。
Windows给力!可以扔掉Linux虚拟机了!
进入Linux系统之后,我们就可以像配置一个普通Linux一样配置这台机器。
首先把ubuntu的软件源给换掉。编辑/etc/apt/sources.list文件,把它的内容换成下面的源。
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
然后,安装最好用的oh-my-zsh。先用sudo apt install zsh安装shell终端,然后运行下面的命令。
sh -c $(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)
等待一小段时间,我们的终端颜值就更上一层楼了。
如果你想要你的终端更加漂亮,可以参考下面的主题页面。毕竟命令终端是你每天都要面对的,比你面对自己女朋友的时间还要长,长得丑是影响心情的。
https://terminalsplash.com/
Windows给力!可以扔掉Linux虚拟机了!
还有最后一个问题。我们Linux系统中的文件,在Windows中如何访问呢?
这个就有点魔幻了。在Linux下执行下面的命令。
cd /home
explorer.exe .
上面的命令,即可打开Linux目录对应的Windows目录,从文件管理器中我们就可以访问到。
为了操作方便,我把这个长长的目录,映射到了Z盘上。如图,下次在访问Linux的时候,直接访问Z盘就可以了。
Windows给力!可以扔掉Linux虚拟机了!

End

可以看到我们在介绍前面一些名词的时候,乱了阵脚。有时候说是Ubuntu,一会儿说是Linux,一会儿说是子系统。
这有两个原因。一个原因是我第一次用这个东西,比较激动,以至于语无伦次。另一个原因,就是我的系统现在已经变的四不像,WindowsLinux已经深度融合,不分你我,甚至网络也不分什么NAT桥接,直接是共享的。
再比如,我在Linux上,直接执行cmd.exe,竟然进入了Windows的命令行终端,以至于我现在的脑子都是蒙圈的。
想当年扔掉Windows、扔掉Linux,选择了MacBook,就是因为上面即有漂亮的图形终端,又有好用的命令行,现如今Windows也有了。
我还有什么理由坚持我的MackBook呢?可能是因为它比较贵,咖啡厅里拿出去比较有面子吧。

转自:https://mp.weixin.qq.com/s/NCmPkHsHo8uem_4KH8_glA

ubuntu上手,添加新用户

1、创建新用户

sudo adduser username

2、增加管理sudo权限,方便作为常登录用户使用

sudo usermod -a -G sudo username

3、增加adm权限,方便查看/var/log日志目录

sudo usermod -a -G adm username

4、删除用户

#保留用户目录

sudo userdel username

#删除用户目录((/home/username/*)下全部文件

sudo userdel -r username