Gnome 折腾日记 (Archlinux)

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/notes/44 最近因为手欠把包依赖全搞完了,刚刚好快照也没法用,于是乎重新做了一版 Archlinux,这次直接安装 Gnome。 为什么不选择 KDE Plasma desktop 或者 hyprland,前者没有 Gnome 这么美观,后者上手难度有亿点高,而且我不太对平铺感兴趣,另外 fuck MS,我的输入法又吞字了,反而大家都讨厌的小企鹅不会吞字。 安装 Archlinux 没什么好说的,按照中文文档就可以了,这里主要是吐槽一下 Gnome 49 的反人类设计要踩的坑。 首先 Gnome 和 KDE 大有不同,他的软件设计(GNOME Human Interface Guidelines)相当的好看,我个人比较喜欢。比较的果味?如果有 Material Design 3 的我也会考虑一下( 当然简单的代价是没有桌面摆放图标,只能在用菜单里面的选择应用,其次没有系统托盘了,而且他这个 deck 栏默认情况有点碍眼,需要做一下优化。 在折腾之前在 Software 里面下一个 Extension Manager 来管理扩展,另外如果需要优化 Flatpak 打字体验,可以下一个 Flatseal 来设置 fcitx5 小企鹅全局变量。 扩展 所以这里我给大家推荐几个插件: AppIndicator and KStatusNotifierItem Support 用来开启系统托盘的扩展 Clipboard History 剪贴板扩展 Dash to Dock 给 Dock 栏设透明度自定义的扩展 Input Method Panel fcitx5 小企鹅的 Gnome 皮以及桌面环境兼容,安装后可以在 Gnome 桌面中(非应用)里面输入中文 非必须: System Monitor 用于显示系统状态 Restart To 可以选择重启到什么系统,貌似和我的电脑不太兼容,我这里进 Linux 以后就不会显示 Windows 的选项了,所以无法使用这个扩展感兴趣的可以自行测试 应用 接下来推荐的不是扩展,而是外设和任务管理器,以及游戏监控设置: mangojuice 这是一款 mangohud 的设置软件 resources 这是一款任务管理器的软件 coolercontrol 风扇控制,Linux 替代 Fan Control 的软件 自己折腾 另外我还把 Splayer 的原生 pacman 包打包到 AUR 上了,欢迎大家使用 https://aur.archlinux.org/packages/splayer 还有两款语音软件 KOOK 和 Oppz 我都用 Electron 打包了一下,听了群友的建议使用的系统自带的 Electron,当然这里只适配了 Arch 系的,Ubuntu 我没想到怎么处理,这里等完善了再给大家安利啦,具体可以看我的 Github 基佬网,当然这两款都有 Web 端的,就是随便搞着玩啦,也是算尝试一下 Electron。 不过现在 Linux 缺的是游戏加速器,虽然用小猫也可以加速,但是我这里体验不太好,玩着玩着会直接卡住。 扩展参考:https://zhuanlan.zhihu.com/p/410500061 安装参考:https://arch.icekylin.online/ 看完了?说点什么呢

2025/10/16
articleCard.readMore

安装 qBittorrent WebUI 美化主题 VueTorrent(使用 1Panel)

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/blog/1panel-vuetorrent 原来的 qBittorrent 有点丑,虽然后面更新过一版 WebUI 但是什么的已经习惯了, 而且主题也更好看一点,今天教大家怎么在 1Panel 的 qBittorrent 里面更换一个主题叫 VueTorrent。 这个 WebUI 是用 Vue 写的,也是我比较早期玩 PT 就开始用这个主题了,这个主题其实全平台/增强版都可以通用的。(当然需要开启 WebUI 功能) 当初不会用的时候路径总搞错,总是要重新弄,也为了方便我自己我这里只介绍 1Panel 的步骤,其实你用 compose 安装 qBittorrent 也是一样的,这里我就偷个懒。好物分享(bushi) 在线体验 DEMO: https://vuetorrent.github.io/demo 准备 这里准备 1Panel 进行安装 qBittorrent,当然你通过其他方式安装的 qB 也是一样的 然后把 VueTorrent 主题下载下来 https://github.com/VueTorrent/VueTorrent/releases/download/v2.28.2/vuetorrent.zip 然后我这里用 1Panel 自带的“文件”将压缩包上传上去,(你通过 sftp 上传也是一样的,甚至你 1Panel 的远程下载,wget 也一样) 然后进行解压,就得到了 vuetorrent 这个文件夹,文件夹里面有一个 public 文件夹和 version.txt 文本文件。 认识路径 这里我以我的 compose 文件做参考,这里 ./config:/config 左边的 .config 是代表本 compose 文件下的 /config 文件夹 右边代表着 qBittorrent 容器的内部文件映射路径 /config networks: 1panel-network: external: true services: ... ... volumes: - ./config:/config - ./data:/downloads 通过 1Panel 安装的目录在 /opt/1panel/apps/qbittorrent/qbittorrent 我们需要将 vuetorrent 解压得到的文件夹,放在安装路径下的 /config/qBittorrent 完整路径是 /opt/1panel/apps/qbittorrent/qbittorrent/config/qBittorrent 设置 下载解压好确定路径后,我们这里进行设置,进入 qBittorrent 的 WebUI 点击设置小齿轮,然后选择 WebUI, 勾选备用 WebUI 将容器路径输进去 /config/qBittorrent/vuetorrent 就对应着宿主的 /opt/1panel/apps/qbittorrent/qbittorrent/config/qBittorrent/vuetorrent 这个路径下 点击 Save 保存就会自己应用好主题,如果你出现了问题报错,就说明你对文件路径不了解或者自行解压都时候多了一个文件夹。 以下是完整 compose 文件,不要照抄 开启了 host 模式以利用 IPv6 网络并且删除了 1panel-network,并且映射到 NAS 中,这里的 ports 无效懒得清了…… services: qbittorrent: container_name: ${CONTAINER_NAME} deploy: resources: limits: cpus: ${CPUS} memory: ${MEMORY_LIMIT} environment: - PUID=1000 - PGID=1000 - UMASK_SET=022 - TZ=${TIME_ZONE} - WEBUI_PORT=${PANEL_APP_PORT_HTTP} - TORRENTING_PORT=${PANEL_TORRENTING_PORT} image: linuxserver/qbittorrent:5.1.2 labels: createdBy: Apps network_mode: host ports: - ${HOST_IP}:${PANEL_TORRENTING_PORT}:${PANEL_TORRENTING_PORT} - ${HOST_IP}:${PANEL_TORRENTING_PORT}:${PANEL_TORRENTING_PORT}/udp - ${HOST_IP}:${PANEL_APP_PORT_HTTP}:${PANEL_APP_PORT_HTTP} restart: always volumes: - ./config:/config - ./data:/downloads - /mnt/nas/Library:/Library 看完了?说点什么呢

2025/9/17
articleCard.readMore

来聊聊,你真的需要 OpenWrt 吗?

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/blog/do-you-really-need-openwrt 一直想和大家说千万不要看博主说什么就去入坑,OpenWrt 或者说“软路由” 只是增强使用幸福感的东西,并不是必需品,最简单的你手机上开个软件就可以解决的,不需要在买一个设备去跑。这一篇避坑 OpenWrt ,带大家了解一些新手常见的几个问题。想到啥说啥 我需要 OpenWrt 吗 如果你没有需求,或者没有看过 OpenWrt 相关的内容,并且对命令和自己动手的感到厌弃的,我觉得你是不需要的。 如果你有需求,例如 家里设备多,主机比较多,有看片(正经)需求 校园网,想省钱和舍友共享网络 AA 制收费 数码爱好者,设备多想进一步折腾寻欢 开源爱好者 我觉得你是可以上的,毕竟你将面临的门槛是:到处寻教程,插件不会用等诸多问题,你是完全不想去折腾的。 “卵路由” 软路由一般是特指 x86 (64 位处理器,amd64,x86_64),或者没有硬件加速的 ARM 工控/开发板产品,刷入了软路由系统实现的,OpenWrt 并不是软路由唯一解, 还有类似于爱快 ikuai、RouterOS、pfSense/opnsense 另外还有带有硬件加速的成品路由器,就是市场上售卖的绝大多数路由器,他们本质上也都是 OpenWrt 系统,都是经过魔改定制来的。只是大家都喜欢刷机,刷入 OpenWrt 系统,实现“软路由”功能。 OpenWrt 是基于 Linux,默认使用 musl libc 而非 GNU 的 glibc 作为 C 标准库。 而基于 GNU/Linux 系统编译的软件无法直接在 OpenWrt 上运行(大多数运行 Linux 的都是 GNU/Linux),所以很多 Linux 的软件并不能直接运行在 OpenWrt 中,而是需要适配到 OpenWrt 并且编译固件才能进行使用。 “旁路由” 旁路由只是旁路网关的意思,“旁路由” 被广泛流传,并不好。 旁路并不处理路由,应该叫网关,全称:旁路网关 先看看顺序: 按照主路由的方法放置 OpenWrt 软路由就是: 光猫(互联网)> OpenWrt 软路由 > 无线AP/交换机 > 局域网 如果是旁路网关:光猫(互联网)> 路由器(主)/交换机 > 局域网 > OpenWrt 软路由(旁) 发现问题没有:旁了以后OpenWrt 居然是一个由上级路由器管理的局域网设备,他确实不能路由!(除非你接的二级路由) 侵入式 旁路网关分为: 侵入式 非侵入式 侵入式是指:旁路网关的 IP 被添进了 DHCP 分配的网关选项中,所有设备必须先由主路由再进到旁路网关中进行处理再出网。 侵入式的好处是可以实现透明网关作用,可以让主路由充当流控多播,旁路负责高级的玩法。 坏处是旁路网关因为各种原因炸了,整个由 DHCP 分配的局域网就瘫痪了,没法使用。 非侵入式 非侵入式是:旁路网关不作为网关被填进 DHCP 里进行分配,而是由设备自行选择使用静态 IP 和网关的方法进行接入旁路网关进行处理再出网。 非侵入式的好处就是旁路炸了,只会影响你设置了静态到旁路的设备。如智能家具或者未进行特别设置的设备不会影响到家庭网络,增进家庭关系 : )。 坏处就是设备多,每个手动输入太麻烦。 固件 不同的 OpenWrt 有不同的功能,有的十分的臃肿,没人用的功能硬塞进去,导致插件服务自启大大增加了家庭网络不稳定性。 有的非常的干净,什么插件都没有,连路由器后台 luci 都没有,必要的工具也没有,只有连进路由器 SSH 才能自己手动安装。 目前 OpenWrt 有两种大版本差: 旧版本的 luci 18.06+(lua+fw3+ipt) 新版 luci 2(js+fw4+nft) 旧版本相对成熟,插件丰富,仅技术栈落后于时代; 新版加入了现代的特性,当然凌乱也进一步加剧,由于使用了新的技术栈,很多基于旧版本开发的插件将不再支持,也无人进行维护。 这一部分也说明国内外的使用场景并不一致,开发者和决策者都是新技术栈的推进者。有两个大版本的鸿沟自今仍在摇摆,决定了你使用的体验和不一致。这里不再细嗦,有需要的可以自行了解。 常用的固件有 QWRT/LEDE(也包括我们的 CatWrt)基本上是基于旧版来的; 例如主线 OpenWrt/immoralwrt,以及小鸡过河 Kwrt,iStoreOS 基本上是基于新版来的。 还有一些论坛上的自编译版本,以及某些博主发布的固件,尽量少去使用。 第一是缺少维护,第二是不稳定。 只有一些你决定懒,不想自己编译固件、不想使用在线工具自选构建固件的、固件缺少高级功能集成支持的,则才去选择论坛发布的。 机型 OpenWrt 理论上是所有设备都支持的,有的过于冷门没人做,有的是因为刷机方法过于复杂。 支持的机型大家以搜索: "XX OpenWrt" 为准,理论上约热门越有人适配。 这里硬路由刷机大部分分为 软刷,直接通过漏洞等方式执行命令刷入(较通用,因机型难度而不同) 拆机,通过 TTL 转 USB 模块执行命令刷入(较复杂,需要拆机购买工具) 直刷,直接可以 U-Boot 刷机(最简单,也极少) 这里我推荐是以 x86 “软路由” + AP 这样的组合,这样比较吃经济,适合不差钱或者有闲置设备不想折腾的, 优点是灵活,AP 你可以任意挑选,OpenWrt 固件不会受制于人,永远都有人支持。 如果你是 OpenWrt 资深玩家,也会有一些较高性价比的 OpenWrt 设备,他们支持软刷,固件也比较完善,兼顾日常使用。 目标 说到这里相信你也对 OpenWrt 有一定的了解,可以给自己尝试定一个目标,你想去完成什么?我是否满足与折腾 OpenWrt,是否想去尝试入门 Linux 基础。 就以我说起吧:我以前就是资深的 Windows 用户,家里路由器也是很差的,我后来换了相对现代的电脑后也开始更换路由器,想在路由器满足特殊的效果。折腾了诸如老毛子,潘多拉的硬路由固件,也开始了解爱快,RouterOS,pfSense 等软路由系统, 最后出于 “爱快在某个版本丢包不稳定后,将软路由设为主路由” 作为日常使用 后面我发布了我玩软路由编译的固件 CatWrt,是基于 Lean's lede 编译的 OpenWrt 再发行,随后一步一步一个脚印,开始学习日常使用 GNU/Linux,认识了很多大佬,在闲暇时间获得相对的享受,相信你也大概能看出个大概吧。 “没什么,就是感觉好玩。” 正如标题所说,这是个开放性的问题,也欢迎来一起聊聊你对相关问题的看法。 看完了?说点什么呢

