Skip to content

功能请求:支持 FreeBSD TUN 设备 #52

@Doozadev

Description

@Doozadev

您遇到的问题与哪个功能请求相关?请描述一下。

目前,sing-box 在 Linux、macOS 和 Windows 上提供了强大的 TUN 模式功能,实现了系统级的流量拦截和路由。然而,对于功能强大且轻量级的类 Unix 操作系统 FreeBSD,sing-box 却缺少对其 TUN 模式的支持。这意味着 FreeBSD 用户无法利用 sing-box 的 TUN 模式实现系统级代理、流量管理或高级网络功能,这限制了 sing-box 在更广泛的 Unix 生态系统中的应用。

您希望实现的解决方案是什么?

我建议为 sing-box 添加 FreeBSD TUN 设备支持。这将需要实现 FreeBSD TUN/TAP 设备架构所需的内核级交互和网络栈配置。

您是否考虑过其他替代方案?

虽然可以通过结合 ipfwpf 规则以及 sing-box 的常规代理模式(例如 SOCKS5/HTTP)来重定向流量,但这种方法通常不如原生的 TUN 集成高效和复杂。它也无法提供 TUN 接口所具备的细粒度控制和透明性,尤其对于不原生支持代理的应用来说更是如此。

附加背景

以下是支持 FreeBSD TUN 功能的几个重要原因:

  1. 轻量级且高效的平台: FreeBSD 以其稳定性、安全性和效率而闻名,是网络服务和嵌入式系统的优秀平台。集成 TUN 模式将在此类资源受限或关键环境中充分发挥 sing-box 的潜力。
  2. 与 macOS 的架构相似性: 考虑到 sing-box 已经支持 macOS 上的 TUN 模式,其底层网络栈和系统调用接口与 FreeBSD 的 BSD 血统有显著的相似之处。这可能会减少开发工作量,相比于为完全不同的操作系统家族构建支持而言。
  3. 不断增长的用户群体: FreeBSD 仍然是服务器、防火墙(如 pfSense/OPNsense)和专用网络设备的流行选择。添加 TUN 支持将满足这个忠实的用户群体的需求,使他们能够在目前需要 Linux 或定制解决方案的场景中部署 sing-box。
  4. 增强的透明度和控制: 原生 TUN 接口提供了一种最透明的方式来捕获和处理所有网络流量,无论应用程序如何。这对于全面的流量管理、策略执行和类似 VPN 的功能至关重要。
  5. 完善类 Unix 生态系统: 随着对 Linux 和 macOS 的支持,添加 FreeBSD 将显著完善 sing-box 在主要类 Unix 桌面和服务器操作系统中的布局,体现了对更广泛平台的支持承诺。

实施 FreeBSD TUN 设备支持将极大地促进 sing-box 项目的发展,扩大其兼容性,增强其在强大平台上的能力,并吸引新的用户群体。

感谢您考虑此功能请求。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions