From dda786174285d530e915373577121e29f6e52621 Mon Sep 17 00:00:00 2001 From: haidy Date: Fri, 14 Dec 2018 08:50:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=87=B3=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client/service.go | 6 +++--- cmd/frpc.ini | 8 ++++++++ cmd/frps.ini | 4 +++- cmd/main.go | 27 ++++++++++++++++++++++++--- 4 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 cmd/frpc.ini diff --git a/client/service.go b/client/service.go index 1b1bb3e4..0e8a31bb 100644 --- a/client/service.go +++ b/client/service.go @@ -56,8 +56,8 @@ func NewService(pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]conf pxyCfgs: pxyCfgs, visitorCfgs: visitorCfgs, exit: 0, - closedCh: make(chan bool), - closed: false, + closedCh: make(chan bool), + closed: false, } return } @@ -229,7 +229,7 @@ func (svr *Service) ReloadConf(pxyCfgs map[string]config.ProxyConf, visitorCfgs func (svr *Service) Close() { atomic.StoreUint32(&svr.exit, 1) svr.ctl.Close() - close(svr.closedCh) + svr.closedCh <- true } func (svr *Service) IsClosed() bool { diff --git a/cmd/frpc.ini b/cmd/frpc.ini new file mode 100644 index 00000000..1259cd0f --- /dev/null +++ b/cmd/frpc.ini @@ -0,0 +1,8 @@ +[common] +server_addr = 127.0.0.1 +bind_port = 7000 + +[http_proxy] +type = tcp +remote_port = 6000 +plugin = http_proxy \ No newline at end of file diff --git a/cmd/frps.ini b/cmd/frps.ini index 4da23f99..004fd483 100644 --- a/cmd/frps.ini +++ b/cmd/frps.ini @@ -1,2 +1,4 @@ [common] -bind_port = 7000 \ No newline at end of file +bind_addr = 127.0.0.1 +bind_port = 7000 +allow_ports = 7000, 6000 \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go index 3f44f6a3..e2b6b037 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -2,24 +2,45 @@ package main import ( "log" + "runtime" + "strings" "time" + "net/http" + _ "net/http/pprof" + "github.com/fatedier/frp/cmd/frp" ) func main() { - frp.RunFrps("./frps.ini") + _, path, _, _ := runtime.Caller(0) + path = path[0:strings.LastIndex(path, "/")] + println(path) + frp.RunFrps(path + "/frps.ini") ch := make(chan bool) go func() { time.Sleep(time.Second * 5) - frp.StopFrps() + frp.RunFrpc(path + "/frpc.ini") ch <- true }() <-ch + go func() { + log.Println(http.ListenAndServe("localhost:10000", nil)) + }() // frp.RunFrps("./frps.ini") - log.Println(frp.IsFrpsRunning()) + log.Println("frps is running: ", frp.IsFrpsRunning()) + + //frp.StopFrps() + //log.Println("frps is running: ", frp.IsFrpsRunning()) ch = make(chan bool) + go func() { + time.Sleep(time.Second * 5) + log.Println("frpc is running: ", frp.IsFrpcRunning()) + frp.StopFrpc() + log.Println("frpc is running: ", frp.IsFrpcRunning()) + ch <- true + }() <-ch }