2025/9/16
articleCard.readMore

CatWrt.v25.8.amd64 一年磨一剑稳定版固件再更新,修复和新增校园网需求

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/network/CatWrt.v25.8.amd64 前言 之前制作的 OpenWrt 固件深受大家欢迎,我也深入了解了 Linux 的路由需求,将每个群体都照顾到, 你用的固件可以满足家庭稳定的网关需求,也可以放在实验室挂载服务,也可以将它用于寝室搞校园网。 但是请老版本用户完整看一遍避免踩坑!本人也是用了有大半个月了,没什么问题。 ✨Highlight 基础系统,标准功能,高扩展性,水桶级别固件,Pro 级底层。 系统没有魔改,稳定性更好,支持多种加速流量卸载(Flow Offloading/Shortcut-FE)提升小包转发能力。 最新 Linux Kernel v6.12.38,基于 LEDE@3fda82b,基于 CatWrt_base 固件可用空间: 550M 新增 A 厂主题(不能说),分区扩容插件,easytier,ikoolproxy,clouddrive2,雷神 新增单程序包 openlist,cloudflared,adguardhome,以及 bind-dig 预装组件,btop 新增校园网组件插件支持,支持: minieap,mentohust,UA3F,UA2F,rkp-ipid,netkeeper 新增 cattools 预装 更新各类插件 修复 rndis 组件缺少的问题,可以使用 USB WAN 功能 修复 Python3 基础环境问题,支持 PIP,requests 修复 NFS 缺少的组件 移除对 Docker 的预装,更省空间 禁用了 coremark 自动跑分,给垃圾软路由更好的保护(可能没生效) 移除不支持 qbittorrent-ee 增强版,需手动下载旧版本 实验性新增 SFP 模块的支持,部分需要额外安装驱动 实验性新增 luci2 + firewall4 支持,预装 lua 18.06 版 luci + fw3 主页 A 厂新主题 默认 CatWrt 默认 IP: 192.168.1.4 账号: root 密码: password CatWrt 软件源默认不开启,需要按照教程配置 DDNS-GO 默认账号密码和上边一样 更新 如果你使用的 CatWrt 的 x86_64(amd64) 版本的固件可以通过 Cattools 来更新固件。 本次固件更新将会 密码重置为 password 清除你安装的软件包(包含插件,依赖),更新后为固件自带插件 ADH 配置重置(如果你没有使用不会影响) 挂载点被还原为固件 Docker 被清除 如果你不想使用 Cattools 也可以通过这个命令来升级,这个的样例命令是不带 Ghproxy,请你注意。 使用 EFI 引导的固件,使用该命令 👇 sysupgrade https://github.com/miaoermua/CatWrt/releases/download/v25.8/CatWrt.v25.8.amd64-squashfs-combined-efi.img.gz 使用 BIOS 引导的固件,使用该命令 👇 sysupgrade https://github.com/miaoermua/CatWrt/releases/download/v25.8/CatWrt.v25.8.amd64-squashfs-combined.img.gz 缺点 安装插件的时候会报错 目前发现不会影响正常使用,也能够成功安装正常使用。 //usr/lib/opkg/info/luci-theme-asus.postinst: .: line 2: can't open '/etc/uci-defaults/30_luci-theme-asus': No such file or directory Installing luci-app-store (0.1.29-5) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/luci-app-store_0.1.29-5_all.ipk Installing xz-utils (5.4.1-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/xz-utils_5.4.1-1_x86_64.ipk Installing liblzma (5.4.1-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/liblzma_5.4.1-1_x86_64.ipk Installing xz (5.4.1-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/xz_5.4.1-1_x86_64.ipk Installing libacl (2.3.1-2) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/libacl_2.3.1-2_x86_64.ipk Installing libbz2-1.0 (1.0.8-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/libbz2-1.0_1.0.8-1_x86_64.ipk Installing bzip2 (1.0.8-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/bzip2_1.0.8-1_x86_64.ipk Installing tar (1.34-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/tar_1.34-1_x86_64.ipk Installing luci-lib-xterm (4.18.0) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/luci-lib-xterm_4.18.0_all.ipk Installing script-utils (2.38.1-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/script-utils_2.38.1-1_x86_64.ipk Installing coreutils-stty (9.3-1) to root... Downloading http://10.0.0.228:1480/packages/x86_64/packages/coreutils-stty_9.3-1_x86_64.ipk Installing taskd (1.0.3-2) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/taskd_1.0.3-2_all.ipk Installing luci-lib-taskd (1.0.23) to root... Downloading http://10.0.0.228:1480/packages/x86_64/base/luci-lib-taskd_1.0.23_all.ipk Configuring libbz2-1.0. Configuring libacl. Configuring liblzma. Configuring luci-lib-xterm. Configuring bzip2. Configuring xz-utils. Configuring xz. Configuring tar. Configuring script-utils. Configuring coreutils-stty. Configuring taskd. Configuring luci-lib-taskd. Configuring luci-app-store. //usr/lib/opkg/info/luci-app-store.postinst: .: line 2: can't open '/etc/uci-defaults/luci-app-store': No such file or directory 自带的 tailscale 版本无法正常使用,但是使用 tailscale update 更新一下就好了,强制使用将导致断网需要设备上也下一个 tailscale 才能访问路由器后台。 软件源说明 有很多人不知道我们的软件源是需要单独配置的,因为服务器流量和分流我们都要照顾到,不能给太大压力了。第一是没钱,第二是分流并不是长久之计。 固件是可以安装编译好的,但未预装集成的插件、组件、内核模块。如需请参考以下博文下的👇 ## 教程 软件源可以用免费的服务,以及服务器部署的,当然也可以自己部署。这里就不一一展开了,感兴趣的可以查看我的教程。 替换前 # Default feeds are provided by the source code. # To use CatWrt feeds, please use 'cattools' command # or refer to blog: miaoer.net src/gz openwrt_core https://mirrors.tencent.com/lede/releases/24.10.2/targets/x86/64/packages src/gz openwrt_base https://mirrors.tencent.com/lede/releases/24.10.2/packages/x86_64/base src/gz openwrt_luci https://mirrors.tencent.com/lede/releases/24.10.2/packages/x86_64/luci src/gz openwrt_packages https://mirrors.tencent.com/lede/releases/24.10.2/packages/x86_64/packages src/gz openwrt_routing https://mirrors.tencent.com/lede/releases/24.10.2/packages/x86_64/routing src/gz openwrt_telephony https://mirrors.tencent.com/lede/releases/24.10.2/packages/x86_64/telephony vvv 替换后 src/gz openwrt_core http://10.0.0.228:1480/targets/x86/64/packages src/gz openwrt_base http://10.0.0.228:1480/packages/x86_64/base src/gz openwrt_luci http://10.0.0.228:1480/packages/x86_64/luci src/gz openwrt_packages http://10.0.0.228:1480/packages/x86_64/packages src/gz openwrt_routing http://10.0.0.228:1480/packages/x86_64/routing src/gz openwrt_telephony http://10.0.0.228:1480/packages/x86_64/telephony 教程 自己部署本地软件源(非必须) 1 主路由快速配网教程 2 在 PVE 上安装 在 群晖 DSM 上安装 在 物理机/VMware 上安装 其他教程请参考 👇 ## 帮助 下载 请勿将固件用于非法用途,用户使用导致的问题与本人无责。 Github releases | 123 云盘 | 百度云盘 123 云盘、百度云盘提取码: miao 如不知道下载哪个文件,请参考 3 帮助 赞助,加群,部分教程 👇 4 1: https://www.miaoer.net/posts/network/caddy-deploy-catwrt-repo 2: https://www.miaoer.net/posts/network/quickstart-catwrt 3: https://www.miaoer.net/posts/blog/format-openwrt 4: https://www.miaoer.net/posts/blog/guide 看完了?说点什么呢

