许巍《生活不止眼前的苟且》

生活就是这样,不止眼前的苟且!

发表在 喜欢的音乐 | 留下评论

尋尋覓覓 – 克麗絲叮 MV

一个老外,会自己做中文歌曲唱,真的不错。

发表在 喜欢的音乐 | 留下评论

吃鼻屎到底對身體健不健康

今天转发一个吃鼻屎健不健康的问题。。。。

发表在 未分类 | 留下评论

服务器大迁移

今天是旧版服务器最后一天到期时间,我赶紧放到搬瓦工的多功能服务器上,一年18美元,好用不贵,主要还是独立IP的服务器,满足我多种功能,可惜就是不能更换IP,这个无所谓了。

顺便放上一首歌,自己服务器,测试各位带宽,来自风筝误。

下一步弄个冷门歌曲试听网站给各位听歌,把我喜欢的歌曲分享下载。

发表在 未分类 | 留下评论

SSR的搭建教程和SSR一键脚本,安装BBR,锐速脚本

开始搭建SSR

国外服务器运行脚本时容易出错,错误提示 bash: wget: command not found

所以请在服务器中执行 yum -y install wget

简单的来说,如果你什么都不懂,那么你直接一路回车就可以了!

本脚本需要Linux root账户权限才能正常安装运行,所以如果不是 root账号,请先切换为root,如果是 root账号,那么请跳过!sudo su

输入上面代码回车后会提示你输入当前用户的密码,输入并回车后,没有报错就继续下面的步骤安装ShadowsocksR。

wget -N –no-check-certificate https://softs.fun/Bash/ssrmu.sh && chmod +x ssrmu.sh && bash ssrmu.sh

备用下载地址(上面的链接无法下载,就用这个):

wget -N –no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssrmu.sh && chmod +x ssrmu.sh && bash ssrmu.sh

bash ssrmu.sh

# 还有一个 运行参数,是用于所有用户流量清零的
bash ssrmu.sh clearall
# 不过不需要管这个,可以通过脚本自动化的设置 crontab 定时运行脚本

发表在 未分类 | 2条评论

SSR高阶协议与混淆的使用

概要


用于方便地产生各种协议接口。实现为在原来的协议外套一层编码和解码接口,不但可以伪装成其它协议流量,还可以把原协议转换为其它协议进行兼容或完善(但目前接口功能还没有写完,目前还在测试完善中),需要服务端与客户端配置相同的协议插件。插件共分为两类,包括混淆插件和协议定义插件。

简单点说明,懂的如何设置协议跟混淆的。有助于突破地区封锁,加速国外网站的访问、下载!这就是为什么都用同一个服务器节点,有的人速度很快,有的人速度很慢。

现有插件介绍


1.混淆插件

此类型的插件用于定义加密后的通信协议,通常用于协议伪装,部分插件能兼容原协议。

plain:表示不混淆,直接使用协议加密后的结果发送数据包

