Skip to content

Commit 678a8cc

Browse files
committed
Use env lib, add PROXY_PORT ENV variable
1 parent 803767b commit 678a8cc

File tree

13 files changed

+1240
-8
lines changed

13 files changed

+1240
-8
lines changed

Gopkg.lock

+7-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Gopkg.toml

+4
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,7 @@
2424
[[constraint]]
2525
branch = "master"
2626
name = "github.com/armon/go-socks5"
27+
28+
[[constraint]]
29+
branch = "master"
30+
name = "github.com/caarlos0/env"

server.go

+20-7
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,47 @@
11
package main
22

33
import (
4-
"fmt"
54
"log"
65
"os"
76

87
"github.com/armon/go-socks5"
8+
"github.com/caarlos0/env"
99
)
1010

11+
type params struct {
12+
User string `env:"PROXY_USER" envDefault:""`
13+
Password string `env:"PROXY_PASSWORD" envDefault:""`
14+
Port string `env:"PROXY_PORT" envDefault:"1080"`
15+
}
16+
1117
func main() {
18+
// Working with app params
19+
cfg := params{}
20+
err := env.Parse(&cfg)
21+
if err != nil {
22+
log.Printf("%+v\n", err)
23+
}
1224

13-
conf := &socks5.Config{
25+
//Initialize socks5 config
26+
socsk5conf := &socks5.Config{
1427
Logger: log.New(os.Stdout, "", log.LstdFlags),
1528
}
1629

17-
if os.Getenv("PROXY_USER")+os.Getenv("PROXY_PASSWORD") != "" {
30+
if cfg.User+cfg.Password != "" {
1831
creds := socks5.StaticCredentials{
1932
os.Getenv("PROXY_USER"): os.Getenv("PROXY_PASSWORD"),
2033
}
2134
cator := socks5.UserPassAuthenticator{Credentials: creds}
22-
conf.AuthMethods = []socks5.Authenticator{cator}
35+
socsk5conf.AuthMethods = []socks5.Authenticator{cator}
2336
}
2437

25-
server, err := socks5.New(conf)
38+
server, err := socks5.New(socsk5conf)
2639
if err != nil {
2740
log.Fatal(err)
2841
}
2942

30-
fmt.Println("Start listening ...")
31-
if err := server.ListenAndServe("tcp", ":1080"); err != nil {
43+
log.Printf("Start listening proxy service on port %s\n", cfg.Port)
44+
if err := server.ListenAndServe("tcp", ":"+cfg.Port); err != nil {
3245
log.Fatal(err)
3346
}
3447
}

vendor/github.com/caarlos0/env/.gitignore

+1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/caarlos0/env/.hound.yml

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/caarlos0/env/.travis.yml

+16
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/caarlos0/env/LICENSE.md

+21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/caarlos0/env/README.md

+115
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)