2025/8/6
articleCard.readMore

OpenWrt(CatWrt) 开启 USB 热点功能解决临时断网解燃眉之急

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/blog/openwrt-usb-hotspot 答应大家都 CatWrt.v25.8.amd64 BETA 版本弄好热点功能,带大家如何使用这个功能。 这个是基于 USB 的 RNIDS 驱动,也就是和你宽带断网用手机插 USB 到电脑开启的 “USB 共享网络” 是一个东西。 只不过我们将用网范围扩展到家庭网络中,也可以将 USB WIFI 热点棒子插到 OpenWrt(CatWrt) 实现 OpenWrt 临时 “使用流量上网”。 准备 OpenWrt 需要安装(安卓、苹果都支持)这些依赖,如果你是 CatWrt.v23.8.amd64 或者 CatWrt.v25.8.amd64 BETA 版本,就可以忽略该安装准备。 因为我已经给大家预装好了这所有的依赖,如果是 CatWrt.v23.8.mt7621 带 USB 的需要自行配置软件源安装,其他 OpenWrt 需要自行安装。 opkg install kmod-usb-net-rndis kmod-nls-base kmod-usb-core kmod-usb-net kmod-usb-net-cdc-ether kmod-usb-net-ipheth libimobiledevice-utils usbmuxd kmod-usb2 kmod-usb3 虚拟机 如果你的 OpenWrt 是安装到 PVE/EXSi 虚拟机平台上的,需要将 USB 设备直通给 OpenWrt(CatWrt)。 例如 PVE: 给虚拟机添加 USB 设备直通 添加成功 设备支持 支持开启 USB 热点的设备 较新的安卓手机、苹果手机,因为旧的手机也有可能是不支持的,具体需要依据你的设备支持情况 随身 WI-FI 这种可以随身的 WI-FI 热点棒子,几十块钱一个,也可以上几百块那种带电源的随身 WI-FI 开启 USB 热点 需要一根带数据功能的数据线,注意插充电线是没有任何反应的。 手机需要开启 “USB 网络共享” 功能,并且打开蜂窝数据网络(就是打开流量)。 这里拿都是 5G 手机 搭载 MIUI 14 的 Mi10 和搭载 HyperOS 2.0 的 Mi14 做为演示; IOS 设备需要在 设置 > 个人热点 中开启相关选项,这里没有 iPhone 据说需要开启 “仅 USB” 并且允许所有的弹窗即可。 配置网络接口 这里需要进入 OpenWrt(CatWrt) 后台进行操作,打开 网络 > 接口 > 创建新接口 因为我这里虚拟机已经直通 USB 设备了,就可以看到一个 usb0 的设备,如果拔掉手机和软路由器的连接就不会出现。 需要勾选,我这里将他的 名字设为: Hotspot (可以自定义) 协议选择: DHCP 客户端 接口选择: usb0 然后点提交,进入接口详细配置界面,选择 防火墙设置 将 Wan 创建/分配防火墙区域给 USB Hotspot 接口。 如果你是旁路由,需要进入 系统 > 防火墙 > 添加 新增一个为 Lan > USB Hotspot 的区域, 也就是将旁路由临时改为类似于主路由的方法这里不再赘述,防火墙配置错误会导致无法联网。 然后再保存并应用 优先级 如果你的光猫连接的网络有问题,临时切换到 USB Hotspot 建议将 Wan 网口拔出,不然联网可能会有问题,陷入不必要的调试浪费时间。 结束 配置完成后可以看到 USB Hotspot 接口,已经是红色的标识了(Wan 区域防火墙),并且已经产生数据流量了,接口连接时间也到位,都是正常的。 打开我们的博客也可以正常打开,如果后面不需要了,直接将 USB 设备拔掉即可,接口也可以不用删。 但是不需要了,请务必及时拔出,避免消耗过多流量! 看完了?说点什么呢

