ShadowsocksR 服务端安装教程

ShadowsocksR 服务端安装教程 说明: 此教程为单用户版,适合个人用户。如果你是站长,请查看多用户版教程:多用户版教程 基本库安装 以下命令均以root用户执行,或sudo方式执行 centos:

ubuntu/debian:

如果要使用 salsa20 或 chacha20 或 chacha20-ietf 算法,请安装 libsodium :

如果曾经安装过旧版本,亦可重复用以上步骤更新到最新版,仅1.0.4或以上版本支持chacha20-ietf 获取源代码 git clone -b manyuser https://github.com/breakwa11/shadowsocks.git 执行完毕后此目录会新建一个shadowsocks目录,其中根目录的是多用户版(即数据库版,个人用户请忽略这个),子目录中的是单用户版(即shadowsocks/shadowsocks)。 根目录即 ./shadowsocks 子目录即 ./shadowsocks/shadowsocks 服务端配置 进入子目录:

快速运行

如果要后台运行:

如果要停止/重启:

查看日志:

用 -h 查看所有参数 通过配置文件运行 建立配置文件 vi /etc/shadowsocks.json Read more…

GFW翻墙小结

前言 政府无限的权力,都是大部分人自己放弃的。假货坑爹,让政府审核。孩子管不好,让政府关网吧。有人在微博骂我,让政府去删。房价太高,让政府去限购。我们的文化实在太独特,创造出了家长式威权政府,GFW 正是在这种背景下产生的,一个社会矛盾的终极调和器,最终生活不能自理的你每天做的每一件事情都要给政府审查一遍,以免伤害到其他同样生活不能自理的人。这是一个零和游戏,越和这样的用户打交道,越对未来持悲观态度,觉得 GFW 可能永远也不会消失,而墙内的这个局域网看起来还似乎生机勃勃的自成一体,真是让人绝望。 Via @clowwindy – https://www.v2ex.com/t/166417#reply121 更新记录 2016年02月23日 – 增加Surge,感谢@刘亚晨 2016年01月08日 – 增加首选免费方案XX-Net,更新付费方案土行孙 2015年12月23日 – 尊重@东哥的要求,移除XXX 2015年11月28日 – 更新XXX和土行孙付费方案 2015年10月11日 – 移除fqrouter和红杏,增加shadowsocks-android和GreenVPN 2015年08月31日 – Thanks @clowwindy & @breakwa11, and all of the contributor of the shadowsocks. 2015年08月11日 – 移除GoAgentX,感谢@ohdarling 2015年08月06日 – 移除曲径,感谢两位前盛大创新院朋友做出的贡献,尊重你们的决定 2015年05月22日 – 移除所有Goagent项目,增加赛风/红杏/Shadowsocks免费账号 2015年03月08日 – Read more…

obfsproxy+openvpn 方案说明

前言 obfsproxy+openvpn 方案说明 通过在一个网络中加入一个 Raspberry Pi 实现全网翻墙 不久前,GFW 升级导致 OpenVPN、SSH Tunnel 等一系列老牌翻墙方式纷纷阵亡,现在的翻墙手段已经开始从单纯的加密向流量混淆发展,这里介绍一种利用 obfsproxy+OpenVPN 进行翻墙的方式,目前情况下相当稳定快速。 obfsproxy 是 Tor Project 的一个附属项目,采用流量混淆的方式专门用于突破互联网封锁。对用户的表现形式是一个 TCP 端口转发隧道,和 ssh -L 的功能完全一致。 除了介绍 obfsproxy+OpenVPN 翻墙以外,本文还介绍了如何使用 Raspberry Pi 搭设翻墙网关实现无缝翻墙的方法。下文中B和C部分属于平行关系,任选其一配置即可。 有任何建议和问题欢迎在 Twitter 上和我讨论: @blankwonder 本文目标读者为有一定 Linux 和网络知识基础的用户,并没有把所有命令全部傻瓜话的列出,如果是小白请先准备技术支持老师一枚(别找我啊……) A. 服务器端配置 OpenVPN 配置 首先,我们需要先安装配置 OpenVPN,如果你不需要 IPv6 的话,直接用包管理安装就行。否则请到官网下载2.3版本的源码自行编译安装。(目前最新版本是2.3 RC2) Debian 编译 OpenVPN 所需要的包有 Read more…

Mac使用rz,sz远程上传或下载文件

SecureCRT有个很便捷的文件上传下载工具sz与rz,我们同样可以把这样的便捷带到mac上,只是稍微有一点点麻烦 第一步:下载并安装iterm2   地址:http://www.iterm2.com/#/section/downloads 第二步: 下载并安装lrzsz brew install lrzsz安装成功后,会在以下路径生成两个可执行文件(具体的路径取决于brew配置,可以用find查找一下) /usr/local/Cellar/lrzsz/0.12.20/bin/rz /usr/local/Cellar/lrzsz/0.12.20/bin/sz 建立符号连接 ln –s /usr/local/Cellar/lrzsz/0.12.20/bin/sz /usr/local/bin/sz ln –s /usr/local/Cellar/lrzsz/0.12.20/bin/rz /usr/local/bin/rz 第三步:下载并安装automatic zmoderm for iTerm2 源码:https://github.com/mmastrac/iterm2-zmodem 注意黄色字体,需要修改为实际sz与rz的路径  

  第四步:编写相应的iTerm2 trigger iTerm2-Profiles-Open Profiles-Edit Profiles-Advanced-Edit Trigger 如下图所示:

现在就可以使用iTerm2终端便捷地从远程服务器上上传下载文件了

Homebrew https下载失败的解决方法

Mac平台软件包管理器Homebrew使用curl下载文件,有些是使用https连接下载的。但由于网络环境或一些其它原因,造成https证书认证失败而无法下载。 curl 的”-k”选项可以解决这个问题,不检查ssl证书安全性而直接下载,这可能带来一些安全风险。 但你若对homebrew足够信任,那可以修改其源码给curl加上“-k”选项,方法如下:

 

用rz、sz命令在Xshell传输文件

用rz、sz命令在Xshell传输文件 用rz、sz命令在Xshell传输文件 2014-03-27 14:38:17 标签:用rz、sz命令在Xshell传输文件 Xshell很好用,然后有时候想在windows和linux之间上传或下载某个文件。 有个很简单的方法就是rz,sz命令。 首先你的Linux需要安装rz、sz(如果没有安装,请执行以下命令,安装完的请跳过。其它版本linux请自行安装相应软件) yum install lrzsz -y 安装完毕即可使用 rz,sz是便是Linux/Unix同Windows进行ZModem文件传输的命令行工具。 windows端需要支持ZModem的telnet/ssh客户端(xshell支持,好像putty不支持),SecureCRT就可以用SecureCRT登陆到Unix/Linux主机(telnet或ssh均可) 运行命令rz,即是接收文件,xshell就会弹出文件选择对话框,选好文件之后关闭对话框,文件就会上传到linux里的当前目录。 运行命令sz file 就是发文件到windows上(保存的目录是可以配置) 比ftp命令方便多了,而且服务器不用再开FTP服务了。 更简便的方法是直接拖动文件到Xshell里面,就可以完成上传。

centos7关闭防火墙,修改主机名

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭并禁止firewall开机启动: 停止 systemctl stop firewalld.service 禁止开机启动 systemctl disable firewalld.service 2、安装iptables防火墙 yum install iptables-services 编辑防火墙配置文件打开指定的端口号使用udp协议打开52100端口: vi /etc/sysconfig/iptables 保存退出 :wq 最后重启防火墙使配置生效 systemctl restart iptables.service 设置防火墙开机启动 systemctl enable iptables.service 修改主机名 在CentOS或RHEL中,有三种定义的主机名:a、静态的(static),b、瞬态的(transient),以及 c、灵活的(pretty)。“静态”主机名也称为内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。“瞬态”主机名是在系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。而另一方面,“灵活”主机名则允许使用自由形式(包括特殊/空白字符)的主机名,以展示给终端用户(如Dan’s Computer)。 在CentOS/RHEL 7中,有个叫hostnamectl的命令行工具,它允许你查看或修改与主机名相关的配置。 要查看主机名相关的设置:

只查看静态、瞬态或灵活主机名,分别使用“–static”,“–transient”或“–pretty”选项。

要同时修改所有三个主机名:静态、瞬态和灵活主机名:

就像上面展示的那样,在修改静态/瞬态主机名时,任何特殊字符或空白字符会被移除,而提供的参数中的任何大写字母会自动转化为小写。一旦修改了静态主机名,/etc/hostname 将被自动更新。然而,/etc/hosts 不会更新以保存所做的修改,所以你需要手动更新/etc/hosts。 如果你只想修改特定的主机名(静态,瞬态或灵活),你可以使用“–static”,“–transient”或“–pretty”选项。 例如,要永久修改主机名,你可以修改静态主机名:

注意,你不必重启机器以激活永久主机名修改。上面的命令会立即修改内核主机名。注销并重新登入后在命令行提示来观察新的静态主机名。

BASH关联数组

Bash从4.0版本开始引入关联数组。 关联数组允许你使用非整型下表索引数组中的元素,类似于Perl中的哈希数组或者Python中的字典。Bash要求关联数组的键是唯一的,而值可以不唯一,在Bash内部键与值是一一对应的(即使有多个相同的值也是如此)。使用关联数组前应该先申明变量类型为关联数组类型:

然后就可以像使用普通数组一样使用它了:

  如果不声明关联数组的话,你得到的将是一个普通数组:

  那么如何像Perl和Python中那样,轻松愉快地获取Bash中关联数组的键或者值呢?我相信绝大多数人刚开始学习SEHLL编程时,都会为它蹩脚语法感到困惑,但是正是因为这些丑陋但却实用的语法,往往可以在我们脚本编程中成为解决某个问题出奇制胜的方法。Bash中关联数组的操作方法如下:

  遍历一个关联数组可以用下面的方法: