mirror of https://github.com/cbeuw/Cloak
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
This commit is contained in:
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…
Reference in New Issue