mirror of
https://github.com/SunBK201/UA3F.git
synced 2025-12-20 02:36:45 +00:00
23 lines
466 B
Go
23 lines
466 B
Go
package server
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/sunbk201/ua3f/internal/config"
|
|
"github.com/sunbk201/ua3f/internal/rewrite"
|
|
"github.com/sunbk201/ua3f/internal/server/socks5"
|
|
)
|
|
|
|
type Server interface {
|
|
Start() error
|
|
}
|
|
|
|
func NewServer(cfg *config.Config, rw *rewrite.Rewriter) (Server, error) {
|
|
switch cfg.ServerMode {
|
|
case config.ServerModeSocks5:
|
|
return socks5.New(cfg, rw), nil
|
|
default:
|
|
return nil, fmt.Errorf("unknown server mode: %s", cfg.ServerMode)
|
|
}
|
|
}
|