Kaynağa Gözat

Remove integration with gotd

tags/v2.1.9^2
9seconds 3 ay önce
ebeveyn
işleme
8e87405d3e

+ 1
- 6
example.config.toml Dosyayı Görüntüle

77
 # a default list of DCs, including some CDN IPs, but it is possible that some
77
 # a default list of DCs, including some CDN IPs, but it is possible that some
78
 # of them are not working for you. In this case, you can override them here.
78
 # of them are not working for you. In this case, you can override them here.
79
 [[dc-overrides]]
79
 [[dc-overrides]]
80
-dc = "101"
80
+dc = 101
81
 ips = ["127.0.0.1:443"]
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
 # network defines different network-related settings
83
 # network defines different network-related settings
89
 [network]
84
 [network]
90
 # please be aware that mtg needs to do some external requests. For
85
 # please be aware that mtg needs to do some external requests. For

+ 1
- 28
go.mod Dosyayı Görüntüle

12
 	github.com/jarcoal/httpmock v1.0.8
12
 	github.com/jarcoal/httpmock v1.0.8
13
 	github.com/mccutchen/go-httpbin v1.1.1
13
 	github.com/mccutchen/go-httpbin v1.1.1
14
 	github.com/panjf2000/ants/v2 v2.11.5
14
 	github.com/panjf2000/ants/v2 v2.11.5
15
-	github.com/pelletier/go-toml v1.9.5
16
 	github.com/prometheus/client_golang v1.23.2
15
 	github.com/prometheus/client_golang v1.23.2
17
 	github.com/prometheus/common v0.67.5 // indirect
16
 	github.com/prometheus/common v0.67.5 // indirect
18
 	github.com/prometheus/procfs v0.19.2 // indirect
17
 	github.com/prometheus/procfs v0.19.2 // indirect
28
 )
27
 )
29
 
28
 
