本文整理汇总了Golang中github.com/shadowsocks/shadowsocks-go/shadowsocks.PrintVersion函数的典型用法代码示例。如果您正苦于以下问题:Golang PrintVersion函数的具体用法?Golang PrintVersion怎么用?Golang PrintVersion使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了PrintVersion函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
log.SetOutput(os.Stdout)
var cmdConfig ss.Config
var printVer bool
var core int
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.Timeout, "t", 300, "timeout in seconds")
flag.StringVar(&cmdConfig.Method, "m", "", "encryption method, default: aes-256-cfb")
flag.IntVar(&core, "core", 0, "maximum number of CPU cores to use, default is determinied by Go runtime")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
if strings.HasSuffix(cmdConfig.Method, "-auth") {
cmdConfig.Method = cmdConfig.Method[:len(cmdConfig.Method)-5]
cmdConfig.Auth = true
}
var err error
config, err = ss.ParseConfig(configFile)
if err != nil {
if !os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "error reading %s: %v\n", configFile, err)
os.Exit(1)
}
config = &cmdConfig
} else {
ss.UpdateConfig(config, &cmdConfig)
}
if config.Method == "" {
config.Method = "aes-256-cfb"
}
if err = ss.CheckCipherMethod(config.Method); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if err = unifyPortPassword(config); err != nil {
os.Exit(1)
}
if core > 0 {
runtime.GOMAXPROCS(core)
}
for port, password := range config.PortPassword {
go run(port, password, config.Auth)
}
waitSignal()
}
开发者ID:CowLeo,项目名称:shadowsocks-go,代码行数:60,代码来源:server.go
示例2: main
func main() {
log.SetOutput(os.Stdout)
var cmdConfig ss.Config
var printVer bool
var core int
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.Timeout, "t", 60, "connection timeout (in seconds)")
flag.StringVar(&cmdConfig.Method, "m", "", "encryption method, use empty string or rc4")
flag.IntVar(&core, "core", 0, "maximum number of CPU cores to use, default is determinied by Go runtime")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
var err error
config, err = ss.ParseConfig(configFile)
if err != nil {
if !os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "error reading %s: %v\n", configFile, err)
os.Exit(1)
}
config = &cmdConfig
} else {
ss.UpdateConfig(config, &cmdConfig)
}
if err = unifyPortPassword(config); err != nil {
os.Exit(1)
}
if err = ss.SetDefaultCipher(config.Method); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if core > 0 {
runtime.GOMAXPROCS(core)
}
for port, password := range config.PortPassword {
go run(port, password)
}
waitSignal()
}
开发者ID:code2u,项目名称:shadowsocks-go,代码行数:52,代码来源:server.go
示例3: main
func main() {
var cmdConfig ss.Config
var printVer bool
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.Timeout, "t", 60, "connection timeout (in seconds)")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
var err error
config, err = ss.ParseConfig(configFile)
if err != nil {
if os.IsNotExist(err) {
log.Println("config file not found, using all options from command line")
} else {
log.Printf("error reading %s: %v\n", configFile, err)
os.Exit(1)
}
config = &cmdConfig
} else {
ss.UpdateConfig(config, &cmdConfig)
}
if err = unifyPortPassword(config); err != nil {
os.Exit(1)
}
initTableCache(config)
for port, password := range config.PortPassword {
go run(port, password)
}
// Wait all ports have get it's encryption table
for int(table.getCnt) != len(config.PortPassword) {
time.Sleep(1 * time.Second)
}
storeTableCache(config)
log.Println("all ports ready")
table.cache = nil // release memory
waitSignal()
}
开发者ID:vicenteforever,项目名称:shadowsocks-go,代码行数:52,代码来源:server.go
示例4: main
func main() {
log.SetOutput(os.Stdout)
var printVer bool
var core int
var serverPort string
var redisServer string
var timeout int
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&serverPort, "p", "8388", "server port")
flag.StringVar(&redisServer, "redis", ":6379", "redis server")
flag.IntVar(&core, "core", 0, "maximum number of CPU cores to use, default is determinied by Go runtime")
flag.IntVar(&timeout, "timeout", 10, "Socket read timeout")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
storage = NewStorage(redisServer)
if core > 0 {
runtime.GOMAXPROCS(core)
}
readTimeout = time.Duration(timeout) * time.Second
go run(serverPort)
waitSignal()
}
开发者ID:tallriham,项目名称:shadowsocks-auth,代码行数:36,代码来源:server.go
示例5: main
func main() {
log.SetOutput(os.Stdout)
var configFile, cmdServer string
var cmdConfig ss.Config
var printVer bool
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdServer, "s", "", "server address")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.LocalPort, "l", 0, "local socks5 proxy port")
flag.StringVar(&cmdConfig.Method, "m", "", "encryption method, use empty string or rc4")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
cmdConfig.Server = cmdServer
ss.SetDebug(debug)
exists, err := ss.IsFileExists(configFile)
// If no config file in current directory, try search it in the binary directory
// Note there's no portable way to detect the binary directory.
binDir := path.Dir(os.Args[0])
if (!exists || err != nil) && binDir != "" && binDir != "." {
oldConfig := configFile
configFile = path.Join(binDir, "config.json")
log.Printf("%s not found, try config file %s\n", oldConfig, configFile)
}
config, err := ss.ParseConfig(configFile)
if err != nil {
config = &cmdConfig
if !os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "error reading %s: %v\n", configFile, err)
os.Exit(1)
}
} else {
ss.UpdateConfig(config, &cmdConfig)
}
if len(config.ServerPassword) == 0 {
if !enoughOptions(config) {
fmt.Fprintln(os.Stderr, "must specify server address, password and both server/local port")
os.Exit(1)
}
} else {
if config.Password != "" || config.ServerPort != 0 || config.GetServerArray() != nil {
fmt.Fprintln(os.Stderr, "given server_password, ignore server, server_port and password option:", config)
}
if config.LocalPort == 0 {
fmt.Fprintln(os.Stderr, "must specify local port")
os.Exit(1)
}
}
parseServerConfig(config)
run(strconv.Itoa(config.LocalPort))
}
开发者ID:stefanie924,项目名称:shadowsocks-go-1,代码行数:66,代码来源:local.go
示例6: main
func main() {
log.SetOutput(os.Stdout)
var cmdConfig ss.Config
var printVer, debug bool
var core int
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.Timeout, "t", 60, "connection timeout (in seconds)")
flag.StringVar(&cmdConfig.Method, "m", "", "encryption method, default: aes-256-cfb")
flag.IntVar(&cmdConfig.Net, "n", 0, "ipv4(4) or ipv6(6) or both(0), default is both")
flag.IntVar(&core, "core", 0, "maximum number of CPU cores to use, default is determinied by logical CPUs on server")
flag.BoolVar(&udp, "u", false, "UDP Relay")
flag.BoolVar(&debug, "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
var err error
config, err = ss.ParseConfig(configFile)
if err != nil {
if !os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "error reading %s: %v\n", configFile, err)
os.Exit(1)
}
config = &cmdConfig
} else {
ss.UpdateConfig(config, &cmdConfig)
}
switch config.Net {
case 4:
netTcp = "tcp4"
netUdp = "udp4"
case 6:
netTcp = "tcp6"
netUdp = "udp6"
default:
netTcp = "tcp"
netUdp = "udp"
}
if config.Method == "" {
config.Method = "aes-256-cfb"
}
if err = ss.CheckCipherMethod(config.Method); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if err = unifyPortPassword(config); err != nil {
os.Exit(1)
}
if core > 0 {
runtime.GOMAXPROCS(runtime.NumCPU())
}
ss.NewTraffic()
for port, password := range config.PortPassword {
go run(port, password)
if udp && password[2] == "ok" {
go runUDP(port, password)
}
}
waitSignal()
}
开发者ID:better0332,项目名称:my-shadowsocks-go,代码行数:71,代码来源:server.go
示例7: main
func main() {
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
log.SetOutput(os.Stdout)
var cmdConfig ss.Config
var printVer bool
var core int
flag.BoolVar(&printVer, "version", false, "print version")
flag.StringVar(&configFile, "c", "config.json", "specify config file")
flag.StringVar(&cmdConfig.Password, "k", "", "password")
flag.IntVar(&cmdConfig.ServerPort, "p", 0, "server port")
flag.IntVar(&cmdConfig.Timeout, "t", 60, "connection timeout (in seconds)")
flag.StringVar(&cmdConfig.Method, "m", "", "encryption method, default: aes-256-cfb")
flag.IntVar(&core, "core", 0, "maximum number of CPU cores to use, default is determinied by Go runtime")
flag.BoolVar((*bool)(&debug), "d", false, "print debug message")
flag.Parse()
if printVer {
ss.PrintVersion()
os.Exit(0)
}
ss.SetDebug(debug)
var err error
config, err = ss.ParseConfig(configFile)
if err != nil {
if !os.IsNotExist(err) {
fmt.Fprintf(os.Stderr, "error reading %s: %v\n", configFile, err)
os.Exit(1)
}
config = &cmdConfig
} else {
ss.UpdateConfig(config, &cmdConfig)
}
if config.Method == "" {
config.Method = "aes-256-cfb"
}
if err = ss.CheckCipherMethod(config.Method); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
if err = unifyPortPassword(config); err != nil {
os.Exit(1)
}
if core > 0 {
runtime.GOMAXPROCS(core)
}
initPortMap()
if runtime.GOOS == "linux" {
limitConfig.Init("/etc/limit.json")
} else {
limitConfig.Init("limit.json")
}
for port, password := range config.PortPassword {
go run(port, password)
}
go runWeb()
go DaysLimitLoop()
waitSignal()
}
开发者ID:neil-zeng,项目名称:shadowsocks-go,代码行数:67,代码来源:server.go
注:本文中的github.com/shadowsocks/shadowsocks-go/shadowsocks.PrintVersion函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论