本文记录我(纯小白)这几天折腾路由器的大致过程,备忘用

物色路由器

因为从来没玩过,而且家里好几年前的路由器是时候改换了,于是就准备换台,当初只是单纯的想换台路由器提升提升家里的WiFi信号的网速,都已经在jd上选好了一台水星的,但因为一直在学校迟迟没有买,后来发现了路由器的各种玩法,刷固件fq,解锁某云灰色music之类的,就开始在网上各种资料和固件,也慢慢的在物色一款路由器(原来选中的水星的那个网上资料少,官方好像不支持固件切换),一直在小米和newifi3之间徘徊,最后选择了联想的newifi3,结果无线翻车了,现在后悔了当时为什么没有看到k2p,┭┮﹏┭┮,无线信号是真的差,刷了openwrt后居然赶不上我家原来的老路由器,心态炸了。。。

但是。。。炸归炸,用还是有用的,虽然无线不咋地,当其他方面用用可以的,支持usb,512M的内存

刷不死breed

先下好不死breed固件,这个网上很多

然后本地搭一个web服务器,把文件放上面,然后在路由器终端了里就可以用wget下载了

ssh root@192.168.99.1
cd /tmp
wget http://xxx.xxx.xxx.xxx/newifi-d2-jail-break.ko
insmod newifi-d2-jail-break.ko

随后SSH 会停止响应,因为 newifi-d2-jail-break.ko 会冻结系统的其他功能,强制写入 Newifi D2 专用版 Breed 到 Flash

然后把路由器电源拔了之后按住reset按钮再插上电源直到只有电源等开始闪烁再松开电源,浏览器输入192.168.1.1即可进入breed web管理界面,再在这里面将原来的eeprom和编程器备份一下,再刷入自己想要的第三方固件(bin文件)

刷这个breed的原因是因为我们在刷第三方固件的时候如果没操作好,固件切换出了差错的话,路由器就变砖了,为了避免这种情况,就有大神做出了这个breed,相当于一个uboot引导加载程序

刷第三方固件

这里我试了好几个,最后选择了esir大神的openwrt固件,这里可以下载: https://openwrt.club/dl

选择里面的openwrt-ramips-mt7621-d-team_newifi-d2-squashfs-sysupgrade.bin文件刷入后等待路由器重启,重启完成后输入192.168.1.1即可进入openwrt管理界面

刷openclash

下载地址 https://github.com/vernesong/OpenClash/releases

下好ipk文件,ssh连上路由器,执行以下命令

cd /tmp 
opkg update
opkg install coreutils-nohup bash iptables dnsmasq-full curl jsonfilter ca-certificates ipset ip-full iptables-mod-tproxy
wget https://github.com/vernesong/OpenClash/releases/download/v0.39.6-beta/luci-app-openclash_0.39.6-beta_all.ipk
opkg install luci-app-openclash_0.39.6-beta_all.ipk

然后刷新一下页面就可以在服务里面看到openclash了,剩下的配置工作就要自己操作了

另外这个版本的自带解锁网易云灰色音乐的功能,直接开启就可以了

自己编译openwrt

注意:

  1. 要用 root 用户来 git 和编译!!!
  2. 国内用户编译前最好准备好梯子
  3. 默认登陆IP 192.168.1.1, 密码 password

需要Ubuntu 18 LTS x64环境

sudo apt-get update
sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch python3.5 python2.7 unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler g++-multilib antlr3 gperf

然后下载openwrt的源代码

git clone https://github.com/Lienol/openwrt
cd openwrt/package
git clone https://github.com/kenzok8/openwrt-packages.git
cd ..
./scripts/feeds clean
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig

然后就是配置编译选项了

如果是newifi3则:
Target System选择 "MediaTek Ralink MIPS"
Subtarget选择"MT7621"
Target Profile选择"Newifi D2"

我们希望有web界面,还需在LuCI ---> Collections选项中选上luci

LuCI ---> Applications选择要添加的插件应用。

LuCI ---> Themes中设置要安装的主题。

make -j8 download v=s 下载dl库

输入 make -j1 V=s-j 后面的数字1是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。

编译完成后输出路径:openwrt/bin/targets

第二次编译:

cd lede
git pull
./scripts/feeds update -a && ./scripts/feeds install -a
make defconfig
make -j8 download
make -j$(($(nproc) + 1)) V=s

如果需要重新配置:

rm -rf ./tmp && rm -rf .config
make menuconfig
make -j$(($(nproc) + 1)) V=s

参考