0%

闪讯OpenWrt-编译适合自己路由器的pppd闪讯模块

  在GitHub上有个基于OpenWrt的开源闪讯项目,通过这个项目可以为pppd添加一个加密用户名的插件,使得路由器可以根据时间随机数动态生成用于拨号的真实用户名。

安装编译用系统

  首先得准备好编译环境,安装一个64位的Ubuntu系统(OpenWrt官网上的交叉编译工具不支持32位系统),建议去英文的Ubuntu官网下载长发行版本。

安装编译必要的软件包

1
2
3
4
5
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y g++ libncurses5-dev zlib1g-dev bison flex unzip autoconf \
gawk make gettext gcc binutils patch bzip2 libz-dev asciidoc subversion \
sphinxsearch libtool sphinx-common git wget

下载交叉编译工具

  在OpenWrt官网下载对应自己路由器CPU型号及OpenWrt系统版本的交叉编译工具,CPU型号可以在OpenWrt Wiki上查找(例如本人用的NETGEAT WNDR4300),使用的是CC 15.05版本的OpenWRT,便可以在对应页面下载对应的交叉编译工具OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2

1
2
3
wget https://archive.openwrt.org/chaos_calmer/15.05/ar71xx/nand/OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
tar -xjvf OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2
mv OpenWrt-SDK-15.05-ar71xx-nand_gcc-4.8-linaro_uClibc-0.9.33.2.Linux-x86_64.tar.bz2/ sdk/

下载闪讯pppd模块代码

  1. 克隆Github上的项目
1
git clone --depth=1 https://github.com/miao1007/Openwrt-NetKeeper.git
  1. 编辑src目录下的makefile文件
1
2
3
4
5
6
7
# 这里填写sdk套件中交叉编译工具的路径
5 LOCATION=/openwrt/sdk/staging_dir/toolchain-mips_34kc_gcc-4.8-linaro_uClibc-0.9.33.2
7 CC=$(LOCATION)/bin/mips-openwrt-linux-gcc
# 这里填写OpenWrt系统所使用的pppd版本号
9 PPPD_VER=2.4.7
# 这里仅留下自己地区的参数,不同地区radius不同
35 all:hangzhou_sxplugin
  1. 执行编译
1
2
make all
mv hangzhou_sxplugin.so sxplugin.so

上传pppd模块至路由器

  此时文件夹内生成的.so文件就可以用于拨号了,如果你使用的同样是WNDR4300路由器,并且使用CC 15.05版本系统可以直接使用我编译好的.so文件,点我下载

  将sxplugin.so上传到路由器的/usr/lib/pppd/2.4.7/目录下,并且在/etc/config/networkwan下追加option pppd_options 'plugin sxplugin.so',或执行以下代码,之后便可以使用路由器进行闪讯拨号了。

1
uci set network.wan.pppd_options='plugin sxplugin.so'