main.go 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package main
  2. import (
  3. "fmt"
  4. "forward-server/Service"
  5. _ "forward-server/routers"
  6. "forward-core/Models"
  7. "github.com/astaxie/beego"
  8. "github.com/astaxie/beego/logs"
  9. _ "github.com/mattn/go-sqlite3"
  10. "github.com/vmihailenco/msgpack"
  11. )
  12. func main() {
  13. logFileConfig := beego.AppConfig.String("logfile.config")
  14. //日志级别:"emergency", "alert", "critical", "error", "warning", "notice", "info", "debug"
  15. logs.SetLogger(logs.AdapterConsole, `{"level":7}`)
  16. if len(logFileConfig) == 0 {
  17. logFileConfig = `{"filename":"app.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10}`
  18. }
  19. if logFileConfig != "close" {
  20. //logs.SetLogger(logs.AdapterFile, `{"filename":"app.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10}`)
  21. logs.SetLogger(logs.AdapterFile, logFileConfig)
  22. }
  23. //输出文件名和行号
  24. logs.EnableFuncCallDepth(true)
  25. logs.SetLogFuncCallDepth(3)
  26. //为了让日志输出不影响性能,开启异步日志
  27. logs.Async()
  28. logs.Debug("★★★★★★★★★★★★★★★★★★★★")
  29. logs.Debug(" port-forward 启动")
  30. logs.Debug("")
  31. logs.Debug("项目地址:https://github.com/tavenli/port-forward")
  32. logs.Debug("")
  33. logs.Debug("★★★★★★★★★★★★★★★★★★★★")
  34. //test1()
  35. //启动Web控制台和接口
  36. Service.ConsoleServ.StartHttpServer()
  37. //select {}
  38. //endRunning := make(chan bool, 1)
  39. //time.Sleep(1* time.Second)
  40. //endRunning <- true
  41. //<-endRunning
  42. }
  43. func test1() {
  44. //github.com/gogf/gf/g/os/glog
  45. //glog.Debug("This is Debug")
  46. //glog.Info("This is Info")
  47. b, err := msgpack.Marshal(&Models.PortInfo{Addr: "bar"})
  48. if err != nil {
  49. panic(err)
  50. }
  51. var item Models.PortInfo
  52. err = msgpack.Unmarshal(b, &item)
  53. if err != nil {
  54. panic(err)
  55. }
  56. logs.Debug(item.Addr)
  57. //
  58. config := new(Models.ForwardConfig)
  59. //config.Protocol = "TCP"
  60. config.Protocol = "UDP"
  61. config.SrcAddr = ""
  62. config.SrcPort = 8888
  63. //106.14.184.192:9999
  64. //config.DestAddr = "106.14.184.192"
  65. //config.DestPort = 9999
  66. config.DestAddr = "svn.apiclub.top"
  67. config.DestPort = 9900
  68. config.Status = 0
  69. config.Name = "测试1"
  70. config.RuleId = 1
  71. resultChan := make(chan Models.FuncResult)
  72. Service.ForWardServ.OpenForward(config, resultChan)
  73. fmt.Println(<-resultChan)
  74. }
粤ICP备19079148号