首页/新闻资讯/正文详情

书签越存越乱?用 Mtab 在 fnOS 上搭一个可远程访问的私人导航页

发布时间:2026/9/27 6:18:29 来源:云帆数科 栏目:资讯中心
书签越存越乱?用 Mtab 在 fnOS 上搭一个可远程访问的私人导航页
前言浏览器书签一多我最先遇到的问题不是“存不下”而是越来越难找工作资料放一组NAS 和服务器后台又是一组临时收藏的网站夹在中间换台电脑后还得重新适应原来的分类。对我来说真正好用的导航页不是首页堆得多漂亮而是常用链接能按自己的逻辑长期整理换设备以后仍然有一个固定入口。Mtab 这类自托管导航工具正好适合做这件事它把分类、书签、常用链接和一些基础设置集中到一个网页里数据和页面也可以放在自己的环境中。而且导航这种东西每天都要点很多次入口越稳定后面越省心。这次我在飞牛 NAS 上用 Docker 部署 Mtab先拉取itushan/mtab把宿主机9205映射到容器80并将/opt/mtab挂载到/app。页面起来以后再单独创建 MySQL 数据库mtab_db、用户mtab_user和对应权限完成安装向导、管理员初始化、分类与常规设置。最后安装 cpolar把本地9205页面先通过随机地址验证再切换到固定二级子域名mtab。整篇我更关心的是“页面能打开、数据库能连上、书签能长期保存、公网入口能稳定找到”这条链是否真正闭合而不是只把首页跑起来就算部署完成。1. Mtab 适合解决什么问题Mtab 是一套可以独立部署的书签导航程序。它更像一个长期使用的私人网址入口而不是浏览器插件。常见用途包括按分类整理网站自定义导航首页管理常用链接从电脑或手机访问同一套导航页把常用 NAS、开发工具、办公服务集中到一个页面。对我来说它真正有价值的地方不是“替代浏览器书签”这句口号而是把散落在不同设备和不同收藏夹里的入口重新收进一套自己能管理的页面。自托管确实让页面和数据库放在自己控制的环境里但这不等于天然没有安全风险。管理员账户、数据库权限以及后面是否开放公网仍然需要单独处理。2. 先在飞牛 NAS 上开启 SSH进入飞牛系统设置 → SSH开启 SSH 服务。后面的 Docker 和数据库操作都默认已经进入飞牛 NAS 的终端环境。3. 先确认 Docker 能用执行docker-vsystemctl status-v这里docker -v用于确认 Docker 命令是否可用。另一条是systemctl status -v如果它返回的内容和预期不一致先确认自己实际要检查的是哪个 systemd 服务不要仅凭这一条输出就判断 Docker 环境异常。也可以直接从飞牛主页确认 Docker 是否已经安装。4. 拉取 Mtab 镜像执行dockerpull itushan/mtab这里使用的镜像是itushan/mtab没有额外写版本标签。如果以后长期运行我会顺手记录当前实际使用的镜像版本避免后面重建时只知道镜像名却不知道原来运行的具体版本。5. 启动 Mtab 容器执行dockerrun-itd--namemtab-new-p9205:80-v/opt/mtab:/app itushan/mtab这条命令里几个参数最重要容器名mtab-new宿主机端口9205容器端口80宿主机目录/opt/mtab容器目录/app也就是说后面浏览器访问走的是9205而数据目录通过/opt/mtab:/app挂载到容器中。6. 先确认 Mtab 页面能打开浏览器访问http://飞牛IP:9205页面能够打开只能说明飞牛 Docker → Mtab 容器 →9205:80→ 浏览器这一层已经通了。但 Mtab 后面还需要数据库所以我不会把“首页出现了”直接等同于“整个系统已经配置完成”。7. 给 Mtab 单独创建 MySQL 数据库先登录 MySQLmysql-uroot-p输入 MySQL 管理员密码以后进入命令行。接着创建数据库CREATE DATABASE mtab_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;这里数据库名是mtab_db字符集使用utf8mb4排序规则使用utf8mb4_unicode_ci这一套配置方便保存中文和 emoji 等内容。8. 创建专用数据库用户继续创建mtab_userCREATEUSERmtab_user%IDENTIFIED BYyour_strong_password;其中your_strong_password需要替换成自己实际设置的数据库密码。当前用户 Host 写的是%也就是允许从任意 IP 来源连接。如果只是固定的本地环境长期使用更适合根据实际数据库位置缩小允许来源而不是一直保留过宽范围。然后授权GRANT ALL PRIVILEGES ON mtab_db.* TOmtab_user%;FLUSH PRIVILEGES;这里把mtab_db.*的权限交给mtab_user。9. 验证数据库和用户检查数据库SHOW DATABASES;应该能够看到mtab_db再检查用户SELECT User, Host FROM mysql.user WHERE Usermtab_user;如果数据库和用户都存在再回到 Mtab 安装页面继续。10. 安装页面填写数据库信息页面里需要填写字段内容数据库地址localhost或你的数据库服务器 IP数据库端口3306数据库用户名mtab_user数据库用户密码前面设置的密码数据库名称mtab_db点击测试连接连接成功以后继续下一步。这里有一个很值得提前留意的点Mtab 现在运行在 Docker 容器里而数据库地址示例写的是localhost或数据库服务器 IP。如果测试连接失败我会先确认 MySQL 实际运行在哪里以及 Mtab 容器能否访问那个数据库地址而不是反复修改用户名和密码。还需要注意MySQL 版本 ≥5.7远程数据库场景确认3306的网络可达性定期备份数据库数据库能连上才算真正进入 Mtab 初始化阶段。11. 创建管理员账户数据库测试通过以后设置 Mtab 管理员账号和密码。完成安装。随后就能进入主页面。这里我会把管理员密码和数据库密码分开设置不把两个服务共用同一套弱密码。12. 开始整理自己的导航页Mtab 自带了一些导航内容可以直接点击验证跳转。这是他们自带的随便点一个跳转即可成功后面可以继续设置分类。再调整常规设置。这才是我真正愿意长期使用它的地方把常用入口按自己的工作方式重新分类。比如可以按NAS 管理开发工具AI 服务文档常用网站来拆分而不是继续让所有链接堆在浏览器收藏栏里。13. 局域网够用以后再考虑公网访问在家里或者办公室内部直接访问http://飞牛IP:9205已经可以正常使用。但如果这套导航页已经成了自己的固定入口换到外网以后仍然想打开就需要解决网络可达性。这里再加入 cpolar。cpolar 在这套方案里只负责把已经运行在9205的 Mtab Web 页面提供到公网。它不管理 Mtab 分类也不负责 MySQL 数据和书签内容本身。14. 安装 cpolar执行sudocurlhttps://get.cpolar.sh|sh安装完成后查看服务状态sudosystemctl status cpolar服务正常以后通过飞牛主机 IP 9200打开 cpolar Web UI。页面中的入口写成http://ip:9200实际超链接目标是http://localhost:9200/登录以后开始配置 Mtab 隧道。15. 先创建随机公网地址进入隧道管理 → 创建隧道参数为隧道名称mtab协议http本地地址9205域名类型随机域名地区China Top这里的本地地址必须和前面的 Docker 宿主机端口一致9205创建以后进入在线隧道列表。用生成的公网地址访问。Mtab 页面可以正常打开。这一层验证的是Mtab9205→ cpolar HTTP 公网地址 → 外部浏览器。16. 长期使用再换固定二级子域名随机地址适合先确认连通性。如果以后准备把 Mtab 当成自己的固定导航首页再继续预留固定二级子域名。进入 cpolar 预留页面。选择保留二级子域名参数为地区china Top二级子域名mtab预留成功以后回到隧道列表编辑原来的 Mtab 隧道。修改域名类型二级子域名Sub Domain填写预留成功的二级子域名地区China Top点击更新。更新以后查看在线隧道列表。最后使用固定地址再次访问。页面能够正常打开。到这里Mtab 的固定公网入口已经完成。17. 我会怎么判断这套导航页是否真的“搭完了”我不会只看首页是否能出现。至少会确认四层第一层容器。Mtab 能从9205正常打开。第二层数据库。mtab_db、mtab_user和连接测试都正常。第三层内容。管理员能登录分类、书签和设置能正常使用。第四层远程入口。cpolar 随机地址和固定二级子域名都能打开 Mtab。这样出现问题时也更容易定位到底是 Docker、MySQL、Mtab 本身还是公网访问出了问题。总结这次真正跑通的主线是飞牛 NAS → SSH → Docker →itushan/mtab→mtab-new→/opt/mtab:/app→9205:80→ MySQL →mtab_db→mtab_user→3306→ 管理员初始化 → 分类 / 常规设置 → cpolar →9205随机公网 → 固定二级子域名mtab。几个细节需要继续留意systemctl status -v如果输出异常先确认实际要检查的 systemd 服务Docker 使用/opt/mtab:/app做目录挂载数据库用户使用mtab_userHost 为%长期使用时应结合实际网络范围控制数据库访问来源安装页数据库地址写的是localhost或数据库服务器 IP如果连接失败先确认 MySQL 实际运行位置和容器网络可达性MySQL 要求保留≥ 5.7数据库端口是3306cpolar 只负责9205Web 页面的公网入口不参与书签管理和 MySQL 数据存储固定二级子域名示例继续使用mtab。对我来说Mtab 真正解决的不是“再做一个漂亮首页”而是给越来越多的服务和网站建立一个长期稳定的入口。只要数据库、分类和固定地址都处理好它更像是自己的数字工作台而不只是一个书签列表。