2025/7/22
articleCard.readMore

站点持续收到攻击

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/notes/43 近日发现“江苏扬州(电信)”,"山东烟台" 异常流量和请求激增,目前已确定是针对博客博主的针对性刷流,已持续打流一个月。想着几下子而已就搞定了,没想到攻击者更换了多种方式,即便是限流也能被消耗大量流量,本站运营收到侵害。 如攻击周期内无法正常打开博客,还请你见谅。 为了保持本站 IPv6 可以被访问,因此我们对来自江苏扬州的 IPv6 地址进行了封禁处理(无法访问资源): 240e:e9:b00c::/64 240e:978:91f::/64 以此我们定制了特定的安全规则,尽量做到精确抑制恶意流量,保证大家良好快速的浏览需求。如安全规则影响到你正常访问,无法打开博客,请发送邮件到 miaoermua@gmail.com 告知我,我将重新评估和回复你的邮件。 如果你不知道你的 IPv6 地址是否包含在内,可以使用 https://ipw.cn 进行查询,这是以下收到限制的完整 IP 地址,假如攻击持续不排除会进行进一步的处理。 240e:e9:b00c::/64 240e:978:91f::/64 58.220.4.0/24 58.220.40.0/24 61.147.92.0/24 123.169.44.0/24 140.75.192.0/23 144.255.34.0/23 180.119.118.0/23 43.254.192.0/23 # 江苏省 扬州市(miaoer) 218.91.0.0/16 183.210.92.0/24 114.230.138.0/24 # 山东省 烟台市 芝罘区 123.169.45.0/24 182.34.108.0/24 182.34.108.0/22 182.34.2.0/22 非常感谢 Tencent edgeone 提供的平台,在根据我的 CatWrt 申请来的 EO 兑换码,送两个兑换码。感谢所有对博客有支持的人! 评论区回复:“我要兑换码” 即可参与抽奖,每人限一次回复。根据真实需要:你的网站+ IP +直接在评论填写的邮箱地址发放,7 月 18 发码~ 看完了?说点什么呢

