Chore: use generics as possible

This commit is contained in:
yaling888
2022-04-24 02:07:57 +08:00
parent c812363090
commit ca9f3bf8a9
29 changed files with 500 additions and 267 deletions

View File

@@ -2,11 +2,9 @@ package executor
import (
"fmt"
"net"
"net/netip"
"os"
"runtime"
"strconv"
"sync"
"github.com/Dreamacro/clash/adapter"
@@ -311,13 +309,7 @@ func updateIPTables(cfg *config.Config) {
return
}
_, dnsPortStr, err := net.SplitHostPort(dnsCfg.Listen)
if err != nil {
err = fmt.Errorf("DNS server must be enable")
return
}
dnsPort, err := strconv.ParseUint(dnsPortStr, 10, 16)
dnsPort, err := netip.ParseAddrPort(dnsCfg.Listen)
if err != nil {
err = fmt.Errorf("DNS server must be enable")
return
@@ -331,7 +323,7 @@ func updateIPTables(cfg *config.Config) {
dialer.DefaultRoutingMark.Store(2158)
}
err = tproxy.SetTProxyIPTables(inboundInterface, uint16(tProxyPort), uint16(dnsPort))
err = tproxy.SetTProxyIPTables(inboundInterface, uint16(tProxyPort), dnsPort.Port())
if err != nil {
return
}

View File

@@ -51,14 +51,14 @@ func Start(addr string, secret string) {
r := chi.NewRouter()
cors := cors.New(cors.Options{
corsM := cors.New(cors.Options{
AllowedOrigins: []string{"*"},
AllowedMethods: []string{"GET", "POST", "PUT", "PATCH", "DELETE"},
AllowedHeaders: []string{"Content-Type", "Authorization"},
MaxAge: 300,
})
r.Use(cors.Handler)
r.Use(corsM.Handler)
r.Group(func(r chi.Router) {
r.Use(authentication)
@@ -215,14 +215,14 @@ func getLogs(w http.ResponseWriter, r *http.Request) {
var err error
for elm := range sub {
buf.Reset()
log := elm.(*log.Event)
if log.LogLevel < level {
logM := elm
if logM.LogLevel < level {
continue
}
if err := json.NewEncoder(buf).Encode(Log{
Type: log.Type(),
Payload: log.Payload,
Type: logM.Type(),
Payload: logM.Payload,
}); err != nil {
break
}