mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-09-01 10:14:01 +03:00
Fetch DC ips from Telegram
This commit is contained in:
@@ -3,6 +3,7 @@ package telegram
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/9seconds/mtg/v2/essentials"
|
||||
)
|
||||
@@ -18,6 +19,18 @@ const (
|
||||
preferIPPreferIPv6
|
||||
)
|
||||
|
||||
const (
|
||||
defaultDC = 2
|
||||
defaultUpdateDCAddressesEach = time.Hour
|
||||
defaultAppID = 123456
|
||||
defaultAppHash = ""
|
||||
)
|
||||
|
||||
type loggerInterface interface {
|
||||
Info(msg string)
|
||||
WarningError(msg string, err error)
|
||||
}
|
||||
|
||||
type tgAddr struct {
|
||||
network string
|
||||
address string
|
||||
@@ -25,64 +38,41 @@ type tgAddr struct {
|
||||
|
||||
// https://github.com/telegramdesktop/tdesktop/blob/master/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp#L30
|
||||
var (
|
||||
productionV4Addresses = [][]tgAddr{
|
||||
{ // dc1
|
||||
defaultV4Addresses = map[int][]tgAddr{
|
||||
1: {
|
||||
{network: "tcp4", address: "149.154.175.50:443"},
|
||||
},
|
||||
{ // dc2
|
||||
2: {
|
||||
{network: "tcp4", address: "149.154.167.51:443"},
|
||||
{network: "tcp4", address: "95.161.76.100:443"},
|
||||
},
|
||||
{ // dc3
|
||||
3: {
|
||||
{network: "tcp4", address: "149.154.175.100:443"},
|
||||
},
|
||||
{ // dc4
|
||||
4: {
|
||||
{network: "tcp4", address: "149.154.167.91:443"},
|
||||
},
|
||||
{ // dc5
|
||||
5: {
|
||||
{network: "tcp4", address: "149.154.171.5:443"},
|
||||
},
|
||||
}
|
||||
productionV6Addresses = [][]tgAddr{
|
||||
{ // dc1
|
||||
defaultV6Addresses = map[int][]tgAddr{
|
||||
1: {
|
||||
{network: "tcp6", address: "[2001:b28:f23d:f001::a]:443"},
|
||||
},
|
||||
{ // dc2
|
||||
2: {
|
||||
{network: "tcp6", address: "[2001:67c:04e8:f002::a]:443"},
|
||||
},
|
||||
{ // dc3
|
||||
3: {
|
||||
{network: "tcp6", address: "[2001:b28:f23d:f003::a]:443"},
|
||||
},
|
||||
{ // dc4
|
||||
4: {
|
||||
{network: "tcp6", address: "[2001:67c:04e8:f004::a]:443"},
|
||||
},
|
||||
{ // dc5
|
||||
5: {
|
||||
{network: "tcp6", address: "[2001:b28:f23f:f005::a]:443"},
|
||||
},
|
||||
}
|
||||
|
||||
testV4Addresses = [][]tgAddr{
|
||||
{ // dc1
|
||||
{network: "tcp4", address: "149.154.175.10:443"},
|
||||
},
|
||||
{ // dc2
|
||||
{network: "tcp4", address: "149.154.167.40:443"},
|
||||
},
|
||||
{ // dc3
|
||||
{network: "tcp4", address: "149.154.175.117:443"},
|
||||
},
|
||||
}
|
||||
testV6Addresses = [][]tgAddr{
|
||||
{ // dc1
|
||||
{network: "tcp6", address: "[2001:b28:f23d:f001::e]:443"},
|
||||
},
|
||||
{ // dc2
|
||||
{network: "tcp6", address: "[2001:67c:04e8:f002::e]:443"},
|
||||
},
|
||||
{ // dc3
|
||||
{network: "tcp6", address: "[2001:b28:f23d:f003::e]:443"},
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
type Dialer interface {
|
||||
|
||||
Reference in New Issue
Block a user