myqfeng/easytier-esp

0.0.2

Latest
uploaded 8 hours ago
A lightweight implementation of the EasyTier protocol for ESP32

Readme

# EasyTier-ESP

EasyTier-ESP 是一个使用 C++ 20 编写的 EasyTier 异地组网工具的轻量级协议实现。便于把 ESP32 接入既有 EasyTier 虚拟网络。组件目前实现 EasyTier客户端侧的基本协议与数据面。

- 组件注册表 ID:`myqfeng/easytier-esp`(ESP-IDF Component Registry)
- 适配 ESP-IDF:>=6.1
- 当前已验证目标:ESP32-S3-N16R8

## 代码层级结构

```
easytier-esp/
├── components/easytier-esp/          # 组件本体(可被 IDF 组件管理器安装)
│   ├── include/easytier-esp.hpp      # 唯一公开头:Inst / Settings / Status / Event
│   ├── src/
│   │   ├── inst.cpp                  # et::Inst 实现(TOML → Settings → Context)
│   │   ├── context.{h,cpp}           # RAII 运行上下文:队列/任务/连接槽/AEAD/网卡
│   │   ├── config/                   # TOML 解析与设置校验(tomlc17)
│   │   ├── crypto/                   # SipHash-1-3 与 AES-128-GCM
│   │   ├── protocol/                 # 线格式、protobuf 编解码
│   │   ├── transport/                # 非阻塞 TCP(切帧/部分写/背压)
│   │   ├── peer/                     # 握手与保活
│   │   ├── rpc/                      # 服务注册表、事务表、分片重组
│   │   ├── route/                    # 拓扑、最短路、DHCP、路由同步
│   │   ├── netif/                    # lwIP raw 虚拟网卡
│   │   ├── data/                     # 数据面纯逻辑(路由决策/组帧)
│   │   ├── tasks/                    # io / proto / data 三个任务
│   │   └── support/                  # 日志、时间、随机数、字节序、编译期上限
│   ├── third_party/tomlc17/          # 内置 TOML 解析器(MIT)
│   ├── Kconfig                       # 队列深度、任务栈/优先级等编译期选项
│   └── CMakeLists.txt
├── main/                             # 示例应用(NVS/WiFi/加载 TOML/连接控制)
├── tools/                            # 栈预算分析、第三方源码导入脚本
└── CMakeLists.txt                    # ESP-IDF 工程入口
```

> 更多内容请前往 [cnb.cool/myqfeng/qteasytier/easytier-esp](https://cnb.cool/myqfeng/qteasytier/easytier-esp) 查看

Links

Supports all targets

To add this component to your project, run:

idf.py add-dependency "myqfeng/easytier-esp^0.0.2"

download archive

Stats

  • Archive size
    Archive size ~ 168.35 KB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

myqfeng/easytier-esp version: 0.0.2
|