http_simple:并非完全按照http1.1标准实现,仅仅做了一个头部的GET请求和一个简单的回应,之后依然为原协议流。使用这个混淆后,已在部分地区观察到似乎欺骗了QoS的结果。对于这种混淆,它并非为了减少特征,相反的是提供一种强特征,试图欺骗GFW的协议检测。要注意的是应用范围变大以后因特征明显有可能会被封锁。此插件可以兼容原协议(需要在服务端配置为http_simple_compatible),延迟与原协议几乎无异(在存在QoS的地区甚至可能更快),除了头部数据包外没有冗余数据包,支持自定义参数,参数为http请求的host,例如设置为cloudfront.com伪装为云服务器请求,可以使用逗号分割多个host如a.com,b.net,c.org,这时会随机使用。注意,错误设置此参数可能导致连接被断开甚至IP被封锁,如不清楚如何设置那么请留空。
本插件的高级设置(C#版、python版及ssr-libev版均支持):本插件可以自定义几乎完整的http header,其中前两行的GET和host不能修改,可自定义从第三行开始的内容。例子:
baidu.com#User-Agent: abc\nAccept: text/html\nConnection: keep-alive
这是填于混淆参数的内容,在#号前面的是上文所说的host,后面即为自定义header,所有的换行使用\n表示(写于配置文件时也可直接使用\n而不必写成\n,换行符亦会转换),如遇到需要使用单独的\号,可写为\\,最末尾不需要写\n,程序会自动加入连续的两个换行。

http_post:与http_simple绝大部分相同,区别是使用POST方式发送数据,符合http规范,欺骗性更好,但只有POST请求这种行为容易被统计分析出异常。此插件可以兼容http_simple,同时也可兼容原协议(需要在服务端配置为http_post_compatible),参数设置等内容参见http_simple,密切注意如果使用自定义http header,请务必填写boundary。

random_head(不建议使用):开始通讯前发送一个几乎为随机的数据包(目前末尾4字节为CRC32,会成为特征,以后会有改进版本),之后为原协议流。目标是让首个数据包根本不存在任何有效信息,让统计学习机制见鬼去吧。此插件可以兼容原协议(需要在服务端配置为random_head_compatible),比原协议多一次握手导致连接时间会长一些,除了握手过程之后没有冗余数据包,不支持自定义参数。

tls1.2_ticket_auth(强烈推荐):模拟TLS1.2在客户端有session ticket的情况下的握手连接。目前为完整模拟实现,经抓包软件测试完美伪装为TLS1.2。因为有ticket所以没有发送证书等复杂步骤,因而防火墙无法根据证书做判断。同时自带一定的抗重放攻击的能力,以及包长度混淆能力。如遇到重放攻击则会在服务端log里搜索到,可以通过grep "replay attack"搜索,可以用此插件发现你所在地区线路有没有针对TLS的干扰。防火墙对TLS比较无能为力,抗封锁能力应该会较其它插件强,但遇到的干扰也可能不少,不过协议本身会检查出任何干扰,遇到干扰便断开连接,避免长时间等待,让客户端或浏览器自行重连。此插件可以兼容原协议(需要在服务端配置为tls1.2_ticket_auth_compatible),比原协议多一次握手导致连接时间会长一些,使用C#客户端开启自动重连时比其它插件表现更好。支持自定义参数,参数为SNI,即发送host名称的字段,此功能与TOR的meet插件十分相似,例如设置为cloudfront.net伪装为云服务器请求,可以使用逗号分割多个host如a.com,b.net,c.org,这时会随机使用。注意,错误设置此参数可能导致连接被断开甚至IP被封锁,如不清楚如何设置那么请留空。推荐自定义参数设置为cloudflare.comcloudfront.net

2.协议定义插件

此类型的插件用于定义加密前的协议,通常用于长度混淆及增强安全性和隐蔽性,部分插件能兼容原协议。

origin:表示使用原始SS协议

verify_simple(已废弃):对每一个包都进行CRC32验证和长度混淆,数据格式为:包长度(2字节)|随机数据长度+1(1字节)|随机数据|原数据包|CRC32。此插件与原协议握手延迟相同,整个通讯过程中存在验证及混淆用的冗余数据包,下载的情况下冗余数据平均占比1%,普通浏览时占比略高一些,但平均也不会超过5%。此插件不能兼容原协议,千万不要添加_compatible的后缀。

verify_deflate:对每一个包都进行deflate压缩,数据格式为:包长度(2字节)|压缩数据流|原数据流Adler-32,此格式省略了0x78,0x9C两字节的头部。另外,对于已经压缩过或加密过的数据将难以压缩(可能增加1~20字节),而对于未加密的html文本会有不错的压缩效果。因为压缩及解压缩较占CPU,不建议较多用户同时使用此混淆插件。此插件不能兼容原协议,千万不要添加_compatible的后缀。

verify_sha1(即原版OTA协议):对每一个包都进行SHA-1校验,具体协议描述参阅One Time Auth,握手数据包增加10字节,其它数据包增加12字节。此插件能兼容原协议(需要在服务端配置为verify_sha1_compatible)。

auth_simple(已废弃):首个客户端数据包会发送由客户端生成的随机客户端id(4byte)、连接id(4byte)、unix时间戳(4byte)以及CRC32,服务端通过验证后,之后的通讯与verify_simple相同。此插件提供了最基本的认证,能抵抗一般的重放攻击,默认同一端口最多支持16个客户端同时使用,可通过修改此值限制客户端数量,缺点是使用此插件的服务器与客户机的UTC时间差不能超过5分钟,通常只需要客户机校对本地时间并正确设置时区就可以了。此插件与原协议握手延迟相同,支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

auth_sha1(不建议):对首个包进行SHA-1校验,同时会发送由客户端生成的随机客户端id(4byte)、连接id(4byte)、unix时间戳(4byte),之后的通讯使用Adler-32作为效验码。此插件提供了能抵抗一般的重放攻击的认证,默认同一端口最多支持64个客户端同时使用,可通过修改此值限制客户端数量,使用此插件的服务器与客户机的UTC时间差不能超过1小时,通常只需要客户机校对本地时间并正确设置时区就可以了。此插件与原协议握手延迟相同,能兼容原协议(需要在服务端配置为auth_sha1_compatible),支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

auth_sha1_v2(不建议):与auth_sha1相似,去除时间验证,以避免部分设备由于时间导致无法连接的问题,增长客户端ID为8字节,使用较大的长度混淆。能兼容原协议(需要在服务端配置为auth_sha1_v2_compatible),支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

auth_sha1_v4(推荐):与auth_sha1相似,包头次序调整,以抵抗抓包重放检测,使用较大的长度混淆,使用此插件的服务器与客户机的UTC时间差不能超过24小时,即只需要年份日期正确即可。能兼容原协议(需要在服务端配置为auth_sha1_v4_compatible),支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

auth_aes128_md5auth_aes128_sha1(均推荐):对首个包的认证部分进行使用Encrypt-then-MAC模式以真正免疫认证包的CCA攻击,预防各种探测和重防攻击,使用此插件的服务器与客户机的UTC时间差不能超过24小时,即只需要年份日期正确即可,针对UDP部分也有做简单的校验。此插件能兼容原协议,支持服务端自定义参数,参数为10进制整数,表示最大客户端同时使用数。

这样以来,将来只要简单的换一个混淆插件,让大家的特征各不相同,GFW就极难下手统一封锁了。推荐使用auth_aes128_md5插件,在以上插件里混淆能力较高,而抗检测能力最高,同时CPU占用稍微比auth_aes128_sha1低一些。同时如果要发布公开代理,以上auth插件均可严格限制使用人数(要注意的是服务端若配置为compatible,那么用户只要使用原协议就没有限制效果)。

混淆特性


name encode speed bandwidth RTT anti replay attack cheat QoS anti analysis
plain 100% 100% 0 No 0 /
http_simple 20%/100% 20%/100% 0 No 90 90
http_post 20%/100% 20%/100% 0 No 100 95
random_head (X) 100% 85%/100% 1 No 0 10
tls1.2_ticket_auth 98% 75%/ 95% 1 Yes 100 100

说明:

  • 20%/100%表示首包为20%,其余为100%速度(或带宽),其它的 RTT 大于0的混淆,前面的表示在浏览普通网页的情况下平均有效利用带宽的估计值,后一个表示去除握手响应以后的值,适用于大文件下载时。
  • RTT 表示此混淆是否会产生附加的延迟,1个RTT表示通讯数据一次来回所需要的时间。
  • RTT 不为0且没有 anti replay attack 能力的混淆,不论协议是什么,都存在被主动探测的风险,即不建议使用random_headtls_simple。 RTT 为0的,只要协议不是 origin,就没有被主动探测的风险。当然由于原协议本身也存在被主动探测的风险,在目前没有观察到主动探测行为的情况下,暂时不需要太担心。
  • cheat QoS 表示欺骗路由器 QoS 的能力,100表示能完美欺骗,0表示没有任何作用,50分左右表示较为严格的路由能识别出来。
  • anti analysis 表示抗协议分析能力,plain 的时候依赖于协议,其它的基于网友反馈而给出的分值。值为100表示完美伪装。

协议特性


  假设 method = “aes-256-cfb”

name encode speed bandwidth anti CPA anti CCA anti replay attack anti mid-man detect anti packet length analysis anti packet time sequence analysis
origin 100% 99% Yes No No No 0 0
verify_simple 90% 96% Yes No No No 1 0
verify_deflate 30% 97%~110% Yes No No No 6 0
verify_sha1 85% 98%/99% Yes No No No 0 0
auth_simple (X) 85% 95% Yes No Yes No 1 0
auth_sha1 (X) 95% 97% Yes No Yes No 4 0
auth_sha1_v2 94% 80%/97% Yes No Yes No 10 0
auth_sha1_v4 90% 85%/98% Yes Yes? Yes No 10 0
auth_aes128_md5 80% 90%/99% Yes Yes Yes Yes 10 0
auth_aes128_sha1 70% 90%/99% Yes Yes Yes Yes 10 0

说明:

  • 以上为浏览普通网页(非下载非看视频)的平均测试结果,浏览不同的网页会有不同的偏差
  • encode speed仅用于提供相对速度的参考,不同环境下代码执行速度不同
  • verify_deflate的bandwidth(有效带宽)上限110%仅为估值,若数据经过压缩或加密,那么压缩效果会很差
  • verify_sha1的bandwidth意为上传平均有效带宽98%,下载99%
  • auth_sha1_v2的bandwidth在浏览普通网页时较低(为了较强的长度混淆,但单个数据包尺寸会保持在1460以内,所以其实对网速影响很小),而看视频或下载时有效数据比率比auth_sha1要高,可达95%,所以不用担心下载时的速度。auth_sha1_v4及auth_aes128_md5类似
  • 如果同时使用了其它的混淆插件,会令bandwidth的值降低,具体由所使用的混淆插件及所浏览的网页共同决定
  • 对于抗包长度分析一列,满分为100,即0为完全无效果,5以下为效果轻微,具体分析方法可参阅方校长等人论文
  • 对于抗包时序分析一列,方校长的论文表示虽然可利用,但利用难度大(也即他们还没能达到实用级),目前对此也不做处理

混淆与协议配置建议


  • 如果你需要服务端兼容原版SS的OTA,那么你需要在服务端配置协议为verify_sha1_compatible,混淆可选择任意一个,但必须是兼容版的。而客户端连接OTA的服务端,那么配置协议为verify_sha1即可
  • 协议推荐:协议用auth_aes128_md5auth_aes128_sha1最佳,此时即使使用rc4加密亦可,混淆随意
  • 加密选择:若协议不是auth_aes128_md5auth_aes128_sha1,那么不能使用rc4加密(可用rc4-md5)。这时加密可以在rc4-md5、salsa20、chacha20-ietf三个里面选择(rc4-md5可换为aes系列,salsa20可换为chacha20或bf-cfb),如果使用SSR还可特别选择rc4-md5-6。
  • 混淆推荐:如果QoS在你的地区明显,混淆建议在http_simpletls1.2_ticket_auth中选择,具体选择可以通过自己的试验得出。如果选择混淆后反而变慢,那么混淆请选择plain。如果你不在乎QoS,但担心你的个人vps能不能持久使用,那么混淆选择plaintls1.2_ticket_auth,协议选择auth_aes128_md5auth_aes128_sha1
  • 如果你用于玩游戏,或对连接延迟有要求的情况下,建议不要使用tls1.2_ticket_auth混淆,用其它混淆或plain
  • 服务端里,http_simplehttp_post是相互兼容的,没有使用上的区别
  • 如果你在公司,或学校,或某些环境下,发现原版SS协议不可用,建议你启用http_simplehttp_posttls1.2_ticket_auth混淆,同时端口相应使用80或443,通常能解决问题。同时能躲避你所在环境下的网络封锁(如禁止访问网盘禁止上传等等)
  • 如果你用在部分路由器或部分系统时间经常不正确的环境,那么协议选用auth_sha1_v2origin均可,混淆建议tls1.2_ticket_auth
  • 如果使用tls1.2_ticket_auth混淆或不开启混淆,那么协议最好不要使用originverify_sha1
  • 如果使用的混淆有 anti replay attack 的能力,那么协议的 anti replay attack 能力可有可无,个人使用时也可以选择verify_deflate
  • 在现阶段,功夫网的重放攻击(Replay attack)在某些地区十分常见,建议使用能抗重放攻击的协议
  • 如果使用二重代理,一般你只需要考虑越过防火墙的那一段使用混淆或加强协议,除非为了匿名
  • 如果你发现你的代理突然不能用了,但换一个端口又能用了,或者等15分钟到半小时后又能用了,这种情况下请联系我

个人总结说明:


  • 如果你所在地区封锁不是很严重,推荐使用的协议:auth_aes128_md5auth_aes128_sha1。混淆值:plain
  • 地方封锁严重的,如校园网、企业网,推荐使用的协议:auth_aes128_md5auth_aes128_sha1。混淆值:http_simple与tls1.2_ticket_auth
发表在 未分类 | 留下评论

网站更新部分好玩的网页

经过紧张测试,开通一个下载音乐的网站和壁纸网站。

在线音乐网站采用自有歌库,保证在线听歌流畅,下载音乐采用6大主流网站下载正版歌曲。

还有个壁纸网站,每天更新壁纸下载,保证原图下载,无水印,保证实时更新

请大家到我网站首页链接打开使用。

发表在 未分类 | 留下评论

又过了一年

今天突然服务器供应商联系我,说我服务器要到期了,要不要续一年,我犹豫了好久,是续还是不续,人家已经稳定为我服务了一年,价格又公道,对于我这种没有太多资料的人来说足矣,想了下续吧,时间过得真的很快,一年就这么过去了,感觉自己都没有做什么事情,去年这个时候还是在酒店奋斗,转眼间回到家乡,转眼间从事与自己以前没有任何经验的领域,觉得自己是成长了还是倒退了,真的我自己也不是太明白。

有时候在想,留在上海多好啊,和一帮相熟的同事相处很融洽,虽然我这个人对环境熟悉很快,但是我不是一个怀旧的人,只是感觉大城市什么都方便。

好了,一年自我总结结束。

发表在 未分类 | 留下评论

海南环岛游自己原创攻略

00:00/00:00

突然有种计划去海南岛看看,先做个攻略看看。

第一天:玉林到海口 K457 早上10:53出发 20:40到海口 到海口下榻酒店。锦江之星海南海口东风桥酒店 双床125元一晚,大床125元一晚。离租车的地方最近。

第二天:早上9点租车出发,海口-东郊椰林风景名胜区,全程1小时33分钟共95.3公里,门票10元每人。文昌美食有文昌鸡、马鲛鱼、糟粕醋等。中午吃完饭往琼海博鳌赶过去。全程1小时46分钟共81.3公里。参观博鳌亚洲论坛永久会址景区和玉带滩,蚂蜂窝成人优惠票:46元/人,博鳌美食有加积鸭、温泉鹅、琼海指甲螺、鸡藤粑仔。

第三天:早上九点出发,博鳌到万宁日月湾 大概1个小时车程86.2公里。日月湾早上游览到中午,大概玩3个小时。下午直接赶赴三亚,日月湾到三亚的时间大概1个半小时,距离96公里。下午到海景公寓安顿好后到三亚国际免税店购物,晚上到第一市场购买海鲜加工。

第四天:早上到蜈支洲岛游玩(150元/人),感受早晨的碧海蓝天,午餐后驱车前往三亚亚龙湾热带天堂森林公园(全套185元/人),参观非诚勿扰2的吊桥,烟波亭的和鸟巢西区两座山谷间却实是有一座长168米的吊桥,景区全程电瓶车,雨林魔幻影院,品尝云顶咖啡一杯。

第五天: 早晨后前往大东海,在沙滩上沐浴柔和的阳光,之后前往鹿回头公园,感受美丽的爱情传说,观看三亚城雕和海南全岛最高雕塑“鹿回头”,中午解决温饱问题后前往天涯海角景区(74元/人)和南山寺(115元/人),观看南山海上观音,寓意寿比南山!晚上安排到三亚酒吧一条街或者坐公主号夜游三亚湾(40元/人)

第六天:7点半早餐后出发到五指山风景区,世界三大热带雨林,海南最高峰,三亚到五指山大概3个小时车程,登山门票42元,登山上下山需要6-7个小时,或者备选五指山漂流,人均128元。五指山结束后连夜返回海口,还是住回锦江之星海南海口东风桥酒店 双床125元一晚,大床125元一晚。

第七天:游海口:早上到在骑楼老街:最具特色、很接地气的街道景观,烙印着海口的历史与文化,海口特色美食:鱼煲、椰子饭、海南粉、猪肠粉、老爸茶等。

吃完中午饭到火车站并还车,坐火车回玉林。海口到玉林火车K458,13:08发车。

发表在 未分类 | 留下评论

Inspire

00:00/00:00

开场就很吸引人,感觉就像是开着车缓缓地行驶在郊外吹着风,很是舒服。整首曲子除了钢琴比较舒缓的旋律很让人喜欢外,鼓点很有节奏感的一拍一拍配合,显得很有层次感也很是养耳。曲子平静而又不失欢快,还带着一点点的慵懒,不起不伏,不骄不躁却又充满着希望。

发表在 喜欢的音乐 | 留下评论