惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Project Zero
Project Zero
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Scott Helme
Scott Helme
Know Your Adversary
Know Your Adversary
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
AWS News Blog
AWS News Blog
小众软件
小众软件
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
AI
AI
美团技术团队
人人都是产品经理
人人都是产品经理
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
宝玉的分享
宝玉的分享
Security Latest
Security Latest
P
Privacy & Cybersecurity Law Blog
C
Cisco Blogs
大猫的无限游戏
大猫的无限游戏
Google Online Security Blog
Google Online Security Blog
L
LINUX DO - 最新话题
罗磊的独立博客
Recent Announcements
Recent Announcements
H
Hacker News: Front Page
博客园 - 【当耐特】
K
Kaspersky official blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
SecWiki News
SecWiki News
Schneier on Security
Schneier on Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
F
Full Disclosure
Google DeepMind News
Google DeepMind News
V
V2EX
博客园 - 聂微东
量子位
云风的 BLOG
云风的 BLOG
C
Check Point Blog
J
Java Code Geeks
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
Engineering at Meta
Engineering at Meta
V2EX - 技术
V2EX - 技术
Vercel News
Vercel News
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
L
Lohrmann on Cybersecurity
The GitHub Blog
The GitHub Blog

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
交叉编译MentoHUST实现OpenWrt下锐捷认证 - 少数派
2020-11-22 · via 少数派


通过锐捷认证才能接入网络对于不想铺设路由器、只想简单的刷网页、看视频、使用微信的人群而言,这种方式虽然有些麻烦,但是基本上能接受。因为确实带来了一些便利、比如:WIFI信号覆盖面广、支持多终端接入上网。不过如果你是对于网络有着更高需求的群体而言,这一体验就是灾难般的体验,比如:无线覆盖面虽广,但无线速率太低,偶尔会极其不稳定。每次设备断开WIFI或进行息屏,都要重新认证。也因为必须使用锐捷认证,你也没办法使用有线网络接入个人路由器使用PPPoE协议拨号上网,提供更为稳定的个人WIFI,自然也没办法使用OpenWrt完成我们的一些特殊的需求。

为了实现在自己的路由器上面完成锐捷认证、我们必须得借助MentoHUST来完成

MentoHUST由华中科技大学学生首先在Linux系统下开发出来,而后扩展到支持Windows、Linux、Mac OS下的锐捷认证的程序(附带支持赛尔认证)、兼容Windows、Linux和Mac OS所有主流版本,完美代替锐捷认证。

MentoHUST是使用C语言进行开发的程序,为了使它能在我们路由器上正确的运行,必须使用交叉编译的方法生成对应路由器平台可执行的程序

所谓交叉编译,简单地说,就是在一个平台上生成另一个平台上的可执行代码。这里需要注意的是所谓 平台,实际上包含两个概念:体系结构 (Architecture) 、操作系统 (Operating System) 。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。 交叉编译通常是不得已而为之,有时是因为目的平台上不允许或不能够安装我们所需要的编译器,而我们又需要这个编译器的某些特征。有时是因为目的平台上的资源贫乏,无法运行我们所需要编译器。有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。

我的设备及OpenWrt版本

  • x86架构64位的J1900软路由
  • OpenWrt S2020.10.29 Sirpdboy / LuCI Master (git-20.256.12360-1a54222)

准备编译环境及工具

  • OpenWrt SDK,选择自己路由器架构和使用对应OpenWrt版本号的SDK进行下载,路径为 / releases / 版本号 / targets / 你的路由器架构 1
  • VMWare Workstation虚拟机、MacOS系统推荐使用 Parallels Desktop
  • Linux系统镜像、发行版本选择 DebianUbuntu 都可以
  • MentoHUST源代码,可以运行虚拟机后通过命令行进行下载
  • 一个可以自由访问互联网的网络环境,因为需要在镜像中下载很多编译所需的工具,如果你使用的没有这样的条件,可能会导致你等待很长的时间,解决方案就是寻找一些国内的镜像源 。2

开始编译


1、使用 root 用户登录 VPS 或者本地虚拟机,新增一个非 root 用户,并赋予和 root 等同权限

useradd newuser #newuser为你的自定义用户名

passwd newuser #为我们刚创建的用户名设置密码

2、密码设置完毕,使用 vi 编辑器修改配置文件赋予刚创建的新用户权限与 root 用户一致

vi /etc/sudoers ,按下键盘上的 i 键 进入编辑模式,找到 root ALL=(ALL:ALL) ALL,并在后面加入一行 newuser ALL=(ALL:ALL) ALL  按下键盘上的 ESC 退出编辑模式,输入 :wq! 进行保存配置文件并退出。

3、切换至创建的新用户:newuser,使用 su newuser

4、升级必要的组件,sudo apt-get update 输入密码完成升级操作。

5、下载编译所依赖的工具

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

6、如果你使用的是非 X86 架构的路由器,则需要下载 OpenWrt 的 SDK,对应的命令为

cd /

sudo mkdir openwrt

sudo chmod 777 openwrt

git clone https://git.openwrt.org/openwrt/openwrt.git                       

cd openwrt/ 

因我所使用的是 lead 编译的 OpenWrt 固件,使用的命令为

cd /

sudo mkdir lede

sudo chmod 777 lede

git clone https://github.com/coolsnowwolf/lede

cd lede/

7、更新feeds

Feeds,也就是软件包列表,是在OpenWrt中共用位置的包的集合。运行以下命令即可更新内置软件包列表并链接到编译工具中

./scripts/feeds update -a

./scripts/feeds install -a

8、下载MentoHUST源代码至Package文件夹下

git clone https://github.com/KyleRicardo/MentoHUST-OpenWrt-ipk.git package/mentohust

9、配置编译选项

make menuconfig

从MentoHUST源代码的Makefile文件中可以找到当前MentoHUST在菜单中的Network类别中,键盘下键移动至Network点击回车,继续选择Ruijie选项,输入大写的M,表示我们将MentoHUST作为一个模块编译。选择Save保存配置,最后退出菜单。不放心配置是否已经选上可以快速按下ESC键两次,将返回上一级菜单,从上一级菜单再进入本菜单确认配置勾选状态。

10、安装编译工具与编译依赖,这个过程需要一个漫长的等待

make tools/install V=s

make toolchain/install V=s

11、开始编译,等待控制台不再打印编译日志即可

make package/mentohust/compile V=s

12、编译如果完成,并且没有发生错误。将会输出两个 ipk 包将会在 openwrt/bin/packages/ YourArchitecture/base 下,X86架构下分别得到是 libpcap1_1.9.1-2_x86_64.ipk mentohust_0.3.1-1_x86_64.ipk ,只要将他们从我们的VPS上拷贝到OpenWrt上安装即可。libpcap mentohust 所依赖的包,所以在安装之前我们必须先安装 libpcap ,再安装mentohust。关于如何从VPS中拷贝出 ipk 到本地电脑,再上传至OpenWrt下,我这里所使用的 SSH 工具是 FinalShell 。你如果是MacOS也可以在终端中使用SCP功能。上传至OpenWrt也同理,要么通过Web后台选择本地上传,要么通过SCP上传。

13、安装

opkg install your_libpcap.ipk

opkg install your_mentohust.ipk

14、关于如何使用 MentoHUST,你可以在 OpenWrt 终端中输入mentohust -h 打印出如下帮助信息,然后配置好自己的用户名与密码。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
欢迎使用MentoHUST 版本: 0.3.3
Copyright (C) 2009 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to 
http://code.google.com/p/mentohust/issues/list

用法: mentohust [-选项][参数]
选项: -h 显示本帮助信息
-k 退出程序
-w 保存参数到配置文件
-u 用户名
-p 密码
-n 网卡名
-i IP[默认本机IP]
-m 子网掩码[默认本机掩码]
-g 网关[默认0.0.0.0]
-s DNS[默认0.0.0.0]
-o Ping主机[默认0.0.0.0,表示关闭该功能]
-t 认证超时(秒)[默认8]
-e 响应间隔(秒)[默认30]
-r 失败等待(秒)[默认15]
-a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]
-d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]
-b 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]
-y 是否显示通知: 0(否) 1~20(是)[默认5]
-f 自定义数据文件[默认不使用]
-c DHCP脚本[默认dhclient]
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
例如:
 mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0 -s0.0.0.0 -o0.0.0.0 -t8
