diff --git a/ClashX.xcodeproj/project.pbxproj b/ClashX.xcodeproj/project.pbxproj index 7543c5435..aaa0bbf11 100644 --- a/ClashX.xcodeproj/project.pbxproj +++ b/ClashX.xcodeproj/project.pbxproj @@ -11,6 +11,7 @@ 4913C82321157D0200F6B87C /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4913C82221157D0200F6B87C /* Notification.swift */; }; 492C4869210EE6B9004554A0 /* ApiRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492C4868210EE6B9004554A0 /* ApiRequest.swift */; }; 492C4871210EF62E004554A0 /* ClashConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492C4870210EF62E004554A0 /* ClashConfig.swift */; }; + 492D7321216CEC4000146BC1 /* ClashX.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 492D731F216CEC4000146BC1 /* ClashX.a */; }; 4931969B21631E5E00A8E6E7 /* SpeedDataRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4931969A21631E5D00A8E6E7 /* SpeedDataRecorder.swift */; }; 493196A2216331F400A8E6E7 /* NetworkChangeNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = 493196A1216331F400A8E6E7 /* NetworkChangeNotifier.swift */; }; 4949D154213242F600EF85E6 /* Paths.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4949D153213242F600EF85E6 /* Paths.swift */; }; @@ -38,7 +39,6 @@ 497F0DF320DE2FE50077AD41 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 497F0DF220DE2FE50077AD41 /* Icon.icns */; }; 4981C88B216BAE4A008CC14A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 4981C88D216BAE4A008CC14A /* Localizable.strings */; }; 4981C890216BAF0C008CC14A /* String+Localized.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4981C88F216BAF0C008CC14A /* String+Localized.swift */; }; - 4989F98020D01C8F0001E564 /* clash.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 4989F97E20D01C8F0001E564 /* clash.a */; }; 4989F98420D02D200001E564 /* Country.mmdb in Resources */ = {isa = PBXBuildFile; fileRef = 4989F98320D02D200001E564 /* Country.mmdb */; }; 4989F98E20D0AE990001E564 /* sampleConfig.ini in Resources */ = {isa = PBXBuildFile; fileRef = 4989F98D20D0AE990001E564 /* sampleConfig.ini */; }; 4997732520D251A60009B136 /* SWBApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 4997732320D251A60009B136 /* SWBApplication.m */; }; @@ -108,6 +108,8 @@ 4913C82221157D0200F6B87C /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = ""; }; 492C4868210EE6B9004554A0 /* ApiRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApiRequest.swift; sourceTree = ""; }; 492C4870210EF62E004554A0 /* ClashConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClashConfig.swift; sourceTree = ""; }; + 492D731F216CEC4000146BC1 /* ClashX.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = ClashX.a; path = ClashX/ClashX.a; sourceTree = SOURCE_ROOT; }; + 492D7320216CEC4000146BC1 /* ClashX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClashX.h; path = ClashX/ClashX.h; sourceTree = SOURCE_ROOT; }; 4931969A21631E5D00A8E6E7 /* SpeedDataRecorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpeedDataRecorder.swift; sourceTree = ""; }; 493196A1216331F400A8E6E7 /* NetworkChangeNotifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkChangeNotifier.swift; sourceTree = ""; }; 4949D153213242F600EF85E6 /* Paths.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Paths.swift; sourceTree = ""; }; @@ -141,8 +143,6 @@ 4981C88C216BAE4A008CC14A /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; 4981C88E216BAE4D008CC14A /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/Localizable.strings"; sourceTree = ""; }; 4981C88F216BAF0C008CC14A /* String+Localized.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Localized.swift"; sourceTree = ""; }; - 4989F97E20D01C8F0001E564 /* clash.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = clash.a; sourceTree = ""; }; - 4989F97F20D01C8F0001E564 /* clash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = clash.h; sourceTree = ""; }; 4989F98320D02D200001E564 /* Country.mmdb */ = {isa = PBXFileReference; lastKnownFileType = file; path = Country.mmdb; sourceTree = ""; }; 4989F98D20D0AE990001E564 /* sampleConfig.ini */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = sampleConfig.ini; sourceTree = ""; }; 4997732320D251A60009B136 /* SWBApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SWBApplication.m; sourceTree = ""; }; @@ -180,7 +180,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4989F98020D01C8F0001E564 /* clash.a in Frameworks */, + 492D7321216CEC4000146BC1 /* ClashX.a in Frameworks */, 0D318CDAC9464E01DAD1F92B /* Pods_ClashX.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; @@ -338,7 +338,6 @@ 4989F98520D0AA300001E564 /* ViewControllers */, 49CF3B5D20CE80D2001EBF94 /* script */, 49CF3B4B20CE5232001EBF94 /* ProxyConfig.xcodeproj */, - 49CF3B4320CD79A0001EBF94 /* clash */, 49CF3B3A20CD783A001EBF94 /* Support Files */, 49CF3B2020CD7463001EBF94 /* AppDelegate.swift */, 49CF3B2420CD7465001EBF94 /* Assets.xcassets */, @@ -354,6 +353,8 @@ 49CF3B3A20CD783A001EBF94 /* Support Files */ = { isa = PBXGroup; children = ( + 492D731F216CEC4000146BC1 /* ClashX.a */, + 492D7320216CEC4000146BC1 /* ClashX.h */, 4989F98D20D0AE990001E564 /* sampleConfig.ini */, 4989F98320D02D200001E564 /* Country.mmdb */, 49722FE7211F28CC00650A41 /* initConfig.ini */, @@ -362,15 +363,6 @@ path = "Support Files"; sourceTree = ""; }; - 49CF3B4320CD79A0001EBF94 /* clash */ = { - isa = PBXGroup; - children = ( - 4989F97E20D01C8F0001E564 /* clash.a */, - 4989F97F20D01C8F0001E564 /* clash.h */, - ); - path = clash; - sourceTree = ""; - }; 49CF3B5D20CE80D2001EBF94 /* script */ = { isa = PBXGroup; children = ( diff --git a/ClashX/AppDelegate.swift b/ClashX/AppDelegate.swift index f8811950e..06788defc 100644 --- a/ClashX/AppDelegate.swift +++ b/ClashX/AppDelegate.swift @@ -41,8 +41,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { var statusItemView:StatusItemView! var isRunning = false - - func applicationDidFinishLaunching(_ aNotification: Notification) { + func applicationDidFinishLaunching(_ notification: Notification) { signal(SIGPIPE, SIG_IGN) failLaunchProtect() _ = ProxyConfigManager.install() @@ -59,7 +58,8 @@ class AppDelegate: NSObject, NSApplicationDelegate { startProxy() updateLoggingLevel() } - + + func applicationWillTerminate(_ aNotification: Notification) { if ConfigManager.shared.proxyPortAutoSet { diff --git a/ClashX/ClashX-Bridging-Header.h b/ClashX/ClashX-Bridging-Header.h index 9aaa5f3af..49f3f5047 100644 --- a/ClashX/ClashX-Bridging-Header.h +++ b/ClashX/ClashX-Bridging-Header.h @@ -1,4 +1,4 @@ // // Use this file to import your target's public headers that you would like to expose to Swift. // -#import "clash.h" +#import "ClashX.h" diff --git a/ClashX/go.mod b/ClashX/go.mod index 621633806..98c9cec71 100644 --- a/ClashX/go.mod +++ b/ClashX/go.mod @@ -1,3 +1,18 @@ module github.com/yichengchen/clashX/ClashX -require github.com/Dreamacro/clash v0.7.2-0.20181006071344-40a94be2089d +require ( + github.com/Dreamacro/clash v0.7.1 + github.com/Dreamacro/go-shadowsocks2 v0.1.1 // indirect + github.com/Yawning/chacha20 v0.0.0-20170904085104-e3b1f968fc63 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/go-chi/chi v3.3.3+incompatible // indirect + github.com/go-chi/cors v1.0.0 // indirect + github.com/go-chi/render v1.0.1 // indirect + github.com/gofrs/uuid v3.1.0+incompatible // indirect + github.com/oschwald/geoip2-golang v1.2.1 // indirect + github.com/oschwald/maxminddb-golang v1.3.0 // indirect + github.com/sirupsen/logrus v1.1.1 // indirect + golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4 // indirect + gopkg.in/eapache/channels.v1 v1.1.0 // indirect + gopkg.in/ini.v1 v1.38.3 // indirect +) diff --git a/ClashX/go.sum b/ClashX/go.sum index f01cfc76f..c982a02fd 100644 --- a/ClashX/go.sum +++ b/ClashX/go.sum @@ -1,3 +1,5 @@ +github.com/Dreamacro/clash v0.7.1 h1:Z/vbEdwfOF2GWGneqLJUCtQyvt7mx5tWDBSBR9Juf+A= +github.com/Dreamacro/clash v0.7.1/go.mod h1:Ho9Y6AY+aWCe6HJCtlkH//NUrvL6oD1Kuh2dUxTW0Is= github.com/Dreamacro/clash v0.7.2-0.20181006071344-40a94be2089d h1:gQaY33G9x6wk+m9FZhA+FpNtwA5aCbmItGuRM9itRwQ= github.com/Dreamacro/clash v0.7.2-0.20181006071344-40a94be2089d/go.mod h1:ztSuTjPSNoBzx4Uh9KBXMivrFGtdwRbH50xyvGC28Fc= github.com/Dreamacro/go-shadowsocks2 v0.1.1 h1:Z6Z1ZQFtIKqB3ZghASl4taaJmL7SOw+KpJ+QZpax+TI= @@ -26,16 +28,22 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.1.0 h1:65VZabgUiV9ktjGM5nTq0+YurgTyX+YI2lSSfDjI+qU= github.com/sirupsen/logrus v1.1.0/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= +github.com/sirupsen/logrus v1.1.1 h1:VzGj7lhU7KEB9e9gMpAV/v5XT2NVSvLJhJLCWbnkgXg= +github.com/sirupsen/logrus v1.1.1/go.mod h1:zrgwTnHtNr00buQ1vSptGe8m1f/BbgsPukg8qsT7A+A= github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180927165925-5295e8364332 h1:hvQVdF6P9DX4OiKA5tpehlG6JsgzmyQiThG7q5Bn3UQ= golang.org/x/crypto v0.0.0-20180927165925-5295e8364332/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4 h1:Vk3wNqEZwyGyei9yq5ekj7frek2u7HUfffJ1/opblzc= +golang.org/x/crypto v0.0.0-20181001203147-e3636079e1a4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/eapache/channels.v1 v1.1.0 h1:5bGAyKKvyCTWjSj7mhefG6Lc68VyN4MH1v8/7OoeeB4= gopkg.in/eapache/channels.v1 v1.1.0/go.mod h1:BHIBujSvu9yMTrTYbTCjDD43gUhtmaOtTWDe7sTv1js= +gopkg.in/ini.v1 v1.38.3 h1:ourkRZgR6qjJYoec9lYhX4+nuN1tEbV34dQEQ3IRk9U= +gopkg.in/ini.v1 v1.38.3/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/ClashX/zh-Hans.lproj/Main.strings b/ClashX/zh-Hans.lproj/Main.strings index 05e704c3e..91cc2322d 100644 --- a/ClashX/zh-Hans.lproj/Main.strings +++ b/ClashX/zh-Hans.lproj/Main.strings @@ -33,7 +33,7 @@ "AYu-sK-qS6.title" = "Main Menu"; /* Class = "NSMenuItem"; title = "Start at login"; ObjectID = "B1J-XB-BiZ"; */ -"B1J-XB-BiZ.title" = "开启启动"; +"B1J-XB-BiZ.title" = "开机启动"; /* Class = "NSTextFieldCell"; title = "https://github.com/Dreamacro/clash"; ObjectID = "Bej-j7-KKV"; */ "Bej-j7-KKV.title" = "https://github.com/Dreamacro/clash";