github.com/inazumav/sing-box@v0.0.0-20230926072359-ab51429a14f1/docs/contributing/sub-projects.md (about)

     1  The sing-box uses the following projects which also need to be maintained:
     2  
     3  #### sing
     4  
     5  Link: [GitHub repository](https://github.com/SagerNet/sing)
     6  
     7  As a base tool library, there are no dependencies other than `golang.org/x/sys`.
     8  
     9  #### sing-dns
    10  
    11  Link: [GitHub repository](https://github.com/SagerNet/sing-dns)
    12  
    13  Handles DNS lookups and caching.
    14  
    15  #### sing-tun
    16  
    17  Link: [GitHub repository](https://github.com/SagerNet/sing-tun)
    18  
    19  Handle Tun traffic forwarding, configure routing, monitor network and routing.
    20  
    21  This library needs to periodically update its dependency gVisor (according to tags), including checking for changes to
    22  the used parts of the code and updating its usage. If you are involved in maintenance, you also need to check that if it
    23  works or contains memory leaks.
    24  
    25  #### sing-shadowsocks
    26  
    27  Link: [GitHub repository](https://github.com/SagerNet/sing-shadowsocks)
    28  
    29  Provides Shadowsocks client and server
    30  
    31  #### sing-vmess
    32  
    33  Link: [GitHub repository](https://github.com/SagerNet/sing-vmess)
    34  
    35  Provides VMess client and server
    36  
    37  #### netlink
    38  
    39  Link: [GitHub repository](https://github.com/SagerNet/netlink)
    40  
    41  Fork of `vishvananda/netlink`, with some rule fixes.
    42  
    43  The library needs to be updated with the upstream.
    44  
    45  #### quic-go
    46  
    47  Link: [GitHub repository](https://github.com/SagerNet/quic-go)
    48  
    49  Fork of `lucas-clemente/quic-go`  and `HyNetwork/quic-go`, contains quic flow control and other fixes used by Hysteria.
    50  
    51  Since the author of Hysteria does not follow the upstream updates in time, and the provided fork needs to use replace,
    52  we need to do this.
    53  
    54  The library needs to be updated with the upstream.
    55  
    56  #### smux
    57  
    58  Link: [GitHub repository](https://github.com/SagerNet/smux)
    59  
    60  Fork of `xtaci/smux`
    61  
    62  Modify the code to support the writev it uses internally and unify the buffer pool, which prevents it from allocating
    63  64k buffers for per connection and improves performance.
    64  
    65  Upstream doesn't seem to be updated anymore, maybe a replacement is needed.
    66  
    67  Note: while yamux is still actively maintained and better known, it seems to be less performant.