12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package main
-
- import (
- "flag"
- "fmt"
- "log"
- "net/http"
- "os"
-
- "github.com/elazarl/goproxy"
- )
-
- var f *os.File
-
- type Logger struct{}
-
- func (l *Logger) Printf(format string, v ...interface{}) {
- log.Printf(format, v...)
- }
-
- func initLog() {
- var err error
- f, err = os.OpenFile("log.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
- if err != nil {
- log.Fatal(err)
- }
-
- log.SetOutput(f)
- }
-
- func main() {
- initLog()
- defer func() {
- if f != nil {
- f.Close()
- }
- }()
-
- var port = flag.String("p", "7080", "代理端口")
- flag.Parse()
- log.Println(fmt.Sprintf("开始监听 %s:%s", "127.0.0.1", *port))
-
- proxy := goproxy.NewProxyHttpServer()
- proxy.Logger = new(Logger)
-
-
-
-
-
-
-
-
- proxy.Verbose = true
- log.Fatal(http.ListenAndServe(":"+*port, proxy))
- }
|