|
@@ -44,6 +44,7 @@ type Server struct {
|
|
urlTestHistory *urltest.HistoryStorage
|
|
urlTestHistory *urltest.HistoryStorage
|
|
mode string
|
|
mode string
|
|
storeSelected bool
|
|
storeSelected bool
|
|
|
|
+ cacheFilePath string
|
|
cacheFile adapter.ClashCacheFile
|
|
cacheFile adapter.ClashCacheFile
|
|
}
|
|
}
|
|
|
|
|
|
@@ -75,11 +76,7 @@ func NewServer(router adapter.Router, logFactory log.ObservableFactory, options
|
|
} else {
|
|
} else {
|
|
cachePath = C.BasePath(cachePath)
|
|
cachePath = C.BasePath(cachePath)
|
|
}
|
|
}
|
|
- cacheFile, err := cachefile.Open(cachePath)
|
|
|
|
- if err != nil {
|
|
|
|
- return nil, E.Cause(err, "open cache file")
|
|
|
|
- }
|
|
|
|
- server.cacheFile = cacheFile
|
|
|
|
|
|
+ server.cacheFilePath = cachePath
|
|
}
|
|
}
|
|
cors := cors.New(cors.Options{
|
|
cors := cors.New(cors.Options{
|
|
AllowedOrigins: []string{"*"},
|
|
AllowedOrigins: []string{"*"},
|
|
@@ -118,6 +115,13 @@ func NewServer(router adapter.Router, logFactory log.ObservableFactory, options
|
|
}
|
|
}
|
|
|
|
|
|
func (s *Server) Start() error {
|
|
func (s *Server) Start() error {
|
|
|
|
+ if s.cacheFilePath != "" {
|
|
|
|
+ cacheFile, err := cachefile.Open(s.cacheFilePath)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return E.Cause(err, "open cache file")
|
|
|
|
+ }
|
|
|
|
+ s.cacheFile = cacheFile
|
|
|
|
+ }
|
|
listener, err := net.Listen("tcp", s.httpServer.Addr)
|
|
listener, err := net.Listen("tcp", s.httpServer.Addr)
|
|
if err != nil {
|
|
if err != nil {
|
|
return E.Cause(err, "external controller listen error")
|
|
return E.Cause(err, "external controller listen error")
|