treg 被屏蔽邮箱域名(TREG_BLOCKED_EMAIL_DOMAINS)机制详解:防批量注册的完整指南
treg 被屏蔽邮箱域名TREG_BLOCKED_EMAIL_DOMAINS机制详解防批量注册的完整指南【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/tregtreg 是一款面向 Agent 工具的数据 API 网关而它的被屏蔽邮箱域名机制环境变量TREG_BLOCKED_EMAIL_DOMAINS是一道轻量但精巧的反作弊防线通过一条逗号分隔的环境变量就能在登录、注册、建队的所有入口拒绝一次性邮箱域名且无需重新部署。本文用大白话讲清它的配置方式、匹配规则和背后的安全设计。为什么 treg 需要邮箱域名屏蔽先说动机理解了它才理解设计 在 treg 中每创建一个新的团队Org都会发放一笔促销余额这对拉新很友好⚠️ 但对羊毛党来说用一次性邮箱throwaway email批量注册、批量建队就能白拿大量余额️ 因此 treg 提供了一份邮箱域名黑名单把已知的垃圾邮箱域整体拦在门外。关键取舍是黑名单完全由配置驱动代码里不内置任何清单。因为攻击者几分钟就能换一批新域名如果黑名单要靠发版更新永远慢一步而改一条环境变量或控制台字段几秒就生效——官方称之为 speed bump路障。如何配置 TREG_BLOCKED_EMAIL_DOMAINS配置非常简单核心只有一条环境变量# 逗号分隔大小写不敏感留空 不屏蔽任何域名 TREG_BLOCKED_EMAIL_DOMAINSthrowaway-mail.com,spam-box.net配置与解析逻辑见 src/treg/config.py环境变量说明表在 README.md 中也有收录。解析时会做一层运维容错见 _blocked_email_domains输入处理Farm-B.example自动转小写farm-c.example、.farm-d.example去掉开头误粘的或.空格、空项直接丢弃com无点的裸后缀强制丢弃——防止一次手误就屏蔽全世界解析结果经lru_cache缓存同一个值只解析一次而不是每个请求都重新切分字符串。匹配规则只认域名子域名连坐TLD 绝不连坐分类器 _is_blocked_email 有两条铁律规则设计非常克制只看后面的域名部分绝不匹配整个邮箱。因为如果匹配完整地址用户名里恰好包含某段字符串的正常用户如farm-acompany.dev会被误伤逐级向上级域名回溯匹配列出mail.farm.com则amail.farm.com、afarm.com都被拦截防注册一个子域名就绕过的一行代码但永远不会单独拿最后一段 TLD 比对所以aid这类地址不可能被误拦。用测试用例直观感受一下节选自 tests/test_blocked_email_domains.py邮箱地址结果原因afarm-a.example 拦截命中清单域名本身AFARM-B.EXAMPLE 拦截大小写不敏感adeep.mail.farm-c.example 拦截命中父域名子域名连坐farm-acompany.dev✅ 放行只匹配域名不匹配用户名anotfarm-a.example✅ 放行字符串后缀 ≠ 子域名afarm-a.example.org✅ 放行清单域名在中间不是后缀值得一提的是项目还尝试过子串匹配域名里含某字符串就拦实测对公开的垃圾域名语料仅多覆盖 0.17%却会拦掉域名里恰好含该字符串的正常公司——最终被移除。哪些入口会被检查treg 身份门全解析被屏蔽域名在treg 所有身份入口都会触发检查包括✉️ 邮箱验证码登录发起/auth/email/start与校验/verify GitHub / Google 社交登录回调 邮箱邀请链接 开放注册POST /users与建队POST /orgs这两个入口会发放促销余额是重点防护对象决策函数 blocked_email 有两个值得学习的设计失败放行fail open分类器一旦抛异常只记一条 error 日志大门保持敞开——宁可漏拦也不能让配置错误把正常用户的登录全打断日志是唯一检测手段每次拦截都会打一条可统计的结构化日志eventsignup_blocked_domain door... domain...方便从日志里数出拦截量。被屏蔽后用户看到什么答案几乎什么都不看。所有入口返回的是同一条通用 403 消息this address cannot be used to sign in不透露你被哪个规则拦了、不区分新旧账号、不给出申诉通道细节——对自动化脚本来说毫无利用价值。已有的存量账号会被运营侧离线停用而不是靠接口报错去发现做到拦而不扰。配套测试与官方文档该机制的规则几乎每条都被固定为自动化测试方便你深入了解边界情况测试tests/test_blocked_email_domains.py —— 覆盖未配置不拦任何人、大小写/空格容错、子域名连坐、裸 TLD 防御、失败放行等全部规则安全文档SECURITY.md —— 说明黑名单在促销额度防刷体系中的定位部署文档docs/context/ops/deploy.md —— 环境变量一览与运维口径API 文档docs/context/interface/api.md —— 各身份入口的检查点清单多租户架构docs/context/architecture/multi-tenancy.md。总结treg 的TREG_BLOCKED_EMAIL_DOMAINS机制给出了一个反作弊黑名单的最小可靠实现范本纯配置、秒级生效、只匹配域名、子域名连坐而 TLD 永不连坐、统一模糊提示、失败放行、日志可审计。对于需要防批量注册的开源项目这 200 行左右的实现解析 分类 决策非常值得一读。【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

