srun3000 PPPoE版 openwrt解决方案

很久很久以前为了应付深澜校园网做了个srun3000的php版,可以放在路由器里。后来学校的srun3000换认证方式了,改成了pppoe,原理是把用户名加密,然后原始用户名当心跳包,可惜加密手法比电信low多了,一眼就能看出来。于是捣鼓了一天,学了门新语言lua,然后继续愉快地用在了路由器里。

该方法相比于php更加简洁省资源,可以直接应用在openwrt的luci中,加上依赖总共不到100k大小。文后提供石大版,部分学校可能加密手法和心跳不一样,自己修改,至于如何获得加密的用户名和抓心跳包,不在本文讨论范围内。

继续阅读srun3000 PPPoE版 openwrt解决方案

使openwrt路由器支持带回车换行符的PPPoE用户名

可恶的电信校园宽带,强制使用客户端限制共享。其实也没什么技术含量,还是PPPoE协议,就是把用户名按一定算法加密,客户端大部分功能都用在了限制共享上,搞得电脑都不正常了。问了电信工作人员,还说这客户端花了几百万呢,西安信利真能赚钱,还不支持非win的系统,呵呵。

加密用户名好办,客户端强行结束就能看到真实用户名了。可恶的是这宽带用户名前面加了回车换行符(\r\n),不仅windows自带拨号无法输入,一般的路由器也无法输入进去。经过google,发现tp-link的有办法,可以post数据或者直接把输用户名的表单改成textarea。但是tp-link原厂固件功能少,又经常死机,于是想用openwrt。仿照tp-link的方法无效,又找了改拨号脚本修改ppp源码的方式,都没成功。最后无意中发现了可以通过ppp插件的方式修改用户名。通过参考此源码,成功解决了在openwrt中使用回车换行符。

将上述sxplugin.c文件的用户名加密部分删除掉就基本可以了,然后按照上述链接的说明编译并将so文件传到路由器上即可,拨号时就会在设定的用户名前加上回车换行符。

我这提供编译好了的bcm63xx和ar71xx的so文件,对应的openwrt版本是12.09,ppp是2.3.5,so文件放在/usr/lib/pppd/2.4.5/下。 继续阅读使openwrt路由器支持带回车换行符的PPPoE用户名

sniproxy+dns搭建另类代理

google已经很久不正常了,利用传统的代理方法有些不足,比如有些是全局的(如vpn),有些需要配合些软件,且有不稳定因素。我用sniproxy+dnsmasq组合有几个月了,感觉很好用。上次有人说要根据我在v2ex的一篇帖子整理出方法发布,但是没下文了,那么我也来整理下吧。

原理简介:

sniproxy类似于一个反向代理软件,可根据域名转发,且https使用的原始证书。在vps上搭建sniproxy,按需添加域名;再搭建一个dns服务,将域名解析到该sniproxy上;然后将需要上网的设备的dns设置成安装了dns服务的ip,这样就实现了按需代理。

该方法适用于以下情况:

1.被dns污染的网站(如推特等,如有关键词,需https)

2.被干扰连接的网站(如google等)

3.加速或代理任何网站(该网站不能在gfw关键词内,如果在,支持https的话可通过https访问)

优点:

1.一次搭建好后一劳永逸,无需额外软件。

2.按需代理,可按自己喜好添加需代理的网站,没设置的直接连接。

3.相比nginx的反向代理,https无需自制证书。

缺点:

1.如需dns泛解析需要在路由器或国内服务器安装dns软件。

2.有些网站喜欢一个页面多域名,可能需要自行抓包确定哪些域名需添加。

3.如果代理google,手机上的大部分google apps运行不正常,原因不明,如果知道,欢迎反馈。

4.如果被其他人发现自己的代理,可能会造成流量损失。

方法如下。 继续阅读sniproxy+dns搭建另类代理

路由器简单解决dns污染问题

dns污染是个很头疼的问题,曾试过很多方法和软件,效果都不太好。最近得知opendns有非正常端口,于是想是否能够利用此来避免dns污染呢?经过搜索,得到了方法,现分享一下。

opendns有53, 443, 5353三个端口,其中53支持传统的udp和非传统的tcp,因为udp协议自身的原因,导致了墙有机可乘。而使用tcp协议在客户端上实现起来很麻烦,在路由器上实现也可以,不过也要额外装软件。而另外的端口在路由器上使用就很简单了,墙也不会干扰。现在你需要一个openwrt之类的路由器(需默认装有dnsmasq),然后修改/etc/config/dhcp文件:

config ‘dnsmasq’
#option ‘resolvfile’ ‘/tmp/resolv.conf.auto’
option ‘noresolv’ ‘1’
list ‘server’ ‘208.67.222.222#5353’
list ‘server’ ‘208.67.220.220#5353’

保存后重启dnsmasq即可。更多信息可参考此篇文章

新疆通信管制五周年记

20年前,1994年的4月20日,中国通过一条64K的国际专线,全功能接入国际互联网,这成为了中国互联网时代的起始点,中国互联网时代从此开启。也许很多人不知道,5年前的这个时候,在中国的某个地方,互联网被切断将10个多月,这就是新疆。

背景

那一年我刚好考上大学,6月底的时候是填报志愿的时候,那时注意到了新疆的某所大学,于是上了该学校的网站浏览了解了一下,作为第二志愿填报了该所学校。结果我的一志愿没被录上,于是志愿打到了这所新疆的学校,这时已经到了7月底,又想上该校的网站看看有何消息,但是网页连续几天都没打开,这是才知道,新疆“通信管制”了。

最后真被该校录取了。 8月底踏上了去往新疆的火车。某晚,火车驶入新疆境内,果然,手机上不了网了。后来听本地的同学说,五号当晚,网络上疯狂的传着事件的图片,网络很卡,还经常打不开,第二天一觉醒来发现网络基本瘫痪,后来才有官方消息,说进行了网络管制。我那时上网也不多,只是觉得没网有时不太方便。联系基本靠打电话,因为短信也发不出去,据说打电话还有老大哥在听着。

突破封锁

刚开始流传着一些上网方法,比较流行的就是56K拨号上网,因为国内长途没有被封,于是有人用着最原始的调制解调器方法拨新疆外的号码上网,还有人专门收集各省的拨号上网的号码。我发现我的笔记本电脑也带着个调制解调器,于是就去话吧拨了两次体验了一次,56K的带宽基本只能打开QQ。费用是网络使用费加长途话费,很贵,即使如此还是有很多人对此乐此不疲,还出现了很多卖笔记本电脑的黄牛党。接下来可想而知,号码一个个被封,大概11月各种访问外网的方法都失效了。后来有时会出现一些http代理,不过一般要消息灵通才能用上,一旦传开了的很快会被封掉。 继续阅读新疆通信管制五周年记

Debian/Centos下多ip的使用

有个多ip的vps,怎样充分利用ip资源呢?有个方法就是为不同的用户指定ip出口,然后以该用户身份运行程序,这个程序就会使用指定的ip了。
以下须在root权限下执行,无特殊说明以debian为例:
1、添加新用户:

adduser user1

【user1】就是用户名,运行后按提示设置密码等信息。
centos等系统要运行passwd设置密码。
2、利用iptables让某用户使用指定IP出口: 继续阅读Debian/Centos下多ip的使用