十八中论坛 · 文档 十八中论坛使用说明书

创作者:站点托管、Gra 编辑器与 API

创作者面板、站点托管与 Gra 图形化编辑器。

本章面向有发布需求的创作者:搭建个人网站、使用图形化编辑器构建页面,或通过脚本 / Agent 调用论坛接口。

一、站点托管:搭建个人网站

申请为自助方式——在设置中心 → 自定义 → 站点托管中开启「启用站点」并保存,站点即创建完成,无需审批。

  • 站点地址:https://<用户名>.forum18.site(其他用户可见的博客)
  • 管理地址:https://manage.<用户名>.forum18.site(本人的控制台与编辑器;其他用户看不到内容)
  • 地址无需自行设计:即为论坛用户名。用户名为中文时,地址即为中文域名 —— 张三 → 张三.forum18.site、李喆 → 李喆.forum18.site(浏览器地址栏中直接显示中文;底层为 IDN,由浏览器自动转换为 xn--…)。俄文、日文、韩文、带重音符号的名称同样原样保留。
  • 名称过长时才会变化:编成域名超过 63 字节(大约十几个汉字)或含有域名无法容纳的符号时,自动退回拼音(张三 → zhangsan)。
  • 每个账号最多三个独立博客:地址固定为 <用户名>.forum18.site、2nd.<用户名>.forum18.site、3rd.<用户名>.forum18.site,不能另填名称。设置页先选中博客,再编辑其标题、页面、发布版本和域名绑定;管理地址分别在公开域名前加 manage.。
  • 存量自定义地址暂保留兼容,避免目录和已有委派失效;新建博客使用固定命名。
  • 每个博客分配独立私有 IP;发布静态内容由一个共享博客 nginx 反代到各自静态容器,不为每个博客启动 nginx。Gra 工程工作区和开发容器仍按账号管理,不等同于三个独立开发环境。
  • 同一页面还可以设置站点标题、站点描述,以及启用开关(关闭后外网无法访问,已发布的内容保留)。

控制台

地址是 https://manage.<用户名>.forum18.site/author/(旧的 https://<用户名>.forum18.site/author/ 仍然能用,会自动落到同一个控制台)。两种登录方式:论坛用户名 + 密码,或令牌登录。

侧栏功能:

功能 说明
进入 Gra 在线编辑器 跳到图形化编辑器(见下一节)
上传站点包 整站打包成 ZIP(根目录必须包含 index.html,最大 50MB)上传,平台解压到独立容器并切换发布版本(激活失败时恢复旧版本)
单文件发布 直接发一个 Markdown 或 HTML 文件
页面管理 增删辅助页面
版本与回滚 每次发布生成一个不可变版本,保留最近 5 个,可一键回滚
设置与令牌 站点设置与 API 令牌

限制(超出后会直接报错):

项 上限
ZIP 包 50MB(只收 .zip)
解压后总大小 200MB
文件数量 5000 个
单个文件 5MB
目录深度 10 层
站点存储 新站默认 1GB

绑定自有域名

站点地址 <用户名>.forum18.site 之外,还可以把自己的域名绑上来 —— 两个地址打开的是同一个站点(同一份已发布版本),不是另建一个。

  1. 在域名 DNS 服务商处添加一条 CNAME 记录,指向 cname.forum18.cn(例如主机记录 blog.example.com)。

用 Cloudflare 的必须把这条记录设为「仅 DNS」(灰云) —— 开启代理(小黄云)后证书与回源都会失败。

  1. 回到 设置中心 → 自定义 → 站点托管 → 私有域名,填入域名并「添加私有域名」。
  2. 解析生效后点「验证」。验证通过即接入,证书自动签发(约一两分钟),完成后即可用 https://你的域名 访问。
