首页 技术 正文
技术 2022年11月9日
0 收藏 808 点赞 3,197 浏览 4107 个字

前言

原创文章,转载引用务必注明链接,水平有限,欢迎指正。

本文环境:ubilinux 3.0 on UP Board

初识免流

所谓免流,就是免除手机访问网络产生的流量费用。其原理在乌云网上有过报道,大致就是手机在访问运营商的服务时(比如手机营业厅)是不产生流量费用的,然后可以利用技术手段让手机访问其他网站产生的流量伪装成运营商服务。

最早接触是在贴吧看到fmns什么的,自古贴吧出大神,后来听说妖火网,还向小邓要了个账号去一窥究竟。再后来听说了云免流,甚是高端。

免流相关网站

免流搭建服务不完全列表

• S-B汪—— http://sbwml.cn/

• 康师傅—— http://www.kangml.com/index.html

• 小猪—— http://xxzml.win/ 不错

• 小白—— http://xbmll.cn

• 享乐时光(吾爱)—— http://ftp.seovx.com/

• zyzh—— http://vpn.zyzh.cc/

• 大猫—— http://www.dmkuai.com/

• 新免流—— http://xinml.net/

• 大灰狼—— http://www.dhlml.cn/

• AFML—— http://www.35ml.cn/

• 猫头—— http://www.17mt.cn/ 大猫破解

• 青云—— http://qyun.ren

• 小飞侠—— http://xfxml.top/

这些一键搭建功能一般采用shell脚本+CentOS,可能因为国内RedHat系的服务器用的比较多。基本都是支持CentOS 6/7,注意有些只能在CentOS 6上使用。

注意互相可能存在利益相关,而且很多都是复制修改一下就上线的网站,所以有些网站寿命较短。

初探一键云免流安装部署脚本

大多有点常识的都会对这种免费云免流一键搭建脚本心存疑虑,毕竟听过很多暗藏后门的恶意行为。那我们就来看看究竟是什么内容吧。

解密安装脚本

发现shell脚本文件格式如下:

#!/bin/sh
skip=44tab=''
nl='
'
IFS=" $tab$nl"umask=`umask`
umask 77gztmpdir=
# 以下是乱码

或者以ELF开头,然后核心代码都是乱码,一头雾水咋么办。后来看到VPS评审的这篇文章:提到了两个shell加密方法,gzexe和shc,以及对应的解密方法。这里我特地写了个脚本一键解密:

#!/bin/bash
# copyleft@code_paintium
# 这里下载最新版的shc解密工具unshc 0.7 2016年12月8日
wget https://github.com/yanncam/UnSHc/raw/master/latest/unshc.sh -O /usr/local/bin/unshc && chmod +x /usr/local/bin/unshc
#注意转义符\,heredocument
cat << _EOF_ > /usr/local/bin/jm
#!/bin/bash
FILENAME=\$1
# grep命令无需回显,且无视其为二进制文件
grep -aq 'skip=' \${FILENAME}
# 判断加密类型(单纯gzexe还是gzexe+shc)
if [ \$? == 0 ];then
gzexe -d \$FILENAME
fi
unshc \$FILENAME
_EOF_
chmod +x /usr/local/bin/jm

【解密效果】

注意:

  • 解密某个脚本使用jm [FileToDecrypt]即可,可以应对市面上大多数一键脚本
  • 不懂这个命令干啥的可以访问Linux命令大全查询
  • unshc不支持arm平台,仅支持x86_64平台解密,所以这里使用UP Board
  • 关于shc加密的更多信息请移步StackoverFlowLinuxJournal上的相关页面
  • 脚本写的比较丑,大家见谅,也可以参考知乎vforbox写的脚本
  • 对于sbw和康师傅,不排除使用UPX加密或者其他方式,但是这种靠调用外部命令的脚本,使用strace基本都能dump出来

大致翻看了上述几个流行的一键脚本,发现

  • 天下脚本一大抄。。。sbw和kangml的比较独立,kangml在优酷上有教学视频,小猪的写的脚本很好看,估计是程序员
  • 程序风格很多都还是停留在Windows bat脚本水平上,这里推荐看看DietPi的脚本,很棒
  • 验证方式主要有验证码、验证待搭建的VPS外网IP是否在数据库中有记录等
  • 为什么都是shell脚本,这种加密性非常差,破解比较简单。(因为大多数都是x86|x64架构,基本不需要考虑二进制程序兼容性的问题吧)

OpenVPN

主流是在VPS上搭建OpenVPN服务器,手机使用不同运营商的配置文件连接服务器,数据在服务器上中转,使得运营商认为访问的是免流网址。

优点:

  • 架设方便,支持流控,方便赚钱
  • 支持生成自己的APP (使用方式可以看康师傅在优酷上发布的视频)
  • 大多数路由器集成OpenVPN插件

缺点:

  • 手机耗电较高
  • 无法架设在国外VPS上,因为大长城的connection reset,手机根本连不上去
  • 配置文件比较麻烦

流控

流量控制面板这东西完全就是为了出售免流服务用的管理界面,类似SS-Panel控制面板。主要有以下几家,据说变脸狗比较有名。

Shadowsocks-R

SS原作者被喝茶之后就不再维护SS项目了,但是正如XX-Net之于GoAgent,SSR作为一个优秀的继任者,为SS带来了许多新特性,本来是为了across the GreatWall用的现在免流也可以了。无奈作者是个二次元,粉红色界面审美接受不能,所以有了魔改版,增加了KCPtun支持。该方式是在本地增加混淆选项,为流量增加文件头,达到免流的目的。

SSR服务端支持多语言多平台,搭建SSR服务器看了一圈选择用小猪的脚本,使用chacha2加密(对ARM平台优化,而手机大部分是ARM平台),Python版SSR(支持特性最多)。

在UP Board上搭建免流服务器

作为个人使用,使用SSR就可以了。如果你想搭建OpenVPN,自个儿看脚本吧。

安装SSR

项目Github地址:https://github.com/breakwa11/shadowsocks-rss

破娃酱Twitter地址:https://twitter.com/breakwa11

话说破娃现在好像被人撕B了。

SSR的版本特点:

  1. 全能代理,同一端口支持socks4/socks4a/socks5/http
  2. 节点统计,包括延迟、连接数、当前下载速度、最高速度、出错率等等
  3. 连接管理,随时断开指定节点的连接,或修改节点后自动断开
  4. 协议转换,把UDP包封装于TCP里发送,或把TCP包封装于UDP里发送
  5. 多重代理,通过设置前置socks5/http代理,可达到任意重代理
  6. 协议插件,支持自定义协议和协议混淆,详见ShadowsocksR插件文档 <<== 要了解插件的点这里看

SSR支持的服务端包括C#、Python和Libev,后者占用资源少,相应的支持的特性差一点。由于ubilinux自带完整的Python环境,我们这里搭建Python版。

安装方法1

参考官方文档 ,比较简单,可供参考

安装方法2

使用小猪的脚本,看了一圈发现他的脚本写的比较好看,经过审查并没有后门行为,此外该脚本默认下载编译安装libsodium库,可以支持针对ARM架构优化的chacha20加密协议,因为在服务端和客户端都要进行加密解密的过程,所以推荐chacha20。安装完毕后修改/etc/shadowsocks.json,主要是server_portpassword字段。

wget http://xxzml.win/SSR && bash SSR #下载并自动安装SSR服务器,需要root权限(sudo)
卸载方法:bash SSR uninstall
使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status
配置文件路径:/etc/shadowsocks.json
日志文件路径:/var/log/shadowsocks.log
安装路径:/usr/local/shadowsocks/shadowsoks

UP Board 与 AES加密

如果使用树莓派等平台搭建SSR服务器,加密协议选择AES时会非常占用系统资源。而UP Board的Soc——Atom x5 z8350 支持aes加速,可以大大降低资源消耗。所以aes协议也是一个不错的选择。

【Intel 官方文档】查看z8350文档可知其支持aes快速加解密技术。

【CPU支持特性】可以看到CPU确实支持aes加速技术。

免流配置文件抓取

安卓可以使用Wi.cap (需要root),苹果不知道,tcpdump?

【安卓Wi.Cap抓包】可以从酷安下载,需要root权限。点击方框选择#text——text = GET|text = POST

另外推荐不需要root的方法比如Fiddler,基本配置参考这篇文章

【Fiddler界面】

具体去恩山或者谷歌搜索看看。比如抓取host为iting.music.189.cn:9101,则推荐SSR服务器开放端口为9101,手机SSR混淆参数为iting.music.189.cn。

OpenVPN配置直接用官方生成的吧。有问题PM我,不详谈啦~

如果UP Board没有公网IP?

如果UP板挂在的路由器有公网IP,则开启端口转发即可。否则可以使用ngrok(1.7以后不开源)、frp (推荐,带面板,性能好)。其他方案或者询问公开的服务器地址也可以PM我。

后记

最初接触SS的时候很新鲜,名字叫影袜,还会用到一个很麻烦的软件。另外KCP协议在github上发现的,还问群里枫大这协议咋样,现在也是火得一塌糊涂。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,967
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,487
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,332
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,115
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,748
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,783