-e30 -r15 -a0 -d1 -b0 -fdefault.mpf -cdhclient
使用时请确保是以root权限运行!

备选方案,OpenWrt 每天定时运行 Shell 脚本实现锐捷认证

如果你所使用的锐捷提供了 Web 认证的方式,我们可以在 OpenWrt 上使用 crul 来模拟一个HTTP请求,达到完成认证的目的。并使用 crontab 来为我们定时执行这样的一个脚本。使用这种方式的原因在于锐捷认证引入了 Service 的参数来提供我们选择电信运营商,而在之前的MentoHUST中是不支持我们提供这样的参数。但是这个过程需要你对 HTTP 的请求进行抓包,保存好我们所需要的参数才行,并且需要替换我提供的 Shell 脚本中的参数。

#!/bin/sh

# 替换成你的用户名
userId=123456

# 替换成你的密码
password=123456

# 这里判断是否已经属于登录状态 如果是则退出脚本
captiveReturnCode=`curl -s -I -m 10 -o /dev/null -s -w %{http_code} http://www.google.cn/generate_204`
if [ "${captiveReturnCode}" = "204" ]; then
  echo 'You are already online!'
  exit 0
fi

# your_ip_address 替换成自己锐捷认证的ip,例如:192.0.1.128
loginURL='http://your_ip_address/eportal/InterFace.do?method=login'

# service是运营商中文经过两次UrlEncode编码的结果,
# 提供编码网址为https://tool.chinaz.com/tools/urlencode.aspx
# 例如:电信互联服务 这六个中文字符经过两次UrlEncode得到如下结果,如果你使用其他运营商请自行修改
service='%25E7%2594%25B5%25E4%25BF%25A1%25E4%25BA%2592%25E8%2581%2594%25E7%25BD%2591%25E6%259C%258D%25E5%258A%25A1'

# 此处参数已混淆,你需要使用chrome浏览器F12打开控制台
# 复制你成功登录的queryString进行替换即可
# 要是登录太快来不及复制就Network把网络请求速度调至最低的1kb/s
queryString='wlanuserip%253D61c0f75547fe4a0a3%2526wlanacname%253D2001c0ad74c7144b2f1%2526ssid%253D%2526nasip%253Dce99c6cb0838%2526snmpagentip%253D%2526mac%253D162f1d943dbcbb90fe27fad1765b526t%253Dwireless-v2%2526url%253Dfa955daa669c449a163%2526apmac%253D%2526nasid%253D204fb759566634401c0ad74c7144b2f1%2526vid%253D02526port%253Dd%2526nasportid%253Defc04e823eeb5679bfc7a150e5af1c4645eae50c4684744dfdd0d5f9ef5b8b51d174775'
queryString="${queryString//&/%2526}"
queryString="${queryString//=/%253D}"

# 这里无需进行替换
# 看到返回的JSON中包含success代表认证成功
auth=`curl -s -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.91 Safari/537.36" -e "${loginURL}" -b "EPORTAL_COOKIE_USERNAME=; EPORTAL_COOKIE_PASSWORD=; EPORTAL_COOKIE_SERVER=; EPORTAL_COOKIE_SERVER_NAME=; EPORTAL_AUTO_LAND=; EPORTAL_USER_GROUP=; EPORTAL_COOKIE_OPERATORPWD=;" -d "userId=${userId}&password=${password}&service=${service}&queryString=${queryString}&operatorPwd=&operatorUserId=&validcode=&passwordEncrypt=false" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8" -H "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" "${loginURL}"`
echo $auth

把脚本保存在设定的文件夹后,就可以开始设定定时任务。下面的配置意思是,每两个小时执行一次脚本。因为锐捷有心跳机制,在你入睡或者长时间未使用这个网络的情况下,会将网络连接断开,这个时候你只能进行重新认证。所以将脚本设定为两小时执行一次可以有效避免掉线的情况,如果你不确定你所配置的是否正确,crontab 会不会定时去运行脚本,可以通过这个网址去验证配置。在表单中提交 0 */2 * * * 关于时间项即可,绝对路径不要添加。

0 */2 * * * /usr/ruijie/ruijie_auth.sh


参考链接

MentoHUST 源码文档

MentoHUST 配置 & 开机自启动