大家好, 我来更新了.

之前的旧帖 https://cyberbus.net/post/260
之前(v0.3.3)版本视频演示: https://www.bilibili.com/video/BV1o49VYgE6e

项目地址: https://github.com/ThisSeanZhang/landscape

当前界面截图

欢迎提出建议和想法. 当前软件更新到了 v0.4.9-beta 的版本, 基本路由功能是实现了差不多了, 目前的功能如下:

功能

✅ 已经实现并且已经测试
⚠ 可行但是未测试
❌ 未实现

  • <u>IP 配置</u>
    • 静态 IP 配置
      • ✅ 指定 IP
      • ✅ 配置网关指定默认路由
    • DHCP Client
      • ✅ 指定主机名称
      • ❌ 自定义 Option
    • PPPoE ( PPPD 版 )
      • ✅ 默认路由指定
      • ⚠ 多网卡拨号
      • ✅ 网卡名称指定
    • PPPoE ( eBPF 版 )
      • ✅ 协议主体实现
      • ❌ 网卡 GRO/GSO 导致的数据包大小超 MTU (未解决)
    • DHCP Server
      • ✅ 提供简单 IP 地址分配和续期服务
      • ✅ 自定义分配 IP 的 网关 网段 访问 配置
      • ✅ MAC 地址与 IP 绑定
      • ✅ IP 分配展示
    • IPv6支持
      • ✅ 使用 DHCPv6-PD 向上级路由请求前缀
      • ✅ 使用 RA 对下级设备通告前缀
  • <u>流控模块</u>
    • ✅ 允许使用 IP + QoS 值进行区分流.
    • ✅ 每个流配置中含有自己独立的 DNS 配置, 以及 DNS 缓存.
    • ✅ 将被标记流量按照标记配置( 直连/丢弃/允许复用端口/重定向到 Docker 容器或者网卡 )进行转发
    • ❌ 对指定数据设置跟踪标记
    • ✅ 外网 IP 行为控制, 按照标记的规则控制外网 IP, 并支持使用 geoip.dat 协助配置
    • ✅ 允许外网 IP 规则选择是否将 DNS 动作覆盖.
    • ❌ GeoIP 文件自动更新
  • <u>DNS</u>
    • ✅ 支持使用 DNS over HTTPS 和 DNS over TLS 向上游请求 DNS
    • ✅ 支持指定网址使用特定上游 DNS
    • ✅ DNS 劫持 ( 返回 A 解析 )
    • ❌ DNS 劫持返回多条记录 ( 除了 A 解析之外的)
    • ✅ 对指定 DNS 解析结果进行 IP 标记, 配置标记模块进行处理
    • ✅ GeoSite 文件支持
    • ❌ 自动定时更新 GeoSite 文件
    • ❌ 支持将 Docker 容器镜像名加入解析缓存
  • <u>NAT (eBPF) 实现</u>
    • ✅ 基础 NAT
    • ⚠ 静态映射 / 开放指定端口 ( UI 界面未完善 )
    • ✅ NAT 打洞禁止, 依据标记模块的标记对指定 IP 开启的端口禁止其他 IP 进行连接
  • <u> 指标模块 </u>
    • ✅ 每 5s 定时上报连接信息(字节数 / 数据包个数)
    • ✅ 展示当前连接 (还未结合 NAT 连接信息)
    • ❌ 开放指标导出 API
  • <u> Docker </u>
    • ✅ 支持简单运行和管理 Docker 容器
    • ⚠ 镜像拉取
    • ✅ 将流量导入运行 TProxy 的 Docker 容器
  • <u> WIFI </u>
    • ✅ 使用 iw 命令切换无线网卡状态
    • ✅ 使用 hostapd 配置创建 WIFI 热点
    • ❌ 接入 WIFI 热点
  • <u> 存储 </u>
    • ❌ 使用数据库替代当前配置存储
    • ❌ 指标库单独指定数据库地址
  • <u> 杂项 </u>
    • ✅ 登录界面
    • ❌ 添加英文版前端页面
    • ❌ 网卡 XPS/RSP 优化, 将网卡压力负载到不同的核心, 提升整体吞吐

4
message-square
4
  • lunksana
    7 days ago

    看功能有点强大

    • SeanOP
      7 days ago

      不过目前还是处于测试状态, 并且 alpine 的 musl 还没能支持

      • lunksana
        4 days ago

        你还记得我用的alpine啊,大佬用心了,必须帮忙测试反馈意见

  • SeanOP
    8 days ago

    前端不是太会, 有没有前端大拿救一下 (:з)∠)