Shadowsock翻墙系列教程 <一> 前言:Shadowsocks的前世今生&来世

因为博主为Google脑残粉,自从几年前Google被墙后日子比较难过,度娘真的是没法满足搜索方面的需求!搜索英文网页用百度的话,出来的结果是灾难性的。

所以博主花了很多精力研究怎么翻过这段横亘在中国网民和世界互联网的高墙--长城防火墙 Great Fire Wall 简称GFW,从最开始的VPN、Tor到GoAgent和Softether,看着这些工具一个个失效,亲眼见证了这段高墙一点一点加高的过程。

党的某位先贤曾有言:人民群众的智慧是无限的!我们在见证着墙加高的同时,墙的筑造者同时也在见证着这句话,这绝对是一个讽刺!

Shadowsocks(缩写ss),中文名“影梭”,一个快速安全的Socks5代理,是在上述工具失效后由国内大神程序员@clowwindy于2013年开发出来的,发布到Github后因为其快速、高效,穿墙稳定而受到欢迎!最初只有Python版并且只有Linux系统能用,因其优点,各路大神为其添砖加瓦,目前已经发展到各主流平台全覆盖(Windows/Linux/Mac OS X/Android/IOS/Openwrt),是目前最好用的翻墙方案。

因其造成的影响太大,clowwindy于2015年8月被警察找上门要求其停止开发Shadowsocks并删除所有已发布的代码。clowwindy别无选择,选择妥协,于其后删除了代码,但因为这个项目是完全开源的,之后就有shadowsocksR 作者 @breakwa11宣布会继续开发新版本,项目并不会因为创始人的离去而中断!

虽然clowwindy已经不再开发维护Shadowsocks,但我们还是要记住clowwindy这个名字!

即使以后shadowsocks被高墙找到有效封杀的办法,我们相信也会有别的工具不断涌现,只要国内还有人对自由的互联网的渴求。

我们最终还是希望这堵高墙能像横亘在东德西德间的那道柏林墙一样轰然倒塌!

博主去年发过一篇博文 目前最好的翻墙方式 && shadowsocks翻墙傻瓜教程,帮助到了一些网友,很高兴!现在再以审视的目光看待它,平心而论,写的还是比较混乱的,又历经了多次更新,现在看起来可读性比较差,在这里挖个坑,博主要写一个系列教程,系统的整理下目前博主掌握的这方面的知识。

知识若不分享,实在没有意义! 博主很赞同这句话,分享知识时要进行系统的整理,学得一些知识和把这些知识分享给别人,是两件完全不同的事,分享知识比学得知识更难,但会巩固你已学得的知识,整理成文字也方便自己日后查找,何乐而不为?
下篇预告:Shadowsock翻墙系列教程 <二> 选择合适自己的境外服务器

openwrt安装xware 迅雷远程下载

之前用的路由器是BRCM47XX的CPU,迅雷并没有适配这款CPU,想折腾xware也无从弄起。
最近买了个新玩具,newifi mini lenovo出品,型号为lenovo y1,CPU为mt7620a,128m ram, 16m flash,xware有对这个CPU进行适配,就把它安装进路由吧。迅雷虽然一直在吸血,名声不好,但其下载速度真不是aria2、transmission之类可匹敌的。

我现在用的系统为pandorabox,一个openwrt的分支,已得到官方的支持,其针对国内的的互联网环境做了很多本地化的工作,并且不同于官方的是,它也使用闭源驱动,所以他的无线性能比官方版的要好很多,推荐所有买了newifi mini的朋友都刷这个固件。
下载地址传送门在此(截止2016年5月30日的最新稳定版本)

newwifi mini不锁BL,刷机非常方便,插上电源时按住“reset”键,看到两个指示灯双闪后放开,设置本地IP为192.168.1.2,浏览器访问192.168.1.1,上传下载下来的固件刷机就可以了。注意耐心等待,刷机过程不能断电,需时约100s。
刷机完成后(指示灯恢复正常),把本地IP设回DHCP自动获取,访问路由器后台 192.168.1.1 (默认用户root 默认密码admin)
把移动硬盘或U盘插进USB口,ssh(没有客户端?传送门下载)连接上去
pandora默认设置了usb自动挂载,使用如下命令看下是否已经正确挂载