相关推荐

STC8G1K08低功耗实战:STOP模式+定时器唤醒实现1μA待机电流
STC8G1K08低功耗实战:STOP模式+定时器唤醒实现1μA待机电流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:18:29

从零复刻 TinyWebServer —— 环境准备与最小 TCP 服务端
从零复刻 TinyWebServer —— 环境准备与最小 TCP 服务端

第 1 篇:从零复刻 TinyWebServer —— 环境准备与最小 TCP 服务端 原项目:qinguoyi/TinyWebServer 复刻仓库:L2501031968/ccTinyWebServer 完整 20 章教程:仓库内 docs/TinyWebServer-Recreation.md 为什么写这个系列 TinyWebSer… · 2026/9/27 6:18:29

STM32参考方案资源地图:从官方到开源社区的高效检索指南
STM32参考方案资源地图:从官方到开源社区的高效检索指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:18:23

重庆建网站cqiezscom哪家好?3个坑避开备案难
重庆建网站cqiezscom哪家好?3个坑避开备案难

重庆建网站cqiezscom哪家好?3个坑避开备案难 备案流程一头雾水,直接导致网站上线延期三个月。 别慌,选对重庆建网站cqiezscom哪家好,这问题能省一半精力。 今天把我在行业摸爬滚打10年的经验,拆解给你看。… · 2026/9/27 7:00:46