2025/7/14
articleCard.readMore

在自己电脑或服务器部署 CatWrt 软件源,使用 Caddy 部署

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/network/caddy-deploy-catwrt-repo 前言 之前用的 ngnix 因为那个 .bat 文件确实是不太好用,所以我觉得重新写一个,旧的不推荐大家使用哈。 另外最近搞到一台免费 VPS,原来的仓库太重啥东西都塞里面。我把之前发行过的旧版本,单独存起来 https://github.com/CatWrt/history-packages 所以本期适合: 没有网,但是可以借别人电脑下我们的部署工具,部署好软件源安装插件路由器完成验证再联网的校园网用户。 追求本地部署,速度至上,不忍心白嫖 miaoer 的服务 本期提供了三种方法部署: 离线部署(Windows)推荐使用 Win11/10 在线部署(Linux PC) Docker 部署 (Linux Server/OpenWrt) 这次更换 Caddy 这是一个比较方便的 HTTP 服务器。 准备 Caddy 如果你是 Windows 用户: 官网 - 下载 Caddy | 备用 - 蓝奏云 密码: aqmn Linux 请无视本章,完成下面步骤。 准备 CatWrt 软件源包 确认版本 这里有两个版本区别,如果你是在👇下面这个博客下载的包 1 并且打开 CatWrt 路由器后台查看版本号,校对过和这个博客一样版本号的就是最新的。 如果你确定自己和这个博客,版本不一致推荐你更换最新版本,或者使用历史版本软件包(老版本),或者使用 cattools 的检查更新功能确定当前系统版本号。 下载包 最新 Github 以下平台需要登录或需要会员,更新不及时 123云盘 | 百度云盘 提取码/密码: miao 历史版本软件包(老版本) Github 以下平台需要登录或需要会员,更新不及时 Gitee 解压 需要将 CatWrt-main.zip 解压,无论你是拖出来还是直接右键解压都会有一个文件夹,不要动他,除非你的解压软件会将文件夹再套一层。 使用文件管理器解压 使用 7zip 解压 我这里没有更改浏览器默认下载路径,所以是在 C 盘 Users\YOUUSERNAME\Downloads\ 文件结构是这样的: C:\Users\Cat\Downloads\ > tree ## 浏览器默认下载位置 C:. ├─CatWrt-main.zip ## 压缩包 ├─CatWrt-main ## 软件源文件夹 │ ├─x86_64 ## 设备架构 │ ├─mt7621 │ └─ ... ## 其他文件 Linux 请无视此章 运行 Caddy 服务器 Windows 运行方式 Linux 请无视此章 处理路径和命令 我这里下载的 Caddy 也是在默认路径,所以我们这里右键这个 .exe 在菜单处选择:"复制路径" 可以得到 "C:\Users\Cat\Downloads\caddy_windows_amd64.exe" 选择刚刚解压好的 CatWrt-main 文件夹,确认里面就是各个架构的目录结构,返回上级目录选择这个 CatWrt-main 文件夹,右键菜单选择 "复制路径",可以得到 "D:\CatWrt-main" 把这两个双引号去掉,处理一下命令 Caddy路径 + file-server --root + 软件包目录路径 + --listen :1480 --browse 例如: C:\Users\Cat\Downloads\caddy_windows_amd64.exe file-server --root C:\Users\Cat\Downloads\CatWrt-main --listen :1480 --browse 运行命令 运行 Windows 的终端,你可以用开始菜单里面的 "终端/Terminal" 也可以右键选择 "打开终端/Open in Terminal" 亦或者在文件管理器的目录路径处单击,输入 cmd 回车,就打开终端了。将命令右键复制,右键粘贴到终端处回车。就成功运行 Caddy 服务器了,使用过程中不能关闭这个终端或使用 [ctrl + c] 不然会退出。 其他部署 在 Linux 桌面系统部署 首先需要安装 Caddy; apt install caddy ## Debian/Ubuntu pacman -S caddy ## Archlinux 需要在上方下载软件包压缩包,将 CatWrt-main.zip 解压得到 CatWrt-main 文件夹。这里就当你会使用 unzip 或者文件管理器中的解压缩工具,将解压的文件路径复制出来得到。 '/home/cat/Downloads/CatWrt-main' 将路径和命令结合,回车执行 caddy file-server --root '/home/cat/Downloads/CatWrt-main' --listen :1480 --browse 使用 compose 部署 适用于几乎所有 Linux 设备包括 OpenWrt,需要准备好 docker-compose; 新版本: CatWrt/docker-compose.yml 旧版本: history-packages/docker-compose.yml 建议新建一个目录,然后下载编排文件运行,当然你也可以导到 1Panel 里面管理,也可以把编排内容给到 1Panel,相信你会做的。 mkdir -p CatWrt-repo cd CatWrt-repo wget https://raw.miaoer.net/CatWrt/docker-compose.yml docker-compose up -d 使用 Docker 命令 适合没有安装 docker-compose 的 Linux 设备; 需要占用 1.5G 空间 docker run -d \ --name catwrt-repo \ --network CatWrt-network \ -e TZ=Asia/Shanghai \ -p 1480:80 \ --restart always \ miaoer/catwrt-repo:latest 最后修改 opkg 配置 比如我用的 CatWrt.v24.9.amd64 的版本,使用在线的软件源是这个域名加这个域名,具体可以参考: 为 CatWrt 扩展应用,插件安装指南全系通用 | miaoermua/cattools/tree/main/repo src/gz openwrt_core https://cfvercel.catwrt.eu.org/targets/x86/64/packages src/gz openwrt_base https://cfvercel.catwrt.eu.org/x86_64/base src/gz openwrt_luci https://cfvercel.catwrt.eu.org/x86_64/luci src/gz openwrt_packages https://cfvercel.catwrt.eu.org/x86_64/packages src/gz openwrt_routing https://cfvercel.catwrt.eu.org/x86_64/routing src/gz openwrt_telephony https://cfvercel.catwrt.eu.org/x86_64/telephony 获取你开启服务器电脑的 IP 地址,比如我这里连上了我们家的 WiFi。这里相信大家也会去知道自己电脑和服务器的 IP 不多赘述。 [cat@cat-ArchLinux ~]$ ip a # Linux 查询 IP 方法 ...... 3: enp42s0f3u1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether XX:XX:XX:XX:00:3f brd ff:ff:ff:ff:ff:ff altname enx00e04c68003f inet 10.0.0.223/24 brd 10.0.0.255 scope global dynamic noprefixroute enp42s0f3u1 # 插上 CatWrt 获取的 IP PS C:\Users\Cat\Desktop> ipconfig # Windows 查询 IP 方法 Windows IP 配置 以太网适配器 以太网 10: 连接特定的 DNS 后缀 . . . . . . . : lan ...... ...... IPv4 地址 . . . . . . . . . . . . : 10.0.0.30 # 插上 CatWrt 获取的 IP 子网掩码 . . . . . . . . . . . . : 255.255.255.0 默认网关. . . . . . . . . . . . . : fe80::6cff:f3ff:fe71:3f2c%27 10.0.0.4 IP 是: 10.0.0.233,修改为这样的 http 协议头注意不是 https, Windows/Linux 部署的端口是 1480; Docker 部署的端口新版本是: 1480 旧版本是: 1481。 稍微弄一下得到 src/gz openwrt_core http://10.0.0.233:1480/targets/x86/64/packages src/gz openwrt_base http://10.0.0.233:1480/x86_64/base src/gz openwrt_luci http://10.0.0.233:1480/x86_64/luci src/gz openwrt_packages http://10.0.0.233:1480/x86_64/packages src/gz openwrt_routing http://10.0.0.233:1480/x86_64/routing src/gz openwrt_telephony http://10.0.0.233:1480/x86_64/telephony 就可以放进 CatWrt 的 系统 - 软件包 - 配置 "发行版软件源" 里面了,将发行版软件源全部替换为这个。 然后在软件包处更新列表来更新索引,如果没找到就进 CatWrt 终端手动 opkg update 一下。 如果遇到无法使用可以尝试 rm /var/lock/opkg.lock 这个,为什么会出现这个问题是因为你之前使用其他软件源,会导致的。(也可以重启解决) 1: https://www.miaoer.net/posts/network/catwrt 看完了?说点什么呢

2025/7/8
articleCard.readMore

进群和常用教程链接

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/blog/guide 因为博客引用起来越来越多了,很多人来问博客目前很多教程,为了方便用户也方便我更新链接稍微做一下整理,以及方便大家交流。 群或频道 会定期更新进群链接,进群请不要发广告。 QQ 频道: https://pd.qq.com/s/191iy0z2r QQ 频道里面也可以进传统的 QQ 群,仅限进一个。因为 QQ 的群人数很容易满,当然 QQ 频道本身也可以用。 TG Guorp: https://t.me/miaoer_subscribe/92 TG 群链接这用的是我们的 TG 订阅号,通过分享的消息链接,动态更新群链接,这是我们拦截广告的一种手段,进群后你需要完成机器人验证。 教程 下面是整理出来常用的教程,都是经过时间精心制作的博客。 安装 CatWrt CatWrt 最新下载; 1 文件后缀定义; 2 脚本换源和工具箱 【脚本换源】工具箱集成多种功能; 3 脚本实际演示,方便熟悉流程; 4 手动换源和安装插件 【手动换源】CatWrt 换源,安装插件样例; 5 CatWrt 插件列表,常见问题; 6 周边教程 扩容 Overlay 分区,Docker 分区,挂载 SMB 教程; 7 校园网; 8 1: https://www.miaoer.net/posts/network/catwrt 2: https://www.miaoer.net/posts/blog/format-openwrt 3: https://www.miaoer.net/posts/blog/cattools 4: https://www.miaoer.net/posts/blog/cattools-step 5: https://www.miaoer.net/posts/network/catwrt-install-application 6: https://www.miaoer.net/posts/network/catwrt-applist 7: https://www.miaoer.net/posts/blog/expand-catwrt-openwrt-storage 8: https://www.miaoer.net/posts/network/college_network_sharing 看完了?说点什么呢

