main.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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. logFileConfig = `{"filename":"app.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10,"separate":["error"]}`
  19. }
  20. if logFileConfig != "close" {
  21. //logs.SetLogger(logs.AdapterFile, `{"filename":"app.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10}`)
  22. //logs.SetLogger(logs.AdapterFile, logFileConfig)
  23. logs.SetLogger(logs.AdapterMultiFile, logFileConfig)
  24. }
  25. //输出文件名和行号
  26. logs.EnableFuncCallDepth(true)
  27. logs.SetLogFuncCallDepth(3)
  28. //为了让日志输出不影响性能,开启异步日志
  29. logs.Async()
  30. logs.Debug("★★★★★★★★★★★★★★★★★★★★")
  31. logs.Debug(" port-forward 启动")
  32. logs.Debug("")
  33. logs.Debug("项目地址:https://github.com/tavenli/port-forward")
  34. logs.Debug("")
  35. logs.Debug("★★★★★★★★★★★★★★★★★★★★")
  36. defer logs.GetBeeLogger().Flush()
  37. //test1()
  38. //启动Web控制台和接口
  39. Service.ConsoleServ.StartHttpServer()
  40. //select {}
  41. //endRunning := make(chan bool, 1)
  42. //time.Sleep(1* time.Second)
  43. //endRunning <- true
  44. //<-endRunning
  45. }
  46. func test1() {
  47. //github.com/gogf/gf/g/os/glog
  48. //glog.Debug("This is Debug")
  49. //glog.Info("This is Info")
  50. b, err := msgpack.Marshal(&Models.PortInfo{Addr: "bar"})
  51. if err != nil {
  52. panic(err)
  53. }
  54. var item Models.PortInfo
  55. err = msgpack.Unmarshal(b, &item)
  56. if err != nil {
  57. panic(err)
  58. }
  59. logs.Debug(item.Addr)
  60. //
  61. config := new(Models.ForwardConfig)
  62. //config.Protocol = "TCP"
  63. config.Protocol = "UDP"
  64. config.SrcAddr = ""
  65. config.SrcPort = 8888
  66. //106.14.184.192:9999
  67. //config.DestAddr = "106.14.184.192"
  68. //config.DestPort = 9999
  69. config.DestAddr = "svn.apiclub.top"
  70. config.DestPort = 9900
  71. config.Status = 0
  72. config.Name = "测试1"
  73. config.RuleId = 1
  74. resultChan := make(chan Models.FuncResult)
  75. Service.ForWardServ.OpenForward(config, resultChan)
  76. fmt.Println(<-resultChan)
  77. }
粤ICP备19079148号