30
 require (
29
 require (
31
-	github.com/gotd/td v0.139.0
32
 	github.com/pelletier/go-toml/v2 v2.2.4
30
 	github.com/pelletier/go-toml/v2 v2.2.4
33
 	github.com/txthinking/socks5 v0.0.0-20251011041537-5c31f201a10e
31
 	github.com/txthinking/socks5 v0.0.0-20251011041537-5c31f201a10e
34
 	github.com/yl2chen/cidranger v1.0.2
32
 	github.com/yl2chen/cidranger v1.0.2
36
 
34
 
37
 require (
35
 require (
38
 	github.com/beorn7/perks v1.0.1 // indirect
36
 	github.com/beorn7/perks v1.0.1 // indirect
39
-	github.com/cenkalti/backoff/v4 v4.3.0 // indirect
40
 	github.com/cespare/xxhash/v2 v2.3.0 // indirect
37
 	github.com/cespare/xxhash/v2 v2.3.0 // indirect
41
-	github.com/coder/websocket v1.8.14 // indirect
42
 	github.com/davecgh/go-spew v1.1.1 // indirect
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
 	github.com/klauspost/compress v1.18.3 // indirect
39
 	github.com/klauspost/compress v1.18.3 // indirect
54
 	github.com/kr/text v0.2.0 // indirect
40
 	github.com/kr/text v0.2.0 // indirect
55
 	github.com/mattn/go-colorable v0.1.14 // indirect
41
 	github.com/mattn/go-colorable v0.1.14 // indirect
56
 	github.com/mattn/go-isatty v0.0.20 // indirect
42
 	github.com/mattn/go-isatty v0.0.20 // indirect
57
 	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
43
 	github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
58
-	github.com/ogen-go/ogen v1.16.0 // indirect
59
 	github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
44
 	github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
60
 	github.com/pmezard/go-difflib v1.0.0 // indirect
45
 	github.com/pmezard/go-difflib v1.0.0 // indirect
61
 	github.com/prometheus/client_model v0.6.2 // indirect
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
 	github.com/txthinking/runnergroup v0.0.0-20250224021307-5864ffeb65ae // indirect
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
 	go.yaml.in/yaml/v2 v2.4.3 // indirect
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
 	golang.org/x/sync v0.19.0 // indirect
50
 	golang.org/x/sync v0.19.0 // indirect
75
-	golang.org/x/text v0.34.0 // indirect
76
 	golang.org/x/tools v0.41.0 // indirect
51
 	golang.org/x/tools v0.41.0 // indirect
77
-	gopkg.in/yaml.v2 v2.4.0 // indirect
78
 	gopkg.in/yaml.v3 v3.0.1 // indirect
52
 	gopkg.in/yaml.v3 v3.0.1 // indirect
79
-	rsc.io/qr v0.2.0 // indirect
80
 )
53
 )

+ 1
- 62
go.sum Dosyayı Görüntüle

14
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6/go.mod h1:J29hk+f9lJrblVIfiJOtTFk+OblBawmib4uz/VdKzlg=
14
 github.com/babolivier/go-doh-client v0.0.0-20201028162107-a76cff4cb8b6/go.mod h1:J29hk+f9lJrblVIfiJOtTFk+OblBawmib4uz/VdKzlg=
15
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
15
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
16
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
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
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
17
 github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
20
 github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
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
 github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
19
 github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
24
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
20
 github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
25
 github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt9U=
21
 github.com/d4l3k/messagediff v1.2.1 h1:ZcAIMYsUg0EAp9X+tt8/enBE/Q8Yd5kzPynLyKptt9U=
27
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
23
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
28
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
24
 github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
29
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
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
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
26
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
46
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
27
 github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
47
 github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
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
 github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
29
 github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM=
57
 github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
30
 github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg=
58
 github.com/jarcoal/httpmock v1.0.8 h1:8kI16SoO6LQKgPE7PvQuV+YuD/inwHd7fOOe2zMbo4k=
31
 github.com/jarcoal/httpmock v1.0.8 h1:8kI16SoO6LQKgPE7PvQuV+YuD/inwHd7fOOe2zMbo4k=
59
 github.com/jarcoal/httpmock v1.0.8/go.mod h1:ATjnClrvW/3tijVmpL/va5Z3aAyGvqU3gCT8nX0Txik=
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
 github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
33
 github.com/klauspost/compress v1.18.3 h1:9PJRvfbmTabkOX8moIpXPbMMbYN60bWImDDU7L+/6zw=
63
 github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
34
 github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4=
64
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
35
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
80
 github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c=
51
 github.com/miekg/dns v1.1.51/go.mod h1:2Z9d3CP1LQWihRZUf29mQ19yDThaI4DAYzte2CaQW5c=
81
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
52
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
82
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
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
 github.com/panjf2000/ants/v2 v2.11.5 h1:a7LMnMEeux/ebqTux140tRiaqcFTV0q2bEHF03nl6Rg=
54
 github.com/panjf2000/ants/v2 v2.11.5 h1:a7LMnMEeux/ebqTux140tRiaqcFTV0q2bEHF03nl6Rg=
86
 github.com/panjf2000/ants/v2 v2.11.5/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek=
55
 github.com/panjf2000/ants/v2 v2.11.5/go.mod h1:8u92CYMUc6gyvTIw8Ru7Mt7+/ESnJahz5EVtqfrilek=
87
 github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
56
 github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
88
 github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
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
 github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
58
 github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4=
92
 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
59
 github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY=
93
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
60
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
101
 github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
68
 github.com/prometheus/common v0.67.5/go.mod h1:SjE/0MzDEEAyrdr5Gqc6G+sXI67maCxzaT3A2+HqjUw=
102
 github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws=
69
 github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws=
103
 github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw=
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
 github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
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
 github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
73
 github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
108
 github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
74
 github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
109
 github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
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
 github.com/smira/go-statsd v1.3.4 h1:kBYWcLSGT+qC6JVbvfz48kX7mQys32fjDOPrfmsSx2c=
76
 github.com/smira/go-statsd v1.3.4 h1:kBYWcLSGT+qC6JVbvfz48kX7mQys32fjDOPrfmsSx2c=
115
 github.com/smira/go-statsd v1.3.4/go.mod h1:RjdsESPgDODtg1VpVVf9MJrEW2Hw0wtRNbmB1CAhu6A=
77
 github.com/smira/go-statsd v1.3.4/go.mod h1:RjdsESPgDODtg1VpVVf9MJrEW2Hw0wtRNbmB1CAhu6A=
116
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
78
 github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
135
 github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU=
97
 github.com/yl2chen/cidranger v1.0.2 h1:lbOWZVCG1tCRX4u24kuM1Tb4nHqWkDxwLdoS+SevawU=
136
 github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g=
98
 github.com/yl2chen/cidranger v1.0.2/go.mod h1:9U1yz7WPYDwf0vpNWFaeRh0bjwz5RVgRy/9UEQfHl0g=
137
 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
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
 go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
100
 go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
147
 go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
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
 go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
102
 go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0=
153
 go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
103
 go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8=
154
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
104
 golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
155
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
105
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
156
 golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
106
 golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
157
 golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
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
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
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
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
109
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
163
 golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
110
 golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
164
 golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
111
 golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
169
 golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
116
 golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
170
 golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
117
 golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
171
 golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
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
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
119
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
174
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
120
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
175
 golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
121
 golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
192
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
138
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
193
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
139
 golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
194
 golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
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
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
141
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
198
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
142
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
199
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
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
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
144
 golang.org/x/tools v0.3.0/go.mod h1:/rWhSS2+zyEVwoJf8YAX6L2f0ntZ7Kn/mGgAWcipA5k=
202
 golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
145
 golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
203
 golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
146
 golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
208
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
151
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
209
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
152
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
210
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
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
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
154
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
214
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
155
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
215
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
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 Dosyayı Görüntüle

263
 		AllowFallbackOnUnknownDC: conf.AllowFallbackOnUnknownDC.Get(false),
263
 		AllowFallbackOnUnknownDC: conf.AllowFallbackOnUnknownDC.Get(false),
264
 		TolerateTimeSkewness:     conf.TolerateTimeSkewness.Value,
264
 		TolerateTimeSkewness:     conf.TolerateTimeSkewness.Value,
265
 		DCOverrides:              dcOverrides,
265
 		DCOverrides:              dcOverrides,
266
-		DCUpdateEach:             conf.DCUpdateEach.Get(0),
267
 	}
266
 	}