2025/7/1
articleCard.readMore

CatWrt(OpenWrt) 扩容可用空间,挂载硬盘当 NAS,Docker 分区

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/posts/blog/expand-catwrt-openwrt-storage 本期是结合已经在 x86_64 虚拟机或者物理机安装了 CatWrt 的用进行扩容操作 如果你不知道你需不需要扩容,那么我想你不必扩容,扩容属于一种高级选项,比如想扩容 overlay 安装其他插件使用,将剩余硬盘空间当作 NAS 使用,或者将空间划给 Docker 安装应用使用。 而且如果 CatWrt 更新扩容分区会失效,需要重新配置所以不建议扩容。 那先确定需求: CatWrt 默认可用空间还是蛮大的,不太需要给插件扩容 Overlay 分区,除非不够大; 如果想将剩余硬盘空间当作 NAS 使用,那么需要分区挂载使用; 如果想将剩余硬盘空间划给 Docker 使用,那么需要分区挂载使用。 本期教程使用的 PVE 虚拟化环境,安装好 CatWrt.v24.9.amd64 进行演示。 确定分区 教程将以 Overlay 分区(或根分区)为 /dev/sda3 即 sda3 分区 Docker 分区为 /dev/sda4 即 sda4 分区 NAS 分区开启 SMB 服务,做轻 NAS 功能,为 /dev/sda5 即 sda5 分区 教程里面的空间仅为演示而设,实际使用请根据自己需求进行分区。 在确定好需求后,扩容虚拟机硬盘空间,这里使用的 PVE 假如你使用的 ESXi 流程很类似这里就不列举了。 选择虚拟硬盘 调整大小 成功扩容虚拟机硬盘 扩容 扩容 overlay 或扩容根分区,二选一。 推荐扩容 Overlay 分区,因为根分区扩容会失效,需要重新配置。 1 2 分区 需要进 CatWrt(OpenWrt) 终端进行操作,这里方便我就使用了 TTYD。 3 CatWrt login: root Password: BusyBox v1.36.0 (2023-07-05 11:34:20 UTC) built-in shell (ash) _____ _ _ | |___| |_ _ _ _ ___| |_ | --| .'| _| | | | _| _| |_____|__,|_| |_____|_| |_| W I R E L E S S F R E E D O M ====================================== CatWrt.v24.9.x86_64 Blog: miaoer.xyz OpenWrt: Lean source r6781-062d85f8f ====================================== root@CatWrt:~# cfdisk 进入 cfdisk 已经看到按照扩容 Overlay 的教程,我这里设的 3G 已经成功扩容。 我们将光标滚动到 Free space 那边,键盘方向 [↓] 鼠标滚轮也可以操作。 底下默认选择是 [ NEW ] 新建分区(如果不小心按到别的可以按键盘的 ↔️ 方向控制) 然后设一个 7G 的大小给 Docker 分区(sda4) Partition size: 7G 然后回车,继续操作。回车以后光标在 /dev/sda128 了,需要将光标再次指向 Free space,然后回车。(默认还是 [ NEW ]) 将剩下的 20G 演示空间分掉,默认是当前硬盘最大可用空间,当作 SMB 挂载。(sda5) Partition size: 20G 回车以后,将底栏从 [ Quit ] 选择 为 [ Write ],回车。 然后确认,输入 yes 回车。 Are you sure you want to write the partition table to disk? yes 底栏从 [ Write ] 选择为 [ Quit ],回车,退出 cfdisk。 格式化 现在 sda4 和 sda5 已经成功分区。 root@CatWrt:~# fdisk -l Disk /dev/sda: 30.78 GiB, 33051410432 bytes, 64553536 sectors Disk model: QEMU HARDDISK Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 137AC110-633B-AE85-3AB1-39628F138200 Device Start End Sectors Size Type /dev/sda1 512 33279 32768 16M Linux filesystem /dev/sda2 33280 1638911 1605632 784M Linux filesystem /dev/sda3 1640448 7931903 6291456 3G Linux filesystem /dev/sda4 7931904 22611967 14680064 7G Linux filesystem /dev/sda5 22611968 64552959 41940992 20G Linux filesystem /dev/sda128 34 511 478 239K BIOS boot Partition table entries are not in disk order. root@CatWrt:~# 格式化 sda4 和 sda5 到 ext4 mkfs.ext4 /dev/sda4 mkfs.ext4 /dev/sda5 输出结果没问题,没有错误。 root@CatWrt:~# mkfs.ext4 /dev/sda4 mke2fs 1.47.0 (5-Feb-2023) Discarding device blocks: done Creating filesystem with 1835008 4k blocks and 458752 inodes Filesystem UUID: be02d5fb-f133-4cd2-9ae4-49a4758dded6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done root@CatWrt:~# mkfs.ext4 /dev/sda5 mke2fs 1.47.0 (5-Feb-2023) Discarding device blocks: done Creating filesystem with 5242624 4k blocks and 1310720 inodes Filesystem UUID: 23290300-01dc-4a6a-ae7d-0d3a5ab1f0a8 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done root@CatWrt:~# 挂载 Docker 分区 进入 CatWrt 后台,系统 - 挂载点,选择 生成配置 就可以看到我们刚刚新建的两个分区(sda4 & sda5)出现了。 我们选择刚刚创建好的 sda4 然后选择挂载为 /opt Docker 分区,进行 修改 保存并应用,就可以看到 Docker 概览里面已经成功认出配置的空间大小了。 挂载 NAS 分区 进入 CatWrt 后台,网络存储 - 网络共享 在共享目录菜单里,选择添加 -名字: NAS -目录: /mnt/sda5 -可预览: 开启 -只读: 关闭 中间的部分不用动 -创建权限掩码 & 目录权限掩码: 0777 然后到终端里面输入 smbpasswd -a root 更改 SMB 服务中的 root 密码, 输入密码时不可见。 root@CatWrt:~# smbpasswd -a root New SMB password: Retype new SMB password: Added user root. root@CatWrt:~# 然后将编辑模板里面的 invalid users = root 删掉允许 root 登录 ## set invalid users invalid users = root 通过 系统 - 启动项 找到 sabma4 重启,或者通过命令 /etc/init.d/samba4 restart 重启 SMB 服务。尝试连接 SMB Windows 在文件浏览器中的路径处输入 \\192.168.1.4 这里的 \ 是 SMB 路径后面是你的 CatWrt(OpenWrt) IP。 用户: root 密码就是你刚刚在 smbpasswd 设置的密码。 输入协议头和 IP 输入用户和密码 成功创建文件测试完成 教程结束如果遇到问题可以评论留言,特别是 SMB 部分,讲实话我也折腾了有一会,目前只能把 root 允许登录来登录 SMB。 建议大家灵活使用,博客不是教条,根据需求和现有的结合起来。 1: https://www.miaoer.net/posts/network/openwrt-overlay 2: https://www.miaoer.net/posts/network/expansion-overlay 3: https://www.miaoer.net/posts/blog/ssh-connection-to-openwrt 看完了?说点什么呢