项 说明
数量 每个站点最多 3 个
唯一性 全网唯一:与平台域名、其他用户已绑定的域名(含父子域)冲突时会被拒绝
证书 平台自动签发并续期(Let's Encrypt,HTTP-01),无需自己申请
控制台与 API 仍然只在 manage.<用户名>.forum18.site 上,私有域名只承载博客内容
解绑 列表里点「解除绑定」立即生效,旧链接随之失效

用任意域名打开博客(管理 Host)

除上面那条 CNAME 路线,还可以把任意域名挂到自己的博客上:在设置 → 我的网站 → 站点设置的「管理 Host」里填入域名(例如 blog.example.com),然后二选一:

  • 在你的 DNS 服务商处把它的 A 记录指向 114.55.173.34(IPv6 同理,指到平台入口地址);
  • 或者加一条 CNAME,指向 cname.forum18.cn。

只要满足其一,并在列表里绑定成功,这个域名就会打开你的博客 —— 和 <用户名>.forum18.site 是同一个站点、同一份已发布版本,不需要改动站点地址。

项 说明
数量 每个站点最多 5 个
复核 平台每 15 分钟检查一次解析;不再指向平台时该域名先显示暂停页
暂停页文案 「无法访问该网站。如果你是网站管理员,请检查域名解析与绑定设置」
恢复 解析重新指回平台后自动恢复,无需重新绑定
控制面 /author /api /gra 仍然只在 manage.<用户名>.forum18.site,自有域名只承载博客内容

自定义博客域管理(NS 委派,申请费 50 币)

默认三个博客使用平台解析。申请后,所选博客域名交给用户的 DNS 服务商管理,可以自由设置解析目标,平台不再检查网页验证令牌或要求解析指回平台,也不会因连续检查失败自动收回。

  1. 在设置页选中博客,申请域名管理,首次扣 50 币。旧申请不补费;重复申请、撤回后重新启用不再扣费。余额不足时不会创建申请。
  2. 在支持子域 zone 的 DNS 服务商(例如 ClouDNS)创建对应域名的 zone。提示“Cloudflare不允许三级域”指普通账户不能将三级域作为独立 zone 接入,并非不能添加三级 DNS 记录。
  3. 填写服务商提供的 2–4 个不同 NS 主机名,例如 ns71.cloudns.net、ns72.cloudns.com,并提交。
  4. 平台在父区写入全部 NS 成功后才显示生效。缺少 DNS 编辑凭据或接口失败时显示具体原因,可重试;只在 ClouDNS 后台添加记录,并不代表父区已经完成委派。

注意:

  • 申请 username.forum18.site 后,其所有后代(包括 www、2nd、3rd 和 manage)由这份 DNS zone 负责。需要继续使用平台博客或管理面时,须保留对应域名的平台解析。
  • NS 委派与 HTTPS 证书是两件事。平台通配符 *.forum18.site 不覆盖第二、第三博客及更深域名,必须补签对应精确域名;用户 DNS 接管后,证书验证需要配合用户的 DNS 配置。
  • www.username.forum18.site CNAME baidu.com 只是 DNS 别名,不是网页跳转,不能让百度自动接受你的 Host 或提供该域名的 HTTPS 证书。要跳转网页,需要目标服务配置 HTTP 重定向。
  • 仅用户主动撤回时删除委派 NS;失败会保留申请以便重试。撤回不退款;恢复平台解析还需等待 DNS 缓存更新。

站点 API

管理域名 manage.<用户名>.forum18.site 下提供一套 API,使用令牌鉴权(创建时仅在界面上展示一次);将域名替换为 <用户名>.forum18.site 同样可用,旧 CI 脚本无需修改。

方法 路径 作用 权限
GET /health 健康检查 免鉴权
GET /api/status 版本、节点、存储、日志 config
POST /api/deploy 上传 ZIP 发布(每分钟 10 次) deploy
GET/POST/DELETE /api/pages 辅助页面增删查 pages
GET/POST /api/releases 版本列表 / 回滚 deploy
GET/POST/DELETE /api/tokens 令牌增删查 config
GET /api/logs 部署日志 config

鉴权头支持三种写法:Authorization: Bearer <令牌>、X-API-Token: <令牌>、?token=<令牌>。默认全局限速 120 次/分钟。使用 CI 自动发布的示例:

bash curl -H "Authorization: Bearer <令牌>" -X POST --data-binary @site.zip \ https://manage.<用户名>.forum18.site/api/deploy

每个用户最多可创建 10 个站点令牌,可以设置过期时间与 IP 白名单。

二、Gra 图形化编辑器

Gra 是一个使用中文积木搭建网页的编辑器:左侧拖动积木,右侧实时预览,完成后可一键导出为真实的 HTML / CSS / JavaScript / PHP / SQL 项目。

  • 1122 块积木,覆盖网页结构、样式、交互、后端、数据库,另外还有 Astro 组件、Markdown 文章、Svelte 组件、TypeScript 四套模版积木。
  • 三种入口:设置中心 → 自定义 → 打开在线编辑器;站点控制台侧栏;或直接访问 https://www.forum18.cn/gra/(需要先登录论坛)。站点自身的编辑器位于 https://manage.<用户名>.forum18.site/gra/。

在线模式 vs 本地模式:

在线 本地
存放位置 服务器上的个人容器 本地电脑
预览 服务器转发过来(保存后刷新,不是逐键热更新) 本机即时
发布 一键发布到 *.forum18.site 本地完成后上传

在线模式的硬性限制:

  • 每个账号的工程总容量默认 2GB(含依赖和构建产物),超出后需要清理旧项目;
  • 容器有只读根、2GB 内存上限、隔离的进程与网络,每人一个容器互不影响;
  • 闲置 20 分钟后服务器会停止该 dev server(容器仍保留),返回后重新「启动」即可;
  • 上传限制:单次 40MB、单个文件 5MB、最多 2000 个文件;
  • 构建可能需要数分钟,发布请耐心等待;
  • 必须走 HTTPS:大陆明文 HTTP 会被运营商拦截。

编辑器自身的详细教程见论坛仓库中的《Gra 客户使用手册》,本节仅提供入口与边界说明。

三、论坛 API(api.forum18.cn)

面向脚本和 AI Agent 的接口:复用主站全部权限与规则。完整的端点清单、参数、范围与示例见专门的一章:API 网关。用浏览器打开 api.forum18.cn/ 会 301 跳到那一页——网关本身只服务 API 调用。

起步三步:

  1. 在设置中心 → 账号 → API 令牌创建令牌:选择类型(只读 / 写入)并勾选范围,32 位密钥只在创建成功后展示一次,库中仅存哈希。
  2. 请求头带上 Authorization: Bearer <密钥> 或 X-API-Token: <密钥>;POST 也可以把令牌放进请求体的 token 字段。跨域可用(由网关发送 CORS 头),但没有凭据共享——令牌即全部身份。
  3. 需要机器可读描述时拉 https://api.forum18.cn/openapi.json(OpenAPI 3.1,无需令牌),它与说明书、路由由同一份端点登记表生成。

四、看板(dash.forum18.cn)

uCDN 已停用,普通用户设置页不再展示入口;存量数据保留。历史看板登录后才能进入,节点相关操作仅站长可以执行。其中可以查看项目概览、节点、公网穿透、uCDN Worker 与域名绑定;uCDN Worker 只能部署静态文件(单文件≤2MiB、站点总量≤20MiB),且仅对已审核的 uCDNc+ 绑定域名开放。

常见问题与注意事项

  1. 登录态不通用:在 www.forum18.cn 登录,并不意味着站点控制台(/author)或创作者面板已登录——它们各自维护独立会话。
  2. 跨域:只有论坛 API 网关发送 CORS 头,站点子域的 /api 不发送,因此不能从其他域名直接 fetch。
  3. 上传体积:ZIP 超过 50MB 直接返回 413;解压后超过 200MB、文件超过 5000 个同样会失败。
  4. 构建 / 发布需要等待:安装依赖与构建共用节点锁,最长可能等待 15 分钟;面板侧限制每 10 分钟最多发布 6 次。
  5. 站点被停用时发布会返回 409「Site disabled」——请先返回设置中开启「启用站点」。
  6. 站点地址是唯一入口:新博客地址按用户名与槽位固定生成,不能自定义名称;DNS 管理申请只改变解析权,不改平台内部博客标识。

这份说明书写得不对、跟不上界面变化?把问题发到论坛举报/反馈,或直接找站长。

十八中论坛 · 文档 · 本页最后更新 2026-10-18