@@ -36,8 +36,8 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
3636github.com/kr/pretty v0.3.1 /go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk =
3737github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY =
3838github.com/kr/text v0.2.0 /go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE =
39- github.com/miekg/dns v1.1.67 h1:kg0EHj0G4bfT5/oOys6HhZw4vmMlnoZ+gDu8tJ/AlI0 =
40- github.com/miekg/dns v1.1.67 /go.mod h1:fujopn7TB3Pu3JM69XaawiU0wqjpL9/8xGop5UrTPps =
39+ github.com/miekg/dns v1.1.68 h1:jsSRkNozw7G/mnmXULynzMNIsgY2dHC8LO6U6Ij2JEA =
40+ github.com/miekg/dns v1.1.68 /go.mod h1:fujopn7TB3Pu3JM69XaawiU0wqjpL9/8xGop5UrTPps =
4141github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8 =
4242github.com/pelletier/go-toml v1.9.5 /go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c =
4343github.com/pires/go-proxyproto v0.8.1 h1:9KEixbdJfhrbtjpz/ZwCdWDD2Xem0NZ38qMYaASJgp0 =
@@ -62,62 +62,64 @@ github.com/seiflotfy/cuckoofilter v0.0.0-20240715131351-a2f2c23f1771 h1:emzAzMZ1
6262github.com/seiflotfy/cuckoofilter v0.0.0-20240715131351-a2f2c23f1771 /go.mod h1:bR6DqgcAl1zTcOX8/pE2Qkj9XO00eCNqmKb7lXP8EAg =
6363github.com/stretchr/objx v0.1.0 /go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME =
6464github.com/stretchr/testify v1.6.1 /go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg =
65- github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA =
66- github.com/stretchr/testify v1.10.0 /go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY =
65+ github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U =
66+ github.com/stretchr/testify v1.11.1 /go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U =
6767github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e h1:5QefA066A1tF8gHIiADmOVOV5LS43gt3ONnlEl3xkwI =
6868github.com/v2fly/ss-bloomring v0.0.0-20210312155135-28617310f63e /go.mod h1:5t19P9LBIrNamL6AcMQOncg/r10y3Pc01AbHeMhwlpU =
6969github.com/vishvananda/netlink v1.3.1 h1:3AEMt62VKqz90r0tmNhog0r/PpWKmrEShJU0wJW6bV0 =
7070github.com/vishvananda/netlink v1.3.1 /go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4 =
7171github.com/vishvananda/netns v0.0.5 h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zdEY =
7272github.com/vishvananda/netns v0.0.5 /go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM =
73- github.com/xtls/reality v0.0.0-20250725142056-5b52a03d4fb7 h1:Ript0vN+nSO33+Vj4n0mgNY5M+oOxFQJdrJ1VnwTBO0 =
74- github.com/xtls/reality v0.0.0-20250725142056-5b52a03d4fb7 /go.mod h1:XxvnCCgBee4WWE0bc4E+a7wbk8gkJ/rS0vNVNtC5qp0 =
75- github.com/xtls/xray-core v1.250803 .0 h1:sYdRC243UsujnePINH4IfM4MfHE4lj2p4wZFAfeE2GI =
76- github.com/xtls/xray-core v1.250803 .0 /go.mod h1:z2vn2o30flYEgpSz1iEhdZP1I46UZ3+gXINZyohH3yE =
73+ github.com/xtls/reality v0.0.0-20250828044527-046fad5ab64f h1:o1Kryl9qEYYzNep9RId9DM1kBn8tBrcK5UJnti/l0NI =
74+ github.com/xtls/reality v0.0.0-20250828044527-046fad5ab64f /go.mod h1:XxvnCCgBee4WWE0bc4E+a7wbk8gkJ/rS0vNVNtC5qp0 =
75+ github.com/xtls/xray-core v1.250831 .0 h1:0EWgE0eflLNqIudM/5c9SWA0Gegc3mgVsD5VNUqDHGE =
76+ github.com/xtls/xray-core v1.250831 .0 /go.mod h1:WB/73DmN9Vs7lxtx4Xc/D0Ub1VUu06hAh1mMh8JN2uM =
7777go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA =
7878go.opentelemetry.io/auto/sdk v1.1.0 /go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A =
79- go.opentelemetry.io/otel v1.36 .0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg =
80- go.opentelemetry.io/otel v1.36 .0 /go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E =
81- go.opentelemetry.io/otel/metric v1.36 .0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE =
82- go.opentelemetry.io/otel/metric v1.36 .0 /go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs =
83- go.opentelemetry.io/otel/sdk v1.36 .0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs =
84- go.opentelemetry.io/otel/sdk v1.36 .0 /go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY =
85- go.opentelemetry.io/otel/sdk/metric v1.36 .0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis =
86- go.opentelemetry.io/otel/sdk/metric v1.36 .0 /go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4 =
87- go.opentelemetry.io/otel/trace v1.36 .0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w =
88- go.opentelemetry.io/otel/trace v1.36 .0 /go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA =
79+ go.opentelemetry.io/otel v1.37 .0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ =
80+ go.opentelemetry.io/otel v1.37 .0 /go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I =
81+ go.opentelemetry.io/otel/metric v1.37 .0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE =
82+ go.opentelemetry.io/otel/metric v1.37 .0 /go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E =
83+ go.opentelemetry.io/otel/sdk v1.37 .0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI =
84+ go.opentelemetry.io/otel/sdk v1.37 .0 /go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg =
85+ go.opentelemetry.io/otel/sdk/metric v1.37 .0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc =
86+ go.opentelemetry.io/otel/sdk/metric v1.37 .0 /go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps =
87+ go.opentelemetry.io/otel/trace v1.37 .0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4 =
88+ go.opentelemetry.io/otel/trace v1.37 .0 /go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0 =
8989go.uber.org/mock v0.5.0 h1:KAMbZvZPyBPWgD14IrIQ38QCyjwpvVVV6K/bHl1IwQU =
9090go.uber.org/mock v0.5.0 /go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM =
9191go4.org/netipx v0.0.0-20231129151722-fdeea329fbba h1:0b9z3AuHCjxk0x/opv64kcgZLBseWJUpBw5I82+2U4M =
9292go4.org/netipx v0.0.0-20231129151722-fdeea329fbba /go.mod h1:PLyyIXexvUFg3Owu6p/WfdlivPbZJsZdgWZlrGope/Y =
93- golang.org/x/crypto v0.40 .0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM =
94- golang.org/x/crypto v0.40 .0 /go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY =
95- golang.org/x/mod v0.25 .0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w =
96- golang.org/x/mod v0.25 .0 /go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww =
97- golang.org/x/net v0.42 .0 h1:jzkYrhi3YQWD6MLBJcsklgQsoAcw89EcZbJw8Z614hs =
98- golang.org/x/net v0.42 .0 /go.mod h1:FF1RA5d3u7nAYA4z2TkclSCKh68eSXtiFwcWQpPXdt8 =
93+ golang.org/x/crypto v0.41 .0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4 =
94+ golang.org/x/crypto v0.41 .0 /go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc =
95+ golang.org/x/mod v0.26 .0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg =
96+ golang.org/x/mod v0.26 .0 /go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ =
97+ golang.org/x/net v0.43 .0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE =
98+ golang.org/x/net v0.43 .0 /go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg =
9999golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw =
100100golang.org/x/sync v0.16.0 /go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA =
101101golang.org/x/sys v0.2.0 /go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg =
102102golang.org/x/sys v0.10.0 /go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg =
103- golang.org/x/sys v0.34 .0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA =
104- golang.org/x/sys v0.34 .0 /go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k =
105- golang.org/x/text v0.27 .0 h1:4fGWRpyh641NLlecmyl4LOe6yDdfaYNrGb2zdfo4JV4 =
106- golang.org/x/text v0.27 .0 /go.mod h1:1D28KMCvyooCX9hBiosv5Tz/+YLxj0j7XhWjpSUF7CU =
103+ golang.org/x/sys v0.35 .0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI =
104+ golang.org/x/sys v0.35 .0 /go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k =
105+ golang.org/x/text v0.28 .0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng =
106+ golang.org/x/text v0.28 .0 /go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU =
107107golang.org/x/time v0.7.0 h1:ntUhktv3OPE6TgYxXWv9vKvUSJyIFJlyohwbkEwPrKQ =
108108golang.org/x/time v0.7.0 /go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM =
109- golang.org/x/tools v0.34 .0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo =
110- golang.org/x/tools v0.34 .0 /go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg =
109+ golang.org/x/tools v0.35 .0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0 =
110+ golang.org/x/tools v0.35 .0 /go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw =
111111golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeunTOisW56dUokqW/FOteYJJ/yg =
112112golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 /go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI =
113113golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4 =
114114golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 /go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA =
115- google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a h1:v2PbRU4K3llS09c7zodFpNePeamkAwG3mPrAery9VeE =
116- google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a /go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A =
117- google.golang.org/grpc v1.74.2 h1:WoosgB65DlWVC9FqI82dGsZhWFNBSLjQ84bjROOpMu4 =
118- google.golang.org/grpc v1.74.2 /go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM =
119- google.golang.org/protobuf v1.36.7 h1:IgrO7UwFQGJdRNXH/sQux4R1Dj1WAKcLElzeeRaXV2A =
120- google.golang.org/protobuf v1.36.7 /go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY =
115+ gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk =
116+ gonum.org/v1/gonum v0.16.0 /go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E =
117+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 h1:pFyd6EwwL2TqFf8emdthzeX+gZE1ElRq3iM8pui4KBY =
118+ google.golang.org/genproto/googleapis/rpc v0.0.0-20250707201910-8d1bb00bc6a7 /go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A =
119+ google.golang.org/grpc v1.75.0 h1:+TW+dqTd2Biwe6KKfhE5JpiYIBWq865PhKGSXiivqt4 =
120+ google.golang.org/grpc v1.75.0 /go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ =
121+ google.golang.org/protobuf v1.36.8 h1:xHScyCOEuuwZEc6UtSOvPbAT4zRh0xcNRYekJwfqyMc =
122+ google.golang.org/protobuf v1.36.8 /go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU =
121123gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 /go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0 =
122124gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk =
123125gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c /go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q =
0 commit comments