使用说明 —— 网站维护手册
线上地址:https://uppjs.com 这份说明写给"完全不想碰命令行"的你,全部操作都是双击。
一、这个网站由什么组成
这几个文件各司其职,日常你只会碰第一个:
| 文件 | 作用 | 你要动它吗 |
|---|---|---|
README.md | 唯一内容源。所有软件清单都写在这里 | ✅ 一般只改这一个 |
index.html | 自动生成的清单主页(搜索、目录、收藏、外观配色) | ❌ 绝对不要手改 |
hub.html | 自动生成的工具台 / 导航页,所有模块的总入口 | ❌ 不要手改 |
build.py | 把 README 编译成上面那些页面的脚本 | 🔘 加模块、改配色才动 |
icon-*.png | 手机加到主屏时用的图标 | 不用动 |
manifest.webmanifest | 让手机能"添加到主屏幕"的配置,自动生成 | 不用动 |
1-编辑内容.command | 双击 → 用 VSCode 打开 README | 🔘 双击用,别打开看 |
2-更新网站.command | 双击 → 生成 + 提交 + 推送上线 | 🔘 双击用,别打开看 |
使用说明.md / 使用说明.html | 就是本文,两个格式各一份 | 一般不用动 |
favicon.ico / favicon.svg | 浏览器标签页上的小图标 | 不用动 |
robots.txt / sitemap.xml | 给搜索引擎看的,每次更新自动生成 | 不用动 |
.vscode/settings.json | VSCode 的编辑设置(已配好) | 不用动 |
edgeone.json | 给 EdgeOne 看的构建配置(详见第七节) | ❌ 不要删 |
唯一要记住的规则:只改README.md。index.html、hub.html、说明书、robots.txt、sitemap.xml、manifest.webmanifest都是每次自动生成的,手动改了下次会被覆盖。
关于说明书有两个版本
| 版本 | 文件 | 什么时候用 |
|---|---|---|
| Markdown | 使用说明.md | 在 VSCode 里读、改、走 git 版本回溯(这是内容源) |
| 网页 | 使用说明.html | 双击直接在浏览器里看,排版清楚,手机上也能看 |
两者内容完全一致,都从 使用说明.md 自动生成。 你只需要维护 md 这一份,双击 2-更新网站.command 时 html 版会跟着一起更新——永远不会不同步。
📱 手机上想看? 直接访问 https://uppjs.com/help.html。
(使用说明.html和help.html是同一份内容,后者只是为了让网址好输入。)
二、日常只有两个动作
动作 1️⃣ 改内容
双击 1-编辑内容.command → 自动用 VSCode 打开 README.md。
具体操作(VSCode,你电脑上已经装了):
| 步骤 | 做什么 |
|---|---|
| 1 | 双击 1-编辑内容.command,VSCode 启动并打开 README.md |
| 2 | 直接在编辑器里改:加软件、改说明、调分类 |
| 3 | 想看排版效果:光标放在正文里,按 Cmd + K 松开,再按 V —— 右侧弹出实时预览 |
| 4 | 按 Cmd + S 保存(不保存等于没改) |
| 5 | 关掉 VSCode,去双击 2-更新网站.command |
为什么是 VSCode:改 Markdown 最顺手——有语法高亮、有实时预览、找东西有 Cmd + F、 还能按 Cmd + Z 一路撤销。项目里已经配好了 .vscode/settings.json: 长行自动换行、中文标点(:「」)不再被误报成"可疑字符",打开就能用。
其他软件也能改,但没必要:
| 软件 | 评价 |
|---|---|
| Obsidian | 你装了,但它按"库"组织,打开单个文件不顺手;而且这个目录是 git 仓库,混进去会乱 |
| IDEA | 能改,但它是 Java 开发用的重家伙,启动慢,改 Markdown 属于杀鸡用牛刀 |
| 系统「文本编辑」 | 能打开,但没高亮没预览,最后的选择 |
说到底README.md就是个纯文本文件,用哪个编辑器都行。
只有一条禁忌:别用 Word / Pages 这类富文本编辑器打开,它们会往里塞格式代码,把文件搞坏。
动作 2️⃣ 更新上线
双击 2-更新网站.command
它自动完成四件事:
| 步骤 | 做什么 |
|---|---|
| ① | 把 README 编译成网页 + 工具台 + 说明书 + 站点地图,并告诉你共多少个分类/条目 |
| ② | 把改动提交到 git |
| ③ | 推送到 GitHub |
| ④ | 打开本地预览,并弹窗告诉你结果 |
大约 1 分钟后,https://uppjs.com 就是新内容了。
⚠️ 改完内容一定要双击第 2 个,否则线上看到的还是旧内容。
三、README 怎么写(重要)
一句话记住
- [软件名](链接):这是干什么用的 | 我的实际感受
冒号只用中文 :;句尾不加句号;一行一条。
写错也不要紧——build.py 会自动纠正下面这些:中英文冒号、逗号、句号当分隔符都能认;句尾的 。 会自动去掉;名称里的括号备注会自动变成标签。你只要记住上面这一行。
一条条目由三部分构成
| 部分 | 写什么 | 例子 |
|---|---|---|
| ① 名称 | 软件官方写法,大小写照抄,不塞任何别的东西 | [Snipaste] |
| ② 链接 | 官网或官方下载页 | (https://zh.snipaste.com/) |
| ③ 简述 | 这东西是干什么的,一句话,20 字上下 | 截图贴图工具,按 F1 就能截 |
| ④ 点评(可选) | 你实际用下来的感受 / 坑在哪 | 用了三年,重装系统必装 |
③ 和 ④ 之间用全角竖线 | 隔开。网页上 ③ 跟在名称后面,④ 会另起一行、带一条竖线,视觉上分开。
- [Snipaste](https://zh.snipaste.com/):截图贴图工具,按 F1 就能截|用了三年,重装系统必装
这就是"完美"的答案:把三件事分开写
现在很多条目把 是什么、好不好用、什么版本 三件事挤在一句里,所以看起来乱。分开就清爽了:
| ❌ 挤在一起 | ✅ 分开写 |
|---|---|
[Snipaste](链接):最好用的截图软件没有之一,比微信截图强多了 | [Snipaste](链接):截图贴图工具 | 比微信截图强多了 |
[Bandizip(6.25 版本)](链接):免费最后一版,界面舒服无广告 | [Bandizip](链接):解压工具(6.25 版本)| 免费最后一版,界面舒服无广告 |
判断标准:读名称能知道"这是啥软件",读简述能知道"它是干这个的",读点评能知道"你用下来的真实评价"。
💡 点评是这个清单最值钱的部分。网上的软件介绍到处都是,但"文件一多就卡""盗版太多,还在找笔中"这种话只有你能写。这是你区别于软件测评号的地方,值得每条都补一句。
标签:让名称保持干净
不要把版本号、属性、评价写进名称里。用括号写在名称后面,网页会自动变成彩色小标签:
| 你写 | 网页上变成 |
|---|---|
[☆ WPS v11.8.2] 或 [WPS(荐)] | 橙色 荐 徽章 |
[Bandizip(开源)] | 绿色「开源」标签 |
[oCam(v7bf)] | 灰色 v7bf 版本标签 |
[Potplayer(Win)] | 蓝色「Win」平台标签 |
自动识别规则:名称里 10 个字以内的括号内容会被抽成标签;超过 10 字(比如 (Loop loop habit track))会原样留在名称里。
推荐标记两种写法都行:☆ 放名称最前面,或 (荐) 放名称最后面——效果一样。
能识别的属性词:开源、免费、付费、绿色版、便携版、单文件、汉化、官方、破解、无广告、网页版、客户端、跨平台 能识别的平台词:Win、Windows、Mac、macOS、iPhone、iOS、iPad、Android、安卓、手机、浏览器、Chrome、Edge、Firefox、PC
结构:分类 / 分组 / 条目
| 你写的内容 | 网页上会变成 |
|---|---|
## 手机软件 | 一个分类(两个井号,左侧导航多一项) |
- 装机必备: 单独一行 | 一个可折叠的分组(结尾带中文冒号) |
| 分组下面缩进 2 空格再写条目 | 收进该分组的条目 |
| 再缩进 2 空格(共 4 空格) | 更深一层(子条目) |
~~[旧软件](链接):不好用了~~ | 标成已废除,灰显 + 默认折叠 |
<!-- 备注 --> | 完全忽略,网页上不出现 |
## PC 软件
- 截图工具:
- [Snipaste](https://zh.snipaste.com/):截图贴图工具|重装必装
- [ShareX](https://getsharex.com/):功能最多,但设置项太多
⚠️ 缩进统一用 2 个空格。现在 README 里有 2 格、4 格混用的情况,虽然脚本能正确解析,但自己看着容易乱。
已经统一掉的写法(你以前写得不一致的地方)
| 以前混杂的写法 | 现在的统一标准 |
|---|---|
: / : / , / 直接接字 | 一律用中文冒号 :(脚本也认其他,但建议统一) |
句尾有时 。 有时没 | 一律不加句号(加了脚本也会去掉) |
☆ WPS 和 FastStone(荐) | 两种都行,都渲染成「荐」徽章 |
名称里塞 (6.25 版本)(开源) | 可以继续写,网页自动抽成标签 |
| 缩进 2 格 / 4 格混用 | 统一 2 格 |
空的 - 行 | 已清理,脚本也会忽略 |
几个容易踩的小坑
| 别这么写 | 为什么 |
|---|---|
用 # 标题(一个井号) | 只认 两个井号 ##,一个井号会被当成普通文字 |
一条里塞两个链接([A](x),[B](y):说明) | 网页上 B 会跑到说明文字里去。拆成两条最清楚 |
手动去改 index.html | 下次更新会被覆盖,白改 |
| 分类名重复 | 会产生两个同名分类,导航里看着乱 |
分组标题不带冒号(- 其他工具) | 仍能识别成组,但建议补上 :,更规范 |
元数据:给重点软件多写几行(可选)
普通的子条目是「附注」。但如果你用下面这 8 个词开头,网页会把它认成结构化字段,单独显示成一行小字,还能参与筛选和搜索。
| 键 | 值写什么 | 页面上的效果 |
|---|---|---|
免费 | 是 / 否 | 多出 data-free 标记,右上角筛选「免费的」能过滤到 |
开源 | 是 / 否 | 同上,「开源的」 |
平台 | Win / macOS / Linux(斜杠、顿号都行) | 单独显示一行平台 |
替代 | VLC / MPV | A 不行时换什么,也会进搜索索引 |
坑 | 一句话 | 用警示色显示,最有用的一栏 |
验证 | 2026-10 | 最后一次确认它还能用(清单最大的敌人是过期) |
官网 | 网址 | 需要单独给出网址时用 |
价格 | 订阅制,有免费额度 | 付费软件写清楚,免得误导 |
写法就是普通子条目,缩进比父条目多 2 格:
- 本地跑模型:
- [Ollama](https://ollama.com/):命令行一行就能拉起本地模型。
- 免费:是
- 开源:是
- 平台:Win / macOS / Linux
- 坑:模型文件很占硬盘,动手前先看剩余空间
- 验证:2026-10
三条注意:
- 不写完全没问题。 没写元数据的条目一切照旧,可以只给重点软件写。
- 键名必须是上面 8 个之一,换成别的词就会被当成普通附注。
- 键和值之间要用冒号(
免费:是),全角半角都认。
四、首次使用:macOS 的安全提示
第一次双击 .command 文件,macOS 可能弹这个:
"无法打开,因为它来自身份不明的开发者"
解决(只需做一次):
- 在文件上右键(或按住 Control 点一下)
- 选「打开」
- 弹出的窗口里再点一次「打开」
之后就能正常双击了。
如果双击后终端窗口一闪就没了,说明执行出错。可以在终端里运行一次看详细信息:
cd ~/IdeaProjects/js-ping.github.io && ./2-更新网站.command
五、访客能用到的功能(外观 / 收藏 / 导出 / 工具台)
右上角的「外观」按钮,每个访客都能自己调。设置只存在他自己的浏览器里,不影响别人,也不上传任何东西。
明暗三档
| 选项 | 效果 |
|---|---|
| 跟随系统 | 系统深色就深色,否则浅色(默认) |
| 浅色 | 强制浅色 |
| 深色 | 强制深色 |
背景色
面板下半部分是色块,点一下整站换色。目前 8 个预设:
| 色块 | 底色 | 适合 |
|---|---|---|
| 默认(斜切双色) | 跟明暗走 | 什么都不折腾 |
| 云白 | #ffffff | 最干净的纯白 |
| 暖阳 | #f7efd9 | 米黄,长时间看不累 |
| 护眼 | #e6f1e1 | 淡绿 |
| 石青 | #e5eef8 | 冷调浅蓝 |
| 藕荷 | #f8eaef | 淡粉灰 |
| 午夜蓝 | #182233 | 深色,比纯黑柔和 |
| 纯黑 | #000000 | OLED 屏省电 |
点「自定义…」还能用系统取色器挑任意颜色;「恢复默认」一键回到跟随系统 + 默认色。
不用担心看不清。 选定底色后,面板色、边框色、正文色、次要文字色都是从这个底色按对比度算出来的:深色底自动配浅字,浅色底自动配深字。实测标题对比度 ≥12:1,正文 ≥4.9:1,辅助文字 ≥3.2:1,都在无障碍标准线以上。
想加颜色 / 改颜色
打开 build.py,搜索 presets,找到一个数组,一行一个颜色:
{name: '暖阳', bg: '#f7efd9'},
name:鼠标悬停时显示的名字bg:底色,十六进制颜色码
加一行就多一个色块,删一行就少一个(面板一行排 4 个,建议保持 4 的倍数,排版最整齐)。
想改「浅色 / 深色」这两个默认基准色,改 build.py 里的 THEME_CSS(这个常量被清单页和工具台共用,改一次两边都变)。
收藏、已装与导出
访客把鼠标移到任意条目上,名称右边会冒出 ☆ 收藏 和 ☐ 标记为已装 两个小按钮(手机上直接显示)。点一下变实心,再点取消。
右上角 「我的」 按钮里能看到这两个列表:
| 按钮 | 作用 |
|---|---|
| 收藏 / 已装 | 切换看哪个列表;点列表里的条目会直接跳到正文对应位置 |
| 导出 CSV | Excel、Numbers 能直接打开 |
| 导出 Markdown | 能贴回 README,或者发给别人 |
| 清空 | 一键清掉全部标记(会二次确认) |
记录只存在访客自己的浏览器里(localStorage),换设备或清缓存就没了。这是刻意设计:不需要账号、不上传任何数据、不用买服务器。
工具台(导航页)
顶栏右边的 「工具台」 打开 hub.html,是一张总入口页,把所有模块列在一起:
| 分区 | 内容 |
|---|---|
| 核心 | 软件清单、使用说明、外观配色、线上主页 |
| 我的 | 收藏、已装、只看免费、只看开源、导出 |
| 内容板块 | 文章归档、书单影单、备考资料、网址书签(规划中占位) |
| 功能 | 拼音搜索、条目对比、评论投稿、失效链接体检(规划中占位) |
想加新模块? 打开 build.py,搜索 HUB_MODULES,往数组里加一行就行:
dict(t="文章归档", ico="▦", href="posts.html", st="live",
d="公众号写过的长文按主题归档。"),
t标题 /ico图标字 /href链接 /d一句话说明st="live"可点击;st="plan"显示灰色「规划中」占位,不可点- 加一行就多一张卡片,删一行就少一张
直接跳到某个筛选
收藏、已装这些入口支持用网址参数直达,方便做外链或加书签:
| 网址 | 效果 |
|---|---|
uppjs.com/?view=fav | 打开并只看收藏 |
uppjs.com/?view=ins | 只看已装 |
uppjs.com/?view=free | 只看免费的 |
uppjs.com/?view=oss | 只看开源的 |
装到手机主屏
本站有 PWA 配置(manifest.webmanifest + 图标)。手机上打开 uppjs.com,Safari 里点「分享 → 添加到主屏幕」,就能像 App 一样全屏打开。
故意没做 Service Worker 离线缓存:那会让改完的内容迟迟不更新,对「改 README 就该立刻生效」的站来说得不偿失。
六、常见问题
Q:我改了 README,但网页没变? A:九成是忘了双击 2-更新网站.command。另外 EdgeOne 部署有约 1 分钟延迟,稍等一下;浏览器缓存可以按 Cmd+Shift+R 强制刷新。
Q:双击后提示「推送失败」? A:绝大多数是网络问题。你的改动已经安全保存在本地,网络恢复后重新双击一次即可,不会丢东西。
Q:能直接在手机上改吗? A:可以。在 GitHub 网页上直接编辑 README.md 并提交,然后……需要在电脑上双击一次 2-更新网站.command,因为 index.html 得在本地生成。如果不方便用电脑,见下面「进阶」。
Q:想改网站标题、栏目结构? A:那些不在 README 里,在 build.py 里。用编辑器打开,找到最上面一大段 HTML 模板改。改坏了不用怕,git 里都有历史,随时能退回去。
Q:想调背景色,或者加一个新的预设配色? A:访客自己就能调——右上角「外观」按钮,明暗 + 8 个底色 + 自定义取色器。要增删预设色块,改 build.py 里的 presets 数组,见第五节。
Q:我在自己电脑上点了收藏,换台电脑怎么没了? A:正常。收藏和已装只存在那台设备的浏览器里(localStorage),不联网、不上传。换设备请用「我的 → 导出 Markdown」,把清单带走。
Q:想给某个软件加「坑」和「替代」这类信息? A:在它下面缩进 2 格写一行 - 坑:xxx 就行,8 个可用键见第三节的「元数据」。不写也完全没问题。
Q:工具台里那些灰色的「规划中」卡片,怎么变成能点的? A:两种做法。已有页面的(比如文章归档做出来后)→ 改 build.py 里 HUB_MODULES 那一行,把 st="plan" 改成 st="live"、补上 href,它就变亮了。还没做的功能(拼音搜索、条目对比)代码里已经留了接口位置,做的时候再填。
Q:手机上怎么用最方便? A:Safari 打开 uppjs.com → 分享 → 添加到主屏幕。之后点图标就能全屏打开,像个 App。清单页右上角「工具台」也能当入口。
七、进阶:换托管商 / 双托管
站点同时支持挂在 GitHub Pages 和 腾讯云 EdgeOne Pages 上,两套互不干扰:
| 托管商 | 域名 | 说明 |
|---|---|---|
| GitHub Pages | uppjs.com(当前) | 免费,国内访问偏慢,改动自动生效 |
| EdgeOne Pages | uppjs.com(切换后) | 免费,国内更稳,改动自动生效 |
关键文件:edgeone.json
仓库根目录的 edgeone.json 是给 EdgeOne 看的构建配置,它会覆盖控制台里填的构建命令和输出目录。
{
"installCommand": "exit 0",
"buildCommand": "mkdir -p public && cp *.html favicon.ico favicon.svg robots.txt sitemap.xml public/",
"outputDirectory": "./public",
"headers": [
{
"source": "/*",
"headers": [
{ "key": "Strict-Transport-Security", "value": "max-age=604800" },
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" },
{ "key": "X-Frame-Options", "value": "SAMEORIGIN" },
{ "key": "Permissions-Policy", "value": "geolocation=(), microphone=(), camera=()" }
]
}
]
}
意思就是:不装依赖、把 html 和图标/SEO 文件复制进 public/、发布这个目录,并给所有响应加一组安全头。
✅ 好处:你在控制台那几个容易填错的框(构建命令 / 输出目录)填什么都不影响结果,平台以这个文件为准。
❌ 不要删这个文件,删了就得靠控制台手填,容易出错。
安全响应头都加了什么
| 响应头 | 值 | 作用 |
|---|---|---|
Strict-Transport-Security | max-age=604800 | HSTS:告诉浏览器以后只准走 HTTPS(7 天) |
X-Content-Type-Options | nosniff | 禁止浏览器猜文件类型,防 MIME 嗅探攻击 |
Referrer-Policy | strict-origin-when-cross-origin | 跳转到外站时不泄露完整来源地址 |
X-Frame-Options | SAMEORIGIN | 禁止别人用 iframe 套你的站(防点击劫持) |
Permissions-Policy | 关掉定位/麦克风/摄像头 | 页面本来就不需要这些权限 |
关于 HSTS 的实话:它是单向门——开启后浏览器在有效期内会强制所有访客走 HTTPS,用户端清不掉。
- 这里只设了 7 天(
max-age=604800),没加includeSubDomains、没加preload,就是为了万一出问题能自动过期退回来。 - 加它的前提是两个域名的证书都已正常签发(现在已满足)。
- 想改或去掉:编辑
edgeone.json把这一行删掉,或把604800改成别的秒数(0 = 关闭),然后双击2-更新网站.command推送即可生效。 - ⚠️ 以后如果再新增子域名(比如
img.uppjs.com),要先把它的证书配好——不然 HSTS 期间浏览器会拒绝访问。
新建项目时怎么填(容易填错的几栏)
| 配置项 | 填什么 | 为什么 |
|---|---|---|
| 项目名称 | uppjs | 不能带点号。只允许小写字母、数字、连字符,5–50 字符,不能以连字符开头结尾。填仓库名 js-ping.github.io 会直接报错 |
| 加速区域 | 全球可用区(不含中国大陆) | 域名没备案就只能选这个。选了含中国大陆,后面绑不了 uppjs.com |
| 生产分支 | main | 每次推送自动部署 |
| 构建设置 | 不用改 | 仓库里的 edgeone.json 会覆盖它 |
| 环境变量 | 不填 | 本项目不需要 |
⚠️ 加速区域是关键。选「含中国大陆」的话,添加自定义域名时会要求 ICP 备案号,域名还没备案就会卡死。
等以后备案下来了,再到项目设置把区域改成「全球可用区(含中国大陆)」——国内响应能从几百毫秒降到 50–90ms。
一个反直觉的现象(提前知道,别慌)
选了「不含中国大陆」之后,EdgeOne 给的 xxx.edgeone.app 临时地址在国内打不开,返回 401。 这是平台行为,不是部署失败——那个地址只对海外网络开放。
所以部署完不要用临时地址验证,直接跳到绑域名,用 https://uppjs.com 验证。 判断部署成没成功,看控制台的部署记录和构建日志:状态显示成功、日志里能搜到 cp *.html public/ 就对了。
绑定域名
| 步骤 | 做什么 |
|---|---|
| 1 | 项目 → 域名管理 → 添加自定义域名:uppjs.com 和 www.uppjs.com |
| 2 | 按弹窗提示,去阿里云 DNS 把这两条 CNAME 的值改成 EdgeOne 给的地址 |
| 3 | 回控制台点「验证」,等 DNS 生效(通常几分钟,最长 48 小时) |
| 4 | 验证通过后自动签发 SSL 证书,访问 https://uppjs.com 确认 |
刚改完 DNS 就点验证失败是正常的,等几分钟再点。
CNAME 记录值从哪来(★ 这一栏只能从控制台拿)
记录值 是 EdgeOne 分配给你的专属地址,没有固定值,别人拿到的不一样,控制台外拿不到。长这样:
a4285573.uppjs.com.dns.edgeone.site
注意结尾是 dns.edgeone.site,不是 edgeone.app(那是临时预览域名,不能当 CNAME 用)。
去哪看:EdgeOne Pages 控制台 → 进入 uppjs 项目 → 域名管理 / 自定义域名 → 点「添加自定义域名」→ 输入 uppjs.com → 页面会直接显示「请到 DNS 服务商添加以下记录」,那行 CNAME 的值就是它。
根域名 uppjs.com 和 www.uppjs.com 要分别添加,平台可能给出两个不同的值。
阿里云 DNS 怎么改(别删记录)
| 阿里云栏位 | 填什么 |
|---|---|
| 记录类型 | CNAME(不变) |
| 主机记录 | @(根域名)或 www(不变,一条一条改) |
| 解析线路 | 默认(不变) |
| 记录值 | 改成 EdgeOne 给的地址 ← 只改这一栏 |
| TTL | 默认 10 分钟 |
⚠️ 点记录右侧的「修改」,不要「删除」再「添加」。
删掉会立刻让网站 404(现在uppjs.com全靠这条 CNAME 指向 GitHub Pages 活着)。
✅ 那条 edgeonereclaim 的 TXT 验证记录,留着别动,以后重新绑域名还能复用。
判断改成功了没
Mac 终端跑 dig uppjs.com,看 CNAME 是不是等于 EdgeOne 给的值。
实测:EdgeOne 给的 CNAME 目标是uppjs.com.pages.dnsoe5.com这种格式(结尾是平台分配的域名),根域名和www共用同一个目标值。
证书(HTTPS)怎么来
EdgeOne 免费证书不是瞬间生效的,申请期间该域名的 HTTPS 访问本来就是不可用的——这是官方明确说明的正常中间态,不是配置错误。
申请路径(手动触发时用):
| 步骤 | 做什么 |
|---|---|
| 1 | 项目 → 域名管理 → 找到该域名 → HTTPS 列点「配置」 |
| 2 | 边缘 HTTPS 证书 → 点「配置」 |
| 3 | 配置方式选「申请免费证书」,验证方式选「自动验证」 |
| 4 | 保存,等 CA 签发(几分钟到几十分钟) |
证书由 TrustAsia / Let's Encrypt 签发,90 天有效,到期前 15 天平台自动续期,不用管。
⚠️ 官方原话:「Makers 不会自动为您的域名分配 HTTPS 证书。」
也就是说,证书必须手动申请一次,干等是等不来的。
判断依据:域名管理页的 HTTPS 列。显示「未配置」= 从没申请过。
⚠️ 最容易走错的坑:两个「配置」页不是一回事
控制台里有两个长得很像的页面,点错就找不到证书在哪:
| 页面 | 页面标题 | 里面有 | 有证书吗 | |
|---|---|---|---|---|
| 域名配置 | `域名配置 \ | uppjs.com` | HTTP/2、IPv6 访问、关联环境 | ❌ 没有 |
| HTTPS 配置 | 从 HTTPS 列的「配置」进入 | 边缘 HTTPS 证书、强制 HTTPS 访问、启用 HSTS、OCSP 装订 | ✅ 有 |
一句话判断:页面上能看到「边缘 HTTPS 证书」这张卡片,才是走对了。
只看到 HTTP/2 / IPv6 / 关联环境 → 走错了。退回域名管理列表页,点该域名那一行最右侧 HTTPS 列里的蓝色「配置」(不是点域名名字)。
故障速查表(按现象定位)
| 现象 | 说明 | 怎么办 |
|---|---|---|
访问返回 HTTP 418(server: TencentEdgeOne,内容为空) | EdgeOne 不认识这个域名 —— 控制台里没添加它 | 去域名管理添加该域名(www 要单独添加一次) |
HTTPS 证书是 CN=*.cdn.myqcloud.com | 用的是腾讯云兜底证书,证书根本没申请过,浏览器会报错 | 域名管理 → 该行 HTTPS 列「配置」→ 申请免费证书(见上) |
| 点进「域名配置」页却找不到证书 | 页面走错了 —— 那是 HTTP/2/IPv6/关联环境的页面 | 退回域名管理列表,点最右侧 HTTPS 列的「配置」 |
HTTPS 证书是 CN=uppjs.com 或含 uppjs.com | ✅ 正常 | 不用管 |
https://uppjs.com 报「证书名称不匹配」 | 同第 2 行,证书没生效 | 同上 |
| 页面 404 | 部署失败或路径不对 | 看控制台部署日志,确认有 cp *.html public/ |
两个容易误判的点
- 中文文件名要 URL 编码:
使用说明.html在地址栏里会自动变成%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.html,这是正常的。用工具直接测时如果不编码会误报 404。手机上想看说明书,直接用uppjs.com/help.html更省事。 - DNS 生效比想象中快:实测改完 10 分钟内,阿里云/腾讯/Google 三大公共 DNS 就都返回新值了。真正慢的是证书签发。
CNAME 文件是给 GitHub Pages 用的,EdgeOne 不读它,保留不管即可。
日常更新流程完全不变:双击 2-更新网站.command → 推送 → 两边都会自动重新部署。
当前状态(2026-10-01 实测)
| 检查项 | uppjs.com | www.uppjs.com |
|---|---|---|
| 证书 | ✅ CN=uppjs.com | ✅ CN=www.uppjs.com |
| 签发者 | TrustAsia DV TLS RSA CA | 同左 |
| 有效期 | 至 2026-12-29 | 同左 |
| HTTP → HTTPS | ✅ 302 自动跳转 | ✅ 302 自动跳转 |
| 浏览器证书警告 | ✅ 无 | ✅ 无 |
| 内容 | 190 条 / 7 分类 | 与根域名一致 |
EdgeOne 迁移已全部完成,不用再做任何控制台操作。
备案:想真正提速时再做
当前决定(2026-10-01):暂不备案。 原因是要花钱——备案本身免费,但必须先在国内某家云厂商买一项云资源当"接入凭证"(最低约 ¥68–300/年的轻量服务器),而它除了让网站变快之外没有任何别的用处,还得记着到期续费,否则备案会失效。
>
触发条件:有人反馈打不开、或者有了明确要引流的场景,再动手。下面全部内容保留,到时候照着做即可。
先说结论:现在不做也完全能用。 不备案的天花板是 600~1400ms(走海外节点回来);备案后大陆节点直连,能到 50–90ms。这是"更快",不是"能用/不能用"。
备案是什么
向工信部登记你的网站信息,必须通过一家接入服务商(云厂商)提交。所以要备案,你需要在国内某家云厂商有一项云资源当"接入"——买一台最低配的轻量应用服务器就行,不用一直开着,费用以控制台为准。
你的域名 uppjs.com 注册在阿里云、实名已通过,所以走阿里云备案最顺(不用迁域名)。走腾讯云也可以(EdgeOne 是腾讯云的),但同样需要腾讯云那边的云资源。
材料清单
| 材料 | 说明 |
|---|---|
| 身份证 | 个人备案就是你自己,正反面照片 |
| 域名证书 | 阿里云控制台可直接下载 |
| 网站名称 | 建议用「个人软件使用记录」这类中性描述,避免"下载""资源站"等字眼 |
| 网站简介 | 一句话,比如"个人整理的软件与硬件使用清单" |
| 手机号 / 邮箱 | 接收验证码 |
| 真实性核验 | 用阿里云 App 刷脸 + 拍身份证,不用去现场 |
流程与耗时
| 阶段 | 大概时间 |
|---|---|
| 在云厂商提交资料 | 30 分钟 |
| 云厂商初审(会打电话核实) | 1–2 个工作日 |
| 短信核验(工信部发验证码) | 即时 |
| 管理局审核 | 7–20 个工作日 |
⚠️ 一个真实的注意点:备案会核查网站性质,个人备案对内容有要求。你清单里有激活工具、绿色版之类的条目,备案时不要把这些作为网站定位去描述,按"个人软件使用记录"说明即可。各地管局口径略有差异,提交前可以先看云厂商备案页面的最新要求。
备案通过后要做什么
| 步骤 | 做什么 |
|---|---|
| 1 | 网站页脚挂 ICP 备案号——法规硬要求,且必须链接到 https://beian.miit.gov.cn。告诉我备案号,我加进 build.py 的页脚 |
| 2 | EdgeOne 控制台 → 项目设置 → 加速区域改成「全球可用区(含中国大陆)」 |
| 3 | 重新部署一次(触发新构建) |
| 4 | 域名管理里确认两个域名都还是「已生效 + 已配置」 |
| 5 | 部分地区要求再做一次公安联网备案(备案通过后 30 天内) |
做完这些,国内访问就从几百毫秒降到几十毫秒。日常更新流程依旧不变。
📄 完整版见仓库docs/备案操作手册.md,或在电脑上双击备案操作手册.html。
那份手册写清了:怎么买最便宜的那台"备案用"服务器、控制台每一屏点什么、以及最容易被打回的五个坑。
八、数据安全与免责
- 所有内容只存在你自己的电脑和你自己的 GitHub 仓库里,本流程不上传任何数据到第三方。
- 页面是纯静态的,没有统计脚本、没有跟踪代码、不收集访客信息。
- README 里的第三方下载链接仅作记录,安全性与可用性请自行判断。