Skip to content

Commit b47440e

Browse files
authored
Merge pull request #8 from tonutils/test
Updated tonutils-go core
2 parents 9285794 + 1fd8c0d commit b47440e

File tree

5 files changed

+495
-75
lines changed

5 files changed

+495
-75
lines changed

build.sh

100644100755
+5-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
go build -o tonutils-reverse-proxy cmd/proxy/main.go
1+
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o build/tonutils-reverse-proxy-linux-amd64 cmd/proxy/main.go
2+
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o build/tonutils-reverse-proxy-linux-arm64 cmd/proxy/main.go
3+
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o build/tonutils-reverse-proxy-windows-x64.exe cmd/proxy/main.go
4+
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o build/tonutils-reverse-proxy-mac-amd64 cmd/proxy/main.go
5+
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o build/tonutils-reverse-proxy-mac-arm64 cmd/proxy/main.go

cmd/proxy/main.go

+17-9
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"fmt"
1111
"github.com/mdp/qrterminal/v3"
1212
"github.com/sigurn/crc16"
13+
"github.com/ton-utils/reverse-proxy/config"
1314
"github.com/xssnick/tonutils-go/adnl"
1415
"github.com/xssnick/tonutils-go/adnl/dht"
1516
rldphttp "github.com/xssnick/tonutils-go/adnl/rldp/http"
@@ -46,14 +47,16 @@ type Handler struct {
4647
func (h Handler) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
4748
hdr := http.Header{}
4849
for k := range request.Header {
49-
// exception for ton.run, make headers canonical
50-
hdr.Set(k, request.Header.Get(k))
50+
// make headers canonical
51+
for _, s := range request.Header.Values(k) {
52+
hdr.Add(k, s)
53+
}
5154
}
5255
request.Header = hdr
5356

5457
log.Println("request:", request.Method, request.Host, request.RequestURI)
5558

56-
writer.Header().Set("Ton-Reverse-Proxy", "Tonutils Reverse Proxy v0.2.0")
59+
writer.Header().Set("Ton-Reverse-Proxy", "Tonutils Reverse Proxy v0.3.0")
5760
h.h.ServeHTTP(writer, request)
5861
}
5962

@@ -68,9 +71,14 @@ func main() {
6871
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
6972
defer cancel()
7073

71-
netCfg, err := liteclient.GetConfigFromUrl(ctx, cfg.NetworkConfigURL)
74+
netCfg, err := liteclient.GetConfigFromUrl(context.Background(), cfg.NetworkConfigURL)
7275
if err != nil {
73-
panic("failed to load network config: " + err.Error())
76+
log.Println("failed to download ton config:", err.Error(), "; we will take it from static cache")
77+
netCfg = &liteclient.GlobalConfig{}
78+
if err = json.NewDecoder(bytes.NewBufferString(config.FallbackNetworkConfig)).Decode(netCfg); err != nil {
79+
log.Println("failed to parse fallback ton config:", err.Error())
80+
os.Exit(1)
81+
}
7482
}
7583

7684
client := liteclient.NewConnectionPool()
@@ -91,7 +99,7 @@ func main() {
9199
panic("failed to load network config: " + err.Error())
92100
}
93101

94-
dhtClient, err := dht.NewClientFromConfig(ctx, gateway, netCfg)
102+
dhtClient, err := dht.NewClientFromConfig(gateway, netCfg)
95103
if err != nil {
96104
panic(err)
97105
}
@@ -161,7 +169,7 @@ func loadConfig() (*Config, error) {
161169
return nil, err
162170
}
163171
cfg.PrivateKey = srvKey.Seed()
164-
cfg.NetworkConfigURL = "https://ton-blockchain.github.io/global.config.json"
172+
cfg.NetworkConfigURL = "https://ton.org/global.config.json"
165173

166174
cfg.ExternalIP, err = getPublicIP()
167175
if err != nil {
@@ -194,7 +202,7 @@ func loadConfig() (*Config, error) {
194202

195203
// backwards compatibility with old configs
196204
if cfg.NetworkConfigURL == "" {
197-
cfg.NetworkConfigURL = "https://ton-blockchain.github.io/global.config.json"
205+
cfg.NetworkConfigURL = "https://ton.org/global.config.json"
198206
}
199207

200208
return &cfg, nil
@@ -221,7 +229,7 @@ func setupDomain(client *liteclient.ConnectionPool, domain string, adnlAddr []by
221229
record, isStorage := domainInfo.GetSiteRecord()
222230
if isStorage || !bytes.Equal(record, adnlAddr) {
223231
data := domainInfo.BuildSetSiteRecordPayload(adnlAddr, false).ToBOCWithFlags(false)
224-
args := "?bin=" + base64.URLEncoding.EncodeToString(data) + "&amount=" + tlb.MustFromTON("0.02").NanoTON().String()
232+
args := "?bin=" + base64.URLEncoding.EncodeToString(data) + "&amount=" + tlb.MustFromTON("0.02").Nano().String()
225233

226234
nftData, err := domainInfo.GetNFTData(context.Background())
227235
if err != nil {

0 commit comments

Comments
 (0)