| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- package include
- import (
- "context"
- "github.com/sagernet/sing-box/adapter"
- "github.com/sagernet/sing-box/adapter/inbound"
- "github.com/sagernet/sing-box/adapter/outbound"
- C "github.com/sagernet/sing-box/constant"
- "github.com/sagernet/sing-box/log"
- "github.com/sagernet/sing-box/option"
- "github.com/sagernet/sing-box/protocol/block"
- "github.com/sagernet/sing-box/protocol/direct"
- "github.com/sagernet/sing-box/protocol/dns"
- "github.com/sagernet/sing-box/protocol/group"
- "github.com/sagernet/sing-box/protocol/http"
- "github.com/sagernet/sing-box/protocol/mixed"
- "github.com/sagernet/sing-box/protocol/naive"
- "github.com/sagernet/sing-box/protocol/redirect"
- "github.com/sagernet/sing-box/protocol/shadowsocks"
- "github.com/sagernet/sing-box/protocol/shadowtls"
- "github.com/sagernet/sing-box/protocol/socks"
- "github.com/sagernet/sing-box/protocol/ssh"
- "github.com/sagernet/sing-box/protocol/tor"
- "github.com/sagernet/sing-box/protocol/trojan"
- "github.com/sagernet/sing-box/protocol/tun"
- "github.com/sagernet/sing-box/protocol/vless"
- "github.com/sagernet/sing-box/protocol/vmess"
- E "github.com/sagernet/sing/common/exceptions"
- )
- func InboundRegistry() *inbound.Registry {
- registry := inbound.NewRegistry()
- tun.RegisterInbound(registry)
- redirect.RegisterRedirect(registry)
- redirect.RegisterTProxy(registry)
- direct.RegisterInbound(registry)
- socks.RegisterInbound(registry)
- http.RegisterInbound(registry)
- mixed.RegisterInbound(registry)
- shadowsocks.RegisterInbound(registry)
- vmess.RegisterInbound(registry)
- trojan.RegisterInbound(registry)
- naive.RegisterInbound(registry)
- shadowtls.RegisterInbound(registry)
- vless.RegisterInbound(registry)
- registerQUICInbounds(registry)
- registerStubForRemovedInbounds(registry)
- return registry
- }
- func OutboundRegistry() *outbound.Registry {
- registry := outbound.NewRegistry()
- direct.RegisterOutbound(registry)
- block.RegisterOutbound(registry)
- dns.RegisterOutbound(registry)
- group.RegisterSelector(registry)
- group.RegisterURLTest(registry)
- socks.RegisterOutbound(registry)
- http.RegisterOutbound(registry)
- shadowsocks.RegisterOutbound(registry)
- vmess.RegisterOutbound(registry)
- trojan.RegisterOutbound(registry)
- tor.RegisterOutbound(registry)
- ssh.RegisterOutbound(registry)
- shadowtls.RegisterOutbound(registry)
- vless.RegisterOutbound(registry)
- registerQUICOutbounds(registry)
- registerWireGuardOutbound(registry)
- registerStubForRemovedOutbounds(registry)
- return registry
- }
- func registerStubForRemovedInbounds(registry *inbound.Registry) {
- inbound.Register[option.ShadowsocksInboundOptions](registry, C.TypeShadowsocksR, func(ctx context.Context, router adapter.Router, logger log.ContextLogger, tag string, options option.ShadowsocksInboundOptions) (adapter.Inbound, error) {
- return nil, E.New("ShadowsocksR is deprecated and removed in sing-box 1.6.0")
- })
- }
- func registerStubForRemovedOutbounds(registry *outbound.Registry) {
- outbound.Register[option.ShadowsocksROutboundOptions](registry, C.TypeShadowsocksR, func(ctx context.Context, router adapter.Router, logger log.ContextLogger, tag string, options option.ShadowsocksROutboundOptions) (adapter.Outbound, error) {
- return nil, E.New("ShadowsocksR is deprecated and removed in sing-box 1.6.0")
- })
- }
|