10作者: saphalpdyl5 个月前
演示:<a href="https:&#x2F;&#x2F;aether.saphal.me" rel="nofollow">https:&#x2F;&#x2F;aether.saphal.me</a> GitHub:<a href="https:&#x2F;&#x2F;github.com&#x2F;saphalpdyl&#x2F;Aether" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;saphalpdyl&#x2F;Aether</a> Aether 是一个多 BNG(宽带网络网关)ISP 基础设施实验室,几乎从零开始构建,用于模拟 IPoE IPv4 用户管理端到端流程。它支持 IPoE/Ipv4 网络,并运行基于 Python 的 vBNG,具有 RADIUS AAA、每个用户的流量整形,以及在 Containerlab 上模拟的流量仿真。这也是我的第一个个人网络项目,大约用了一个月的时间完成。 项目的动机 我是一名大二的计算机科学学生。大约三年前,我作为实习生被分配独自构建一个区域 ISP 的 OSS/BSS 平台,没有任何指导。参考 demo.splynx.com,我开发了大部分 BSS 方面(簿记、会计、库存管理),但在网络方面,我设法安装和设置了 RADIUS,仅此而已。当时我没有导师,也没有人可以提问,所以我就放弃了。 三年后,我决定再次尝试。这个项目旨在为那些处于相同境地的人提供学习参考,即面对闭源供应商堆栈而没有适当的指导。这绝对不是生产级别的,但我希望它能给某人一个开始的地方。 架构概述 核心组件 BNG 运行在事件驱动的架构上,状态变化作为消息传递,以避免处理互斥锁和锁。会话管理器是会话状态的唯一所有者。为了保持其清晰和可预测性,direBNG 从不直接接受外部输入。唯一的例外是 Go RADIUS CoA 守护程序,它通过 IPC 套接字传递 CoA 消息。BNG 产生的所有内容(事件、会话快照)都会被推送到 Redis Streams,bng-ingestor 在那里拾取、处理并持久化它们。 仿真和元配置 我通过一个模拟器节点生成流量,该节点挂载主机的 Docker 套接字并在选定的主机上运行 docker exec 命令。Containerlab 用于定义网络拓扑的 topology.yaml 随着添加更多 BNG 和接入节点而变得越来越大。因此,aether.config.yaml,一个更简单的配置,被配置管道使用来生成 topology.yaml 和其他文件(nginx.conf、kea-dhcp.conf、RADIUS clients.conf 等)。 已知限制 * 通过模拟拓扑的多个 veth 跳跃增加了显著的开销。使用 iperf3 (-P 10 -t 10, 9500 MTU, 24 vCPUs) 进行分析显示 BNG→上游约为 24 Gbit/s,但主机→BNG→上游下降到约 3.5 Gbit/s。9500 MTU 也不能代表真实的 ISP 部署。当重新引入实际网络时,这种情况会变得更糟,在本地将我的吞吐量限制在 1.6 Gbits/sec。 * 电路 ID 格式 (1/0/X) 不符合标准。为了清晰起见,我简化了它。 * 不支持 iBGP 或 VLAN。 * 不支持 Ipv6。我从一开始就想针对 IPv4 网络,以避免在没有很多深度的情况下获得太多的广度。 除了 AWS 的某些部分,我所知道的几乎所有关于网络的东西都是通过构建这个项目学到的。很多都是即兴发挥的,所以工程师们可能会在代码库中发现一些有问题的决策。我真诚地感谢这些反馈。 问题 * 目前,用户连接的电路由演示用户任意决定。在拥有数千个电路的真实系统中,很难正确评估客户可能连接到哪个电路。当向服务添加新客户时,运营商如何根据客户的位置来决定向哪个电路提供服务?
9作者: Lama99015 个月前
MetaGenesis Core 是一个用于计算结果的验证协议层。<p>它允许第三方通过一个命令离线验证打包的计算声明,无需访问原始环境。<p>我独自一人在下班后,一边从事建筑工作,一边大量使用 AI 工具构建了它。我一直遇到同样的问题:即使结果看起来不错,其他人也没有简单的方法可以独立检查它,除非重新运行整个环境或盲目相信结果。<p>这个问题普遍存在于各个领域: - 机器学习(ML):“我们的模型达到了 94.3% 的准确率” - 材料科学:“我们的模拟结果与实验室数据相差 1% 以内” - 制药:“我们的流程通过了质量检查” - 金融:“我们的风险模型经过独立验证”<p>不同的领域,相同的结构。<p>---<p>差距<p>MLflow / W&amp;B / DVC / Sigstore / SLSA 很好地解决了相关问题。但它们没有提供带有声明语义层的离线第三方验证步骤。仅文件完整性是不够的。<p>绕过攻击: 1. 移除核心语义证据(job_snapshot) 2. 重新计算所有 SHA-256 哈希值 3. 重建清单 4. 提交<p>仅哈希值检查仍然通过。MetaGenesis Core 增加了一个第二层: - 完整性层 → 通过 - 语义层 → 失败(缺少 job_snapshot)<p>这种攻击是公共代码库中的对抗性测试。<p>---<p>工作原理<p>第 1 层 — 完整性:每个文件的 SHA-256 + 根哈希 第 2 层 — 语义:所需字段存在,payload.kind 与声明类型匹配,出处完整<p><pre><code> python scripts/mg.py verify --pack /path/to/bundle → 通过 → 失败:缺少 job_snapshot → 失败:payload.kind 与注册声明不匹配 </code></pre> 跨领域(ML、材料科学、制药、金融、工程)使用相同的工作流程。协议不变,变化的是声明类型。<p>---<p>当前状态<p><pre><code> python scripts/steward_audit.py → 通过 python -m pytest tests/ -q → 91 个测试通过 python demos/open_data_demo_01/run_demo.py → 通过 / 通过 </code></pre> 无需 API 密钥。无需网络。Python 3.11+。<p>---<p>诚实的局限性<p>尚未经过外部生产团队的验证。该协议在公共代码库和测试中有效,对抗性场景被捕获,演示可复现——但实际应用仍需要证明。<p>局限性在 reports/known_faults.yaml 中以机器可读的形式呈现。<p>我正在寻找第一个外部的“是的,这在我们的流程中有效”的反馈。<p>---<p>如果您认为这有缺陷,我想知道具体在哪里。如果它与我错过的现有工具重叠,我也想知道。<p><pre><code> 网站: https://metagenesis-core.dev 代码库: https://github.com/Lama999901/metagenesis-core-public 联系方式: yehor@metagenesis-core.dev 发明人: Yehor Bazhynov 专利申请中: USPTO #63/996,819</code></pre>
1作者: eyasu64645 个月前
我开发了一个工具,可以通过文本描述来检测图像中的物体。<p>与为固定类别训练检测器不同,你可以输入你想要查找的内容,系统会返回匹配物体的边界框。<p>示例提示词: “凹陷的汽车保险杠” “背着红色背包的人” “猫抓沙发” “破碎的窗户”<p>该模型是开放词汇的,因此它可以泛化到预定义的类别之外。<p>我最初开发这个工具是为了试验如何引导数据集,以便在无需手动标注数千张图像的情况下训练 YOLO 模型。检测结果可以导出为标签,用于训练传统的检测器。<p>有一个演示,你可以在其中上传图像并尝试不同的提示词。<p>我很想知道大家认为基于提示词的检测在实际工作流程中(数据集标注、质量检查等)有哪些实际用途。