This commit is contained in:
YouROK
2021-05-17 14:55:57 +03:00
parent 29f13fd482
commit e578628886
40 changed files with 1319 additions and 656 deletions

View File

@@ -1,7 +1,10 @@
package web
import (
"net"
"github.com/gin-contrib/cors"
"github.com/gin-contrib/location"
"github.com/gin-gonic/gin"
"server/log"
@@ -9,6 +12,7 @@ import (
"server/version"
"server/web/api"
"server/web/auth"
"server/web/blocker"
"server/web/pages"
)
@@ -19,6 +23,10 @@ var (
func Start(port string) {
log.TLogln("Start TorrServer", version.Version)
ips := getLocalIps()
if len(ips) > 0 {
log.TLogln("IP:", ips)
}
err := BTS.Connect()
if err != nil {
waitChan <- err
@@ -26,8 +34,12 @@ func Start(port string) {
}
gin.SetMode(gin.ReleaseMode)
corsCfg := cors.DefaultConfig()
corsCfg.AllowAllOrigins = true
corsCfg.AllowHeaders = []string{"Origin", "Content-Length", "Content-Type", "X-Requested-With", "Accept", "Authorization"}
route := gin.New()
route.Use(gin.Recovery(), cors.Default())
route.Use(log.WebLogger(), blocker.Blocker(), gin.Recovery(), cors.New(corsCfg), location.Default())
route.GET("/echo", echo)
@@ -55,3 +67,30 @@ func Stop() {
func echo(c *gin.Context) {
c.String(200, "%v", version.Version)
}
func getLocalIps() []string {
ifaces, err := net.Interfaces()
if err != nil {
log.TLogln("Error get local IPs")
return nil
}
var list []string
for _, i := range ifaces {
addrs, _ := i.Addrs()
if i.Flags&net.FlagUp == net.FlagUp {
for _, addr := range addrs {
var ip net.IP
switch v := addr.(type) {
case *net.IPNet:
ip = v.IP
case *net.IPAddr:
ip = v.IP
}
if !ip.IsLoopback() {
list = append(list, ip.String())
}
}
}
}
return list
}