Add MTProxy, MASQUE, VPN, Link parser. Update AmneziaWG. Remove Tunneling

This commit is contained in:
Sergei Maklagin
2026-04-29 22:11:30 +03:00
parent 09f9f114aa
commit 04908a6a67
158 changed files with 7994 additions and 2277 deletions

31
parser/parser.go Normal file
View File

@@ -0,0 +1,31 @@
package parser
import (
"context"
"github.com/sagernet/sing-box/option"
"github.com/sagernet/sing-box/parser/clash"
"github.com/sagernet/sing-box/parser/raw"
"github.com/sagernet/sing-box/parser/singbox"
"github.com/sagernet/sing-box/parser/sip008"
E "github.com/sagernet/sing/common/exceptions"
)
var subscriptionParsers = []func(ctx context.Context, content string) ([]option.Outbound, error){
singbox.ParseBoxSubscription,
clash.ParseClashSubscription,
sip008.ParseSIP008Subscription,
raw.ParseRawSubscription,
}
func ParseSubscription(ctx context.Context, content string) ([]option.Outbound, error) {
var pErr error
for _, parser := range subscriptionParsers {
servers, err := parser(ctx, content)
if len(servers) > 0 {
return servers, nil
}
pErr = E.Errors(pErr, err)
}
return nil, E.Cause(pErr, "no servers found")
}