ls /mnt

正常的话应该会有sda1 sda2之类的输出,表示你硬盘的第一个分区已挂载到/mnt/sda1,第二个分区已挂载到/mnt/sda2
挂载正常后开始安装迅雷的luci-app-xunlei

opkg update && opkg install luci-app-xunlei

之后进入管理后台,定位到服务-迅雷远程下载,设置下迅雷的安装路径,如下图
xware-1.png
使用如下命令安装xware

cd /mnt/sda1 #同上图设置的路径要一致
mkdir xunlei
cd xunlei

以上命令建立迅雷的安装目录并进入目录,之后就是下载适合你路由器版本的xware了,去这个页面选择适合你的安装包,newifi mini选择的是Xware1.0.31_mipsel_32_uclibc.zip,直接在路由器上wget 下载下来

wget http://dl.lazyzhu.com/file/Thunder/Xware/1.0.31/Xware1.0.31_mipsel_32_uclibc.zip
opkg update && opkg install unzip
unzip Xware1.0.31_mipsel_32_uclibc.zip
./portal

正常输出如下
xware-2.png
在管理页面就可以看到激活码了,访问迅雷远程填入激活码就算完成了。

如果你刷的固件是不是pandorabox,而是openwrt原版之类的,其官方源就没有luci-app-xunlei可供下载,可在此地址下载,其标注"all",应该是所有平台都适用的(无验证!)。

openwrt编译学习记录

openwrt是一个开源路由管理系统,基于linux,功能非常强大。这阵子利用闲暇时间学习,写下本文做个记录,方便自己后续查找,也方便他人学习。
本文不定时更新。
《1》 编译环境搭建
本来是找算在本地使用虚拟机编译的,但弄了几次都编译失败,查找原因是某些包的下载地址被墙,下载失败导致,这个问题可以通过连接VPN解决,但我的VPN实在太慢,我又是急性子,最终是直接在Vultr上新建个VPS,在上面编译的。
使用的系统为ubuntu14.04 64位
使用如下命令搭建环境

apt-get update
apt-get install git-core build-essential libssl-dev libncurses5-dev unzip -y
apt-get install subversion mercurial -y
apt-get install zlib1g-dev gawk gcc-multilib flex gettext -y

编译时最好先安装screen,新建一个screen进行编译,因为编译时间很长,直接ssh连接可能会因为网络不稳断掉导致编译进程被杀死。挂起screen方法为 ctrl+a再+d 。恢复的命令为 screen -r 。

apt-get install screen -y
screen -S openwrt

编译时不能使用root进行编译,我们新建一个普通用户

useradd glorystar -m
su glorystar
cd ~

通过git来下载OpenWrt bleeding edge(trunk版本)

git clone git://git.openwrt.org/openwrt.git

这将会创建'openwrt'这个目录。这个目录将会是OpenWrt的编译主目录。
下载并安装所有可用的"feeds"

cd openwrt
./scripts/feeds update -a
./scripts/feeds install -a

运行下面的命令让OpenWrt编译系统检查你的编译环境中缺失的软件包

make defconfig
make prereq

使用如下命令打开编译菜单选择要编译的软件包

make menuconfig

make menuconfig.png
必须设置项为 Target System (我选择Broadcom BCM47xx/53xx (MIPS)) Subtarget (我选择MIPS 74K) 这个是根据你的路由器来选择的,选择完成后就可以开始编译了。
默认编译是不包含luCI管理界面的,如果你需要它,可以选择它编译进固件,路径为 LuCI ---> Collections ---> < * > luci
<>表示不会被编译,< M >表示会编译但不包含进固件,生成ipk以便后来安装, < * >表示会被编译进固件,使用空格键切换选择。

选择好后一点选exit退出,最后选yes保存。使用如下命令进行编译