Model-Optimizer 投机解码数据合成:基于 SLURM 的分布式合成数据生成实战指南
Model-Optimizer 投机解码数据合成:基于 SLURM 的分布式合成数据生成实战指南

人工智能大模型模型优化模型量化模型压缩 【免费下载链接】Model-Optimizer A unified library of SOTA model optimization techniques like quantization, distillation, pruning, neural architecture search, speculative decoding, etc. It compresses deep learning mode… · 2026/9/27 7:00:46

被这5个GitHub项目骑脸输出,我默默关掉了 Boss 直聘……
被这5个GitHub项目骑脸输出,我默默关掉了 Boss 直聘……

▍被这5个GitHub项目骑脸输出,我默默关掉了 Boss 直聘…… 说真的,现在的 GitHub,已经不是什么"开源圣地"了,它就是打工人的焦虑制造机。 以前刷开源项目,满屏都是"大佬牛逼""学到了"… · 2026/9/27 7:00:40

2026材料科学与工程实测:论文自动排版从熬3个晚上到30分钟交差
2026材料科学与工程实测:论文自动排版从熬3个晚上到30分钟交差

五月中旬那个周日晚上,我在实验室处理完最后一批XRD数据已经快九点,回宿舍还得跟论文格式死磕。我们学校2026年启用了新模板:三线表、图表自动编号、参考文献悬挂缩进,缺一不可。我手动调了整整三个晚上,目录页码一刷新… · 2026/9/27 7:00:40

青海网站建设与管理:备案不迷路,保姆级建站教程避坑全解
青海网站建设与管理:备案不迷路,保姆级建站教程避坑全解

青海网站建设与管理:备案不迷路,保姆级建站教程避坑全解 很多青海的朋友做网站,卡死在第一关:备案。登录工信部ICP备案系统,对着那些“接入商”、“主体信息”、“网站信息”发懵,填了改、改了填,审核下来直接驳回。别慌,这太正常了。今天这篇保姆… · 2026/9/27 7:00:40

AI  历史  社会 人类
AI 历史 社会 人类

作为一个AI从业者,身处今天的AI浪潮中,我每天都切身感受到AI带来的效率提升——新技能不断涌现,世纪数学难题被攻克,mRNA疫苗研发加速……但与此同时,我也不禁思考:自己的工作是否会被替代?进而… · 2026/9/27 7:00:34

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码