Add contributing documentation
This commit is contained in:
78
docs/contributing/sub-projects.md
Normal file
78
docs/contributing/sub-projects.md
Normal file
@@ -0,0 +1,78 @@
|
||||
The sing-box uses the following projects which also need to be maintained:
|
||||
|
||||
#### sing
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/sing)
|
||||
|
||||
As a base tool library, there are no dependencies other than `golang.org/x/sys`.
|
||||
|
||||
#### sing-dns
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/sing-dns)
|
||||
|
||||
Handles DNS lookups and caching.
|
||||
|
||||
#### sing-tun
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/sing-tun)
|
||||
|
||||
Handle Tun traffic forwarding, configure routing, monitor network and routing.
|
||||
|
||||
This library needs to periodically update its dependency gVisor (according to tags), including checking for changes to
|
||||
the used parts of the code and updating its usage. If you are involved in maintenance, you also need to check that if it
|
||||
works or contains memory leaks.
|
||||
|
||||
#### sing-shadowsocks
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/sing-shadowsocks)
|
||||
|
||||
Provides Shadowsocks client and server
|
||||
|
||||
#### sing-vmess
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/sing-vmess)
|
||||
|
||||
Provides VMess client and server
|
||||
|
||||
#### netlink
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/netlink)
|
||||
|
||||
Fork of `vishvananda/netlink`, with some rule fixes.
|
||||
|
||||
The library needs to be updated with the upstream.
|
||||
|
||||
#### quic-go
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/quic-go)
|
||||
|
||||
Fork of `lucas-clemente/quic-go` and `HyNetwork/quic-go`, contains quic flow control and other fixes used by Hysteria.
|
||||
|
||||
Since the author of Hysteria does not follow the upstream updates in time, and the provided fork needs to use replace,
|
||||
we need to do this.
|
||||
|
||||
The library needs to be updated with the upstream.
|
||||
|
||||
#### certmagic
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/certmagic)
|
||||
|
||||
Fork of `caddyserver/certmagic`
|
||||
|
||||
Since upstream uses `miekg/dns` and we use `x/net/dnsmessage`, we need to replace its DNS part with our own
|
||||
implementation.
|
||||
|
||||
The library needs to be updated with the upstream.
|
||||
|
||||
#### smux
|
||||
|
||||
Link: [GitHub repository](https://github.com/SagerNet/smux)
|
||||
|
||||
Fork of `xtaci/smux`
|
||||
|
||||
Modify the code to support the writev it uses internally and unify the buffer pool, which prevents it from allocating
|
||||
64k buffers for per connection and improves performance.
|
||||
|
||||
Upstream doesn't seem to be updated anymore, maybe a replacement is needed.
|
||||
|
||||
Note: while yamux is still actively maintained and better known, it seems to be less performant.
|
||||
Reference in New Issue
Block a user