Browse Source

Small corrections for middle proxy connections

tags/1.0^2
9seconds 6 years ago
parent
commit
072bce2922
2 changed files with 14 additions and 4 deletions
  1. 3
    0
      cli/proxy.go
  2. 11
    4
      telegram/middle.go

+ 3
- 0
cli/proxy.go View File

14
 	"github.com/9seconds/mtg/obfuscated2"
14
 	"github.com/9seconds/mtg/obfuscated2"
15
 	"github.com/9seconds/mtg/proxy"
15
 	"github.com/9seconds/mtg/proxy"
16
 	"github.com/9seconds/mtg/stats"
16
 	"github.com/9seconds/mtg/stats"
17
+	"github.com/9seconds/mtg/telegram"
17
 	"github.com/9seconds/mtg/utils"
18
 	"github.com/9seconds/mtg/utils"
18
 )
19
 )
19
 
20
 
64
 	if err := stats.Init(ctx); err != nil {
65
 	if err := stats.Init(ctx); err != nil {
65
 		Fatal(err)
66
 		Fatal(err)
66
 	}
67
 	}
68
+	telegram.MiddleInit()
69
+
67
 	proxyListener, err := net.Listen("tcp", config.C.ListenAddr.String())
70
 	proxyListener, err := net.Listen("tcp", config.C.ListenAddr.String())
68
 	if err != nil {
71
 	if err != nil {
69
 		Fatal(err)
72
 		Fatal(err)

+ 11
- 4
telegram/middle.go View File

16
 
16
 
17
 const middleTelegramBackgroundUpdateEvery = time.Hour
17
 const middleTelegramBackgroundUpdateEvery = time.Hour
18
 
18
 
19
-var Middle = NewMiddleTelegram()
19
+var Middle Telegram
20
 
20
 
21
 type middleTelegram struct {
21
 type middleTelegram struct {
22
 	baseTelegram
22
 	baseTelegram
23
 
23
 
24
-	mutex  sync.RWMutex
24
+	mutex sync.RWMutex
25
+}
26
+
27
+func (m *middleTelegram) Secret() []byte {
28
+	m.mutex.RLock()
29
+	defer m.mutex.RUnlock()
30
+
31
+	return m.baseTelegram.Secret()
25
 }
32
 }
26
 
33
 
27
 func (m *middleTelegram) update() error {
34
 func (m *middleTelegram) update() error {
74
 	return m.baseTelegram.dial(ctx, cancel, dc, protocol)
81
 	return m.baseTelegram.dial(ctx, cancel, dc, protocol)
75
 }
82
 }
76
 
83
 
77
-func NewMiddleTelegram() Telegram {
84
+func MiddleInit() {
78
 	tg := &middleTelegram{
85
 	tg := &middleTelegram{
79
 		baseTelegram: baseTelegram{
86
 		baseTelegram: baseTelegram{
80
 			dialer: net.Dialer{Timeout: telegramDialTimeout},
87
 			dialer: net.Dialer{Timeout: telegramDialTimeout},
85
 	}
92
 	}
86
 	go tg.backgroundUpdate()
93
 	go tg.backgroundUpdate()
87
 
94
 
88
-	return tg
95
+	Middle = tg
89
 }
96
 }

Loading…
Cancel
Save