NetGear 4300 与 OpenWrt

年前搬了家,过完年就想把资料整一下。结果手痒把路由器玩坏了,只好重头刷了一遍。四五年没玩这些,好多东西都忘个精光,做完才想起以前就是这么搞定的,这次得记上一笔,免得下次尴尬。

刷机

进入恢复模式

  1. 关电源

  2. 戳复位孔,长按

  3. 开电源

  4. 等待电源黄灯长亮-黄灯闪烁-绿灯长亮-绿灯闪烁

  5. 松开复位孔

刷入系统

  1. Windows 系统的电脑通过网线连接路由器 LAN 口

  2. 设置 ip 地址与 192.168.1.1 在同一网段

  3. 打开CMD,输入 ping 192.168.1.1 /t 持续 ping 路由器

  4. 启用或关闭 Windows 功能 中启用 TFTP Client

  5. 再开CMD,输入 tftp -i 192.168.1.1 openwrt-*.img 刷入系统

  6. 通过 ping 观察路由状态,路由反复重启,ping 时通时断,待稳定 ping 通

设置

  1. 浏览器访问 192.168.1.1

  2. 设置密码

  3. 打开 Network→Interfaces

  4. 编辑 WAN 口,以 PPPoE 协议上网(具体视宽带服务商)

  5. 打开 Network→Wireless

  6. 此时大概率只能看到 2.4G 网络,而看不到 5G ,拔掉路由电源插头半分钟后再通电解决

  7. 继续上面的步骤,并完成无线热点名称和密码的设置

OpenWrt 设置

挂载 USB 存储设备

  1. 安装缺失的组建

opkg update && opkg install block-mount e2fsprogs kmod-fs-ext4 kmod-usb-storage kmod-usb2 kmod-usb3

  1. 打开 System → Mount Points

  2. 往下拉,找到 Mount Points,点击添加

  3. 选择 USB 设备和挂载位置 /mnt/share

共享 USB 设备中的文件

  1. 打开 System → Software

  2. Filter 中输入 samba

  3. 在过滤的结果中安装 luci-app-samba 即可满足基本共享需求(luci-app-samba4 提供更多功能,但占用空间实在太大)

  4. 刷新浏览器

  5. 打开 Services→Network Shares

  6. 在 Shared Directories 中添加名称 share ,路径 /mnt/share 就可以将刚才挂载的硬盘共享给其他设备

  7. 点击 Save & Apply 保存配置

  8. 回到最上面点击 Mount attached devices 完成挂载

Adblock

  1. 打开 System→Software

  2. Filter 中输入 adblock

  3. 在过滤接过中安装 luci-app-adblock

  4. 刷新浏览器

  5. 打开 Services→Adblock

  6. 勾选第一个选项 Enable Adblock

  7. 下拉找到 Blocklist Sources

  8. 勾选 reg_cn 添加针对中国的过滤规则

  9. 这里中断一下,去终端输入 opkg install libustream-mbedtls 安装组件,否则无法下载规则

  10. 滚动到最下方 Save & Apply 完成

按上述配置完毕后,Adblock 仍然不生效

  1. 检查设备的网路配置中是否采用了自定义的 DNS 服务器,这个 Adblock 是通过 DNS 屏蔽广告的,联网的设备必须把 DNS 设置为 192.168.1.1 才能生效,如果想使用自定义的 DNS,可以通过在路由器里指定上级 DNS 来实现

  2. 打开 Adblock 设置页面的 logfile 页卡,看是否有一行 blocklist with overall 0 domains loaded successfully,这说明路由器没有成功下载到过滤规则,可按第 9 步安装组件后再试

修改路由器的上级 DNS

默认情况下 PPPoE 联网后,路由器采用运营商分配的 DNS 服务器为上级路由

  1. 打开 System→Interfaces

  2. 编辑 WAN

  3. 选择 Advanced Settings 页卡

  4. 取消 Use DNS servers advertised by peer 的勾选状态,出现 Use custom DNS servers 选项

  5. 填写自己想用的 DNS 服务器

  6. 点击 Save 保存

更多

我的第一个MCP,以及开发过程中的经验感悟

起心动念 上周开发完 sheetex 后,发了条朋友圈。有小伙伴建议搞个 MCP 玩,正好我本来也想学,于是这周就花了一天完成了 sheetex-mcp-server,一个将对话中生成的表格保存成 Excel 的 MCP 服务。 做之前快速调查了一下 smithery 和 modelscope ,发现已经有好几个 Excel 相关的:实现上既有调用本机上的 Office 软件进行操作的,也有用库读写文件的;功能就更加眼花缭乱,从简单读写数据,到插入图表,甚至可以截图保存。 看来是打不过了,好在只是做个练习,开搞。 一天下来,学到不少东西,也填了好几个坑,本文以坑为主。 那么下面就按顺序来了。 新手上路 Build an MCP Server 是官方的教程,新手入门刚刚好,它通过调用天气相关的接口演示了 MCP Server 的开发过程。

By 熊立丁

12KB的Excel导出库sheetex是怎么来的

这是一个关于前端 Excel 导出库 sheetex 的故事:我为什么要做这个库,它为什么会这么小,以及你是否值得一试。 如过你问我“为什么非要在前端导出”,那将是另一个故事。 我的数据导出史 不知道你是否还记得自己是从什么时候开始接触数据导出的? 我对自己的“数据导出史”还算有些印象:在还没有正式工作的时候,如果有人问我要数据,我会在数据库管理工具里写个查询语句,然后视对方的用途,导出成SQL 语句、CSV 文件或者Excel 等;待到工作了,需要开发面向最终用户的系统,就不能再这么手工处理,导出功能成为系统标配,用户点击一个按钮,就要下载到相应的文件。 最早是 CSV 格式,因为其生成相对容易,而且也可以通过 Excel 软件进行查看,加上主要是内部用户,偶有无法打开也只要简单培训就能解决。 但随着用户类型变得广泛起来,这种“偶尔”也逐渐变成无法忍受,那么干脆直接导出 Excel 文件吧,反正开源库也已经成熟,于是使用 SheetJS

By 熊立丁
浙ICP备15043004号-1