在Openwrt/Lede路由上实现基于Name.com V4版本API的快速更新的DDNS

之前一直用花生壳的免费DDNS,但是最近一周不知道为啥,服务老是抽风,dns更新速度明显下降,甚至达到1-2天。于是研究了一下,发现name.com最近发布了v4版本的api,看了文档以后,果断写了个脚本,一旦ip变更,新dns可以马上更新,消耗时间无限接近0。。。于是ddns更新时间只基于计划任务的间隔时间了。。。
使用此脚本的前提:
1.域名必须是由name.com购买的,并且生成一个生产的Token。
2.登陆账户必须没有开启二次验证,否则api会提示错误:Accout has Namesafe enabled. (注意这里account拼写还是错的。。已发ticket给name.com)。
3.路由上需要安装curl和ca-certificates和ca-bundle,以便解析https。
4.首次需要手动添加一次域名,以便获取ID号码,例如为www.examle.com添加第一个dns记录:
继续阅读在Openwrt/Lede路由上实现基于Name.com V4版本API的快速更新的DDNS

使用LEDE/OPENWRT 路由器自动发送邮件

今天研究实现了手动或者定时自动通过LEDE/openwrt路由对外发送邮件的功能。
1.安装软件包。

2.配置ssmtp

内容为:
继续阅读使用LEDE/OPENWRT 路由器自动发送邮件

开关openwrt/lede路由上的usb设备电源

最近搞了个华为的usb无线网卡E8372插在lede路由上,但是想实现程序控制其供电,查阅资料后发现可以这样实现:
首先:

由于网卡是插在usb3的口上。
于是:
要打开网卡电源:
echo 1 > /sys/class/gpio/usb3power/value
要关闭网卡电源:
echo 0 > /sys/class/gpio/usb3power/value

上述方法可以利用网卡断电重启来解决因开机时网卡启动慢于路由启动,导致eth1 interface不能正常up的问题。

参考资料:
https://wiki.openwrt.org/doc/howto/usb.overview

LEDE/Openwrt 挂载USB无线网卡当AP

由于mt7621方案中mt7603e的2.4G lede驱动非常不稳定,导致我买的newifi d1、zbt wg3526、极路由4(HC5962)刷机后的2.4G基本都成了摆设。没办法只能通过挂载USB无线网卡当AP。
测试的USB网卡有:
X东购买tplink tl-wn725n v2.0 rtl8188eu (0x0bda:0x8179)安装驱动后直接无法启动路由器。。。跟作者发了邮件,回复说不支持。
X宝购买RT3070 杂牌网卡,安装驱动后直接无法开启ap模式,只能使用client模式。。。网上查询据说是最新的几版的驱动有问题,op老版本据说没问题,未测试。
X东购买磊科(netcore)NW362,rtl8192cu,安装驱动后完美ap模式。
以前买的tplink tl-wn821n v2.0,ar9170,安装kmod-carl9170驱动后,完美ap模式。

直插SIM卡全网五模便携LEDE路由(5200mAh)

之前买了个ZTE Q7便携路由,也可以刷op,但是不能直接插sim卡,携带不是很方便,最近在网上逛了逛,发现了一个神器,配置为 mt7620a ROM 16M/RAM 128M 5200mAh,花了一周时间,适配了LEDE 17.07.0 正式版本系统,目前实现了几个功能:
1.直插sim卡上网,目前测试了移动3g和联通3g,使用的是上海移远EC20-C 4g mini pcie模块(注意经研究该模块有很多个批次,需要芯片为高通MDM9215才行,pid 05c6 vid 9215),参数为:
EC20-C

继续阅读直插SIM卡全网五模便携LEDE路由(5200mAh)

利用Openwrt路由部署Openvpn进行两地组网

最近实践了一下利用Openwrt路由部署Openvpn进行两地组网,目标是实现两个局域网互相访问。
配置:
1.Openvpn服务端(内部局域网段172.24.1.0/24):
首先/etc/config/network配置加一个interface:

/etc/config/openvpn文件增加内容:
继续阅读利用Openwrt路由部署Openvpn进行两地组网

使用uClibc Toolchain编译LEDE系统,适配迅雷xware远程下载

最近买了MT7621路由,还带sata口,就想适配一个系统,由于:
1.Openwrt官方trunk里面kmod-mt76驱动居然还停留在2016年6月,实测2.4G比较弱,所以不予考虑了,再看LEDE的snapshot,更新到2017年2月了,当然要选择LEDE了。
2.LEDE目前全面切换到了MUSL库,导致迅雷xware mipsel的32位uclibc版本直接不能用了,为了适配,所以必须编译一个基于uClibc库的系统,但是LEDE/OPENWRT的toolchain默认菜单里面都只有musl和glibc了,uclibc被标记为了broken。。。。所以必须自行研究。

折腾了大约1周,终于搞定了,步骤如下:
1.下载LEDE源码,这个很简单:
继续阅读使用uClibc Toolchain编译LEDE系统,适配迅雷xware远程下载

Openwrt的密码api变化带来的影响

从openwrt r46483 r46820版本开始,kmod-crypto-aes,kmod-crypto-arc4,kmod-crypto-core不再作为单独的软件包提供,而是在kernel中提供,目前测试下来,在mt7621的dd trunk版本中,wifi的wpa2的aes加密未受到影响,但是shadowsocks受到了影响,aes和rc4-md5相关算法均会报cipher not found 的错误导致不能使用。只能使用chacha20或者salsa20的算法,后者是基于libsodium包的,实测未受到影响。

MT7621路由性能评测

最近在网上逛的时候发现一款MT7621的路由,由于OPENWRT的TRUNK版官方支持该路由,所以就买了一个回来,型号是ZBT-WG3526,16MB ROM,512MB RAM,MT7603EN的2.4GHz芯片,据说此芯片驱动有不少问题,目前还在解决中,MT7612EN的5GHz芯片,驱动据说非常稳定,支持ac,另外还有一个sata口和mini pcie,可以接一个笔记本硬盘,测试了一下,可以塞进去,不过要想办法固定。
出厂系统直接不能用,而且只能识别128MB内存,简直坑爹。。。所以到手就用sysupgrade刷了trunk版本的OP官方系统。。。由于trunk版本是musl的c库,很多软件需要重新编译才能使用,例如chinadns,迅雷xware直接不能用。。。等15.05.2出个glibc的版本才可以。。。
继续阅读MT7621路由性能评测

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

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

内容为:

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