Allow RemotePort to be optionally set in JSON. If it's not set in JSON, Cloak falls back to SS_REMOTE_PORT in SS mode, or the -p argument in standalone

pull/102/head
beans 4 years ago committed by Andy Wang
parent 517a6d6e57
commit 23082aff4f

@ -5,6 +5,7 @@ import (
"encoding/json"
"errors"
"io/ioutil"
"strconv"
"strings"
"time"
@ -23,6 +24,7 @@ type rawConfig struct {
Transport string
NumConn int
StreamTimeout int
RemotePort int
}
// State stores the parsed configuration fields
@ -142,5 +144,15 @@ func (sta *State) ParseConfig(conf string) (err error) {
}
sta.staticPub = pub
// OPTIONAL: set RemotePort via JSON
// if RemotePort is specified in the JSON we overwrite sta.RemotePort
// if not, don't do anything, since sta.RemotePort is already initialised in ck-client.go
if preParse.RemotePort != 0 {
// basic validity check
if preParse.RemotePort >= 1 && preParse.RemotePort <= 65535 {
sta.RemotePort = strconv.Itoa(preParse.RemotePort)
}
}
return nil
}

Loading…
Cancel
Save