268
 
267
 
269
 	proxy, err := mtglib.NewProxy(opts)
268
 	proxy, err := mtglib.NewProxy(opts)

+ 0
- 1
internal/cli/simple_run.go Dosyayı Görüntüle

80
 	conf.Debug.Value = s.Debug
80
 	conf.Debug.Value = s.Debug
81
 	conf.AllowFallbackOnUnknownDC.Value = true
81
 	conf.AllowFallbackOnUnknownDC.Value = true
82
 	conf.Defense.AntiReplay.Enabled.Value = true
82
 	conf.Defense.AntiReplay.Enabled.Value = true
83
-	conf.DCUpdateEach.Value = 0
84
 
83
 
85
 	if err := conf.Validate(); err != nil {
84
 	if err := conf.Validate(); err != nil {
86
 		return fmt.Errorf("invalid result configuration: %w", err)
85
 		return fmt.Errorf("invalid result configuration: %w", err)

+ 0
- 1
internal/config/config.go Dosyayı Görüntüle

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

+ 1
- 2
internal/config/parse.go Dosyayı Görüntüle

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

+ 2
- 2
internal/config/type_dc.go Dosyayı Görüntüle

24
 	return nil
24
 	return nil
25
 }
25
 }
26
 
26
 
27
-func (t *TypeDC) UnmarshalText(data []byte) error {
27
+func (t *TypeDC) UnmarshalJSON(data []byte) error {
28
 	return t.Set(string(data))
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
 	return []byte(t.String()), nil
32
 	return []byte(t.String()), nil
33
 }
33
 }
34
 
34
 

+ 0
- 4
mtglib/init.go Dosyayı Görüntüle

99
 	// reads from Telegram after which connection will be terminated. This is
99
 	// reads from Telegram after which connection will be terminated. This is
100
 	// required to abort stale connections.
