返回首页
最新
演示:<a href="https://aether.saphal.me" rel="nofollow">https://aether.saphal.me</a>
GitHub:<a href="https://github.com/saphalpdyl/Aether" rel="nofollow">https://github.com/saphalpdyl/Aether</a>
<p>Aether是一个几乎从零开始构建的多BNG(宽带网络网关)ISP基础设施实验室,模拟了IPoE IPv4用户管理的端到端功能。它支持IPoE/IPv4网络,并运行一个基于Python的虚拟BNG,具备RADIUS AAA、每用户流量整形和在Containerlab上模拟的流量仿真。这也是我第一个个人网络项目,历时大约一个月完成。</p>
<p>项目动机</p>
我是一名计算机科学大二学生。大约三年前,我作为实习生被指派独立为一家地区ISP构建一个OSS/BSS平台,没有导师指导。参考demo.splynx.com,我开发了大部分BSS部分(记账、会计、库存管理),但在网络方面,我仅仅安装和设置了RADIUS,仅此而已。当时没有人可以指导我或向我提问,所以我就放弃了。
三年后,我决定再试一次。这个项目旨在为那些处于类似境地的人提供学习参考,即在没有适当指导的情况下面对闭源供应商的技术栈。这绝对不是生产级别的,但我希望它能为某些人提供一个起点。
<p>架构概述</p>
核心组件BNG运行在事件驱动架构上,状态变化作为消息传递,以避免处理互斥锁和锁。会话管理器是会话状态的唯一拥有者。为了保持清晰和可预测,direBNG从不直接接受外部输入。唯一的例外是Go RADIUS CoA守护进程,它通过IPC套接字传递CoA消息。BNG生成的所有内容(事件、会话快照)都会推送到Redis Streams,bng-ingestor会提取、处理并持久化这些数据。
<p>仿真和元配置</p>
我通过一个模拟器节点生成流量,该节点挂载主机的Docker套接字,并在选定的主机上运行docker exec命令。Containerlab用于定义网络拓扑的topology.yaml文件会随着更多BNG和接入节点的添加而变得更大。因此,aether.config.yaml作为一个更简单的配置文件,被配置管道使用,以生成topology.yaml和其他文件(nginx.conf、kea-dhcp.conf、RADIUS clients.conf等)。
<p>已知限制</p>
- 通过模拟拓扑的多个veth跳增加了显著的开销。使用iperf3进行分析(-P 10 -t 10,9500 MTU,24个vCPU)显示BNG→上游约为24 Gbit/s,但主机→BNG→上游降至约3.5 Gbit/s。9500 MTU也不代表真实的ISP部署。当实际网络重新引入时,我的吞吐量在本地限制为1.6 Gbit/s,情况更糟。
- 电路ID格式(1/0/X)是非标准的。我简化了它以便于理解。
- 不支持iBGP或VLAN。
- 不支持IPv6。我从一开始就想专注于IPv4网络,以避免在广度上过多而深度不足。
我所知道的几乎所有网络知识(除了AWS的一些部分)都是在构建这个项目时学到的。很多东西都是在实践中逐步摸索出来的,因此工程师们可能会在代码库中发现一些值得质疑的决策。我非常欢迎这样的反馈。
<p>问题</p>
- 目前,用户连接的电路是由演示用户任意决定的。在一个有成千上万电路的真实系统中,很难准确评估客户可能连接到哪个电路。当为服务添加新客户时,运营商如何根据客户的位置决定提供哪个电路的服务?
MetaGenesis Core 是一个用于计算结果验证的协议层。
它允许第三方在离线状态下通过一个命令验证打包的计算声明,而无需访问原始环境。
我在工作之余独自开发了这个项目,期间大量使用了人工智能工具。我不断遇到同样的问题:即使结果看起来不错,其他人也没有简单的方法独立验证这一结果,而不需要重新运行完整的环境或仅凭信任数字。
这个问题在各个领域普遍存在:
- 机器学习:“我们的模型达到了94.3%的准确率”
- 材料科学:“我们的模拟与实验室数据的偏差在1%以内”
- 制药:“我们的流程通过了质量检查”
- 金融:“我们的风险模型得到了独立验证”
不同领域,结构相同。
---
**问题所在**
MLflow / W&B / DVC / Sigstore / SLSA 很好地解决了相关问题,但它们没有提供带有语义层的离线第三方验证步骤。仅仅文件完整性是不够的。
绕过攻击:
1. 移除核心语义证据(job_snapshot)
2. 重新计算所有SHA-256哈希
3. 重建清单
4. 提交
仅进行哈希检查仍然通过。MetaGenesis Core 增加了第二层:
- 完整性层 → 通过
- 语义层 → 失败(缺少 job_snapshot)
该攻击是公共代码库中的对抗性测试。
---
**工作原理**
第一层 — 完整性:每个文件的SHA-256 + 根哈希
第二层 — 语义:所需字段存在,payload.kind 与声明类型匹配,来源完整
```python
python scripts/mg.py verify --pack /path/to/bundle
→ 通过
→ 失败:缺少 job_snapshot
→ 失败:payload.kind 与注册声明不匹配
```
跨领域的工作流程相同 — 机器学习、材料科学、制药、金融、工程。声明类型变化,但协议不变。
---
**当前状态**
```python
python scripts/steward_audit.py → 通过
python -m pytest tests/ -q → 91 个通过
python demos/open_data_demo_01/run_demo.py → 通过 / 通过
```
无需 API 密钥。无网络。Python 3.11 及以上版本。
---
**诚实的局限性**
尚未得到外部生产团队的验证。该协议在公共代码库和测试上有效,对抗性场景得以捕捉,演示可重复 — 但现实世界的集成仍需证明。
局限性在报告/known_faults.yaml 中以机器可读的形式列出。
我正在寻找的就是第一个外部的“是的,这在我们的流程中有效”。
---
如果你认为这个项目存在缺陷,我希望知道具体在哪里。如果它与我遗漏的现有工具重叠,我也希望知道。
```plaintext
网站: https://metagenesis-core.dev
代码库: https://github.com/Lama999901/metagenesis-core-public
联系方式: yehor@metagenesis-core.dev
发明人:Yehor Bazhynov
专利申请中:USPTO #63/996,819
```
我开发了一个工具,可以通过文本描述在图像中检测物体。<p>与其为固定类别训练检测器,不如直接输入你想要查找的内容,系统会返回匹配物体的边界框。<p>示例提示:
“凹陷的汽车保险杠”
“背着红色背包的人”
“猫在抓沙发”
“破损的窗户”<p>该模型是开放词汇的,因此可以超越预定义类别进行泛化。<p>我最初是在尝试如何为训练YOLO模型引导数据集时构建这个工具,而无需手动标记成千上万的图像。这些检测结果可以导出为标签,并用于训练传统检测器。<p>还有一个演示,你可以上传图像并尝试不同的提示。<p>我很好奇人们认为基于提示的检测在实际工作流程中(如数据集标注、质量检查等)是否真的有用。
我是一名开发者和父亲,想把iPad交给女儿使用,但又不希望她在Plex的界面中迷失。她能很好地使用YouTube Kids——大图标,点击播放——但Plex的菜单对她来说完全是个难题。
我已经设置好了管理用户和评分过滤器,所以内容方面没有问题。这纯粹是一个用户界面的问题。因此,我开发了Canopy。
Canopy是一款原生iOS应用,可以连接到您现有的Plex服务器,为孩子们提供一个简单的旋转木马界面——大海报,点击观看。它尊重您的管理用户限制,因此您无需重新配置任何内容。
功能包括:海报网格界面、PIN码保护的家长控制、屏幕时间限制、继续观看,以及对Plex管理用户和内容评分的全面支持。
使用SwiftUI构建,没有分析或追踪,也没有订阅。App Store售价4.99美元。
网址:https://canopykids.app
欢迎随时询问关于构建、Plex API或其他任何问题。
IdeaRank帮助创始人判断哪些创业想法真正值得付诸实践。您只需将想法粘贴到一个集中式平台,就可以获得一份由人工智能生成的诚实评分卡,内容包括市场洞察、竞争对手分析、风险评估和建议——所有这些都基于真实数据和透明的推理。您可以保存多个想法,比较它们的评分,快速了解哪个想法值得您投入时间。
请在这里查看: https://idearank.netlify.app/