首页
语音便捷记账
开发服务
关于我
投稿
搜索
1
Android 系统级去广告方案全攻略:从 DNS 到 AdGuard 全覆盖
297 阅读
2
Flow Launcher:Windows上的Spotlight级快速启动器
280 阅读
3
Files:让Windows文件管理焕然一新
242 阅读
4
0 A.D. - 免费开源的古代战争即时战略游戏
231 阅读
5
Super Productivity:开发者的全能任务管理工具
204 阅读
默认分类
软件推荐
建站教程
服务器运维
自建服务
域名专题
深度指南
热点新闻
安卓
windows
登录
搜索
标签搜索
Windows
工具
跨平台
安全
Android
Linux
效率
开源
命令行
服务器
Mac
硬件
清理
开发
建站教程
优化
截图
视频
Nginx
AI
老郑的博客
累计撰写
369
篇文章
累计收到
11
条评论
首页
栏目
默认分类
软件推荐
建站教程
服务器运维
自建服务
域名专题
深度指南
热点新闻
安卓
windows
页面
语音便捷记账
开发服务
关于我
投稿
搜索到
24
篇与
的结果
2026-10-23
Celeste:开源云文件同步,连接所有云盘
Celeste 是 Rust 编写的开源云文件同步客户端,支持 Dropbox、Google Drive、OneDrive、Nextcloud、WebDAV 等。不需要安装各个云盘的官方客户端(这些客户端常驻后台、占用内存),Celeste 一个应用管理所有云盘。比 RClone 更侧重 GUI 体验,比官方客户端更轻量和开源。功能双向同步:本地文件夹 ↔ 云盘,检测本地修改自动上传,云端修改自动下载。选择性同步:指定子目录同步,不需要把整个云盘下载到本地。多账号同云盘(如两个 Google Drive 账号)。加密上传(类似 RClone crypt 但通过 GUI 配置)。Linux 原生支持,GTK4 界面。对比RClone:功能最全(支持 40+ 云存储),但纯命令行。Celeste:GUI 优先,操作直观,但支持的云存储数量目前有限。两者可以互补——RClone 做自动化和脚本调度,Celeste 做日常手动操作。Celeste:此内容需要评论后才能查看哦 (*^▽^*)
2026年10月23日
4 阅读
0 评论
0 点赞
2026-10-17
Jellyfin:开源媒体服务器,替代 Plex 和 Emby 的自由之选
Jellyfin 是开源媒体服务器,Emby 的 GPL 分叉版本,完全免费无任何付费功能。可以安装在你家里的任何一台电脑/NAS/树莓派上,把你的电影、电视剧、音乐、照片集中管理,然后通过浏览器或客户端在任何设备上观看。核心功能自动刮削元数据:导入媒体文件后,Jellyfin 自动从 TMDB(电影数据库)和 TVDB(电视剧数据库)拉取海报、简介、演员列表、评分等信息。自动按照文件夹结构整理成媒体库——电影库、电视剧库(支持季/集识别)、音乐库、照片库。实时转码:如果播放设备不支持视频编码格式,Jellyfin 服务器端实时转码为设备兼容的格式(需要硬件加速支持的 GPU 如 Intel QuickSync/NVIDIA NVENC 以降低 CPU 负载)。多用户:每个家庭成员独立账号,各自的播放进度和收藏。与 Plex/Emby 对比Plex:UI 最精致,但有大量付费墙(HDR 色调映射、硬件加速转码、离线下载都需要 Plex Pass $5/月)。Emby:类似 Plex 但更注重自建用户,硬件转码需要 Premiere $5/月。Jellyfin:完全免费开源,所有功能无限制使用,包括硬件加速转码。缺点:UI 和客户端生态不如 Plex 完善(没有官方 PS5/Xbox 客户端)。设置比 Plex 多一些手动工作。Jellyfin:此内容需要评论后才能查看哦 (*^▽^*)
2026年10月17日
18 阅读
0 评论
0 点赞
2026-10-11
Carla:开源音频插件宿主,搭建虚拟音频工作站
Carla 是开源音频插件宿主(Plugin Host),支持加载 VST、VST3、LV2、AU 等各种音频插件格式。可以把它理解为一个虚拟的"音频机架"——把不同的音频处理插件连接成音频处理流水线。跨平台支持 Linux/Windows/macOS。使用场景把系统音频输出路由到 Carla → 通过均衡器、压缩器、混响等插件实时处理 → 输出到耳机。实现系统级全局音频效果增强(如全局均衡器补偿耳机频率响应缺陷)。加载虚拟乐器插件(合成器、钢琴、鼓机)→ MIDI 键盘弹奏 → Carla 处理音频 → 输出录音。直播时音频预处理:降噪 → 压缩 → 均衡 → 混响 → 推流软件。Patchbay 模式Carla 的 Patchbay(跳线盘)模式是核心功能:所有插件以节点方式可视化,任意连接的输入输出(将插件 A 的音频/MIDI 输出连到插件 B 的输入)。可以创建复杂的并行音频处理链——一条链路加混响、另一条链路干声,最后混合输出。配置可以保存为项目文件,之后一键恢复整个音频工作环境。Carla:此内容需要评论后才能查看哦 (*^▽^*)
2026年10月11日
25 阅读
0 评论
0 点赞
2026-10-09
Sunshine + Moonlight:开源游戏串流,比 Steam Link 画质更好
Sunshine 是开源游戏串流服务端(host),Moonlight 是客户端。它们一起实现 NVIDIA GameStream 协议的替代方案——把你的游戏 PC 的画面实时串流到手机、平板、笔记本、电视等任何设备上,延迟低到可以玩竞技游戏。Sunshine 服务端安装在你要玩游戏的那台电脑上(Windows/Linux/macOS)。支持 AMD、Intel、NVIDIA 显卡(不像 GameStream 仅限 NVIDIA)。自动发现游戏并添加,也支持手动添加任意程序。支持 HDR 串流、5.1/7.1 环绕声音频。支持高达 4K 120fps 串流。Moonlight 客户端安装在你的任意设备上:Windows/macOS/Linux/Android/iOS/Apple TV/ChromeOS/Fire TV。连接 Sunshine 主机后,画面串流到客户端,键鼠或手柄输入回传到主机。支持触控屏虚拟手柄(手机上操作 PC 游戏)。为什么不用 Steam LinkSunshine+Moonlight 画质更优(HEVC 编码,带宽效率高),延迟更低(比 Steam Link 低 5-10ms),不依赖 Steam 客户端(可以串流桌面、非 Steam 游戏、任何程序)。缺点是初始设置比 Steam Link 多一些步骤——需要在路由器上做端口映射(或 VPN)才能从外网串流。Sunshine:此内容需要评论后才能查看哦 (*^▽^*) Moonlight:此内容需要评论后才能查看哦 (*^▽^*)
2026年10月09日
31 阅读
0 评论
0 点赞
2026-10-08
Resilio Sync:通过 BitTorrent 协议同步文件的高级替代
Resilio Sync(前 BitTorrent Sync)是通过 P2P BitTorrent 协议同步文件的商业软件。和 Syncthing 原理类似,但 Resilio Sync 的算法更成熟、NAT 穿透能力更强。个人免费版支持同步任意数量的文件。工作原理选择一个文件夹 → 生成读写或只读密钥 → 把密钥分享给其他设备 → 这些设备加入后,文件夹内容在所有设备间同步。使用 BitTorrent 协议,有多台设备时同步速度更快(越多设备参与交换,速度越接近 BitTorrent 下载速度)。安全性:所有传输 AES-128 加密。密钥就是唯一的访问凭证,不要泄露。可设置过期时间和批准制——新设备加入需管理员手动批准。对比 SyncthingResilio Sync 的优势:NAT 穿透成功率更高(大量企业客户反馈的数据),GUI 更友好,支持选择性同步(只同步需要的子目录)。Syncthing 的优势:完全开源(可审计代码)、不依赖任何商业公司。两个工具总体功能类似,选哪个主要看你更信任社区还是商业公司。追求极端隐私和自由选 Syncthing,追求稳定和易用选 Resilio Sync。Resilio Sync:此内容需要评论后才能查看哦 (*^▽^*)
2026年10月08日
34 阅读
0 评论
0 点赞
2026-09-22
Syncthing:点对点文件同步,不依赖云端的同步方案
Syncthing 是点对点(P2P)文件同步工具,不开源云端的 Dropbox 替代方案。你的文件不经过任何第三方服务器,直接在设备之间加密传输。支持 Windows/macOS/Linux/Android(iOS 第三方客户端 Möbius Sync)。工作原理每台设备安装 Syncthing → 设备间交换设备 ID 并互相授权 → 选择要同步的文件夹添加到 Syncthing → 选择哪些设备可以访问这个文件夹 → 文件在设备间自动同步。设备不需要在同一局域网,通过全球发现服务器和 NAT 穿透自动建立连接(发现服务器只用于协助建立连接,不传输文件数据)。如果所有设备都在同一局域网 → 设置中关闭全球发现和 NAT 穿透(纯局域网模式,更安全)。对比云盘特性SyncthingOneDrive/Dropbox 存储上限你的硬盘多大就多大按套餐付费 隐私文件不经过第三方存在服务商服务器 离线局域网直连极快依赖互联网 版本历史支持(本地存储)支持(云端存储) 选择性同步支持(按文件夹)支持(按文件) 多端同时在线所有设备都是平等的客户端→服务器→客户端缺点:需要至少两台设备同时在线才能同步。不像云盘有服务器 24 小时运行。可以用树莓派或 NAS 作为"始终在线的中继设备"解决这个问题。Syncthing:此内容需要评论后才能查看哦 (*^▽^*)
2026年09月22日
48 阅读
0 评论
0 点赞
2026-08-03
自建图床:兰空图床 Lsky Pro 搭建指南
## 图床是什么写博客需要插图片,用微博图床不稳定,用 SM.MS 受制于人。自建图床最靠谱。兰空图床(Lsky Pro)是国内最流行的开源图床程序。## 部署与存储策略支持本地存储和云存储(阿里云 OSS、腾讯云 COS、AWS S3、Cloudflare R2 等)。强烈推荐 Cloudflare R2:10GB 免费,不收外网流量费。## PicGo 配合配置 PicGo 的 lsky-pro 插件后,截图→上传→粘贴链接一气呵成。支持水印、自动压缩、鉴权等功能。搭好图床后,写 Markdown 贴图再也不用找外链。
2026年08月03日
92 阅读
0 评论
0 点赞
2026-07-31
自建 RSS 阅览器:FreshRSS + RSSHub 黄金组合
## RSS 为什么不过时算法推荐让你困在信息茧房里,只看得到平台想让你看的内容。RSS 让你自己决定信息来源,没有算法干扰,没有广告轰炸。FreshRSS 是最漂亮的自建 RSS 阅读器,配合 RSSHub 可以订阅几乎所有网站。## FreshRSS 部署```yaml services: freshrss: image: freshrss/freshrss:latest container_name: freshrss restart: unless-stopped ports: - "8088:80" volumes: - ./data:/var/www/FreshRSS/data - ./extensions:/var/www/FreshRSS/extensions environment: - TZ=Asia/Shanghai - CRON_MIN=3,33 ```## RSSHub 部署```yaml services: rsshub: image: diygod/rsshub:latest container_name: rsshub restart: unless-stopped ports: - "1200:1200" environment: - NODE_ENV=production - CACHE_TYPE=redis - REDIS_URL=redis://redis:6379 ```RSSHub 支持数千个网站:GitHub Trending、知乎热榜、B站 UP 主动态、V2EX 最新等。## 推荐订阅源| 类型 | 源 | 频率 | |------|-----|------| | 技术资讯 | Hacker News | 高 | | 漏洞预警 | CVE Trends | 低 | | 个人博客 | 阮一峰 | 中 | | GitHub | 关注项目的 Releases | 很低 |## 移动端阅读FreshRSS 支持 Google Reader API,几乎所有 RSS 客户端都能对接。iOS 推荐 Reeder,Android 推荐 FeedMe。搭建一套 FreshRSS + RSSHub,你会重新发现阅读的乐趣——没有算法,只有你真正想看的内容。
2026年07月31日
81 阅读
0 评论
0 点赞
2026-07-28
自建网页监控:Changedetection.io 抢货比价
## 使用场景- 监控商品价格变化,降价时通知你 - 监控招聘网站,新岗位第一时间知道 - 监控政府公告,政策变化不错过 - 监控竞品网站改版 - 抢限量商品Changedetection.io 是一个开源网页变更监控工具,支持可视化选择监控区域、多种通知方式。## Docker 部署```yaml services: changedetection: image: ghcr.io/dgtlmoon/changedetection.io:latest container_name: changedetection restart: unless-stopped ports: - "5000:5000" volumes: - ./data:/datastore environment: - PLAYWRIGHT_DRIVER_URL=ws://browserless:3000browserless: image: browserless/chrome:latest restart: unless-stopped environment: - MAX_CONCURRENT_SESSIONS=5 ```## 基础用法1. 打开 Web 界面,点击 "New Watch" 2. 输入要监控的 URL 3. 设置检查间隔(建议至少 5 分钟)**选择监控区域(Visual Selector):**点击 "Visual" 标签,会自动渲染页面截图,你可以用鼠标框选要监控的价格区域。这样只有价格变化才触发通知,避免广告、推荐内容变化导致的误报。## 通知配置支持 Apprise 统一通知框架,支持微信/钉钉/Telegram/Slack 等 70+ 渠道。配置 Gotify 通知:`gotify://push.yourdomain.com/TOKEN`配置企业微信:`apprise://wxwork://corpid:corpsecret@agentid/touser`## 高级功能**正则过滤**:只关注特定文字变化,比如只监控"立即购买"按钮的出现**请求头设置**:模拟移动端访问(有些网站手机端和桌面端价格不同)**JavaScript 预处理**:在页面加载后执行 JS,比如自动登录或点击弹窗关闭Changedetection.io 的优势在于自建、免费、功能全。花 10 分钟搭起来,以后买东西再也不会买贵了。
2026年07月28日
56 阅读
0 评论
0 点赞
2026-07-27
自建电子书库:Calibre-Web 搭建私人图书馆
## 为什么要自建电子书库Kindle 退出中国后,很多人的电子书管理成了问题。Calibre-Web 是基于 Calibre 数据库的 Web 前端,支持在线阅读、格式转换、推送到 Kindle 等功能。## Docker 部署```yaml services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web restart: unless-stopped ports: - "8083:8083" volumes: - ./config:/config - /path/to/books:/books environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai ```启动后访问 `http://IP:8083`,首次需要配置 Calibre 数据库路径。如果没有现成的 Calibre 数据库,可以设置一个空路径,Calibre-Web 会自动创建。## 核心功能- **在线阅读**:支持 EPUB、PDF、MOBI 格式在线打开 - **格式转换**:内置转换引擎,EPUB→MOBI、PDF→EPUB 等 - **推送到 Kindle**:配置 SMTP 后一键发送到 Kindle 设备 - **OPDS 协议**:可以通过 OPDS 客户端(如静读天下)直接访问书库 - **多用户**:支持多个用户,可设置每个人可见的书籍权限 - **元数据管理**:自动从 Google Books/Amazon 获取书籍封面和简介## 启用格式转换Calibre-Web 需要额外的转换服务:```yaml services: calibre-web: environment: - DOCKER_MODS=linuxserver/calibre-web:calibre ```或者单独运行 Calibre 转换服务:```bash docker run -d --name calibre-server \ -v /path/to/books:/books \ -p 8081:8081 \ linuxserver/calibre ```然后在 Calibre-Web 设置中填写转换服务器地址。## 推送到 Kindle 配置在管理员设置中配置 SMTP:- SMTP 服务器:smtp.qq.com(用 QQ 邮箱举例) - 端口:465 - 加密:SSL - 用户名:你的 QQ 邮箱 - 密码:QQ 邮箱的授权码(不是登录密码)然后在 Kindle 的「设置→您的账户」中找到 Kindle 邮箱地址,填入 Calibre-Web 即可。## 配合公网访问用 Cloudflare Tunnel 或 Nginx 反代暴露到公网,配合 HTTPS 和密码认证,就能随时随地上传和阅读。有了 Calibre-Web,你的电子书再也不会散落在各个设备里了。
2026年07月27日
73 阅读
0 评论
0 点赞
2026-07-24
自建通知推送服务:Gotify 实现手机消息推送
## 痛点服务器备份完成了、网站被攻击了、Docker 容器挂了——这些消息你希望第一时间知道。微信通知需要企业微信或公众号,钉钉需要建机器人,邮件通知不够即时。Gotify 是一个极简的自建推送服务,服务端 + 手机 App,不需要任何第三方平台。## 部署```yaml services: gotify: image: gotify/server:latest container_name: gotify restart: unless-stopped ports: - "8088:80" volumes: - ./data:/app/data environment: - GOTIFY_DEFAULTUSER_PASS=your_admin_password - TZ=Asia/Shanghai ```启动后访问 `http://IP:8088`,默认用户名 `admin`,密码为上面设置的值。## 手机端在 App Store 或 Google Play 搜索 "Gotify" 安装。打开后填入服务器地址和管理员账号密码即可连接。## 创建应用和 Token在 Web 界面创建应用(比如叫 "Server Monitor"),会生成一个 Token。推送消息只需要这个 Token:```bash # 发送一条测试消息 curl "https://push.yourdomain.com/message?token=YOUR_TOKEN" \ -F "title=测试通知" \ -F "message=Gotify 配置成功!" \ -F "priority=5" ```priority 范围 0-10,数字越大通知越醒目。## 实战场景**1. 监控备份结果**```bash #!/bin/bash # backup.sh if rsync -av /data /backup/; then curl "https://push.domain.com/message?token=xxx" \ -F "title=备份成功" -F "message=数据已备份到远程" -F "priority=5" else curl "https://push.domain.com/message?token=xxx" \ -F "title=⚠️ 备份失败" -F "message=请检查磁盘空间" -F "priority=10" fi ```**2. 监控 Docker 容器状态**```bash #!/bin/bash # check_container.sh if ! docker inspect -f '{{.State.Running}}' nginx | grep -q true; then curl "https://push.domain.com/message?token=xxx" \ -F "title=⚠️ Nginx 挂了" \ -F "message=容器已停止,请检查" \ -F "priority=10" fi ```**3. 配合 Uptime Kuma**Uptime Kuma 原生支持 Gotify 通知。在"通知方式"中选择 Gotify,填入服务器地址和 Token 即可。## 进阶:使用优先级- priority < 3:信息类通知,不打扰 - priority 3-6:一般提醒 - priority 7-9:重要告警,手机会响铃 - priority 10:紧急,即使勿扰模式也会通知Gotify 是我使用频率最高的自建服务之一,服务器有任何风吹草动,手机第一时间知道。
2026年07月24日
66 阅读
0 评论
0 点赞
2026-07-23
一键部署 Wiki:Wiki.js 搭建个人知识库
## 为什么需要知识库程序员的知识体系是碎片化的:今天学了个 Nginx 配置技巧,明天发现了一个 Docker 最佳实践,后天同事分享了一个 Shell 脚本。如果不系统化管理,一个月后多半忘了。Wiki.js 是目前最漂亮的开源 Wiki 系统,基于 Node.js,支持 Markdown 编辑,界面现代。## Docker Compose 部署```yaml version: '3' services: wiki: image: requarks/wiki:2 container_name: wikijs restart: unless-stopped ports: - "8080:3000" environment: DB_TYPE: sqlite DB_FILEPATH: /data/db.sqlite volumes: - ./data:/data ```这是最简单的部署方式,使用 SQLite 无需额外数据库。如果文章量大,建议换 PostgreSQL。## PostgreSQL 版部署```yaml version: '3' services: db: image: postgres:15-alpine restart: unless-stopped environment: POSTGRES_DB: wiki POSTGRES_PASSWORD: your_password POSTGRES_USER: wikijs volumes: - ./db:/var/lib/postgresql/datawiki: image: requarks/wiki:2 restart: unless-stopped ports: - "8080:3000" depends_on: - db environment: DB_TYPE: postgres DB_HOST: db DB_PORT: 5432 DB_USER: wikijs DB_PASS: your_password DB_NAME: wiki ```## 核心功能- **Markdown 编辑器**:所见即所得,支持代码高亮、数学公式、流程图 - **权限管理**:可以设置公开页和私有页 - **全文搜索**:内置搜索引擎,找文档很快 - **多语言**:支持中文界面 - **备份恢复**:支持 Git 同步和手动导出 - **OAuth 登录**:支持 GitHub/Google/微软等 SSO## 我的使用方式1. **运维文档**:每台服务器的配置、IP、安装的服务都记录在案 2. **踩坑记录**:每次遇到奇怪的 bug 和解决方案,写一篇文章 3. **代码片段**:常用脚本和配置模板,复制即用 4. **学习笔记**:新技术的学习路径和关键知识点## 最佳实践- 每篇文章加标签,方便分类检索 - 坚持"遇到问题→解决→记录"的习惯 - 每周花 10 分钟整理零散笔记 - 把 Wiki.js 设为浏览器首页,督促自己记录搭建起来只需要 5 分钟,但坚持下去,一年后你会感谢自己。
2026年07月23日
62 阅读
0 评论
0 点赞
2026-07-22
自建文件分享服务:Pingvin Share 比网盘更好用
## 场景你是不是经常需要临时传个文件给别人?微信有 100MB 限制,QQ 要加好友,网盘要注册登录。Pingvin Share 是一个自建的文件分享工具,像临时网盘一样,上传文件生成链接就能分享。## 特点- 开源免费,Docker 一键部署 - 支持设置过期时间和下载次数限制 - 可以设置访问密码 - 界面简洁干净 - 支持反向分享(让别人上传文件给你)## Docker Compose 部署```yaml version: '3' services: pingvin-share: image: stonith404/pingvin-share:latest container_name: pingvin-share restart: unless-stopped ports: - "3000:3000" volumes: - ./data:/opt/app/backend/data environment: - TZ=Asia/Shanghai ```启动后访问 `http://你的IP:3000`,首次访问会引导你创建管理员账号。## 配合 Nginx 反代```nginx server { listen 443 ssl; server_name share.yourdomain.com;client_max_body_size 500M;location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ```注意 `client_max_body_size` 要设大一点,否则大文件上传会被 Nginx 拦截。## 使用技巧1. **临时分享**:设置 1 小时后过期,1 次下载后自动删除 2. **团队文件收集**:创建一个"收件箱"分享,让团队成员上传文件给你 3. **访客上传**:不需要注册,打开链接就能上传 4. **邮件通知**:配置 SMTP 后,可以设置有人上传时邮件通知你## 对比网盘方案| 对比项 | Pingvin Share | 百度网盘 | 阿里云盘 | |--------|-------------|---------|--------| | 隐私性 | 数据在自己服务器 | 数据在云端 | 数据在云端 | | 上传限制 | 无(仅受磁盘限制) | 非会员限速 | 免费容量有限 | | 分享控制 | 密码+过期+次数 | 密码+过期 | 密码+过期 | | 对方注册 | 不需要 | 需要登录下载 | 需要登录下载 |自建才是真正的"数据掌握在自己手里"。
2026年07月22日
64 阅读
0 评论
0 点赞
2026-07-20
Uptime Kuma 自建监控:网站宕机 30 秒内微信通知你
网站挂了不可怕,可怕的是用户都来通知你了你还不知道。搞个监控工具,宕机第一时间推送微信/钉钉/邮件,比用户先发现问题才叫专业。Uptime Kuma 是目前最火的开源监控工具,界面清爽,支持几十种通知渠道,Docker 一条命令部署。部署浏览器打开 ,设置管理员账号就能用。添加监控点添加监控,选类型:类型用途HTTP(s)网站是否正常响应TCP PortMySQL、Redis 等端口是否存活Ping服务器网络是否连通DNS域名解析是否正常Docker容器运行状态HTTP(s) 监控支持关键字匹配——如果页面返回内容里不包含你指定的关键词,也判定为故障。这个功能很实用,能发现页面能打开但数据库挂了返回空这种情况。配置通知支持的通知渠道:微信企业微信/Server酱钉钉机器人Telegram Bot邮件(SMTP)Slack / DiscordWebhook(自定义)以微信为例,用 Server酱 转发:去 注册获取 SendKeyUptime Kuma 添加通知 → 选 WebhookURL 填消息模板写:状态页Uptime Kuma 自带公开状态页功能,生成一个独立链接展示所有服务状态,发给用户或挂在自己网站底部。总结Uptime Kuma 部署不到一分钟,配置监控不到两分钟。一劳永逸的事,别等用户截图发群里才知道网站挂了。
2026年07月20日
67 阅读
0 评论
0 点赞
2026-07-19
自建密码管理器 Vaultwarden
为什么要自建密码管理器?现在谁还没有几十个账号密码?银行、邮箱、社交、购物……用同一个密码不安全,用不同密码又记不住。市面上的密码管理器(1Password、LastPass、Bitwarden)确实好用,但数据存在别人服务器上,心里总有点不踏实。Vaultwarden 是 Bitwarden 的轻量级 Rust 实现,完全兼容 Bitwarden 客户端,一个 Docker 容器就能跑起来,资源占用极低(内存不到 50MB)。系统要求 一台 Linux 服务器(1核512M 就够) 已安装 Docker 和 Docker Compose 一个域名(可选,但强烈建议配置 HTTPS) 部署步骤1. 创建 docker-compose.ymlversion: "3" services: vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always ports: - "8080:80" volumes: - ./data:/data environment: - SIGNUPS_ALLOWED=true - WEBSOCKET_ENABLED=true - DOMAIN=https://vw.yourdomain.com - ADMIN_TOKEN=your_admin_token_hereSIGNUPS_ALLOWED=true 允许注册,等你注册完自己的账号后,记得改成 false 关闭注册。ADMIN_TOKEN 用 openssl rand -base64 48 生成一个随机 token,访问 /admin 管理面板用。2. 启动服务docker-compose up -d3. 配置 Nginx 反向代理 + SSLserver { listen 443 ssl; server_name vw.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /notifications/hub { proxy_pass http://127.0.0.1:8080; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }4. 注册账号并使用 打开 https://vw.yourdomain.com 点击创建账户注册 登录后,在网页端添加密码,或安装 Bitwarden 客户端/浏览器插件 在客户端设置中,服务器地址填你的域名 客户端全平台支持Vaultwarden 完全兼容 Bitwarden 官方客户端: 平台客户端 Chrome/Edge/FirefoxBitwarden 浏览器扩展 iOSBitwarden App Store AndroidBitwarden Google Play / F-Droid Windows/Mac/LinuxBitwarden Desktop 进阶配置开启 2FA 双重认证登录网页版,设置,两步登录,选择 Authenticator App,扫码绑定。自动备份#!/bin/bash cd /path/to/vaultwarden docker-compose stop tar -czf /backup/vaultwarden-$(date +%Y%m%d).tar.gz data/ docker-compose start find /backup/ -name "vaultwarden-*.tar.gz" -mtime +7 -delete加入 crontab 每日自动备份:0 3 * * * /path/to/backup_vaultwarden.sh常见问题Q: 和官方 Bitwarden 有什么区别?A: Vaultwarden 是社区用 Rust 重写的版本,功能几乎一样,但更轻量。官方版需要 SQL Server + 多个容器,Vaultwarden 一个容器搞定。Q: 免费吗?A: 完全免费开源,没有付费墙,Bitwarden 的高级功能(TOTP、文件附件等)都免费提供。Q: 数据安全吗?A: 数据存在你自己的服务器上,传输使用 HTTPS 加密,数据库文件也是加密的。定期备份即可万无一失。总结有了 Vaultwarden,你再也不用担心密码泄露、服务关停、或者忘记续费。所有密码都在你自己的服务器上,全平台同步,安心又省心。一个 512MB 内存的 VPS 就能流畅运行,强烈推荐!
2026年07月19日
61 阅读
0 评论
0 点赞
2026-07-19
家庭影音中心 Jellyfin 搭建指南
为什么要自建影音中心?你有没有过这种体验:想看的电影在 Netflix 下了架;不同平台各买一个会员,一个月几百块;下载的电影散落在各个硬盘,找起来麻烦。Jellyfin 是完全免费开源的媒体服务器,类似 Plex/Emby,但所有功能免费。搭建后你可以:在任何设备上观看你的电影、电视剧、音乐;自动刮削海报、简介、演员信息;自动转码适配不同设备;支持多用户,给家人分配独立账号;记录观看进度,多设备同步。系统要求 场景CPU内存说明 直接播放(不转码)1核1GB最省资源,客户端解码 轻度转码2核2GB手机/平板观看需要 重度转码(4K转1080P)4核+4GB+需要 Intel QSV 或 NVENC 硬解 Docker Compose 部署version: "3" services: jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin restart: always ports: - "8096:8096" - "8920:8920" volumes: - ./config:/config - ./cache:/cache - /path/to/movies:/media/movies:ro - /path/to/tvshows:/media/tvshows:ro - /path/to/music:/media/music:ro environment: - TZ=Asia/Shanghai - JELLYFIN_PublishedServerUrl=https://jf.yourdomain.com devices: - /dev/dri:/dev/dri启动:docker-compose up -d,访问 http://your-ip:8096 进入初始化向导:选择中文,创建管理员,添加媒体库,配置元数据语言中文优先。Nginx 反向代理 + HTTPSserver { listen 443 ssl http2; server_name jf.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; client_max_body_size 100M; location / { proxy_pass http://127.0.0.1:8096; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_buffering off; } location /socket { proxy_pass http://127.0.0.1:8096; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }客户端全平台支持 平台客户端 Android TVJellyfin Android TV(推荐) 安卓手机Jellyfin Android / Findroid iOS/iPadJellyfin iOS / Swiftfin Windows/Mac/LinuxJellyfin Desktop / 直接浏览器 网页浏览器直接访问 元数据刮削优化编辑 Docker 主机的 /etc/hosts:13.225.103.51 api.themoviedb.org 13.225.103.26 image.tmdb.orgJellyfin 控制台,插件,安装:MetaTube(豆瓣刮削器,中文电影必备)和 Open Subtitles(自动下载字幕)。文件夹命名规范/media/ movies/ 肖申克的救赎 (1994)/ 肖申克的救赎 (1994).mkv Inception (2010)/ Inception (2010).mp4 tvshows/ Breaking Bad/ Season 1/ S01E01.mkv S01E02.mkv Season 2/命名规范 = 更好的刮削匹配率。硬件加速转码有 Intel 核显可开启 QSV 硬解:docker-compose 映射 /dev/dri,Jellyfin 控制台,播放,硬件加速,选择 Intel QuickSync (QSV)。常见问题Q: Jellyfin 和 Plex/Emby 有什么区别?A: Plex 和 Emby 有很多功能需要付费会员(如硬件转码、离线下载),Jellyfin 完全免费开源。Q: 手机端需要付费吗?A: 不需要,Jellyfin 官方客户端完全免费。iOS 上 Swiftfin 也是免费的。Q: 在外网能看吗?A: 配置了 Nginx 反向代理 + 域名后,随时随地都能看。注意上行带宽,建议外网转码到 720p。总结Jellyfin 搭建大概 10 分钟,但能让你彻底告别各个视频会员。配合 PT 下载或者自购蓝光碟,你就能拥有一个私人影视库。而且数据在自己手里,不会突然下架,不会和谐删减,想什么时候看就什么时候看。
2026年07月19日
64 阅读
0 评论
0 点赞
2026-07-19
自建轻量级 Git 服务 Gitea
为什么选择 Gitea?GitHub 虽然好用,但有些场景还是需要私有代码仓库:公司内部代码不想放在公有云;私有项目不想付费 GitHub 团队版;想完全掌控自己的代码数据;需要内网部署的代码托管。GitLab 功能全面但太重了——最低配置要 4GB 内存。而 Gitea 是 Go 语言编写的轻量级 Git 服务,内存占用不到 100MB,树莓派都能跑。Gitea vs GitLab vs Gogs 特性GiteaGitLabGogs 内存占用~80MB~4GB~50MB CI/CD需配合 Drone内置需配合 Drone Docker 镜像大小~50MB~2.5GB~30MB 更新频率月度月度较慢 社区活跃度高高中 Gitea 是 Gogs 的社区 fork,更新更活跃,功能更多。Docker Compose 部署version: "3" services: gitea: image: gitea/gitea:latest container_name: gitea restart: always ports: - "3000:3000" - "2222:22" volumes: - ./data:/data - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro environment: - USER_UID=1000 - USER_GID=1000 - GITEA__server__DOMAIN=git.yourdomain.com - GITEA__server__ROOT_URL=https://git.yourdomain.com/ - GITEA__server__SSH_DOMAIN=git.yourdomain.com - GITEA__server__SSH_PORT=2222 - GITEA__database__DB_TYPE=sqlite3 - GITEA__service__DISABLE_REGISTRATION=true使用 SQLite 数据库,无需额外安装 MySQL/PostgreSQL,小团队完全够用。DISABLE_REGISTRATION=true 关闭公开注册,管理员手动创建账号更安全。启动:docker-compose up -d,访问 http://your-ip:3000 进入安装页面。Nginx 反向代理配置server { listen 443 ssl http2; server_name git.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; client_max_body_size 512M; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }Git SSH 配置因为 22 端口被宿主机的 SSH 占用,Gitea 的 SSH 映射到了 2222 端口。编辑 ~/.ssh/config:Host git.yourdomain.com HostName git.yourdomain.com Port 2222 User git IdentityFile ~/.ssh/id_ed25519然后就可以像普通 git 一样操作:git clone git@git.yourdomain.com:username/repo.git实用功能1. 创建组织/团队适合小团队使用:创建 Organization,添加成员,设置仓库权限。2. 镜像仓库可以将 GitHub 仓库镜像到 Gitea,定时同步:仓库设置,镜像设置,填入 GitHub 仓库地址,设置同步间隔。3. Webhook 自动部署配合 GitHub Actions 或自写接收脚本:仓库设置,Webhook,添加 URL,选择事件。4. Package RegistryGitea 支持 Docker 镜像仓库和 npm/PyPI 等包管理。备份策略#!/bin/bash cd /path/to/gitea docker exec gitea gitea dump -c /data/gitea/conf/app.ini docker cp gitea:/tmp/gitea-dump-*.zip /backup/ find /backup/ -name "gitea-dump-*.zip" -mtime +7 -deletecrontab 每日备份:0 4 * * * /path/to/backup_gitea.sh常见问题Q: 1核1G 服务器能跑吗?A: 完全没问题。Gitea 用 Go 写的,内存占用 80-150MB,CPU 几乎无感。Q: 能和 CI/CD 配合吗?A: 推荐搭配 Drone CI 或 Woodpecker CI,都支持 Gitea 作为代码源。Q: 能和 VS Code 配合吗?A: VS Code 原生支持 Git,直接 clone 即可。总结Gitea 是我最推荐的轻量级 Git 托管方案。一个 Docker 命令就能跑起来,功能却一点不少。个人开发者、小团队完全够用,再也不用为代码托管付费了。
2026年07月19日
61 阅读
0 评论
0 点赞
2026-07-19
Tailscale 异地组网实战
异地组网是什么?假设你:在公司想访问家里的 NAS;出差异地想连回办公室的开发服务器;想把几台不同地方的 VPS 组成内网;想和家人共享文件但不想暴露到公网。传统方案是 VPN(WireGuard、OpenVPN),但配置复杂,还得有公网 IP。Tailscale 基于 WireGuard 协议,但把复杂的配置全部自动化了。它的核心思路是:所有设备组成一个 Mesh 网络,点对点加密通信,无需公网 IP,无需手动配密钥。Tailscale 原理每个设备装一个 Tailscale 客户端,自动分配内网 IP(100.x.x.x),Tailscale 协调节点帮忙打通 NAT,设备之间直接 WireGuard 加密通信。数据不经过 Tailscale 服务器,只走协调信令。免费版支持最多 100 台设备。各平台安装Linux 服务器curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up会输出一个 URL,浏览器打开授权即可。Windows/Mac去官网 tailscale.com/download 下载安装包,安装后自动弹出登录页面。Android/iOSGoogle Play / App Store 搜索 Tailscale 安装。Docker 容器version: "3" services: tailscale: image: tailscale/tailscale:latest container_name: tailscale hostname: my-nas restart: always volumes: - ./tailscale-state:/var/lib/tailscale - /dev/net/tun:/dev/net/tun cap_add: - NET_ADMIN - SYS_MODULE environment: - TS_AUTHKEY=your_auth_key_here - TS_STATE_DIR=/var/lib/tailscale - TS_USERSPACE=false network_mode: hostTS_AUTHKEY 在 Tailscale 管理面板,Settings,Keys 中生成。实用场景场景一:远程访问家里 NAS家里 NAS 和笔记本都装上 Tailscale:ping 100.x.x.x、ssh user@100.x.x.x、smb://100.x.x.x场景二:把 VPS 当跳板机访问内网sudo tailscale up --advertise-routes=192.168.1.0/24在 Tailscale 管理面板启用该路由,在家就能直接访问 192.168.1.x 的所有内网设备。场景三:多台 VPS 组成内网每台都装 Tailscale 后,它们之间就有固定的 Tailscale IP,可以直接用内网地址互相访问,不用走公网、不用配置防火墙。场景四:Exit Node 出口节点sudo tailscale up --advertise-exit-node在管理面板启用 Exit Node,其他设备选择使用该 Exit Node。在公共 WiFi 时所有流量走家里网络,安全又隐私。Tailscale vs ZeroTier vs WireGuard 特性TailscaleZeroTierWireGuard 配置难度几乎零配置中等较高 NAT 穿透自动自动需手动 免费设备数10025无限 开源客户端开源完全开源完全开源 中继服务器需官方可自建不需要 总结:想省心选 Tailscale,想完全自托管选 ZeroTier,追求极致性能和自由度选 WireGuard。Headscale:Tailscale 的开源自建版如果你不想依赖 Tailscale 官方服务器,可以用 Headscale 自建协调服务器:version: "3" services: headscale: image: headscale/headscale:latest container_name: headscale restart: always ports: - "8080:8080" - "9090:9090" volumes: - ./config:/etc/headscale - ./data:/var/lib/headscale command: headscale serve客户端配置:tailscale up --login-server=https://hs.yourdomain.com常见问题Q: 免费够用吗?A: 免费版 100 台设备、3 个用户,个人和小团队完全够用。Q: 安全吗?A: 基于 WireGuard,端到端加密,协调服务器只能看到设备信息,看不到数据内容。Q: 国内访问慢吗?A: 协调服务器在海外,首次连接可能稍慢。连通之后是点对点直连。可自建 DERP 中继服务器加速。Q: 和 frp 内网穿透有什么区别?A: frp 是把内网服务暴露到公网,Tailscale 是把你加入一个虚拟局域网。两者可互补使用。总结Tailscale 是我用过最省心的异地组网工具。安装,登录,搞定,不需要学任何网络知识。以前配 WireGuard 要折腾半天,现在 Tailscale 几分钟就搞定。如果你有多个设备分散在不同网络,强烈推荐试试。
2026年07月19日
58 阅读
0 评论
0 点赞
2026-07-19
Grafana + Prometheus 服务器监控
为什么要做服务器监控?手里服务器多了以后,经常会遇到这些问题:网站挂了半天才发现;磁盘满了不知道什么时候满的;CPU 突然飙高找不到原因;流量异常没有告警。Prometheus + Grafana 是目前最流行的开源监控方案:Prometheus 负责采集和存储指标数据;Grafana 负责可视化展示;Node Exporter 负责采集服务器指标(CPU、内存、磁盘、网络等)。这套组合被几乎所有互联网公司使用,搭建也不复杂。系统架构服务器1/2/3 → Node Exporter (采集指标) ↓ Prometheus (存储查询) ↓ Grafana (可视化仪表盘)Docker Compose 一键部署version: "3" services: prometheus: image: prom/prometheus:latest container_name: prometheus restart: always ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - ./prometheus/data:/prometheus command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/prometheus" - "--storage.tsdb.retention.time=30d" - "--web.enable-lifecycle" node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: always ports: - "9100:9100" volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - "--path.procfs=/host/proc" - "--path.sysfs=/host/sys" - "--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($|/)" grafana: image: grafana/grafana:latest container_name: grafana restart: always ports: - "3001:3000" volumes: - ./grafana/data:/var/lib/grafana environment: - GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_PASSWORD=change_me_please - GF_SERVER_ROOT_URL=https://grafana.yourdomain.comprometheus.yml 配置文件global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: "prometheus" static_configs: - targets: ["localhost:9090"] - job_name: "node" static_configs: - targets: ["node-exporter:9100"] labels: instance: "main-server"启动:docker-compose up -dGrafana 初始化配置1. 添加 Prometheus 数据源 访问 http://your-ip:3001,用户名 admin 左侧菜单,Connections,Data Sources,Add data source 选择 Prometheus,URL 填 http://prometheus:9090 点击 Save and Test 2. 导入现成仪表盘推荐导入 Node Exporter Full(ID: 1860):左侧菜单,Dashboards,New,Import,输入 1860,选择数据源,Import。瞬间就有专业的服务器监控面板:CPU 使用率曲线、内存使用量、磁盘 IO、网络流量、系统负载、运行时间。3. 其他推荐 Dashboard Dashboard ID用途 1860Node Exporter Full(服务器全貌) 16098Node Exporter 精简版 12245Docker 容器监控 14282Nginx 监控 监控多台服务器在其他服务器上部署 Node Exporter:docker run -d --name node-exporter --restart always -p 9100:9100 -v /proc:/host/proc:ro -v /sys:/host/sys:ro -v /:/rootfs:ro prom/node-exporter:latest --path.procfs=/host/proc --path.sysfs=/host/sys在主 Prometheus 的 prometheus.yml 中添加新 target,然后热重载:docker exec prometheus kill -HUP 1配置告警规则groups: - name: server_alerts rules: - alert: HighCPUUsage expr: 100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100) > 80 for: 5m labels: severity: warning annotations: summary: "CPU 使用率超过 80%" - alert: HighMemoryUsage expr: (1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100 > 90 for: 5m labels: severity: critical annotations: summary: "内存使用率超过 90%" - alert: DiskAlmostFull expr: (1 - (node_filesystem_avail_bytes / node_filesystem_size_bytes)) * 100 > 85 for: 5m labels: severity: warning annotations: summary: "磁盘使用率超过 85%"Nginx 反向代理server { listen 443 ssl http2; server_name grafana.yourdomain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.pem; location / { proxy_pass http://127.0.0.1:3001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }常见问题Q: 数据存多久?A: 上面配置改成了 30 天。建议配合 Grafana Loki(日志)和 Thanos(长期存储)做完整方案。Q: 资源占用大吗?A: 三个容器总内存约 300-500MB。建议至少 2GB 内存的服务器。Q: 和 Uptime Kuma 有什么区别?A: Uptime Kuma 只管能不能访问(拨测),Prometheus + Grafana 管运行得怎么样(指标监控)。两者互补,可以一起用。总结有了这套监控系统,服务器出问题能第一时间知道,不用等用户来反馈网站打不开了。Grafana 的仪表盘看起来也很专业,截图发朋友圈都能装一波运维大神。
2026年07月19日
63 阅读
0 评论
0 点赞
2026-07-18
自建闲鱼自动发货系统:Docker 部署全流程,24小时自动回复发卡券
在闲鱼上卖虚拟商品(卡券、会员、教程等),最烦的就是每次买家付款后要手动回复卡密。尤其凌晨下单的,等你第二天看到,买家可能已经退款差评了。今天就来搭建一个完全自托管的闲鱼自动发货系统,用 Docker 一键部署,支持: 买家下单 → 自动检测订单 自动发送卡券内容(卡密/链接/教程) 自动确认收货 多账号、多商品管理 Web 面板可视化管理 系统架构 整套系统由 6 个 Docker 容器组成: ┌─────────────────────────────────────┐ │ Nginx / 前端 (9000) │ │ Vue.js Web 面板 │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ Backend Web (8089) │ │ FastAPI 管理接口 │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ WebSocket (8090) │ │ 闲鱼 LWP 长连接,收发消息 │ └──────────────┬──────────────────────┘ │ ┌──────────────▼──────────────────────┐ │ Scheduler (8091) │ │ 定时轮询订单,触发发货 │ └─────────────────────────────────────┘ │ │ ┌───────▼──┐ ┌─────▼─────┐ │ MySQL │ │ Redis │ │ 订单存储 │ │ 缓存/队列 │ └──────────┘ └───────────┘ 准备工作 服务器要求 Linux 服务器(推荐 CentOS 7+ / Ubuntu 20.04+) 至少 2GB 内存(实际运行约 1.2GB) 安装 Docker 和 Docker Compose 开放端口:9000(前端)、8089-8091(后端服务) 闲鱼账号准备 一个闲鱼卖家账号 在闲鱼 App 上发布商品(虚拟卡券类) 准备好卡券内容(卡密列表) 第一步:安装 Docker 如果你的服务器还没装 Docker,用官方脚本一键安装: # 安装 Docker curl -fsSL https://get.docker.com | bash # 启动并设置开机自启 systemctl enable docker systemctl start docker # 安装 Docker Compose curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # 验证 docker --version docker-compose --version 第二步:拉取并启动系统 创建项目目录并下载配置文件: mkdir -p /opt/xianyu-auto-ship/xianyu_auto_reply cd /opt/xianyu-auto-ship # 下载 docker-compose 配置文件 # (配置文件包含 mysql、redis、backend-web、websocket、scheduler、frontend 6个服务) # 启动所有服务 docker-compose up -d # 查看运行状态 docker ps 首次启动会从阿里云镜像仓库拉取镜像,等待几分钟后所有容器变为 healthy 即可。 第三步:配置系统 打开浏览器访问 http://你的服务器IP:9000,进入 Web 管理面板。 3.1 登录闲鱼账号 在管理面板 → 账号管理 → 添加闲鱼账号,系统会引导你扫码登录。登录成功后 WebSocket 服务会建立与闲鱼的长连接,实时监听消息。 3.2 添加商品 在商品管理中录入闲鱼商品 ID(从闲鱼商品链接中获取),并关联上你的卡券库。 3.3 导入卡券 在卡券管理中批量导入卡密,每行一条,支持文本、CSV 格式。 第四步:发货流程 配置完成后,系统的自动发货流程如下: Scheduler 定时轮询:每 5 分钟检查一次待发货订单 匹配卡券:根据商品 ID 从卡券库中取一条未使用的卡密 发送消息:通过 WebSocket 长连接发送卡券内容给买家 确认收货:自动确认发货,订单状态更新为已发货 记录日志:所有操作记录入库,可追溯 常见问题与踩坑记录 1. WebSocket 连接断开 闲鱼的 LWP(Long Web Polling)连接有超时机制,长时间无消息会自动断开。系统内置了心跳保活和自动重连,一般不需要干预。如果频繁断开,检查: 服务器网络是否稳定 闲鱼账号是否被风控(频繁操作会触发) 2. 无法获取会话 chat_id 发货需要知道买家会话的 chat_id。如果买家从未主动发过消息,系统无法创建会话,需要手动在闲鱼 App 上先给买家发一条消息激活会话。 3. 滑块验证码 闲鱼登录或频繁操作时会弹出滑块验证。系统内置了 DrissionPage 浏览器自动化引擎来处理验证码,首次处理可能较慢(约 15-25 秒)。 4. 账号风控 如果闲鱼检测到异常操作(频繁发送相似消息、短时间大量操作),可能会限制账号功能。建议: 消息间隔设置 20 秒以上 不同订单的回复内容增加随机变化 不要同时登录多个设备 资源占用实测 在 2 核 2G 的阿里云轻量服务器上运行 6 个容器,实际资源占用: 容器 内存 说明 MySQL ~200MB 订单/卡券/日志存储 Redis ~30MB 缓存和消息队列 WebSocket ~300MB 含浏览器引擎(处理验证码) Backend Web ~180MB API 服务 Scheduler ~150MB 定时任务 Frontend ~50MB 静态页面 合计 ~900MB 建议 1.5GB 以上内存 如果用不到的时候想释放资源,直接 docker stop 全部容器即可,内存立即回收。 管理命令速查 # 启动所有服务 docker-compose up -d # 停止所有服务 docker stop xianyu-scheduler xianyu-frontend xianyu-websocket \ xianyu-backend-web xianyu-redis xianyu-mysql # 查看日志 docker logs -f xianyu-websocket --tail 100 # 重启单个服务 docker restart xianyu-backend-web # 进入容器调试 docker exec -it xianyu-websocket bash # 查看数据库 docker exec -it xianyu-mysql mysql -u xianyu -p 总结 这套系统用 Docker 部署,好处是: 一键部署:不用折腾 Python 环境、依赖包 隔离运行:每个服务独立容器,互不影响 资源可控:可以限制每个容器的内存上限 迁移方便:换服务器只需打包数据目录 如果你也在闲鱼卖虚拟商品,值得花半小时部署一套。至少不用半夜被买家消息吵醒了。 相关文章 Docker Compose 搭建服务全家桶 Crontab 从入门到自动化运维 Typecho 博客性能优化全记录
2026年07月18日
66 阅读
0 评论
0 点赞
2026-07-16
老旧电脑拒绝吃灰:从电子垃圾到全能 NAS 的复活指南
那台 2012 年的笔记本,开机两分钟、开个浏览器风扇就起飞。扔了可惜,留着吃灰。但你可能不知道——给它装个轻量系统,它能跑得比你的主力机还勤快,24 小时不关机当 NAS、当下载机、当智能家居中枢,一年电费不到 50 块。一、先判断硬件:你的老电脑能干嘛 配置能干嘛推荐系统 512MB 内存 / 奔腾 4纯文件服务器、打印服务器Puppy Linux / Tiny Core 1~2GB 内存 / 酷睿 2 双核轻量 NAS、下载机、软路由antiX / Alpine + CasaOS 2~4GB 内存 / 一代 i3/i5Docker 主机、媒体服务器、Home AssistantDebian 无桌面 / Ubuntu Server 4GB+ 内存 / 二代 i5+全能 NAS + 虚拟机 + 影音转码OMV / TrueNAS / Proxmox 二、轻量 Linux 发行版横评Windows 在老电脑上已经没法用了,但下面这些系统能让它满血复活。 发行版内存占用硬盘占用适用场景上手难度 Puppy Linux~128MB~300MBU 盘即用、临时救急★☆☆ antiX~150MB~2GB日常桌面、老机主力★★☆ Lubuntu~300MB~5GB类 Windows 体验★☆☆ Alpine Linux~50MB~130MBDocker 宿主机首选★★★ Debian 无桌面~80MB~1GB服务器、NAS 底座★★☆ Arch Linux~200MB~3GB极客定制、滚动更新★★★★ 实操:antiX 安装三步走# 第一步:下载 ISO(700MB 不到) # 官网 https://antixlinux.com/download/ # 推荐 antiX-23.1_x64-full.iso # 第二步:用 Rufus 或 balenaEtcher 写入 U 盘 # Windows: Rufus → 选择 DD 模式写入 # macOS/Linux: sudo dd if=antiX-23.1_x64-full.iso of=/dev/sdb bs=4M status=progress # 第三步:U 盘启动 → 选择 Install → 一路下一步 # 要点:文件系统选 ext4,不要分区 /home 单独出来装好之后,这台老电脑就能流畅上网、码字、看视频了。但只当桌面用太浪费,下面才是重头戏。三、变 NAS:老电脑最佳归宿方案 A:CasaOS —— 小白首选,Docker 可视化如果你不想碰命令行,CasaOS 是最佳选择。基于 Debian,提供网页版「应用商店」,一键安装 Plex、qBittorrent、AdGuard 等几十款应用。# 先装 Debian 12(无桌面),然后一行命令搞定: curl -fsSL https://get.casaos.io | sudo bash # 装完后浏览器打开 http://老电脑IP # 默认界面就是 Mac 风格的应用抽屉,点哪装哪方案 B:OpenMediaVault —— NAS 专业户适合想正经组 NAS 的用户。基于 Debian,Web 管理界面,支持 RAID、SMB/NFS 共享、插件扩展。# 安装(需要 Debian 12 底包) sudo apt update && sudo apt install wget -y wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash # 装完重启,浏览器打开 http://老电脑IP # 默认账号 admin,密码 openmediavault方案 C:TrueNAS Scale —— 企业级但吃配置ZFS 文件系统、快照、虚拟机、K8s 一应俱全。配置要求高(8GB 内存起步),适合 4 代 i5 以上老电脑。# 下载 ISO:https://www.truenas.com/download-truenas-scale/ # Rufus 写入 U 盘 → U 盘启动 → 一路安装 # 注意:系统盘和数据盘要分开(系统盘 16GB 足够) NAS 方案内存需求特点适合人群 CasaOS1GB应用商店、零命令行NAS 新手 OMV2GB专业稳定、插件丰富家庭 NAS TrueNAS8GB企业级、ZFS、虚拟机折腾玩家 四、老电脑还能干嘛?更多玩法1. 24 小时下载机# 装好 CasaOS 后,在应用商店一键安装 qBittorrent # 搭配 Radarr + Sonarr 实现电影/剧集自动下载 # 老笔记本功耗 15~30W,一个月电费不到 10 块2. 软路由 / 旁路由# 老笔记本 + USB 千兆网卡 = 一台软路由 # 装 OpenWrt x86 或 iStoreOS # 科学上网、广告过滤、流量控制全搞定 # 比买硬路由性价比高太多3. 智能家居中枢# 装 Home Assistant 控制全屋智能设备 # CasaOS 应用商店一键安装 # 或者 Docker 部署: docker run -d --name hass --restart=unless-stopped \ -v /opt/hass:/config \ --network=host \ homeassistant/home-assistant:stable4. 私有云盘# Nextcloud:自己的 Dropbox docker run -d --name nextcloud -p 8080:80 nextcloud # 或者更轻量的 Seafile docker run -d --name seafile -p 8000:80 seafileltd/seafile5. Minecraft / CS 1.6 服务器# 老电脑跑 MC 服务器,和基友联机 # 核心数 > 频率,2 代 i5 完全够用 docker run -d --name mc -p 25565:25565 \ -e EULA=TRUE itzg/minecraft-server五、省电秘籍老电脑最大的痛点是功耗。笔记本一般 15~30W,台式机可能 60~100W+。几个省电技巧:# 1. 拔掉独立显卡!用核显输出,功耗能降一半 # 2. BIOS 关掉不用的接口(串口、并口、光驱) # 3. 机械硬盘休眠(hdparm -S 120 /dev/sda) # 4. CPU 限制频率: cpupower frequency-set -g powersave # 5. 笔记本拆掉电池,直接插电用(防鼓包)六、我的推荐组合如果你只有一台老电脑,最优解:Debian 12 无桌面版(底包) ├── CasaOS(应用管理面板) │ ├── qBittorrent(下载) │ ├── Plex / Jellyfin(影音库) │ ├── AdGuard Home(去广告 DNS) │ └── Home Assistant(智能家居) ├── Samba(局域网文件共享) └── Docker(跑各种服务)一套组合拳下来,这台老电脑就从吃灰电子垃圾变成家庭数据中心,24 小时待命,比买成品 NAS 划算太多。常见问题Q:老电脑当 NAS,硬盘不够怎么办?A:笔记本可以光驱位改硬盘架(几十块),台式机直接加硬盘。系统装在一块 120GB 的旧 SSD 上(二手 30 块),数据盘用机械硬盘。推荐挂载方式用 mergerfs 把多块盘合成一个存储池。Q:没有有线网口怎么办?A:USB 转千兆网卡(20 块),或者直接用 WiFi 也行——NAS 走 WiFi 读写速度大概 20~40MB/s,看视频够用了。Q:24 小时开机噪音大、发热怎么办?A:笔记本天生静音、低功耗。台式机的话,换静音风扇(几十块),清灰换硅脂,BIOS 设置风扇静音模式。放在阳台或储物间更好。Q:老电脑会不会随时挂掉?数据安全吗?A:机械硬盘比老电脑更值得担心。重要数据遵循 3-2-1 备份原则:3 份拷贝、2 种介质、1 份异地。CasaOS 应用商店有 Duplicati 可以自动备份到网盘。Q:我已经有群晖了,还需要折腾老电脑吗?A:群晖负责正经存储,老电脑可以跑群晖跑不动的 Docker 服务(x86 兼容性吊打 ARM 群晖),或者做冷备机、下载机、编译机——总之专职干脏活累活。每一台老电脑都是一个被低估的服务器。给它一个轻量的灵魂,它就能还你一个 24 小时不眠不休的数字管家。
2026年07月16日
73 阅读
0 评论
0 点赞
2026-07-16
Docker Compose 搭建服务全家桶:一个文件搞定 NAS 常用服务
Docker Compose 搭建服务全家桶:一个文件搞定 NAS 常用服务很多人在 NAS、软路由或者旧电脑上搭个人服务,装一个 Services 折腾一次,重复配 Nginx 代理、SSL 证书、数据目录。搭到最后,记忆比 DNS 还碎片化——哪个端口对应哪个服务全忘了。Docker Compose 就是来解决这个问题的:一个 YAML 文件,定义所有服务,一条命令全部启动。这篇文章给你一套可以直接复制粘贴的"服务全家桶"配置,涵盖 8 个常用服务。Docker Compose 基础Docker Compose 是一个 Docker 编排工具。核心概念: 概念 说明 service 一个容器化应用,如 Nginx、MySQL volumes 数据持久化,宿主机目录映射到容器 networks 容器间通信网络 depends_on 启动顺序依赖 安装(一般装 Docker 时就自带了):# 确认 compose 可用 docker compose version # 旧版本用 docker-compose,新版本已内置为 docker compose(注意没有横杠) 前置准备:目录结构建一个统一的管理目录:mkdir -p ~/docker-services cd ~/docker-services # 子目录结构 mkdir -p volumes/nginx/conf mkdir -p volumes/nginx/html mkdir -p volumes/mysql/data mkdir -p volumes/redis/data mkdir -p volumes/nextcloud/data mkdir -p volumes/vaultwarden/data mkdir -p volumes/jellyfin/{config,cache} mkdir -p volumes/alist/data mkdir -p volumes/nocodb/data mkdir -p volumes/uptime-kuma/data docker-compose.yml 全家桶直接把下面这个文件保存为 ~/docker-services/docker-compose.yml:version: '3.8' services: # ===== Nginx 反向代理 ===== nginx: image: nginx:alpine container_name: nginx restart: always ports: - "80:80" - "443:443" volumes: - ./volumes/nginx/conf:/etc/nginx/conf.d - ./volumes/nginx/html:/usr/share/nginx/html - ./volumes/nginx/ssl:/etc/nginx/ssl networks: - internal # ===== MySQL 数据库 ===== mysql: image: mysql:8.0 container_name: mysql restart: always environment: MYSQL_ROOT_PASSWORD: ChangeMe123! TZ: Asia/Shanghai volumes: - ./volumes/mysql/data:/var/lib/mysql command: --default-authentication-plugin=mysql_native_password networks: - internal # ===== Redis 缓存 ===== redis: image: redis:alpine container_name: redis restart: always command: redis-server --appendonly yes --requirepass ChangeMe123! volumes: - ./volumes/redis/data:/data networks: - internal # ===== Nextcloud 私有云盘 ===== nextcloud: image: nextcloud:stable container_name: nextcloud restart: always ports: - "8080:80" volumes: - ./volumes/nextcloud/data:/var/www/html environment: MYSQL_HOST: mysql MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud MYSQL_PASSWORD: ChangeMe123! REDIS_HOST: redis depends_on: - mysql - redis networks: - internal # ===== Vaultwarden 密码管理器 ===== vaultwarden: image: vaultwarden/server:latest container_name: vaultwarden restart: always ports: - "8081:80" volumes: - ./volumes/vaultwarden/data:/data environment: TZ: Asia/Shanghai SIGNUPS_ALLOWED: "false" DOMAIN: "https://vault.yourdomain.com" networks: - internal # ===== Jellyfin 媒体服务器 ===== jellyfin: image: jellyfin/jellyfin:latest container_name: jellyfin restart: always ports: - "8096:8096" volumes: - ./volumes/jellyfin/config:/config - ./volumes/jellyfin/cache:/cache # 映射你的媒体目录 - /path/to/movies:/media/movies - /path/to/tv:/media/tv environment: TZ: Asia/Shanghai networks: - internal # ===== Alist 网盘聚合 ===== alist: image: xhofe/alist:latest container_name: alist restart: always ports: - "5244:5244" volumes: - ./volumes/alist/data:/opt/alist/data environment: TZ: Asia/Shanghai networks: - internal # ===== NocoDB 在线表格 ===== nocodb: image: nocodb/nocodb:latest container_name: nocodb restart: always ports: - "8082:8080" volumes: - ./volumes/nocodb/data:/usr/app/data environment: NC_DB: "mysql2://mysql:3306?u=root&p=ChangeMe123!&d=nocodb" depends_on: - mysql networks: - internal # ===== Uptime Kuma 服务监控 ===== uptime-kuma: image: louislam/uptime-kuma:latest container_name: uptime-kuma restart: always ports: - "3001:3001" volumes: - ./volumes/uptime-kuma/data:/app/data networks: - internal networks: internal: driver: bridge 服务说明 服务 端口 用途 首次使用 Nginx 80/443 反向代理、SSL 终结 需手动配 conf MySQL 3306(内部) 统一数据库 docker exec mysql mysql -p Redis 6379(内部) 缓存、Session 已设密码 Nextcloud 8080 私有云盘 网页访问初始化 Vaultwarden 8081 Bitwarden 自建版 网页注册管理员 Jellyfin 8096 媒体服务器 网页配置媒体库 Alist 5244 网盘聚合 首次 docker exec alist ./alist admin 获取密码 NocoDB 8082 Airtable 替代 网页初始化 Uptime Kuma 3001 服务监控 网页注册管理员 启动全家桶cd ~/docker-services docker compose up -d 一条命令,9 个服务全部启动。-d 是后台运行。查看状态:docker compose ps NAME STATUS PORTS nginx Up 2 hours 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp mysql Up 2 hours 3306/tcp redis Up 2 hours 6379/tcp nextcloud Up 2 hours 0.0.0.0:8080->80/tcp vaultwarden Up 2 hours 0.0.0.0:8081->80/tcp jellyfin Up 2 hours 0.0.0.0:8096->8096/tcp alist Up 2 hours 0.0.0.0:5244->5244/tcp nocodb Up 2 hours 0.0.0.0:8082->8080/tcp uptime-kuma Up 2 hours 0.0.0.0:3001->3001/tcp Nginx 反向代理配置把 9 个不同端口的服务统一到 80/443 端口,通过子域名或路径区分。在 volumes/nginx/conf/default.conf 里写:# Nextcloud server { listen 80; server_name cloud.yourdomain.com; location / { proxy_pass http://nextcloud; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } # Vaultwarden server { listen 80; server_name vault.yourdomain.com; location / { proxy_pass http://vaultwarden; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } # Jellyfin server { listen 80; server_name media.yourdomain.com; location / { proxy_pass http://jellyfin:8096; proxy_set_header Host $host; } } 以后所有服务统一走 cloud.yourdomain.com、vault.yourdomain.com 这样的域名,不需要记端口号。自动续期 SSL 证书(Let's Encrypt)配合 Certbot 和 acme.sh,推荐 acme.sh + Nginx 组合:# 在宿主机上装 acme.sh curl https://get.acme.sh | sh # 申请泛域名证书(需要 DNS API) export Ali_Key="YOUR_ALI_KEY" export Ali_secret="YOUR_ALI_secret" acme.sh --issue --dns dns_ali -d yourdomain.com -d "*.yourdomain.com" # 安装证书到 Nginx 目录 acme.sh --install-cert -d yourdomain.com \ --key-file /path/to/docker-services/volumes/nginx/ssl/key.pem \ --fullchain-file /path/to/docker-services/volumes/nginx/ssl/fullchain.pem \ --reloadcmd "docker exec nginx nginx -s reload" acme.sh 会自动创建 cron 任务定期续期,证书过期前 60 天自动更新。全程零人工干预。日常运维命令# 全部停止(数据不丢) docker compose down # 全部重启 docker compose restart # 更新所有镜像到最新版本 docker compose pull && docker compose up -d # 只重启某一个服务 docker compose restart nginx # 查看日志 docker compose logs -f --tail=50 mysql # 备份 MySQL 数据 docker exec mysql mysqldump -p ChangeMe123! --all-databases > backup.sql 添加新服务比如想加一个 Portainer(Docker 可视化管理):在 docker-compose.yml 的 services 段里追加: portainer: image: portainer/portainer-ce:latest container_name: portainer restart: always ports: - "9000:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - ./volumes/portainer/data:/data networks: - internal 然后:docker compose up -d portainer 只启动新增的服务,不影响已有服务。在线热插拔,不需要全局重启。常见问题Q:为什么不用 Portainer 这种图形化界面?可以用,本文没列入只是因为 Portainer 是管理工具而不是业务服务。你觉得需要就加一行,位置随意。Q:MySQL 密码明写了不安全吧?是的。生产环境建议用 .env 文件:# docker-compose.yml environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} # .env 文件(记得加入 .gitignore) MYSQL_ROOT_PASSWORD=StrongPasswordHere 本文直接写在 yml 里是为了方便演示和复制。实际部署请改成 env 引用。Q:这些服务吃多少内存?9 个服务全部启动后,内存占用: 服务 内存 Nginx 10 MB MySQL 300 MB Redis 5 MB Nextcloud 150 MB Vaultwarden 30 MB Jellyfin 200 MB(空闲) Alist 30 MB NocoDB 150 MB Uptime Kuma 60 MB 合计 约 1 GB 也就是说,一台 2GB 的 VPS 或旧电脑就能跑这套全家桶。一个 YAML 文件,9 个服务,一条命令。以后再也不用翻开小本本找"那个服务开的哪个端口"。所有配置、数据、备份都在一个目录下,迁移的时候打包整个 docker-services 目录,scp 到新机器,docker compose up -d,立刻原地复活。
2026年07月16日
89 阅读
0 评论
0 点赞
2026-07-15
个人云盘 NextCloud 搭建指南:数据掌握在自己手里
> 用百度云担心隐私?iCloud 容量不够?NextCloud 让你在自己的服务器上搭建私有云盘,文件、日历、联系人、协作办公全部自己掌控。功能不输任何商业网盘,而且完全免费开源。---## NextCloud 是什么?NextCloud 是一个开源的自托管云存储解决方案,可以把它理解成自己搭建的 Dropbox 或 Google Drive。除了文件存储和同步,还有日历、联系人、邮件、在线协作编辑等大量插件。---## 使用 Docker 部署```yaml version: '3' services: db: image: mariadb:10.6 command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW restart: always volumes: - db:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: your_root_password MYSQL_PASSWORD: your_db_password MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloudapp: image: nextcloud:latest restart: always ports: - 8080:80 volumes: - nextcloud:/var/www/html - /mnt/data/nextcloud:/var/www/html/data environment: MYSQL_HOST: db MYSQL_PASSWORD: your_db_password MYSQL_DATABASE: nextcloud MYSQL_USER: nextcloud depends_on: - dbvolumes: db: nextcloud: ```启动:docker-compose up -d---## 客户端使用NextCloud 提供全平台客户端:| 平台 | 获取方式 | |------|---------| | Windows/Mac/Linux | nextcloud.com/install | | iOS | App Store 搜索 Nextcloud | | Android | Google Play 或 F-Droid |安装后输入你的服务器地址,登录账号,就能像用 Dropbox 一样自动同步文件了。---## 实用插件推荐1. Calendar:日历,支持 CalDAV 同步到手机 2. Contacts:通讯录,支持 CardDAV 同步 3. Talk:内置的语音/视频通话和聊天 4. Notes:Markdown 笔记 5. OnlyOffice:在线编辑 Word/Excel/PPT 6. External Storage:挂载外部存储---## 自建 vs 商业网盘| 方面 | NextCloud 自建 | 商业网盘 | |------|---------------|---------| | 隐私控制 | 数据完全在自己手里 | 数据在别人服务器上 | | 存储空间 | 取决于你的硬盘 | 免费版有限 | | 功能扩展 | 大量免费插件 | 功能固定 | | 维护成本 | 需要自己维护 | 零维护 |---如果想完全掌控自己的数据,NextCloud 是目前最成熟的开源方案。搭建一次,全家人都能用,手机电脑自动同步。
2026年07月15日
70 阅读
0 评论
0 点赞
2026-07-15
自建网站监控:Uptime Kuma 部署教程
> 网站突然打不开了,结果过了半天才发现,这段时间可能已经损失了不少访客。Uptime Kuma 是一个开源、漂亮的网站监控工具,支持多种通知方式,部署超简单。---## Uptime Kuma 是什么?Uptime Kuma 是一款开源的自托管网站监控工具,功能包括: - 定时检测网站是否在线(HTTP/HTTPS/TCP/Ping 等) - 支持多种通知方式:邮件、Telegram、微信、钉钉、Webhook 等 - 漂亮的监控面板和状态页面 - 完全免费,部署简单---## 使用 Docker 部署(推荐)```bash docker run -d \ --name uptime-kuma \ --restart=always \ -p 3001:3001 \ -v uptime-kuma:/app/data \ louislam/uptime-kuma:latest ```然后访问 http://你的服务器IP:3001 进入设置界面。---## 配置 Nginx 反向代理```nginx server { listen 80; server_name status.example.com;location / { proxy_pass http://127.0.0.1:3001; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } ```---## 配置通知支持的通知方式:| 方式 | 适合场景 | |------|---------| | 邮件(SMTP) | 通用,人人都能收到 | | Telegram Bot | 实时推送,免费 | | 企业微信/钉钉 | 国内用户首选 | | Webhook | 自定义处理逻辑 | | ServerChan | 微信推送,国内友好 |---## 公开状态页面Uptime Kuma 还能生成公开的状态页面,让用户也能看到你的服务是否正常。在设置中创建状态页面,选择要公开显示的监控项,生成唯一 URL,把链接放到网站页脚。---网站挂了不可怕,可怕的是挂了半天你还不知道。花 5 分钟部署 Uptime Kuma,给你的网站请个 24 小时不休息的保安。
2026年07月15日
68 阅读
0 评论
0 点赞