2025/6/30
articleCard.readMore

关于主站软件源换域名,以及更新的问题

该渲染由 Kami API 生成,可能存在排版问题,最佳体验请前往:https://www.miaoer.net/notes/42 关于 CatWrt 更新,会在最近忙完路由器评测后陆续开始,可能会检查一下上游的更新,最近比较上游逐渐替换掉旧的防火墙之类的。我这里保持观望态度,尽可能满足自己的需求,如果上游确定切换防火墙,我这里大概率会选择停更不重复造轮子。 最近清理一下服务器,我已经从 miaoer.xyz 切换到 miaoer.net 了,旧域名时月不久了,逐渐放弃使用。 因为软件源这里我们之前使用的是 repo.miaoer.xyz ,现在替换到使用 Caddy 部署的带有文件预览器的新域名上。 https://raw.miaoer.net 旧域名处理 至于 repo.miaoer.xyz(旧域名) 我会在该日记博客发出后立即停用,以缓过劲完成剩下的任务。感谢大家的理解! 还有其他的 repo.miaoer.net,service.miaoer.xyz,service.miaoer.net,catwrt.eu.org(不影响分流) 请将主站软件源切换到分流软件源,主站软件源只是方便不能访问分流软件源的选择。建议大家自愿赞助支持,以便我们有足够的资金支持服务器的正常运行。 部分教程链接没有替换的,可以提醒我进行替换。 你需要做的 使用 Cattools 切换软件源 手动替换发行版软件源为 https://raw.miaoer.net/CatWrt/ 有任何问题可以随时联系我,评论。 点击链接加入腾讯频道【喵二の交流】:https://pd.qq.com/s/191iy0z2r TG Group: https://t.me/miaoergroup 看完了?说点什么呢

2025/6/29
articleCard.readMore