1.install shadowsocks-qt5
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5
2.install genpac
sudo pip install genpac # donot lose 'sudo'
3.make pac file
sudo wget "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
sudo genpac -p "SOCKS5 127.0.0.1:1080" --gfwlist-proxy="SOCKS5 127.0.0.1:1080" --output="autoproxy.pac" --gfwlist-local=/home/ss/gfwlist.txt # replace with your gfwlist.txt path
4.system setting
Open System Setting->Network->Network proxy
M: auto
URL(c): file:///home/ss/autoproxy.pac # replace with your autoproxy.pac file.
今天尝试搭建shadowsocks服务器(python版本),发现非常简单。几个步骤就搞定了。开始之前确认服务器能访问被墙的网站, 一般国内的服务器就不要折腾了,除非并不是为了翻墙。
下面开始,假如我们想绑定22222端口。
1.确认服务器对外(也就是入站)TCP端口22222开放,一般是编辑安全组就可以搞定。
类型 协议 端口 来源
自定义TCP规则 TCP 22222 0.0.0.0/0
自定义TCP规则 TCP 22222 ::/0
2.安装python环境
apt-get install -y python-pip
3.安装shadowsocks
pip install shadowsocks
4.写一个执行脚本shadowsocks.sh, 然后对这个脚本加上执行权限 “chmod 777 shadowsocks.sh”, 脚本内容如下:
# 这里为什么要写ssserver全路径呢, 是因为crontab开机启动的时找不到ssserver路径
/usr/local/bin/ssserver -p 22222 -k your_password -m aes-256-cfb --workers 10 -v -d start
5.加入开机启动
crontab -e
@reboot /path/of/shadowsocks.sh
6.Windows客户端连接测试
下载地址:https://github.com/shadowsocks/shadowsocks-windows
配置ip: 你服务器的ip
配置端口:22222
密码:your_password
加密方法:aes-256-cfb
好了,可以愉快的翻墙了。。。
类似MySQL比较重一点的数据库,实现自定义自增值,在创建表的时候指定 AUTO_INCREMENT = 1000 就可以了。而sqlite这样非常轻量级的数据库,并不支持在创建表的时候就指定初始自增值,默认是从1开始自增。假如我们希望主键id从1000自增,有下面两种方法
Web服务器用户名密码存储方式不当导致的信息安全事故时有发生,到底怎么存才是安全的呢? 我思考了一个非常容易实现,安全性也还凑合的实现。
前端(App端,微信端等)代码:
md5str = hex_md5("明文密码" + "client salt1 hard to guess...").toLowerCase();
md5str = hex_md5(md5str + "client salt2 hard to guess...").toLowerCase();
//接下来,把md5str发给服务器
这几天一直想给kyle.net.cn安装https证书,网上了解到Let’s Encrypt免费非常好用,于是试了试,但不小心重试次数太多,只能7天后再申请。无意中发现国内腾讯云和阿里云都提供免费SSL证书一年服务,于是就去阿里云上申请了一个,审核还挺快的,打完一把王者审核就通过了。
先看官方给的例子