aliyun sensor server

This commit is contained in:
tamakyi
2026-09-10 18:04:19 +08:00
parent e3e59e7c69
commit 8e2325eda5
38 changed files with 3147 additions and 344 deletions
+26
View File
@@ -16,6 +16,25 @@ font_path = "static/fonts/NotoSansSC-Regular.otf" ; 中文字体文件
[security]
enable_text_censor = true
text_censor_source = auto ; 文本审核服务通道:qiniu(七牛)/ aliyun(阿里云)/ auto(七牛优先、阿里云兜底)。
; 留空等同于 auto,即引入该配置前的历史行为。
; 显式选 qiniu / aliyun 时必须在 [app] 配好对应凭据,否则启动即报错
; —— 避免运行期审核必然失败(审核失败是 fail-closed,拒绝提交,
; 会让发布/私信整站不可用,且现象隐蔽、只在日志可见)。
; 凭据位置:[app] 的 qiniu_access_key / qiniu_access_secret、
; aliyun_access_key / aliyun_access_key_secret。
; ⚠️ 配好凭据 ≠ 可用:阿里云通道走的是「内容安全 2.0 / 文本审核增强版」
; (接口 TextModeration,接入点 green-cip.cn-shanghai.aliyuncs.com),
; 开通前提只要求【实名认证,个人账号即可】,不需要企业认证。
; 开通入口:内容安全 2.0 控制台 → 开通「内容审核增强版」按量付费
; (开通本身不收费,按实际调用量出账;文本审核标准 7.5 元/万次)。
; 用 RAM 子账号调用需授予 AliyunYundunGreenWebFullAccess;欠费停服同理。
; 审核场景固定为 comment_detection(公聊评论检测,覆盖涉政/涉暴/涉黄等底线维度)。
; 单次 content 上限 600 字符,超长文本由代码分段审核(段间带重叠,避免跨段漏判)。
; ⚠️ 不要再去开通「内容安全 1.0」:它要求企业实名认证,个人账号无法开通,
; 调用会永久返回 code=596 "You have not opened Yundun Content Moderation Service"。
; 审核失败时日志会打印阿里云返回的 code / msg / requestId 便于定位;
; 首次出现账号级失败(未开通 / 未授权 / 密钥错误)还会额外打印一条一次性告警。
ip_blacklist = ; 逗号分隔的IP黑名单,支持精确IP(如1.2.3.4)和CIDR(如1.2.3.0/24),留空不启用
ip_blacklist_redirect_url = ; 黑名单IP访问时强制跳转到该URL
trust_proxy = false ; 是否信任反向代理设置的 CF-Connecting-IP / X-Real-IP / X-Forwarded-For 头。
@@ -52,6 +71,13 @@ ban_threshold_404 = 20 ; 统计窗口内返回 404 的次数阈值
ban_window_seconds = 60 ; 统计窗口时长(秒)
ban_duration_minutes = 15 ; 临时封禁时长(分钟),到期自动解除,重启即清零
security_alert_email = ; 触发封禁时发送告警邮件的收件人(复用下方 SMTP 发信配置),留空不发送
default_moderation_strictness = ; 站点默认「内容审核严格度」:lax(宽松)/ standard(标准)/ strict(严格)。
; 仅对未单独设置档位的账号生效(账号在设置页选择后以账号设置为准)。
; 留空回退 strict(最严档):保证升级不会放宽任何拦截。
; 严格档是三个档位中最严的(拦截面不小于升级前),因此部署后默认拦截面可能略有扩大;
; 若希望默认更少误伤,改为 standard 即可,无需改代码。
; 三档的拦截范围见 internal/security/censor/policy.go,
; 适用于提问、投票、私聊三类内容。
[server]
port = 80