100
 	// required to abort stale connections.
101
 	TCPRelayReadTimeout = 20 * time.Second
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
 // Network defines a knowledge how to work with a network. It may sound fun but
104
 // Network defines a knowledge how to work with a network. It may sound fun but

+ 0
- 3
mtglib/internal/dc/init.go Dosyayı Görüntüle

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

+ 5
- 82
mtglib/internal/dc/telegram.go Dosyayı Görüntüle

1
 package dc
1
 package dc
2
 
2
 
3
 import (
3
 import (
4
-	"context"
5
 	"fmt"
4
 	"fmt"
6
 	"net"
5
 	"net"
7
-	"strconv"
8
 	"strings"
6
 	"strings"
9
-	"sync"
10
-	"time"
11
-
12
-	"github.com/gotd/td/telegram"
13
 )
7
 )
14
 
8
 
15
 type Telegram struct {
9
 type Telegram struct {
16
-	logger   Logger
17
-	lock     sync.RWMutex
18
 	view     dcView
10
 	view     dcView
19
 	preferIP preferIP
11
 	preferIP preferIP
20
-	client   *telegram.Client
21
 }
12
 }
22
 
13
 
23
 func (t *Telegram) GetAddresses(dc int) []Addr {
14
 func (t *Telegram) GetAddresses(dc int) []Addr {
24
-	t.lock.RLock()
25
-	defer t.lock.RUnlock()
26
-
27
 	switch t.preferIP {
15
 	switch t.preferIP {
28
 	case preferIPOnlyIPv4:
16
 	case preferIPOnlyIPv4:
29
 		return t.view.getV4(dc)
17
 		return t.view.getV4(dc)
36
 	return append(t.view.getV6(dc), t.view.getV4(dc)...)
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
 	var pref preferIP
28
 	var pref preferIP
107
 
29
 
108
 	switch strings.ToLower(ipPreference) {
30
 	switch strings.ToLower(ipPreference) {
118
 		return nil, fmt.Errorf("unknown ip preference %s", ipPreference)
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
 	for dc, addrs := range userOverrides {
47
 	for dc, addrs := range userOverrides {
123
 		for _, addr := range addrs {
48
 		for _, addr := range addrs {
124
 			host, _, err := net.SplitHostPort(addr)
49
 			host, _, err := net.SplitHostPort(addr)
149
 		view: dcView{
74
 		view: dcView{
150
 			overrides: overrides,
75
 			overrides: overrides,
151
 		},
76
 		},
152
-		logger:   logger,
153
-		client:   telegram.NewClient(defaultAppID, defaultAppHash, telegram.Options{}),
154
 		preferIP: pref,
77
 		preferIP: pref,
155
 	}, nil
78
 	}, nil
156
 }
79
 }

+ 2
- 2
mtglib/internal/dc/view.go Dosyayı Görüntüle

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

+ 1
- 10
mtglib/proxy.go Dosyayı Görüntüle

300
 		return nil, fmt.Errorf("invalid settings: %w", err)
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
 	if err != nil {
304
 	if err != nil {
307
 		return nil, fmt.Errorf("cannot build telegram dc fetcher: %w", err)
305
 		return nil, fmt.Errorf("cannot build telegram dc fetcher: %w", err)
308
 	}
306
 	}
324
 		telegram:                 tg,
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
 	pool, err := ants.NewPoolWithFunc(opts.getConcurrency(),
325
 	pool, err := ants.NewPoolWithFunc(opts.getConcurrency(),
335
 		func(arg interface{}) {
326
 		func(arg interface{}) {
336
 			proxy.ServeConn(arg.(essentials.Conn)) //nolint: forcetypeassert
327
 			proxy.ServeConn(arg.(essentials.Conn)) //nolint: forcetypeassert

+ 0
- 4
mtglib/proxy_opts.go Dosyayı Görüntüle

119
 	//
119
 	//
120
 	// This is an optional setting
120
 	// This is an optional setting
121
 	DCOverrides map[int][]string
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
 func (p ProxyOpts) valid() error {
124
 func (p ProxyOpts) valid() error {

Loading…
İptal
Kaydet