make V=99

使用多核CPU进行编译用如下命令(会加快速度)

make V=99 -j

之后就是漫长的等待,编译好的固件会放在bin文件夹里。
注意点:新建虚拟机硬盘至少要30G以上,我使用20G的硬盘导致空间被占完,编译失败。
《一》到此结束,参考 OpenWrt编译系统 – 安装

买了个Sandisk闪迪酷铄64G闪存盘

用了好几年的忆捷(EAGET)16G U盘丢了,全金属挺好用的,丢了挺可惜的。但丢了也就丢了,只能安慰自己旧的不去新的不来!
EAGET-CM981.png
买这个应该是在四五年前吧,京东买的,再去京东看了下,这货居然还在售!价格降了一半左右,记得我当时是五六十块买的。
这货虽然好用,但再买的话我不会再买这个,毕竟是好多年前的产品了,性能有点跟不上了。
一番查看,相中闪迪酷铄,在一众64G USB3的U盘中,性能更优而价格相差无几。
前天下午下单,当天京东就发出来了,昨天晚上送到公司,今天上班拿到手。
sandisk1.jpg
sandisk2.jpg
sandisk3.jpg
这个U盘比想象中更小巧一点,做工看起来比较粗糙,甚至感觉不如好几年前的EAGET,下载了CDM测试了下,基本达到了其标识的性能,总体还可以吧。
CMD.png
等有时间,再量产此U盘吧,就先到这吧。

VPS自动备份网站数据脚本 自动备份到FTP和Dropbox

数据是网站的命根子,必须妥善保管!勤做备份,做到有备无患。
借助liunx的任务计划crontab,我写了一个自动备份脚本让其在固定时间执行备份操作--打包网站数据备份到FTP空间和dropbox上。
备份到FTP需要系统有安装ftp,现在一般的VPS都默认安装,如发现没有此命令,可以使用如下尝试安装

yum install ftp #centos等redhat系的发行版
apt-get install ftp #debian系的发行版

上传到dropbox首先要建立一个dropbox APP,建立链接在此,如下图 注意不要选择business的app,也不需要full dropbox。
dropbox-1.jpg
dropbox-2.jpg
上传还需要用到一个第三方上传脚本Dropbox Uploader,使用如下命令把它下载到备份目录/home/backup并给予执行权限

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader.sh
chmod +x dropbox_uploader.sh

使用此脚本要先进行验证才能上传文件到dropbox,验证步骤如下

./dropbox_uploader.sh

1 输入上面的命令运行它,填入App keyApp secret
2 选择a
3 按y确认
4 复制生成的验证链接到浏览器访问
5 浏览器确认后终端按任意键验证完成

 ./dropbox_uploader.sh

 This is the first time you run this script.

 1) Open the following URL in your Browser, and log in using your account: https://www.dropbox.com/developers/apps
 2) Click on "Create App", then select "Dropbox API app"
 3) Now go on with the configuration, choosing the app permissions and access restrictions to your DropBox folder
 4) Enter the "App Name" that you prefer (e.g. MyUploader255431153919283)

 Now, click on the "Create App" button.

 When your new App is successfully created, please type the
 App Key, App Secret and the Permission type shown in the confirmation page:

 # App key: xxxxxxxxxxxx
 # App secret: xxxxxxxxxxxx

Permission type:
 App folder [a]: If you choose that the app only needs access to files it creates
 Full Dropbox [f]: If you choose that the app needs access to files already on Dropbox

 # Permission type [a/f]: a

 > App key is xxxxxxxxxxxx, App secret is xxxxxxxxxxxx and Access level is App Folder. Looks ok? [y/n]: y

 > Token request... OK

 Please open the following URL in your browser, and allow Dropbox Uploader
 to access your DropBox folder:

 --> https://www.dropbox.com/1/oauth/authorize?oauth_token=xxxxxxxxxxxx

Press enter when done...

 > Access Token request... OK

 Setup completed!

dropbox-3.png
dropbox-4.png

- 阅读剩余部分 -