起因
学校的校园网出宿舍拿手机登录就会把路由器踢下线。现在希望实现回宿舍的时候路由器可以自动登录我的账号。
探索
登录校园网是在网页输入账号密码的,按F12分析了一下不是很复杂,打算用C/C++来实现自动发送登录信息。本文是第一步,先在路由器上运行一个hello,world。
准备工作
Linux环境
交叉编译
在网上看了好多交叉编译的教程要我下载buildroot来安装交叉编译的环境。但是buildroot太慢了,占用空间巨大。我需要交叉编译只要一个特定平台的编译器就足够。编译器可以在OpenWrt官网下载固件的地方找到对应平台的SDK。
https://downloads.openwrt.org/releases/21.02.1/targets/ramips/mt7621/
- 21.02.1 是我安装的的OpenWrt版本,也就是最新的稳定版
- ramips是处理器的架构
- mt7621是处理器的型号
这些信息可以在网上搜索自己的路由器型号来获取。也可以在OpenWrt官网搜索自己路由器的型号找到下载链接,根据下载链接找到SDK的下载页面。
比如说我的是小米路由器3G,在下载固件的页面最底下就可以找到。
下载下来用tar -Jxvf
解压文件
之后需要设置环境变量,路径修改为你解压的路径
export PATH=$PATH:"/home/lazy/Documents/openwrt-sdk-21.02.0-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64/staging_dir/toolchain-mipsel_24kc_gcc-8.4.0_musl/bin"
还需要设置“STAGING_DIR”文件夹的位置
export STAGING_DIR="/home/lazy/Documents/openwrt-sdk-21.02.0-ramips-mt7621_gcc-8.4.0_musl.Linux-x86_64/staging_dir"
否则会报错
没什么意外应该就可以编译了