Bläddra i källkod

Remove integration with gotd

tags/v2.1.9^2
9seconds 2 månader sedan
förälder
incheckning
8e87405d3e

+ 1
- 6
example.config.toml Visa fil

@@ -77,14 +77,9 @@ allow-fallback-on-unknown-dc = false
77 77
 # a default list of DCs, including some CDN IPs, but it is possible that some
78 78
 # of them are not working for you. In this case, you can override them here.
79 79
 [[dc-overrides]]
80
-dc = "101"
80
+dc = 101
81 81
 ips = ["127.0.0.1:443"]
82 82
 
83
-# mtg periodically updates its list of DCs, fetching them from Telegram itself.
84
-# This is a period of time between updates. Default value is 1h, and usually
85
-# more than enough.
86
-# dc-update-each = "24h"
87
-
88 83
 # network defines different network-related settings
89 84
 [network]
90 85
 # please be aware that mtg needs to do some external requests. For

+ 1
- 28
go.mod Visa fil

@@ -12,7 +12,6 @@ require (
12 12
 	github.com/jarcoal/httpmock v1.0.8
13 13
 	github.com/mccutchen/go-httpbin v1.1.1
14 14
 	github.com/panjf2000/ants/v2 v2.11.5
15
-	github.com/pelletier/go-toml v1.9.5
16 15
 	github.com/prometheus/client_golang v1.23.2
17 16
 	github.com/prometheus/common v0.67.5 // indirect
18 17
 	github.com/prometheus/procfs v0.19.2 // indirect
@@ -28,7 +27,6 @@ require (
28 27
 )
29 28
 
30 29
 require (
31
-	github.com/gotd/td v0.139.0
32 30
 	github.com/pelletier/go-toml/v2 v2.2.4
33 31
 	github.com/txthinking/socks5 v0.0.0-20251011041537-5c31f201a10e
34 32
 	github.com/yl2chen/cidranger v1.0.2
@@ -36,45 +34,20 @@ require (
36 34
 
37 35
 require (
38 36
 	github.com/beorn7/perks v1.0.1 // indirect
39
-	github.com/cenkalti/backoff/v4 v4.3.0 // indirect
40 37
 	github.com/cespare/xxhash/v2 v2.3.0 // indirect
41
-	github.com/coder/websocket v1.8.14 // indirect
42 38
 	github.com/davecgh/go-spew v1.1.1 // indirect
43
-	github.com/dlclark/regexp2 v1.11.5 // indirect
44
-	github.com/fatih/color v1.18.0 // indirect
45
-	github.com/ghodss/yaml v1.0.0 // indirect
46
-	github.com/go-faster/errors v0.7.1 // indirect
47
-	github.com/go-faster/jx v1.2.0 // indirect
48
-	github.com/go-faster/xor v1.0.0 // indirect
49
-	github.com/go-faster/yaml v0.4.6 // indirect
50
-	github.com/google/uuid v1.6.0 // indirect
51
-	github.com/gotd/ige v0.2.2 // indirect
52
-	github.com/gotd/neo v0.1.5 // indirect
53 39
 	github.com/klauspost/compress v1.18.3 // indirect
54 40
 	github.com/kr/text v0.2.0 // indirect
55 41
 	github.com/mattn/go-colorable v0.1.14 // indirect
56 42
 	github.com/mattn/go-isatty v0.0.20 // indirect
57 43
 	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
58
-	github.com/ogen-go/ogen v1.16.0 // indirect
59 44
 	github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
60 45
 	github.com/pmezard/go-difflib v1.0.0 // indirect
61 46
 	github.com/prometheus/client_model v0.6.2 // indirect
62
-	github.com/segmentio/asm v1.2.1 // indirect
63
-	github.com/shopspring/decimal v1.4.0 // indirect
47
+	github.com/rogpeppe/go-internal v1.14.1 // indirect
64 48
 	github.com/txthinking/runnergroup v0.0.0-20250224021307-5864ffeb65ae // indirect
65
-	go.opentelemetry.io/otel v1.40.0 // indirect
66
-	go.opentelemetry.io/otel/metric v1.40.0 // indirect
67
-	go.opentelemetry.io/otel/trace v1.40.0 // indirect
68
-	go.uber.org/atomic v1.11.0 // indirect
69
-	go.uber.org/multierr v1.11.0 // indirect
70
-	go.uber.org/zap v1.27.1 // indirect
71 49
 	go.yaml.in/yaml/v2 v2.4.3 // indirect
72
-	golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 // indirect
73
-	golang.org/x/mod v0.32.0 // indirect
74 50
 	golang.org/x/sync v0.19.0 // indirect
75
-	golang.org/x/text v0.34.0 // indirect
76 51
 	golang.org/x/tools v0.41.0 // indirect
77
-	gopkg.in/yaml.v2 v2.4.0 // indirect
78 52
 	gopkg.in/yaml.v3 v3.0.1 // indirect
79
-	rsc.io/qr v0.2.0 // indirect
80 53
 )

+ 1
- 62
go.sum Visa fil

@@ -14,12 +14,8 @@ github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6 h1:4NNbNM
14 14
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6/go.mod h1:J29hk+f9lJrblVIfiJOtTFk+OblBawmib4uz/VdKzlg=
15 15
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
16 16
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
17
-github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
18
-github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
19 17
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
20 18
 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
21
-github.com/coder/websocket v1.8.14 h1:9L0p0iKiNOibykf283eHkKUHHrpG7f65OE3BhhO7v9g=
22
-github.com/coder/websocket v1.8.14/go.mod h1:NX3SzP+inril6yawo5CQXx8+fk145lPDC6pumgx0mVg=
23 19
 github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
24 20
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
25 21
 github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt9U=
@@ -27,38 +23,13 @@ github.com/d4l3k/messagediff v1.2.1/go.mod h1:Oozbb1TVXFac9FtSIxHBMnBCq2qeH/2KkE
27 23
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
28 24
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
29 25
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
30
-github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ=
31
-github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8=
32
-github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
33
-github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
34
-github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
35
-github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
36
-github.com/go-faster/errors v0.7.1 h1:MkJTnDoEdi9pDabt1dpWf7AA8/BaSYZqibYyhZ20AYg=
37
-github.com/go-faster/errors v0.7.1/go.mod h1:5ySTjWFiphBs07IKuiL69nxdfd5+fzh1u7FPGZP2quo=
38
-github.com/go-faster/jx v1.2.0 h1:T2YHJPrFaYu21fJtUxC9GzmluKu8rVIFDwwGBKTDseI=
39
-github.com/go-faster/jx v1.2.0/go.mod h1:UWLOVDmMG597a5tBFPLIWJdUxz5/2emOpfsj9Neg0PE=
40
-github.com/go-faster/xor v0.3.0/go.mod h1:x5CaDY9UKErKzqfRfFZdfu+OSTfoZny3w5Ak7UxcipQ=
41
-github.com/go-faster/xor v1.0.0 h1:2o8vTOgErSGHP3/7XwA5ib1FTtUsNtwCoLLBjl31X38=
42
-github.com/go-faster/xor v1.0.0/go.mod h1:x5CaDY9UKErKzqfRfFZdfu+OSTfoZny3w5Ak7UxcipQ=
43
-github.com/go-faster/yaml v0.4.6 h1:lOK/EhI04gCpPgPhgt0bChS6bvw7G3WwI8xxVe0sw9I=
44
-github.com/go-faster/yaml v0.4.6/go.mod h1:390dRIvV4zbnO7qC9FGo6YYutc+wyyUSHBgbXL52eXk=
45 26
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
46 27
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
47 28
 github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
48
-github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
49
-github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
50
-github.com/gotd/ige v0.2.2 h1:XQ9dJZwBfDnOGSTxKXBGP4gMud3Qku2ekScRjDWWfEk=
51
-github.com/gotd/ige v0.2.2/go.mod h1:tuCRb+Y5Y3eNTo3ypIfNpQ4MFjrnONiL2jN2AKZXmb0=
52
-github.com/gotd/neo v0.1.5 h1:oj0iQfMbGClP8xI59x7fE/uHoTJD7NZH9oV1WNuPukQ=
53
-github.com/gotd/neo v0.1.5/go.mod h1:9A2a4bn9zL6FADufBdt7tZt+WMhvZoc5gWXihOPoiBQ=
54
-github.com/gotd/td v0.139.0 h1:3viuXqNdC0+mmd5GerDFp/rlII/QcZSzh/pjuG56NSU=
55
-github.com/gotd/td v0.139.0/go.mod h1:nBietiOYxaXEo6PmRp73LL64upWlk9rcFEZSJu6VieY=
56 29
 github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
57 30
 github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
58 31
 github.com/jarcoal/httpmock v1.0.8 h1:8kI16SoO6LQKgPE7PvQuV+YuD/inwHd7fOOe2zMbo4k=
59 32
 github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
60
-github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo=
61
-github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ=
62 33
 github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
63 34
 github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
64 35
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
@@ -80,14 +51,10 @@ github.com/miekg/dns v1.1.51 h1:0+Xg7vObnhrz/4ZCZcZh7zPXlmU0aveS2HDBd0m0qSo=
80 51
 github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c=
81 52
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
82 53
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
83
-github.com/ogen-go/ogen v1.16.0 h1:fKHEYokW/QrMzVNXId74/6RObRIUs9T2oroGKtR25Iw=
84
-github.com/ogen-go/ogen v1.16.0/go.mod h1:s3nWiMzybSf8fhxckyO+wtto92+QHpEL8FmkPnhL3jI=
85 54
 github.com/panjf2000/ants/v2 v2.11.5 h1:a7LMnMEeux/ebqTux140tRiaqcFTV0q2bEHF03nl6Rg=
86 55
 github.com/panjf2000/ants/v2 v2.11.5/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek=
87 56
 github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
88 57
 github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
89
-github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8=
90
-github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
91 58
 github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
92 59
 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
93 60
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -101,16 +68,11 @@ github.com/prometheus/common v0.67.5 h1:pIgK94WWlQt1WLwAC5j2ynLaBRDiinoAb86HZHTU
101 68
 github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
102 69
 github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws=
103 70
 github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw=
104
-github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
105
-github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
106 71
 github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
72
+github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
107 73
 github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
108 74
 github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
109 75
 github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
110
-github.com/segmentio/asm v1.2.1 h1:DTNbBqs57ioxAD4PrArqftgypG4/qNpXoJx8TVXxPR0=
111
-github.com/segmentio/asm v1.2.1/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
112
-github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
113
-github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
114 76
 github.com/smira/go-statsd v1.3.4 h1:kBYWcLSGT+qC6JVbvfz48kX7mQys32fjDOPrfmsSx2c=
115 77
 github.com/smira/go-statsd v1.3.4/go.mod h1:RjdsESPgDODtg1VpVVf9MJrEW2Hw0wtRNbmB1CAhu6A=
116 78
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -135,30 +97,15 @@ github.com/tylertreat/BoomFilters v0.0.0-20251117164519-53813c36cc1b/go.mod h1:O
135 97
 github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU=
136 98
 github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g=
137 99
 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
138
-go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms=
139
-go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g=
140
-go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g=
141
-go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc=
142
-go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw=
143
-go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA=
144
-go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
145
-go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
146 100
 go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
147 101
 go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
148
-go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
149
-go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
150
-go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc=
151
-go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
152 102
 go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
153 103
 go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
154 104
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
155 105
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
156 106
 golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
157 107
 golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
158
-golang.org/x/exp v0.0.0-20230725093048-515e97ebf090 h1:Di6/M8l0O2lCLc6VVRWhgCiApHV8MnQurBnFSHsQtNY=
159
-golang.org/x/exp v0.0.0-20230725093048-515e97ebf090/go.mod h1:FXUEEKJgO7OQYeo8N01OfiKP8RXMtf6e8aTskBGqWdc=
160 108
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
161
-golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA=
162 109
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
163 110
 golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
164 111
 golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
@@ -169,7 +116,6 @@ golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
169 116
 golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
170 117
 golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
171 118
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
172
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
173 119
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
174 120
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
175 121
 golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
@@ -192,12 +138,9 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
192 138
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
193 139
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
194 140
 golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
195
-golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
196
-golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
197 141
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
198 142
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
199 143
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
200
-golang.org/x/tools v0.3.0 h1:SrNbZl6ECOS1qFzgTdQfWXZM9XBkiA6tkFrH9YSTPHM=
201 144
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
202 145
 golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
203 146
 golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
@@ -208,10 +151,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
208 151
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
209 152
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
210 153
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
211
-gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
212
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
213 154
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
214 155
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
215 156
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
216
-rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY=
217
-rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs=

+ 0
- 1
internal/cli/run_proxy.go Visa fil

@@ -263,7 +263,6 @@ func runProxy(conf *config.Config, version string) error { //nolint: funlen
263 263
 		AllowFallbackOnUnknownDC: conf.AllowFallbackOnUnknownDC.Get(false),
264 264
 		TolerateTimeSkewness:     conf.TolerateTimeSkewness.Value,
265 265
 		DCOverrides:              dcOverrides,
266
-		DCUpdateEach:             conf.DCUpdateEach.Get(0),
267 266
 	}
268 267
 
269 268
 	proxy, err := mtglib.NewProxy(opts)

+ 0
- 1
internal/cli/simple_run.go Visa fil

@@ -80,7 +80,6 @@ func (s *SimpleRun) Run(cli *CLI, version string) error { //nolint: cyclop,funle
80 80
 	conf.Debug.Value = s.Debug
81 81
 	conf.AllowFallbackOnUnknownDC.Value = true
82 82
 	conf.Defense.AntiReplay.Enabled.Value = true
83
-	conf.DCUpdateEach.Value = 0
84 83
 
85 84
 	if err := conf.Validate(); err != nil {
86 85
 		return fmt.Errorf("invalid result configuration: %w", err)

+ 0
- 1
internal/config/config.go Visa fil

@@ -68,7 +68,6 @@ type Config struct {
68 68
 		DC  TypeDC         `json:"dc"`
69 69
 		IPs []TypeHostPort `json:"ips"`
70 70
 	} `json:"dcOverrides"`
71
-	DCUpdateEach TypeDuration `json:"dcUpdateEach"`
72 71
 }
73 72
 
74 73
 func (c *Config) Validate() error {

+ 1
- 2
internal/config/parse.go Visa fil

@@ -60,10 +60,9 @@ type tomlConfig struct {
60 60
 		} `toml:"prometheus" json:"prometheus,omitempty"`
61 61
 	} `toml:"stats" json:"stats,omitempty"`
62 62
 	DCOverrides []struct {
63
-		DC  int      `toml:"dc" json:"dc"`
63
+		DC  uint     `toml:"dc" json:"dc"`
64 64
 		IPs []string `toml:"ips" json:"ips"`
65 65
 	} `toml:"dc-overrides" json:"dcOverrides,omitempty"`
66
-	DCUpdateEach string `toml:"dc-update-each" json:"dcUpdateEach,omitempty"`
67 66
 }
68 67
 
69 68
 func Parse(rawData []byte) (*Config, error) {

+ 2
- 2
internal/config/type_dc.go Visa fil

@@ -24,11 +24,11 @@ func (t *TypeDC) Set(value string) error {
24 24
 	return nil
25 25
 }
26 26
 
27
-func (t *TypeDC) UnmarshalText(data []byte) error {
27
+func (t *TypeDC) UnmarshalJSON(data []byte) error {
28 28
 	return t.Set(string(data))
29 29
 }
30 30
 
31
-func (t TypeDC) MarshalText() ([]byte, error) {
31
+func (t TypeDC) MarshalJSON() ([]byte, error) {
32 32
 	return []byte(t.String()), nil
33 33
 }
34 34
 

+ 0
- 4
mtglib/init.go Visa fil

@@ -99,10 +99,6 @@ const (
99 99
 	// reads from Telegram after which connection will be terminated. This is
100 100
 	// required to abort stale connections.
101 101
 	TCPRelayReadTimeout = 20 * time.Second
102
-
103
-	// DefaultDCUpdateEach defines a time period that is used to fetch
104
-	// a relevant list of DCs to use from Telegram using its own MTPROTO API.
105
-	DefaultDCUpdateEach = time.Hour
106 102
 )
107 103
 
108 104
 // Network defines a knowledge how to work with a network. It may sound fun but

+ 0
- 3
mtglib/internal/dc/init.go Visa fil

@@ -11,9 +11,6 @@ const (
11 11
 
12 12
 const (
13 13
 	DefaultDC = 2
14
-
15
-	defaultAppID   = 123456
16
-	defaultAppHash = ""
17 14
 )
18 15
 
19 16
 type Logger interface {

+ 5
- 82
mtglib/internal/dc/telegram.go Visa fil

@@ -1,29 +1,17 @@
1 1
 package dc
2 2
 
3 3
 import (
4
-	"context"
5 4
 	"fmt"
6 5
 	"net"
7
-	"strconv"
8 6
 	"strings"
9
-	"sync"
10
-	"time"
11
-
12
-	"github.com/gotd/td/telegram"
13 7
 )
14 8
 
15 9
 type Telegram struct {
16
-	logger   Logger
17
-	lock     sync.RWMutex
18 10
 	view     dcView
19 11
 	preferIP preferIP
20
-	client   *telegram.Client
21 12
 }
22 13
 
23 14
 func (t *Telegram) GetAddresses(dc int) []Addr {
24
-	t.lock.RLock()
25
-	defer t.lock.RUnlock()
26
-
27 15
 	switch t.preferIP {
28 16
 	case preferIPOnlyIPv4:
29 17
 		return t.view.getV4(dc)
@@ -36,73 +24,7 @@ func (t *Telegram) GetAddresses(dc int) []Addr {
36 24
 	return append(t.view.getV6(dc), t.view.getV4(dc)...)
37 25
 }
38 26
 
39
-func (t *Telegram) Run(ctx context.Context, updateEach time.Duration) {
40
-	t.update(ctx)
41
-
42
-	ticker := time.NewTicker(updateEach)
43
-	defer func() {
44
-		ticker.Stop()
45
-
46
-		select {
47
-		case <-ctx.Done():
48
-		case <-ticker.C:
49
-		default:
50
-		}
51
-	}()
52
-
53
-	for {
54
-		select {
55
-		case <-ctx.Done():
56
-			return
57
-		case <-ticker.C:
58
-			t.update(ctx)
59
-		}
60
-	}
61
-}
62
-
63
-func (t *Telegram) update(ctx context.Context) {
64
-	collected := dcAddrSet{
65
-		v4: map[int][]Addr{},
66
-		v6: map[int][]Addr{},
67
-	}
68
-
69
-	err := t.client.Run(ctx, func(tgctx context.Context) error {
70
-		conf, err := t.client.API().HelpGetConfig(tgctx)
71
-		if err != nil {
72
-			return err
73
-		}
74
-
75
-		for _, opt := range conf.DCOptions {
76
-			addr := net.JoinHostPort(opt.IPAddress, strconv.Itoa(opt.Port))
77
-
78
-			if opt.Ipv6 {
79
-				collected.v6[opt.ID] = append(collected.v6[opt.ID], Addr{
80
-					Network: "tcp6",
81
-					Address: addr,
82
-				})
83
-			} else {
84
-				collected.v4[opt.ID] = append(collected.v4[opt.ID], Addr{
85
-					Network: "tcp4",
86
-					Address: addr,
87
-				})
88
-			}
89
-		}
90
-
91
-		return nil
92
-	})
93
-	if err != nil {
94
-		t.logger.WarningError("update has failed", err)
95
-		return
96
-	}
97
-
98
-	t.lock.Lock()
99
-	t.view.collected = collected
100
-	t.lock.Unlock()
101
-
102
-	t.logger.Info(fmt.Sprintf("updated DC list: %v", collected))
103
-}
104
-
105
-func New(logger Logger, ipPreference string, userOverrides map[int][]string) (*Telegram, error) {
27
+func New(ipPreference string, userOverrides map[int][]string) (*Telegram, error) {
106 28
 	var pref preferIP
107 29
 
108 30
 	switch strings.ToLower(ipPreference) {
@@ -118,7 +40,10 @@ func New(logger Logger, ipPreference string, userOverrides map[int][]string) (*T
118 40
 		return nil, fmt.Errorf("unknown ip preference %s", ipPreference)
119 41
 	}
120 42
 
121
-	overrides := dcAddrSet{}
43
+	overrides := dcAddrSet{
44
+		v4: map[int][]Addr{},
45
+		v6: map[int][]Addr{},
46
+	}
122 47
 	for dc, addrs := range userOverrides {
123 48
 		for _, addr := range addrs {
124 49
 			host, _, err := net.SplitHostPort(addr)
@@ -149,8 +74,6 @@ func New(logger Logger, ipPreference string, userOverrides map[int][]string) (*T
149 74
 		view: dcView{
150 75
 			overrides: overrides,
151 76
 		},
152
-		logger:   logger,
153
-		client:   telegram.NewClient(defaultAppID, defaultAppHash, telegram.Options{}),
154 77
 		preferIP: pref,
155 78
 	}, nil
156 79
 }

+ 2
- 2
mtglib/internal/dc/view.go Visa fil

@@ -8,7 +8,7 @@ type dcView struct {
8 8
 func (d dcView) getV4(dc int) []Addr {
9 9
 	addrs := d.overrides.getV4(dc)
10 10
 	addrs = append(addrs, defaultDCOverridesAddrSet.getV4(dc)...)
11
-	addrs = append(addrs, d.collected.getV4(dc)...)
11
+	// addrs = append(addrs, d.collected.getV4(dc)...)
12 12
 	addrs = append(addrs, defaultDCAddrSet.getV4(dc)...)
13 13
 
14 14
 	return addrs
@@ -17,7 +17,7 @@ func (d dcView) getV4(dc int) []Addr {
17 17
 func (d dcView) getV6(dc int) []Addr {
18 18
 	addrs := d.overrides.getV6(dc)
19 19
 	addrs = append(addrs, defaultDCOverridesAddrSet.getV6(dc)...)
20
-	addrs = append(addrs, d.collected.getV6(dc)...)
20
+	// addrs = append(addrs, d.collected.getV6(dc)...)
21 21
 	addrs = append(addrs, defaultDCAddrSet.getV6(dc)...)
22 22
 
23 23
 	return addrs

+ 1
- 10
mtglib/proxy.go Visa fil

@@ -300,9 +300,7 @@ func NewProxy(opts ProxyOpts) (*Proxy, error) {
300 300
 		return nil, fmt.Errorf("invalid settings: %w", err)
301 301
 	}
302 302
 
303
-	logger := opts.getLogger("proxy")
304
-
305
-	tg, err := dc.New(logger.Named("telegram"), opts.getPreferIP(), opts.DCOverrides)
303
+	tg, err := dc.New(opts.getPreferIP(), opts.DCOverrides)
306 304
 	if err != nil {
307 305
 		return nil, fmt.Errorf("cannot build telegram dc fetcher: %w", err)
308 306
 	}
@@ -324,13 +322,6 @@ func NewProxy(opts ProxyOpts) (*Proxy, error) {
324 322
 		telegram:                 tg,
325 323
 	}
326 324
 
327
-	dcUpdateEach := opts.DCUpdateEach
328
-	if dcUpdateEach == 0 {
329
-		dcUpdateEach = DefaultDCUpdateEach
330
-	}
331
-
332
-	go tg.Run(ctx, dcUpdateEach)
333
-
334 325
 	pool, err := ants.NewPoolWithFunc(opts.getConcurrency(),
335 326
 		func(arg interface{}) {
336 327
 			proxy.ServeConn(arg.(essentials.Conn)) //nolint: forcetypeassert

+ 0
- 4
mtglib/proxy_opts.go Visa fil

@@ -119,10 +119,6 @@ type ProxyOpts struct {
119 119
 	//
120 120
 	// This is an optional setting
121 121
 	DCOverrides map[int][]string
122
-
123
-	// DCUpdateEach defines a time duration that is used to fetch a list of
124
-	// DCs to use from the Telegram.
125
-	DCUpdateEach time.Duration
126 122
 }
127 123
 
128 124
 func (p ProxyOpts) valid() error {

Laddar…
Avbryt
Spara