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

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
S
Securelist
V
Vulnerabilities – Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
Schneier on Security
Schneier on Security
Cyberwarzone
Cyberwarzone
Simon Willison's Weblog
Simon Willison's Weblog
Hacker News - Newest:
Hacker News - Newest: "LLM"
P
Palo Alto Networks Blog
T
Troy Hunt's Blog
SecWiki News
SecWiki News
Security Archives - TechRepublic
Security Archives - TechRepublic
T
The Blog of Author Tim Ferriss
Project Zero
Project Zero
Microsoft Security Blog
Microsoft Security Blog
The Register - Security
The Register - Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
F
Full Disclosure
阮一峰的网络日志
阮一峰的网络日志
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Attack and Defense Labs
Attack and Defense Labs
Know Your Adversary
Know Your Adversary
WordPress大学
WordPress大学
PCI Perspectives
PCI Perspectives
N
News | PayPal Newsroom
The Last Watchdog
The Last Watchdog
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
CERT Recently Published Vulnerability Notes
H
Help Net Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
云风的 BLOG
云风的 BLOG
月光博客
月光博客
T
The Exploit Database - CXSecurity.com
I
InfoQ
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
腾讯CDC
小众软件
小众软件
V2EX - 技术
V2EX - 技术
罗磊的独立博客
Cloudbric
Cloudbric
Recorded Future
Recorded Future
IT之家
IT之家
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com

少数派

派早报: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 配置 & 开机自启动