mirror of
https://github.com/qinyuhang/ShadowsocksX-NG-R.git
synced 2026-11-01 23:40:06 +00:00
新增ACL自动模式 和 回国模式(Proxy Back China)
回国模式必须搭配一个回国的SS才可使用。原理为仅代理国内IP
This commit is contained in:
@@ -33,8 +33,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
@IBOutlet weak var globalModeMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var manualModeMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var whiteListModeMenuItem: NSMenuItem!
|
||||
// @IBOutlet weak var whiteListMenuItem: NSMenuItem!
|
||||
// @IBOutlet weak var whiteListIPMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var ACLModeMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var ACLAutoModeMenuItem: NSMenuItem!
|
||||
@IBOutlet weak var ACLBackChinaMenuItem: NSMenuItem!
|
||||
|
||||
@IBOutlet weak var serversMenuItem: NSMenuItem!
|
||||
@IBOutlet var pingserverMenuItem: NSMenuItem!
|
||||
@@ -364,15 +365,23 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
applyConfig()
|
||||
}
|
||||
@IBAction func selectACLAutoMode(_ sender: NSMenuItem) {
|
||||
|
||||
let defaults = UserDefaults.standard
|
||||
defaults.setValue("whiteList", forKey: "ShadowsocksRunningMode")
|
||||
defaults.setValue("gfw.acl", forKey: "ACLPath")
|
||||
updateRunningModeMenu()
|
||||
applyConfig()
|
||||
}
|
||||
@IBAction func selectACLWhiteListMode(_ sender: NSMenuItem) {
|
||||
|
||||
@IBAction func selectACLBackCHNMode(_ sender: NSMenuItem) {
|
||||
let defaults = UserDefaults.standard
|
||||
defaults.setValue("whiteList", forKey: "ShadowsocksRunningMode")
|
||||
defaults.setValue("backchn.acl", forKey: "ACLPath")
|
||||
updateRunningModeMenu()
|
||||
applyConfig()
|
||||
}
|
||||
@IBAction func selectWhiteListMode(_ sender: NSMenuItem) {
|
||||
let defaults = UserDefaults.standard
|
||||
defaults.setValue("whiteList", forKey: "ShadowsocksRunningMode")
|
||||
defaults.setValue("ACLPath", forKey: "chn.acl")
|
||||
defaults.setValue("chn.acl", forKey: "ACLPath")
|
||||
updateRunningModeMenu()
|
||||
applyConfig()
|
||||
}
|
||||
@@ -507,17 +516,29 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
manualModeMenuItem.state = 0
|
||||
whiteListModeMenuItem.state = 0
|
||||
if mode == "auto" {
|
||||
proxyMenuItem.title = "Proxy - Auto By PAC".localized
|
||||
autoModeMenuItem.state = 1
|
||||
} else if mode == "global" {
|
||||
proxyMenuItem.title = "Proxy - Global".localized
|
||||
globalModeMenuItem.state = 1
|
||||
} else if mode == "manual" {
|
||||
proxyMenuItem.title = "Proxy - Manual".localized
|
||||
manualModeMenuItem.state = 1
|
||||
} else if mode == "whiteList" {
|
||||
proxyMenuItem.title = "Proxy - White List".localized
|
||||
whiteListModeMenuItem.state = 1
|
||||
ACLModeMenuItem.state = 0
|
||||
whiteListModeMenuItem.state = 0
|
||||
ACLBackChinaMenuItem.state = 0
|
||||
ACLAutoModeMenuItem.state = 0
|
||||
let aclMode = defaults.value(forKey: "ACLPath") as! String
|
||||
switch aclMode {
|
||||
case "backchn.acl":
|
||||
ACLModeMenuItem.state = 1
|
||||
ACLBackChinaMenuItem.state = 1
|
||||
break
|
||||
case "gfw.acl":
|
||||
ACLModeMenuItem.state = 1
|
||||
ACLAutoModeMenuItem.state = 1
|
||||
break
|
||||
default:
|
||||
whiteListModeMenuItem.state = 1
|
||||
}
|
||||
}
|
||||
updateStatusItemUI()
|
||||
}
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="ShadowsocksX_NG" customModuleProvider="target">
|
||||
<connections>
|
||||
<outlet property="ACLAutoModeMenuItem" destination="sDG-YV-yuQ" id="kIE-Ua-zvx"/>
|
||||
<outlet property="ACLBackChinaMenuItem" destination="lam-el-r4I" id="O41-Lr-e0h"/>
|
||||
<outlet property="ACLModeMenuItem" destination="Yub-b0-bni" id="e0w-Td-aE9"/>
|
||||
<outlet property="RunningStatusMenuItem" destination="fzk-mE-CEV" id="R4x-gK-Qcw"/>
|
||||
<outlet property="ShowNetworkSpeedItem" destination="a3h-uQ-DuO" id="OLq-K8-rEO"/>
|
||||
<outlet property="autoModeMenuItem" destination="r07-Gu-aEz" id="9aH-pQ-Rgi"/>
|
||||
@@ -75,6 +78,25 @@
|
||||
<action selector="selectManualMode:" target="Voe-Tx-rLC" id="Xxb-28-6fi"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="ACL Mode" id="Yub-b0-bni">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="ACL Mode" id="tEB-59-fCx">
|
||||
<items>
|
||||
<menuItem title="Auto" id="sDG-YV-yuQ">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="selectACLAutoMode:" target="Voe-Tx-rLC" id="0PY-wQ-9KI"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Proxy Back China" state="on" id="lam-el-r4I">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="selectACLBackCHNMode:" target="Voe-Tx-rLC" id="ZK2-2R-g2C"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
<menuItem title="Proxy Settings" id="diI-fB-Rss">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<menu key="submenu" title="Proxy Settings" id="YZp-bf-L40">
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="16D17a" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12120" systemVersion="16F71b" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12120"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
|
||||
@@ -46,7 +46,6 @@ func generateSSLocalLauchAgentPlist() -> Bool {
|
||||
let enableUdpRelay = defaults.bool(forKey: "LocalSocks5.EnableUDPRelay")
|
||||
let enableVerboseMode = defaults.bool(forKey: "LocalSocks5.EnableVerboseMode")
|
||||
let enabelWhiteListMode = defaults.value(forKey: "ShadowsocksRunningMode") as! String
|
||||
print(enabelWhiteListMode )
|
||||
|
||||
var arguments = [sslocalPath, "-c", "ss-local-config.json"]
|
||||
if enableUdpRelay {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user