mirror of
https://github.com/qinyuhang/ShadowsocksX-NG-R.git
synced 2026-10-20 14:34:30 +00:00
可自定义远端ACL文件地址
This commit is contained in:
@@ -80,8 +80,9 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
"LocalSocks5.EnableUDPRelay": NSNumber(value: false as Bool),
|
||||
"LocalSocks5.EnableVerboseMode": NSNumber(value: false as Bool),
|
||||
"GFWListURL": "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt",
|
||||
"WhiteListURL": "https://raw.githubusercontent.com/breakwa11/gfw_whitelist/master/whitelist.pac",
|
||||
"WhiteListIPURL": "https://raw.githubusercontent.com/breakwa11/gfw_whitelist/master/whiteiplist.pac",
|
||||
"ACLWhiteListURL": "https://raw.githubusercontent.com/shadowsocksr/shadowsocksr-libev/master/acl/chn.acl",
|
||||
"ACLAutoListURL": "https://raw.githubusercontent.com/shadowsocksr/shadowsocksr-libev/master/acl/gfwlist.acl",
|
||||
"ACLProxyBackCHNURL":"https://raw.githubusercontent.com/shadowsocksr/ShadowsocksX-NG/develop/ShadowsocksX-NG/backchn.acl",
|
||||
"AutoConfigureNetworkServices": NSNumber(value: true as Bool),
|
||||
"LocalHTTP.ListenAddress": "127.0.0.1",
|
||||
"LocalHTTP.ListenPort": NSNumber(value: 1087 as UInt16),
|
||||
@@ -266,7 +267,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
|
||||
}
|
||||
|
||||
@IBAction func updateWhiteList(_ sender: NSMenuItem) {
|
||||
UpdatePACFromWhiteList()
|
||||
UpdateACL()
|
||||
}
|
||||
|
||||
@IBAction func editUserRulesForPAC(_ sender: NSMenuItem) {
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10117" systemVersion="15G31" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="12120" systemVersion="16F71b" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||
<dependencies>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10117"/>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="12120"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="AdvPreferencesWindowController" customModule="ShadowsocksX_NG" customModuleProvider="target">
|
||||
@@ -14,31 +16,28 @@
|
||||
<window title="Advance Preferences" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
|
||||
<rect key="contentRect" x="469" y="456" width="480" height="651"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
|
||||
<rect key="contentRect" x="469" y="456" width="480" height="716"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="878"/>
|
||||
<view key="contentView" id="se5-gp-TjO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="651"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="480" height="716"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="ayu-Tb-kmf">
|
||||
<rect key="frame" x="38" y="357" width="405" height="5"/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="ayu-Tb-kmf">
|
||||
<rect key="frame" x="38" y="429" width="405" height="5"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="I4a-N9-Tkv">
|
||||
<rect key="frame" x="48" y="334" width="192" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I4a-N9-Tkv">
|
||||
<rect key="frame" x="48" y="406" width="192" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="188" id="Tny-lh-gfo"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="GFW List URL:" id="dg0-gS-z5V">
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="PAC GFW List URL:" id="dg0-gS-z5V">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="6MD-Ry-R5P">
|
||||
<rect key="frame" x="49" y="257" width="378" height="69"/>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6MD-Ry-R5P">
|
||||
<rect key="frame" x="49" y="329" width="378" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="NVe-Ir-JCv"/>
|
||||
</constraints>
|
||||
@@ -55,38 +54,36 @@
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wCp-nB-dda">
|
||||
<rect key="frame" x="18" y="614" width="439" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wCp-nB-dda">
|
||||
<rect key="frame" x="18" y="694" width="439" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Don't change these preferences if you have no idea what they are." id="8wL-qv-5nD">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="JBW-8M-eHP">
|
||||
<rect key="frame" x="36" y="603" width="405" height="5"/>
|
||||
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
|
||||
<font key="titleFont" metaFont="system"/>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="JBW-8M-eHP">
|
||||
<rect key="frame" x="36" y="683" width="405" height="5"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="S5h-Xx-HUG">
|
||||
<rect key="frame" x="27" y="541" width="204" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S5h-Xx-HUG">
|
||||
<rect key="frame" x="73" y="621" width="158" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Port:" id="qRs-ow-vVB">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xWv-tc-lQe">
|
||||
<rect key="frame" x="27" y="578" width="204" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xWv-tc-lQe">
|
||||
<rect key="frame" x="27" y="658" width="204" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Address:" id="cwr-n0-zwn">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Q2L-Fh-TW1">
|
||||
<rect key="frame" x="237" y="575" width="160" height="22"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q2L-Fh-TW1">
|
||||
<rect key="frame" x="237" y="655" width="160" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="iRm-V5-3gu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -100,16 +97,17 @@
|
||||
</binding>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="e3S-m6-k5Y">
|
||||
<rect key="frame" x="27" y="427" width="204" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="e3S-m6-k5Y">
|
||||
<rect key="frame" x="27" y="507" width="204" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Timeout:" id="i4l-2S-gOQ">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sRP-xs-alR">
|
||||
<rect key="frame" x="237" y="422" width="60" height="22"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sRP-xs-alR">
|
||||
<rect key="frame" x="237" y="502" width="60" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="wjv-Nc-tjX">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -124,8 +122,12 @@
|
||||
<outlet property="formatter" destination="YkP-l0-oah" id="BzU-cu-104"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="DiD-K0-Y43">
|
||||
<rect key="frame" x="235" y="392" width="219" height="18"/>
|
||||
<button horizontalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="DiD-K0-Y43">
|
||||
<rect key="frame" x="235" y="468" width="219" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="215" id="U0g-vk-THf"/>
|
||||
<constraint firstAttribute="height" constant="18" id="hbJ-1V-Tpw"/>
|
||||
</constraints>
|
||||
<buttonCell key="cell" type="check" title="Enable Udp Replay" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="1C3-4s-Apd">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -134,8 +136,8 @@
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.LocalSocks5.EnableUDPRelay" id="fuM-ii-maJ"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XQ5-fw-o8t">
|
||||
<rect key="frame" x="237" y="538" width="60" height="22"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XQ5-fw-o8t">
|
||||
<rect key="frame" x="237" y="618" width="60" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="60" id="reo-ha-VKi"/>
|
||||
</constraints>
|
||||
@@ -153,8 +155,8 @@
|
||||
<outlet property="formatter" destination="uE9-0u-CJW" id="QsO-5H-MYE"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eoD-7r-Q85">
|
||||
<rect key="frame" x="303" y="425" width="96" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eoD-7r-Q85">
|
||||
<rect key="frame" x="303" y="505" width="96" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="92" id="xw1-XT-mjQ"/>
|
||||
</constraints>
|
||||
@@ -164,8 +166,11 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button translatesAutoresizingMaskIntoConstraints="NO" id="qVQ-tJ-cO6">
|
||||
<rect key="frame" x="235" y="366" width="219" height="18"/>
|
||||
<button horizontalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qVQ-tJ-cO6">
|
||||
<rect key="frame" x="235" y="438" width="219" height="22"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="Zyt-I0-lv1"/>
|
||||
</constraints>
|
||||
<buttonCell key="cell" type="check" title="Enable Verbose Mode" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="dCD-gg-I2i">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
@@ -174,24 +179,25 @@
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.LocalSocks5.EnableVerboseMode" id="Nu9-zu-vUE"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2UM-QO-GC5">
|
||||
<rect key="frame" x="69" y="505" width="162" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2UM-QO-GC5">
|
||||
<rect key="frame" x="69" y="585" width="162" height="17"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local PAC Listen Address:" id="dvL-Ic-Wae">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bh0-H9-9hI">
|
||||
<rect key="frame" x="93" y="468" width="138" height="17"/>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bh0-H9-9hI">
|
||||
<rect key="frame" x="93" y="548" width="138" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local PAC Listen Port:" id="PSg-XK-qhl">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WF3-m7-I1v">
|
||||
<rect key="frame" x="237" y="502" width="160" height="22"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WF3-m7-I1v">
|
||||
<rect key="frame" x="237" y="582" width="160" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="8wf-uK-tGn">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -201,8 +207,8 @@
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.PacServer.ListenAddress" id="4UF-xD-Z2q"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wNM-6D-tgb">
|
||||
<rect key="frame" x="237" y="463" width="60" height="22"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wNM-6D-tgb">
|
||||
<rect key="frame" x="237" y="543" width="60" height="22"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="FXj-Bf-XDn">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
@@ -212,91 +218,134 @@
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.PacServer.ListenPort" id="Tb3-to-Ngs"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="X9m-FK-fcs">
|
||||
<rect key="frame" x="50" y="148" width="378" height="69"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="X9m-FK-fcs">
|
||||
<rect key="frame" x="50" y="225" width="378" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="jIM-f3-E0y"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="7lV-Hj-mcw">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.WhiteListURL" id="34g-xk-DKk"/>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.ACLWhiteListURL" id="1OU-Ly-pwB"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="a5H-9g-9jP">
|
||||
<rect key="frame" x="47" y="227" width="98" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="White List URL:" id="aif-uV-Lxk">
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a5H-9g-9jP">
|
||||
<rect key="frame" x="47" y="304" width="126" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="ACL White List URL:" id="aif-uV-Lxk">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="WrF-lf-RV1">
|
||||
<rect key="frame" x="48" y="111" width="113" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="White IP List URL:" id="qhu-d1-qgq">
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WrF-lf-RV1">
|
||||
<rect key="frame" x="48" y="200" width="119" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="left" title="ACL Auto List URL:" id="qhu-d1-qgq">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="CK9-jm-Bcc">
|
||||
<rect key="frame" x="50" y="30" width="378" height="69"/>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CK9-jm-Bcc">
|
||||
<rect key="frame" x="50" y="124" width="378" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="YTn-qQ-Fz5"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="eVT-71-Bnu">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.WhiteListIPURL" id="SGX-q6-yZ3"/>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.ACLAutoListURL" id="TO8-ey-7bW"/>
|
||||
</connections>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jip-F1-43v">
|
||||
<rect key="frame" x="48" y="97" width="134" height="17"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="ACL Back China URL:" id="cwt-37-PW1">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gMW-uq-O4L">
|
||||
<rect key="frame" x="49" y="20" width="377" height="69"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="69" id="aqr-8q-xLQ"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="A7M-jX-jBX">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<connections>
|
||||
<binding destination="pR1-Bo-AWz" name="value" keyPath="values.ACLProxyBackCHNURL" id="fgI-di-sSq"/>
|
||||
</connections>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="baseline" secondItem="Q2L-Fh-TW1" secondAttribute="baseline" id="0ub-69-rbe"/>
|
||||
<constraint firstAttribute="bottom" secondItem="6MD-Ry-R5P" secondAttribute="bottom" constant="257" id="1VT-Fs-nNp"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="leading" id="1Y0-Oh-Ev4"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" symbolic="YES" id="4af-lJ-vAL"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="leading" id="7E0-aW-12T"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="49" id="8CU-pQ-jDz"/>
|
||||
<constraint firstItem="xWv-tc-lQe" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="29" id="8oq-65-XGK"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="trailing" constant="8" symbolic="YES" id="GhL-we-2co"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="DiD-K0-Y43" secondAttribute="leading" id="H7k-Nh-YHo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="DiD-K0-Y43" secondAttribute="trailing" constant="28" id="H8a-Jg-72h"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="leading" id="Ij2-mo-WRt"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="qVQ-tJ-cO6" secondAttribute="leading" id="J5O-DE-8O9"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="top" secondItem="JBW-8M-eHP" secondAttribute="bottom" constant="8" symbolic="YES" id="Jkq-uJ-Wv4"/>
|
||||
<constraint firstAttribute="trailing" secondItem="wCp-nB-dda" secondAttribute="trailing" constant="25" id="Mod-B8-1Yl"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" symbolic="YES" id="R3i-gt-6zg"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="trailing" secondItem="qVQ-tJ-cO6" secondAttribute="trailing" id="WaY-S9-VQ2"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="50" id="Wd9-qu-Mx8"/>
|
||||
<constraint firstItem="e3S-m6-k5Y" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="top" id="Xmc-dV-VXv"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="top" secondItem="wCp-nB-dda" secondAttribute="bottom" constant="8" symbolic="YES" id="Ysd-52-5Fn"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Q2L-Fh-TW1" secondAttribute="trailing" constant="83" id="ZoL-73-xKa"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="leading" secondItem="e3S-m6-k5Y" secondAttribute="trailing" constant="8" symbolic="YES" id="ZvN-ZN-EVZ"/>
|
||||
<constraint firstItem="sRP-xs-alR" firstAttribute="baseline" secondItem="eoD-7r-Q85" secondAttribute="baseline" id="aXC-g0-ZpB"/>
|
||||
<constraint firstItem="qVQ-tJ-cO6" firstAttribute="top" secondItem="DiD-K0-Y43" secondAttribute="bottom" constant="12" id="ccj-Fd-7z7"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="top" secondItem="I4a-N9-Tkv" secondAttribute="bottom" constant="8" symbolic="YES" id="dPZ-gY-1am"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="36" id="dSL-lu-CVv"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="top" secondItem="Q2L-Fh-TW1" secondAttribute="bottom" constant="15" id="e6i-xd-BD3"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="edi-Ij-cuc"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="XQ5-fw-o8t" secondAttribute="leading" id="g40-g1-s29"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="trailing" secondItem="eoD-7r-Q85" secondAttribute="trailing" id="g4n-5J-iDi"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="leading" secondItem="xWv-tc-lQe" secondAttribute="trailing" constant="8" symbolic="YES" id="hoH-Lm-ihP"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="trailing" constant="8" symbolic="YES" id="ibP-Bc-Xhg"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="38" id="kkG-sj-u3Y"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="top" secondItem="qVQ-tJ-cO6" secondAttribute="bottom" constant="8" symbolic="YES" id="lza-Z7-YaI"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="trailing" secondItem="sRP-xs-alR" secondAttribute="trailing" id="pfd-Yd-goI"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="qbH-5m-epu"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="top" secondItem="ayu-Tb-kmf" secondAttribute="bottom" constant="8" symbolic="YES" id="u7y-6r-Vj5"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="bottom" constant="14" id="xlZ-UD-qns"/>
|
||||
<constraint firstItem="S5h-Xx-HUG" firstAttribute="baseline" secondItem="XQ5-fw-o8t" secondAttribute="baseline" id="y3b-k3-eBU"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="yNP-ab-DmI"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="36" id="0hv-Tv-cje"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="WrF-lf-RV1" secondAttribute="leading" id="1aa-aW-Uwa"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="Q2L-Fh-TW1" secondAttribute="leading" id="1rd-Tz-s2W"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="qVQ-tJ-cO6" secondAttribute="leading" id="5Xn-E9-haA"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="centerX" secondItem="JBW-8M-eHP" secondAttribute="centerX" id="6WN-L2-bSA"/>
|
||||
<constraint firstAttribute="trailing" secondItem="eoD-7r-Q85" secondAttribute="trailing" constant="83" id="6sY-LT-3eT"/>
|
||||
<constraint firstItem="WF3-m7-I1v" firstAttribute="top" secondItem="XQ5-fw-o8t" secondAttribute="bottom" constant="14" id="8Vw-9L-BWj"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="centerX" secondItem="gMW-uq-O4L" secondAttribute="centerX" constant="1.5" id="8g5-Mj-EAv"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="WF3-m7-I1v" secondAttribute="leading" id="956-QX-x1E"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="38" id="9of-Dd-t50"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="top" secondItem="sRP-xs-alR" secondAttribute="bottom" constant="14" id="9rd-uM-5eu"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="top" secondItem="WF3-m7-I1v" secondAttribute="bottom" constant="60" id="A1a-da-wue"/>
|
||||
<constraint firstItem="Q2L-Fh-TW1" firstAttribute="top" secondItem="JBW-8M-eHP" secondAttribute="bottom" constant="8" symbolic="YES" id="Aog-UR-oAm"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="top" secondItem="wCp-nB-dda" secondAttribute="bottom" constant="8" symbolic="YES" id="B77-gx-dtL"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="leading" id="C8F-1E-YVS"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="I4a-N9-Tkv" secondAttribute="leading" id="Ejp-cy-Fdn"/>
|
||||
<constraint firstItem="a5H-9g-9jP" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="49" id="Iyy-m8-Oxg"/>
|
||||
<constraint firstItem="Jip-F1-43v" firstAttribute="top" secondItem="CK9-jm-Bcc" secondAttribute="bottom" constant="10" id="N3s-x2-cce"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="Q15-7D-xgC"/>
|
||||
<constraint firstAttribute="bottom" secondItem="X9m-FK-fcs" secondAttribute="bottom" constant="225" id="QiF-Of-B17"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="wNM-6D-tgb" secondAttribute="leading" id="RKG-WC-E2p"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="trailing" secondItem="qVQ-tJ-cO6" secondAttribute="trailing" id="SQX-77-wOg"/>
|
||||
<constraint firstItem="wNM-6D-tgb" firstAttribute="trailing" secondItem="sRP-xs-alR" secondAttribute="trailing" id="UF3-yl-bSs"/>
|
||||
<constraint firstItem="ayu-Tb-kmf" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="UtF-HA-e7b"/>
|
||||
<constraint firstItem="a5H-9g-9jP" firstAttribute="top" secondItem="6MD-Ry-R5P" secondAttribute="bottom" constant="8" symbolic="YES" id="VUV-Nu-7Ol"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="CK9-jm-Bcc" secondAttribute="leading" id="WES-3n-rnD"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="baseline" secondItem="S5h-Xx-HUG" secondAttribute="baseline" id="WbS-AV-PKP"/>
|
||||
<constraint firstItem="qVQ-tJ-cO6" firstAttribute="top" secondItem="DiD-K0-Y43" secondAttribute="bottom" constant="12" id="YYP-9l-FIS"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="Jip-F1-43v" secondAttribute="leading" id="Yzu-gH-Fno"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="leading" secondItem="sRP-xs-alR" secondAttribute="trailing" constant="8" symbolic="YES" id="cB6-bA-UtV"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="baseline" secondItem="sRP-xs-alR" secondAttribute="baseline" id="cN3-aC-LKA"/>
|
||||
<constraint firstItem="a5H-9g-9jP" firstAttribute="leading" secondItem="6MD-Ry-R5P" secondAttribute="leading" id="ekR-b7-lWw"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="trailing" secondItem="Q2L-Fh-TW1" secondAttribute="trailing" id="fc0-Nb-eMK"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="50" id="gM7-rk-gm3"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="leading" secondItem="gMW-uq-O4L" secondAttribute="leading" constant="1" id="gwP-jC-diC"/>
|
||||
<constraint firstItem="WrF-lf-RV1" firstAttribute="top" secondItem="X9m-FK-fcs" secondAttribute="bottom" constant="8" symbolic="YES" id="h4e-oE-iRg"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="top" secondItem="a5H-9g-9jP" secondAttribute="bottom" constant="10" id="iHd-5C-daP"/>
|
||||
<constraint firstItem="wNM-6D-tgb" firstAttribute="top" secondItem="WF3-m7-I1v" secondAttribute="bottom" constant="17" id="jD4-XX-Ya4"/>
|
||||
<constraint firstAttribute="bottom" secondItem="Jip-F1-43v" secondAttribute="bottom" constant="97" id="jhi-PU-yXx"/>
|
||||
<constraint firstAttribute="trailing" secondItem="DiD-K0-Y43" secondAttribute="trailing" constant="28" id="jy1-Bq-Fy1"/>
|
||||
<constraint firstAttribute="trailing" secondItem="X9m-FK-fcs" secondAttribute="trailing" constant="52" id="kFn-Q8-OXB"/>
|
||||
<constraint firstItem="eoD-7r-Q85" firstAttribute="trailing" secondItem="WF3-m7-I1v" secondAttribute="trailing" id="kLC-gm-2HS"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="leading" secondItem="XQ5-fw-o8t" secondAttribute="leading" id="kQY-5X-Zky"/>
|
||||
<constraint firstItem="I4a-N9-Tkv" firstAttribute="top" secondItem="ayu-Tb-kmf" secondAttribute="bottom" constant="8" symbolic="YES" id="lVK-GP-RdA"/>
|
||||
<constraint firstItem="DiD-K0-Y43" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="228" id="nl0-6X-pQ8"/>
|
||||
<constraint firstItem="wNM-6D-tgb" firstAttribute="leading" secondItem="bh0-H9-9hI" secondAttribute="trailing" constant="8" symbolic="YES" id="nzV-fS-pZ1"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="20" symbolic="YES" id="obA-DH-m1j"/>
|
||||
<constraint firstItem="6MD-Ry-R5P" firstAttribute="top" secondItem="I4a-N9-Tkv" secondAttribute="bottom" constant="8" symbolic="YES" id="obr-49-lQ8"/>
|
||||
<constraint firstItem="gMW-uq-O4L" firstAttribute="top" secondItem="Jip-F1-43v" secondAttribute="bottom" constant="8" symbolic="YES" id="pCT-ct-62W"/>
|
||||
<constraint firstItem="XQ5-fw-o8t" firstAttribute="leading" secondItem="S5h-Xx-HUG" secondAttribute="trailing" constant="8" symbolic="YES" id="rD3-DG-Wtc"/>
|
||||
<constraint firstItem="wNM-6D-tgb" firstAttribute="top" secondItem="bh0-H9-9hI" secondAttribute="top" id="sYL-wT-x8G"/>
|
||||
<constraint firstItem="wCp-nB-dda" firstAttribute="centerX" secondItem="6MD-Ry-R5P" secondAttribute="centerX" id="vdu-Z9-f5S"/>
|
||||
<constraint firstItem="X9m-FK-fcs" firstAttribute="trailing" secondItem="CK9-jm-Bcc" secondAttribute="trailing" id="xJ3-0T-laP"/>
|
||||
<constraint firstItem="JBW-8M-eHP" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="30" id="ynF-xG-phL"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<connections>
|
||||
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
|
||||
</connections>
|
||||
<point key="canvasLocation" x="346" y="445.5"/>
|
||||
<point key="canvasLocation" x="391" y="486"/>
|
||||
</window>
|
||||
<numberFormatter formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="uE9-0u-CJW" userLabel="Port Number Formatter">
|
||||
<real key="minimum" value="128"/>
|
||||
|
||||
@@ -19,8 +19,6 @@ let GFWListFilePath = PACRulesDirPath + "gfwlist.txt"
|
||||
let ACLWhiteListFilePath = PACRulesDirPath + "chn.acl"
|
||||
let ACLBackCHNFilePath = PACRulesDirPath + "backchn.acl"
|
||||
let ACLGFWListFilePath = PACRulesDirPath + "gfwlist.acl"
|
||||
let WhiteListDomainPACFilePath = PACRulesDirPath + "whitelist.pac"
|
||||
let WhiteListIPPACFilePath = PACRulesDirPath + "whiteiplist.pac"
|
||||
|
||||
// Because of LocalSocks5.ListenPort may be changed
|
||||
func SyncPac() {
|
||||
@@ -144,32 +142,6 @@ func GeneratePACFile() -> Bool {
|
||||
try result.data(using: String.Encoding.utf8)?
|
||||
.write(to: URL(fileURLWithPath: PACFilePath), options: .atomic)
|
||||
|
||||
// Setup Pac for White List
|
||||
let DomainSrc = Bundle.main.path(forResource: "whitelist", ofType: "pac")
|
||||
let IPSrc = Bundle.main.path(forResource: "whiteiplist", ofType: "pac")
|
||||
let DomainPacFile = try? Data(contentsOf: URL(fileURLWithPath: DomainSrc!))
|
||||
let IPPACFile = try? Data(contentsOf: URL(fileURLWithPath: IPSrc!))
|
||||
var DomainPACStr = String(data: DomainPacFile!,encoding: String.Encoding.utf8)!
|
||||
var IPPACStr = String(data: IPPACFile!,encoding: String.Encoding.utf8)!
|
||||
if(DomainPACStr.range(of: "SOCKS ") == nil) {
|
||||
DomainPACStr = DomainPACStr.replacingOccurrences(of: "SOCKS5 127.0.0.1:1080;", with: "SOCKS5 127.0.0.1:\(socks5Port);SOCKS 127.0.0.1:\(socks5Port);")
|
||||
}else{
|
||||
DomainPACStr = DomainPACStr.replacingOccurrences(of: "SOCKS 127.0.0.1:1080;", with: "SOCKS 127.0.0.1:\(socks5Port);")
|
||||
DomainPACStr = DomainPACStr.replacingOccurrences(of: "SOCKS5 127.0.0.1:1080;", with: "SOCKS5 127.0.0.1:\(socks5Port);")
|
||||
}
|
||||
|
||||
if(IPPACStr.range(of: "SOCKS ") == nil) {
|
||||
IPPACStr = IPPACStr.replacingOccurrences(of: "SOCKS5 127.0.0.1:1080;", with: "SOCKS5 127.0.0.1:\(socks5Port);SOCKS 127.0.0.1:\(socks5Port);")
|
||||
}else{
|
||||
IPPACStr = IPPACStr.replacingOccurrences(of: "SOCKS 127.0.0.1:1080;", with: "SOCKS 127.0.0.1:\(socks5Port);")
|
||||
IPPACStr = IPPACStr.replacingOccurrences(of: "SOCKS5 127.0.0.1:1080;", with: "SOCKS5 127.0.0.1:\(socks5Port);")
|
||||
}
|
||||
|
||||
try
|
||||
DomainPACStr.data(using: String.Encoding.utf8)?.write(to: URL(fileURLWithPath: WhiteListDomainPACFilePath), options: .atomic)
|
||||
try
|
||||
IPPACStr.data(using: String.Encoding.utf8)?.write(to: URL(fileURLWithPath: WhiteListIPPACFilePath), options: .atomic)
|
||||
|
||||
return true
|
||||
} catch {
|
||||
|
||||
@@ -221,7 +193,7 @@ func UpdatePACFromGFWList() {
|
||||
}
|
||||
}
|
||||
|
||||
func UpdatePACFromWhiteList(){
|
||||
func UpdateACL(){
|
||||
if !FileManager.default.fileExists(atPath: PACRulesDirPath) {
|
||||
do {
|
||||
try FileManager.default.createDirectory(atPath: PACRulesDirPath
|
||||
@@ -230,14 +202,14 @@ func UpdatePACFromWhiteList(){
|
||||
}
|
||||
}
|
||||
|
||||
let url = UserDefaults.standard.string(forKey: "WhiteListURL")
|
||||
let url = UserDefaults.standard.string(forKey: "ACLWhiteListURL")
|
||||
Alamofire.request(url!)// request(.GET, url!)
|
||||
.responseString {
|
||||
response in
|
||||
if response.result.isSuccess {
|
||||
if let v = response.result.value {
|
||||
do {
|
||||
try v.write(toFile: WhiteListDomainPACFilePath, atomically: true, encoding: String.Encoding.utf8)
|
||||
try v.write(toFile: ACLWhiteListFilePath, atomically: true, encoding: String.Encoding.utf8)
|
||||
if GeneratePACFile() {
|
||||
// Popup a user notification
|
||||
let notification = NSUserNotification()
|
||||
@@ -258,14 +230,14 @@ func UpdatePACFromWhiteList(){
|
||||
}
|
||||
}
|
||||
|
||||
let IPURL = UserDefaults.standard.string(forKey: "WhiteListIPURL")
|
||||
let IPURL = UserDefaults.standard.string(forKey: "ACLAutoListURL")
|
||||
Alamofire.request(IPURL!)
|
||||
.responseString {
|
||||
response in
|
||||
if response.result.isSuccess {
|
||||
if let v = response.result.value {
|
||||
do {
|
||||
try v.write(toFile: WhiteListIPPACFilePath, atomically: true, encoding: String.Encoding.utf8)
|
||||
try v.write(toFile: ACLGFWListFilePath, atomically: true, encoding: String.Encoding.utf8)
|
||||
if GeneratePACFile() {
|
||||
// Popup a user notification
|
||||
let notification = NSUserNotification()
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
"PSg-XK-qhl.title" = "本地 PAC 监听端口:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "White List URL:"; ObjectID = "aif-uV-Lxk"; */
|
||||
"aif-uV-Lxk.title" = "白名单列表 URL:";
|
||||
"aif-uV-Lxk.title" = "ACL 白名单列表 URL:";
|
||||
|
||||
/* Class = "NSTextFieldCell"; title = "White IP List URL:"; ObjectID = "qhu-d1-qgq"; */
|
||||
"qhu-d1-qgq.title" = "白名单IP列表 URL:";
|
||||
"qhu-d1-qgq.title" = "ACL GFW List 列表 URL:";
|
||||
|
||||
Reference in New Issue
Block a user