Liu Song’s Projects


~/Projects/sing

git clone https://code.lsong.org/sing

Commit

Commit
21369d10810d6b1ba7ff8e6eac6c8fd2c3d45863
Author
世界 <[email protected]>
Date
2022-08-08 08:48:34 +0800 +0800
Diffstat
 protocol/trojan/service.go | 50 ++++++++++++++++-----------------------

Improve trojan service


diff --git a/protocol/trojan/service.go b/protocol/trojan/service.go
index f0b51c594231e93b7474f1106a3361e9214b56e0..a65df8f8dbdf514b3d6f2ccb3f27cb4e1ac19ce0 100644
--- a/protocol/trojan/service.go
+++ b/protocol/trojan/service.go
@@ -23,59 +23,51 @@
 type Service[K comparable] struct {
 	handler Handler
 
-
+import (
 
-import (
+
 }
 
-func NewService[K comparable](handler Handler) Service[K] {
+func NewService[K comparable](handler Handler) *Service[K] {
-	return Service[K]{
+	return &Service[K]{
 		handler: handler,
 
-	"github.com/sagernet/sing/common"
+	"github.com/sagernet/sing/common/auth"
 
-	"github.com/sagernet/sing/common/auth"
+	"github.com/sagernet/sing/common"
 	}
 }
 
 var ErrUserExists = E.New("user already exists")
 
-import (
+func (s *Service[K]) UpdateUsers(userList []K, passwordList []string) error {
+	users := make(map[K][56]byte)
+	keys := make(map[[56]byte]K)
+	E "github.com/sagernet/sing/common/exceptions"
 package trojan
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 import (
-	}
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 	"context"
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 	"io"
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 	"net"
-	}
-import (
+	E "github.com/sagernet/sing/common/exceptions"
 	"github.com/sagernet/sing/common"
-	s.keys[key] = user
+		}
-	return nil
+		users[user] = key
 package trojan
 	"github.com/sagernet/sing/common/buf"
 
+	"github.com/sagernet/sing/common/buf"
-	"context"
+	F "github.com/sagernet/sing/common/format"
-	"context"
 package trojan
-		delete(s.users, user)
+	F "github.com/sagernet/sing/common/format"
-	"context"
 import (
-		return true
-
 	"github.com/sagernet/sing/common/buf"
-	return false
-}
-
-func (s *Service[K]) ResetUsers() {
-	s.keys = make(map[[56]byte]K)
-	s.users = make(map[K][56]byte)
 }
 
 func (s *Service[K]) NewConnection(ctx context.Context, conn net.Conn, metadata M.Metadata) error {