OpenClaw Windows 快速安装与配置指南:npm、PowerShell 与网关设置(2026 最新版)

OpenClaw Windows 快速安装与配置指南:npm、PowerShell 与网关设置(2026 最新版)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/30 12:29:06 阅读更多 →
LuatOS短信库实战:物联网设备短信兜底告警与远程命令全攻略

LuatOS短信库实战:物联网设备短信兜底告警与远程命令全攻略

前阵子调试一台装在配电箱里的采集终端,趁周末没人,我往SIM卡里塞了张测试卡,然后花了一下午把LuatOS的sms库整个调通了。后来正式上线的30多台设备,全部配了“短信告警远程命令”这条兜底通道。不少人觉得物联网项目里短信是上个…

2026/10/1 1:33:09 阅读更多 →
Python单目双目视觉三维重建实战:从标定到点云完整流程

Python单目双目视觉三维重建实战:从标定到点云完整流程

简介:这份资源是面向计算机相关专业学生与项目实战学习者的课程设计源码包,聚焦基于Python实现的单目与双目视觉三维重建,适合正在做毕设、期末大作业或需要视觉算法练手项目的人群。包内共41个文件,以34张jpg图像样本、3个py脚本…

2026/9/30 17:40:22 阅读更多 →

最新新闻

Kali Linux 上 Snort 安装配置与规则编写实战:从告警到排查

Kali Linux 上 Snort 安装配置与规则编写实战:从告警到排查

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:33:34 阅读更多 →
宝塔服务器CPU 100%根因分析与四步硬核修复

宝塔服务器CPU 100%根因分析与四步硬核修复

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:33:34 阅读更多 →
不再被单一模型锁定:Spring AI Alibaba DataAgent 多模型调度机制详解,Qwen/DeepSeek 动态切换

不再被单一模型锁定:Spring AI Alibaba DataAgent 多模型调度机制详解,Qwen/DeepSeek 动态切换

不再被单一模型锁定:Spring AI Alibaba DataAgent 多模型调度机制详解,Qwen/DeepSeek 动态切换 【免费下载链接】DataAgent Spring AI Alibaba DataAgent 项目地址: https://gitcode.com/gh_mirrors/da/DataAgent Spring AI Alibaba DataAgent 是…

2026/10/1 1:33:34 阅读更多 →
yolov8无人机交通监控实战:从数据集标注到模型训练部署全流程

yolov8无人机交通监控实战:从数据集标注到模型训练部署全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:33:34 阅读更多 →
傅里叶变换、拉普拉斯变换与z变换:收敛域与工程选型

傅里叶变换、拉普拉斯变换与z变换:收敛域与工程选型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:33:34 阅读更多 →
Kubernetes Dashboard v2.7 安全部署实战:NodePort+SA+HTTPS

Kubernetes Dashboard v2.7 安全部署实战:NodePort+SA+HTTPS

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:32:33 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →