Openwrt 利用squid进行上网行为控制,过滤在线视频和视频下载

某些情况下,需要过滤在线视频和视频下载,按照IP或者网址过滤当然是可以的,不过要找到那么多视频网址很麻烦,现在大多数视频网站都开启了CDN,即便拿到ip池也是不全的。找了半天,终于看到了一个办法。
首先当然是安装squid了:

内容为:

继续阅读Openwrt 利用squid进行上网行为控制,过滤在线视频和视频下载

Openwrt 路由器通过全局HTTP代理上网的怪异解决方案

由于某些网络要求必须通过http代理认证才能上网,而目前市面上还没找到支持全局wan口代理上网的路由器,只能另辟蹊径。

一开始想到用linux全局http代理,修改/etc/profile增加http-proxy,ftp-proxy,https-proxy,但发现这种情况不支持全协议(例如DNS/UDP之类),而且只能让路由本身用上代理,所以这个方案pass。

后来想到用squid,折腾发现由于squid支持的协议虽然很多,但是如果作为transparent透明代理的话,需要配置iptable,使之将80等端口重定向到squid端口上才行,这样也很麻烦,由于不支持socket代理,所以仍然不可以用,这个方案也pass。

最后还是采用了openvpn over http proxy的解决方案。

先说说这个方案的缺点:
1.配置复杂,需要对端openvpn服务器支持。
2.出口带宽受限,不超过对端openvpn服务器的上行带宽。

优点是:
1.所有流量通过HTTP代理出去,兼容所有协议
2.可以实现HTTP代理认证
3.可以使用多个openvpn服务器做冗余。
继续阅读Openwrt 路由器通过全局HTTP代理上网的怪异解决方案

Openwrt 实现按ip进行流量统计的办法

一般的路由都有按IP进行流量统计,但是openwrt似乎没有自带的按ip进行流量统计插件,只有按interface进行统计的插件,不是特别方便。在查阅一些资料后,发现一个软件叫做bandwithd,可以实现这个功能。

原版的cc 15.05是没有这个包的,官方说需要自己编译。。。但是我从cc 15.05.1下了个也能用。

然后通过:

就可以看到各内网ip的流量,页面自动刷新的。

注意,如果路由ip不是192.168.1.0/24网段,需要修改/etc/config/bandwidthd。

参考资料:
1. https://wiki.openwrt.org/doc/howto/bandwidthd

ESXI 5.5 添加计划任务的办法

由于esxi 5.x 木有了crontab,所以添加计划任务就很麻烦了。这里是要添加一个自动关机的计划任务,每10分钟扫描交换机,由于交换机没有ups,所以停电的时候是ping不通的,然后gen8 可以知道断电了,然后延迟10分钟关机(防止还未启动完成就关机)。
首先ssh登录esxi。
1.创建计划任务脚本:

注:之所以要在volume上创建脚本是因为如果直接在/etc等目录创建后重启就没了。

2.修改/etc/rc.local.d/local.sh实现重启也能自动添加计划任务:

3.重启esxi查看效果

使用let’s encrypt让自己的博客启用https(基于debian7+apache2)

之前用过starssl的免费ssl证书,现在到期了,因为申请和续期都很麻烦,所以懒得再弄。最近在网上看到去年底,成立了个新机构(from wiki):
Let’s Encrypt 是一个将于2015年末推出的数字证书认证机构,将通过旨在消除当前手动创建和安装证书的复杂过程的自动化流程,为安全网站提供免费的SSL/TLS证书。

一是简单,二是免费,为啥不用呢,于是看了看文档,就开始弄了:
继续阅读使用let’s encrypt让自己的博客启用https(基于debian7+apache2)

Openwrt路由上的Openvpn Server Tun模式配置和firewall配置

之前折腾tun模式好久,总是连上以后要么上不了网,要么根本不走vpn。。。这次抽空总算搞定了。。。
由于安卓机上的openvpn客户端不支持tap,所以必须要设置tun模式:
首先是服务器端(openwrt路由):
/etc/config/network配置加一个interface:

/etc/config/openvpn配置文件

注意下面10.8.0.0千万不要写成和内网(172.24.8.0)一样,否则会使得路由器变砖!!!

继续阅读Openwrt路由上的Openvpn Server Tun模式配置和firewall配置

PC端和Openwrt端的i-Shanghai自动登录研究

上海有免费的i-Shanghai,速度还不错,唯一麻烦的是每次登录都要通过手机号和用户名密码进行验证。作为组装级的程序猿,如不能做到自动登录是十分痛苦的事情。。。于是,加班之余展开了为期一周的研究。。。最终实现了PC端和Openwrt端的i-Shanghai自动登录。。。。

首先,分析阶段:
i-Shanghai的wifi连接上以后,任意打开某网页,例如:www.baidu.com,就会自动跳转到如下页面:

继续阅读PC端和Openwrt端的i-Shanghai自动登录研究

Openwrt X86中安装Shadowsocks服务端的另类办法

之前在Openwrt x86中安装了Shadowsocks客户端(废话么),并通过openwrt下的debootstap+debian虚拟机安装了adbyby广告过滤。
虽然在openwrt x86下原生有ss服务器端(编译时需修改makefile参数),但是据说由于架构原因,性能不行,速度最多几百K,所以同样考虑在openwrt下的debootstap+debian虚拟机实现SS服务端功能,并且与openwrt x86原生的ss客户端不冲突。。。
该功能的主要需求是:从任何地点,通过网络,利用ios(需root)或安卓(需root)或者pc设备访问家中局域网。。。之前pc端可以通过openvpn连回家,但是安卓设备上不支持tap模式,故还需要一个轻量级的办法。。。

首先ssh登陆openwrt x86,然后:

这样便进入了debian虚拟机shell,然后运行:

ss.sh内容为:

内容为:

退出虚拟机,返回原生的openwrt x86 shell下

最后注意在防火墙打开端口,以下语句可以写入防火墙启动项:

然后在/etc/rc.local中加入:

重启路由,正常情况下就可以看到ssserver进程了。。