Skip to content

Commit

Permalink
Remove unnecessary global variables in local.go
Browse files Browse the repository at this point in the history
  • Loading branch information
cyfdecyf committed Dec 12, 2012
1 parent f257c21 commit 36f1629
Showing 1 changed file with 10 additions and 12 deletions.
22 changes: 10 additions & 12 deletions cmd/shadowsocks-local/local.go
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
package main

import (
"fmt"
ss "github.com/shadowsocks/shadowsocks-go/shadowsocks"
"log"
"net"
"strconv"
)

var config *ss.Config
var encTbl *ss.EncryptTable

var debug ss.DebugLog

func handleConnection(conn net.Conn, server string) {
func handleConnection(conn net.Conn, server string, encTbl *ss.EncryptTable) {
debug.Printf("socks connect from %s\n", conn.RemoteAddr().String())
b := make([]byte, 262)
var err error = nil
Expand Down Expand Up @@ -83,25 +80,26 @@ func handleConnection(conn net.Conn, server string) {

}

func run(port int, server string) {
ln, err := net.Listen("tcp", fmt.Sprintf(":%d", port))
func run(port, password, server string) {
ln, err := net.Listen("tcp", ":"+port)
if err != nil {
log.Fatal(err)
}
log.Printf("starting server at port %d ...\n", port)
encTbl := ss.GetTable(password)
log.Printf("starting server at port %v ...\n", port)
for {
conn, err := ln.Accept()
if err != nil {
log.Println("accept:", err)
continue
}
go handleConnection(conn, server)
go handleConnection(conn, server, encTbl)
}
}

func main() {
config = ss.ParseConfig("config.json")
config := ss.ParseConfig("config.json")
debug = ss.Debug
encTbl = ss.GetTable(config.Password)
run(config.LocalPort, fmt.Sprintf("%s:%d", config.Server, config.ServerPort))
run(strconv.Itoa(config.LocalPort), config.Password,
config.Server+":"+strconv.Itoa(config.ServerPort))
}

0 comments on commit 36f1629

Please sign in to comment.