Fixes options for pac http server.

GCDWebServer not support to specify the ip listen on.
Only could specify bind to localhost or any ip(INADDR_ANY).
This commit is contained in:
Qiu Yuzhou
2019-10-29 17:18:23 +08:00
parent 0418ff11c0
commit 5cb98a1112
5 changed files with 156 additions and 166 deletions

View File

@ -95,7 +95,7 @@ class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDele
"ShadowsocksRunningMode": "auto", "ShadowsocksRunningMode": "auto",
"LocalSocks5.ListenPort": NSNumber(value: 1086 as UInt16), "LocalSocks5.ListenPort": NSNumber(value: 1086 as UInt16),
"LocalSocks5.ListenAddress": "127.0.0.1", "LocalSocks5.ListenAddress": "127.0.0.1",
"PacServer.ListenAddress":"127.0.0.1", "PacServer.BindToLocalhost": NSNumber(value: true as Bool),
"PacServer.ListenPort":NSNumber(value: 1089 as UInt16), "PacServer.ListenPort":NSNumber(value: 1089 as UInt16),
"LocalSocks5.Timeout": NSNumber(value: 60 as UInt), "LocalSocks5.Timeout": NSNumber(value: 60 as UInt),
"LocalSocks5.EnableUDPRelay": NSNumber(value: false as Bool), "LocalSocks5.EnableUDPRelay": NSNumber(value: false as Bool),

View File

@ -20,8 +20,8 @@
<windowPositionMask key="initialPositionMask" topStrut="YES" bottomStrut="YES"/> <windowPositionMask key="initialPositionMask" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="609" y="533" width="480" height="326"/> <rect key="contentRect" x="609" y="533" width="480" height="326"/>
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/> <rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
<view key="contentView" wantsLayer="YES" id="se5-gp-TjO"> <view key="contentView" wantsLayer="YES" misplaced="YES" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="480" height="326"/> <rect key="frame" x="0.0" y="0.0" width="479" height="326"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<tabView type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="h22-uy-K1x"> <tabView type="noTabsNoBorder" translatesAutoresizingMaskIntoConstraints="NO" id="h22-uy-K1x">
@ -30,7 +30,7 @@
<tabViewItems> <tabViewItems>
<tabViewItem label="General" identifier="general" id="xbG-eW-Prj"> <tabViewItem label="General" identifier="general" id="xbG-eW-Prj">
<view key="view" id="78E-rb-Ecu"> <view key="view" id="78E-rb-Ecu">
<rect key="frame" x="0.0" y="0.0" width="480" height="326"/> <rect key="frame" x="0.0" y="0.0" width="479" height="326"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="3eT-fn-moA" customClass="MASShortcutView"> <customView translatesAutoresizingMaskIntoConstraints="NO" id="3eT-fn-moA" customClass="MASShortcutView">
@ -92,7 +92,7 @@
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="71I-66-7Vm"> <textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="71I-66-7Vm">
<rect key="frame" x="20" y="96" width="440" height="45"/> <rect key="frame" x="20" y="96" width="440" height="45"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="45" id="r5A-Zx-oKz"/> <constraint firstAttribute="height" constant="45" id="iCq-yU-Y2M"/>
</constraints> </constraints>
<textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="YqN-0f-ODA"> <textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="left" drawsBackground="YES" id="YqN-0f-ODA">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -157,39 +157,39 @@
</button> </button>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="Jbe-9l-xF4" firstAttribute="top" secondItem="WCm-yO-4iG" secondAttribute="bottom" constant="17" id="0MH-Z3-qoy"/> <constraint firstItem="Rhd-R5-G5h" firstAttribute="baseline" secondItem="Bb7-im-uLW" secondAttribute="baseline" id="1yr-EN-h3l"/>
<constraint firstItem="q90-qj-BXy" firstAttribute="top" secondItem="hbS-Ox-rTR" secondAttribute="bottom" constant="12" id="1cL-t1-3Zy"/> <constraint firstItem="3IG-rd-b11" firstAttribute="leading" secondItem="WCm-yO-4iG" secondAttribute="trailing" constant="70" id="22p-Tc-rHc"/>
<constraint firstItem="q90-qj-BXy" firstAttribute="leading" secondItem="P6I-yN-chl" secondAttribute="leading" id="35m-Uk-JuT"/> <constraint firstItem="hbS-Ox-rTR" firstAttribute="centerY" secondItem="pbX-DJ-7mU" secondAttribute="centerY" id="2P5-T2-RkV"/>
<constraint firstItem="pbX-DJ-7mU" firstAttribute="leading" secondItem="hbS-Ox-rTR" secondAttribute="trailing" constant="8" symbolic="YES" id="43Q-js-R8g"/> <constraint firstItem="Jbe-9l-xF4" firstAttribute="top" secondItem="WCm-yO-4iG" secondAttribute="bottom" constant="17" id="5ej-R0-r46"/>
<constraint firstItem="3eT-fn-moA" firstAttribute="leading" secondItem="q90-qj-BXy" secondAttribute="trailing" constant="8" symbolic="YES" id="ARW-ih-3wh"/> <constraint firstItem="Bb7-im-uLW" firstAttribute="leading" secondItem="Rhd-R5-G5h" secondAttribute="trailing" constant="62" id="5kp-aA-o9G"/>
<constraint firstItem="pbX-DJ-7mU" firstAttribute="trailing" secondItem="3eT-fn-moA" secondAttribute="trailing" id="BNN-rC-s7e"/> <constraint firstItem="3IG-rd-b11" firstAttribute="baseline" secondItem="Rhd-R5-G5h" secondAttribute="baseline" id="6vf-yU-5hh"/>
<constraint firstItem="3eT-fn-moA" firstAttribute="top" secondItem="pbX-DJ-7mU" secondAttribute="bottom" constant="8" symbolic="YES" id="EJc-a5-MsA"/> <constraint firstItem="71I-66-7Vm" firstAttribute="top" secondItem="Jbe-9l-xF4" secondAttribute="bottom" constant="8" symbolic="YES" id="DI0-F3-nPx"/>
<constraint firstItem="P6I-yN-chl" firstAttribute="leading" secondItem="WCm-yO-4iG" secondAttribute="leading" id="Gcs-YD-k7N"/> <constraint firstAttribute="bottom" secondItem="nKV-Vh-uaW" secondAttribute="bottom" constant="20" symbolic="YES" id="Dbi-Kv-Prd"/>
<constraint firstItem="Q6E-ur-aIL" firstAttribute="leading" secondItem="78E-rb-Ecu" secondAttribute="leading" constant="20" symbolic="YES" id="Gx0-D0-CNF"/> <constraint firstItem="3eT-fn-moA" firstAttribute="top" secondItem="pbX-DJ-7mU" secondAttribute="bottom" constant="8" symbolic="YES" id="DyC-vv-4hm"/>
<constraint firstAttribute="bottom" secondItem="nKV-Vh-uaW" secondAttribute="bottom" constant="20" symbolic="YES" id="JfZ-WR-aKi"/> <constraint firstItem="Q6E-ur-aIL" firstAttribute="leading" secondItem="hbS-Ox-rTR" secondAttribute="leading" id="Hpf-nE-hPy"/>
<constraint firstItem="P6I-yN-chl" firstAttribute="top" secondItem="q90-qj-BXy" secondAttribute="bottom" constant="10" id="K0K-kW-6xC"/> <constraint firstItem="3eT-fn-moA" firstAttribute="leading" secondItem="q90-qj-BXy" secondAttribute="trailing" constant="8" symbolic="YES" id="Ikf-Jk-Tz6"/>
<constraint firstItem="hbS-Ox-rTR" firstAttribute="top" secondItem="Q6E-ur-aIL" secondAttribute="bottom" constant="18" id="LpJ-AS-Gsr"/> <constraint firstItem="WCm-yO-4iG" firstAttribute="top" secondItem="P6I-yN-chl" secondAttribute="bottom" constant="8" symbolic="YES" id="O9s-j5-mi9"/>
<constraint firstItem="3IG-rd-b11" firstAttribute="baseline" secondItem="Rhd-R5-G5h" secondAttribute="baseline" id="OBl-pX-m5y"/> <constraint firstItem="WCm-yO-4iG" firstAttribute="baseline" secondItem="3IG-rd-b11" secondAttribute="baseline" id="PIh-fb-Tzm"/>
<constraint firstItem="hbS-Ox-rTR" firstAttribute="centerY" secondItem="pbX-DJ-7mU" secondAttribute="centerY" id="OOz-0U-8Ed"/> <constraint firstItem="Q6E-ur-aIL" firstAttribute="leading" secondItem="78E-rb-Ecu" secondAttribute="leading" constant="20" symbolic="YES" id="PYb-Gf-rr5"/>
<constraint firstItem="Q6E-ur-aIL" firstAttribute="top" secondItem="78E-rb-Ecu" secondAttribute="top" constant="20" symbolic="YES" id="PLa-Q4-Wgu"/> <constraint firstItem="hbS-Ox-rTR" firstAttribute="top" secondItem="Q6E-ur-aIL" secondAttribute="bottom" constant="18" id="T6H-PC-XvB"/>
<constraint firstItem="71I-66-7Vm" firstAttribute="top" secondItem="Jbe-9l-xF4" secondAttribute="bottom" constant="8" symbolic="YES" id="Pmo-U2-cyV"/> <constraint firstItem="hbS-Ox-rTR" firstAttribute="leading" secondItem="q90-qj-BXy" secondAttribute="leading" id="TBQ-sz-KTB"/>
<constraint firstItem="q90-qj-BXy" firstAttribute="top" secondItem="3eT-fn-moA" secondAttribute="top" constant="2" id="QeJ-4k-37t"/> <constraint firstItem="Jbe-9l-xF4" firstAttribute="leading" secondItem="71I-66-7Vm" secondAttribute="leading" id="Tex-pk-ZD5"/>
<constraint firstItem="WCm-yO-4iG" firstAttribute="leading" secondItem="Jbe-9l-xF4" secondAttribute="leading" id="Rpp-gE-lH4"/> <constraint firstItem="q90-qj-BXy" firstAttribute="centerY" secondItem="3eT-fn-moA" secondAttribute="centerY" id="VZw-mA-zAc"/>
<constraint firstItem="3IG-rd-b11" firstAttribute="leading" secondItem="WCm-yO-4iG" secondAttribute="trailing" constant="70" id="S42-VS-yXc"/> <constraint firstItem="P6I-yN-chl" firstAttribute="top" secondItem="q90-qj-BXy" secondAttribute="bottom" constant="10" id="Wp6-vh-c45"/>
<constraint firstItem="Jbe-9l-xF4" firstAttribute="leading" secondItem="71I-66-7Vm" secondAttribute="leading" id="Y2K-95-x3Q"/> <constraint firstItem="WCm-yO-4iG" firstAttribute="leading" secondItem="Jbe-9l-xF4" secondAttribute="leading" id="Y0x-fT-GRh"/>
<constraint firstAttribute="trailing" secondItem="Bb7-im-uLW" secondAttribute="trailing" constant="20" symbolic="YES" id="YKT-np-jAY"/> <constraint firstItem="71I-66-7Vm" firstAttribute="trailing" secondItem="nKV-Vh-uaW" secondAttribute="trailing" id="YMU-yy-gfG"/>
<constraint firstAttribute="trailing" secondItem="pbX-DJ-7mU" secondAttribute="trailing" constant="77" id="ayN-uZ-s2z"/> <constraint firstItem="pbX-DJ-7mU" firstAttribute="leading" secondItem="hbS-Ox-rTR" secondAttribute="trailing" constant="8" symbolic="YES" id="bDi-Yo-gUu"/>
<constraint firstItem="WCm-yO-4iG" firstAttribute="top" secondItem="P6I-yN-chl" secondAttribute="bottom" constant="8" symbolic="YES" id="azn-DX-QPs"/> <constraint firstItem="q90-qj-BXy" firstAttribute="top" secondItem="hbS-Ox-rTR" secondAttribute="bottom" constant="12" id="cgo-tr-moS"/>
<constraint firstItem="Rhd-R5-G5h" firstAttribute="leading" secondItem="3IG-rd-b11" secondAttribute="trailing" constant="49" id="bqt-SN-wK4"/> <constraint firstItem="P6I-yN-chl" firstAttribute="leading" secondItem="WCm-yO-4iG" secondAttribute="leading" id="crm-aD-7SO"/>
<constraint firstItem="Q6E-ur-aIL" firstAttribute="leading" secondItem="hbS-Ox-rTR" secondAttribute="leading" id="dNp-IQ-MPp"/> <constraint firstItem="pbX-DJ-7mU" firstAttribute="leading" secondItem="3eT-fn-moA" secondAttribute="leading" id="dxN-Bw-raD"/>
<constraint firstItem="71I-66-7Vm" firstAttribute="trailing" secondItem="nKV-Vh-uaW" secondAttribute="trailing" id="i9F-lq-tj8"/> <constraint firstItem="Q6E-ur-aIL" firstAttribute="top" secondItem="78E-rb-Ecu" secondAttribute="top" constant="20" symbolic="YES" id="fS2-Xh-qxI"/>
<constraint firstItem="Bb7-im-uLW" firstAttribute="trailing" secondItem="71I-66-7Vm" secondAttribute="trailing" id="lkX-6b-9Zr"/> <constraint firstItem="Rhd-R5-G5h" firstAttribute="leading" secondItem="3IG-rd-b11" secondAttribute="trailing" constant="49" id="lmS-0A-XJL"/>
<constraint firstItem="Rhd-R5-G5h" firstAttribute="baseline" secondItem="Bb7-im-uLW" secondAttribute="baseline" id="pFJ-O4-V41"/> <constraint firstItem="P6I-yN-chl" firstAttribute="top" secondItem="3eT-fn-moA" secondAttribute="bottom" constant="8" symbolic="YES" id="oXD-FV-cSV"/>
<constraint firstItem="WCm-yO-4iG" firstAttribute="baseline" secondItem="3IG-rd-b11" secondAttribute="baseline" id="qLX-XI-ppQ"/> <constraint firstItem="pbX-DJ-7mU" firstAttribute="trailing" secondItem="3eT-fn-moA" secondAttribute="trailing" id="osE-Ta-cCX"/>
<constraint firstItem="P6I-yN-chl" firstAttribute="top" secondItem="3eT-fn-moA" secondAttribute="bottom" constant="8" symbolic="YES" id="t6V-IH-PZi"/> <constraint firstItem="q90-qj-BXy" firstAttribute="leading" secondItem="P6I-yN-chl" secondAttribute="leading" id="wYd-Ib-vG5"/>
<constraint firstItem="3eT-fn-moA" firstAttribute="leading" secondItem="Rhd-R5-G5h" secondAttribute="leading" id="v8V-Dg-rYp"/> <constraint firstItem="3eT-fn-moA" firstAttribute="leading" secondItem="Rhd-R5-G5h" secondAttribute="leading" id="y5S-xd-IIK"/>
<constraint firstItem="pbX-DJ-7mU" firstAttribute="leading" secondItem="3eT-fn-moA" secondAttribute="leading" id="xrh-2c-KN3"/> <constraint firstItem="Bb7-im-uLW" firstAttribute="trailing" secondItem="71I-66-7Vm" secondAttribute="trailing" id="zPo-Sm-LX1"/>
<constraint firstItem="hbS-Ox-rTR" firstAttribute="leading" secondItem="q90-qj-BXy" secondAttribute="leading" id="zje-wv-ExT"/> <constraint firstAttribute="trailing" secondItem="pbX-DJ-7mU" secondAttribute="trailing" constant="76" id="zw4-bz-JLZ"/>
</constraints> </constraints>
</view> </view>
</tabViewItem> </tabViewItem>
@ -199,7 +199,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="r8z-mM-M0X"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="r8z-mM-M0X">
<rect key="frame" x="35" y="257" width="201" height="16"/> <rect key="frame" x="35" y="257" width="181" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Port:" id="8fk-fw-Tsx"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Port:" id="8fk-fw-Tsx">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -207,7 +207,10 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c8B-qf-UNK"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="c8B-qf-UNK">
<rect key="frame" x="35" y="288" width="201" height="16"/> <rect key="frame" x="35" y="288" width="181" height="16"/>
<constraints>
<constraint firstAttribute="width" constant="177" id="37M-JU-n0c"/>
</constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Address:" id="jkc-e3-4O0"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local Socks5 Listen Address:" id="jkc-e3-4O0">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -215,7 +218,7 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cd8-PU-OwG"> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cd8-PU-OwG">
<rect key="frame" x="242" y="285" width="218" height="21"/> <rect key="frame" x="222" y="285" width="238" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="LBl-2M-X7O"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="LBl-2M-X7O">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@ -230,7 +233,7 @@
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MvY-R0-1FU"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MvY-R0-1FU">
<rect key="frame" x="35" y="164" width="201" height="16"/> <rect key="frame" x="35" y="164" width="181" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Timeout:" id="sQ9-bj-V0I"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Timeout:" id="sQ9-bj-V0I">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -238,7 +241,7 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zfl-10-Wdk"> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Zfl-10-Wdk">
<rect key="frame" x="242" y="161" width="60" height="21"/> <rect key="frame" x="222" y="161" width="60" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="Ity-ir-Fyi"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="Ity-ir-Fyi">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@ -254,7 +257,7 @@
</connections> </connections>
</textField> </textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="tGd-pe-2xJ"> <button translatesAutoresizingMaskIntoConstraints="NO" id="tGd-pe-2xJ">
<rect key="frame" x="240" y="137" width="222" height="18"/> <rect key="frame" x="220" y="137" width="154" height="18"/>
<buttonCell key="cell" type="check" title="Enable UDP Relay" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="R3v-iN-zu8"> <buttonCell key="cell" type="check" title="Enable UDP Relay" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="R3v-iN-zu8">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -264,9 +267,9 @@
</connections> </connections>
</button> </button>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2rw-0u-LXJ"> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="2rw-0u-LXJ">
<rect key="frame" x="242" y="254" width="60" height="21"/> <rect key="frame" x="222" y="254" width="60" height="21"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="60" id="4ur-1B-1xA"/> <constraint firstAttribute="width" constant="60" id="afC-Ya-WgP"/>
</constraints> </constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="MV1-4D-sap"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="MV1-4D-sap">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -283,7 +286,7 @@
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="a60-LH-adV"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="a60-LH-adV">
<rect key="frame" x="308" y="164" width="99" height="16"/> <rect key="frame" x="288" y="164" width="119" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Seconds" id="4R2-UO-qs7"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Seconds" id="4R2-UO-qs7">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -291,7 +294,7 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="RcT-mn-xqK"> <button translatesAutoresizingMaskIntoConstraints="NO" id="RcT-mn-xqK">
<rect key="frame" x="240" y="117" width="222" height="18"/> <rect key="frame" x="220" y="117" width="154" height="18"/>
<buttonCell key="cell" type="check" title="Enable Verbose Mode" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="cIS-Wb-Rzg"> <buttonCell key="cell" type="check" title="Enable Verbose Mode" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="cIS-Wb-Rzg">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -301,7 +304,7 @@
</connections> </connections>
</button> </button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RYj-h6-uAT"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RYj-h6-uAT">
<rect key="frame" x="35" y="195" width="201" height="16"/> <rect key="frame" x="35" y="195" width="181" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local PAC Server Listen Port:" id="IMQ-c4-gmc"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local PAC Server Listen Port:" id="IMQ-c4-gmc">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@ -309,7 +312,7 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KXG-O0-ake"> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KXG-O0-ake">
<rect key="frame" x="242" y="192" width="60" height="21"/> <rect key="frame" x="222" y="192" width="60" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="T9o-Og-neF"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="T9o-Og-neF">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@ -324,31 +327,8 @@
<outlet property="formatter" destination="C7t-aU-bub" id="3M6-FE-SDQ"/> <outlet property="formatter" destination="C7t-aU-bub" id="3M6-FE-SDQ"/>
</connections> </connections>
</textField> </textField>
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GR0-SX-ali">
<rect key="frame" x="242" y="223" width="218" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="fYc-xd-hb5">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="uQz-5y-ZL2" name="value" keyPath="values.PacServer.ListenAddress" id="tFH-sJ-yeg">
<dictionary key="options">
<bool key="NSContinuouslyUpdatesValue" value="YES"/>
</dictionary>
</binding>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="mhO-vS-JmZ">
<rect key="frame" x="31" y="227" width="205" height="16"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="Local PAC Server Listen Address:" id="80e-Qu-r2S">
<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="kjx-TJ-4n3"> <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kjx-TJ-4n3">
<rect key="frame" x="20" y="66" width="440" height="21"/> <rect key="frame" x="20" y="66" width="352" height="21"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="8u6-Mz-FmD"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="8u6-Mz-FmD">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
@ -367,62 +347,69 @@
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell> </textFieldCell>
</textField> </textField>
<button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="67s-wg-2Sy">
<rect key="frame" x="220" y="224" width="237" height="18"/>
<buttonCell key="cell" type="check" title="Local PAC Server Bind To Localhost" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="oCf-id-PAx">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
<connections>
<binding destination="uQz-5y-ZL2" name="value" keyPath="values.PacServer.BindToLocalhost" id="Yar-rA-DFY"/>
</connections>
</buttonCell>
<connections>
<binding destination="uQz-5y-ZL2" name="value" keyPath="values.PacServer.BindToLocalhost" id="BDg-Bb-qTa"/>
</connections>
</button>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="r8z-mM-M0X" firstAttribute="baseline" secondItem="2rw-0u-LXJ" secondAttribute="baseline" id="0ZI-Nf-2Df"/> <constraint firstItem="RYj-h6-uAT" firstAttribute="leading" secondItem="MvY-R0-1FU" secondAttribute="leading" id="1aA-6v-Q8B"/>
<constraint firstItem="tGd-pe-2xJ" firstAttribute="top" secondItem="Zfl-10-Wdk" secondAttribute="bottom" constant="8" symbolic="YES" id="8A7-YK-KEo"/> <constraint firstItem="2rw-0u-LXJ" firstAttribute="trailing" secondItem="KXG-O0-ake" secondAttribute="trailing" id="2sM-Ud-zaK"/>
<constraint firstItem="4xg-iR-B4f" firstAttribute="leading" secondItem="kjx-TJ-4n3" secondAttribute="leading" id="8kJ-hn-ulH"/> <constraint firstItem="Zfl-10-Wdk" firstAttribute="leading" secondItem="MvY-R0-1FU" secondAttribute="trailing" constant="8" symbolic="YES" id="72a-tV-4gM"/>
<constraint firstItem="RcT-mn-xqK" firstAttribute="trailing" secondItem="kjx-TJ-4n3" secondAttribute="trailing" id="D32-fy-0fC"/> <constraint firstItem="r8z-mM-M0X" firstAttribute="leading" secondItem="RYj-h6-uAT" secondAttribute="leading" id="7dL-ac-PRT"/>
<constraint firstItem="KXG-O0-ake" firstAttribute="leading" secondItem="Zfl-10-Wdk" secondAttribute="leading" id="Dte-Ku-Q7q"/> <constraint firstItem="67s-wg-2Sy" firstAttribute="top" secondItem="2rw-0u-LXJ" secondAttribute="bottom" constant="14" id="8FC-1g-GY6"/>
<constraint firstItem="kjx-TJ-4n3" firstAttribute="top" secondItem="RcT-mn-xqK" secondAttribute="bottom" constant="32" id="Epj-IT-hOu"/> <constraint firstItem="r8z-mM-M0X" firstAttribute="baseline" secondItem="2rw-0u-LXJ" secondAttribute="baseline" id="Avs-sU-9rl"/>
<constraint firstItem="kjx-TJ-4n3" firstAttribute="top" secondItem="4xg-iR-B4f" secondAttribute="bottom" constant="8" symbolic="YES" id="GyQ-L9-keE"/> <constraint firstItem="cd8-PU-OwG" firstAttribute="leading" secondItem="c8B-qf-UNK" secondAttribute="trailing" constant="8" symbolic="YES" id="BRO-xg-HnA"/>
<constraint firstAttribute="trailing" secondItem="cd8-PU-OwG" secondAttribute="trailing" constant="20" symbolic="YES" id="HJt-9K-WU2"/> <constraint firstItem="cd8-PU-OwG" firstAttribute="leading" secondItem="2rw-0u-LXJ" secondAttribute="leading" id="ByT-YT-4YP"/>
<constraint firstItem="Zfl-10-Wdk" firstAttribute="leading" secondItem="tGd-pe-2xJ" secondAttribute="leading" id="HWi-dK-yGk"/> <constraint firstItem="kjx-TJ-4n3" firstAttribute="top" secondItem="RcT-mn-xqK" secondAttribute="bottom" constant="32" id="DhD-hY-Hei"/>
<constraint firstItem="tGd-pe-2xJ" firstAttribute="trailing" secondItem="RcT-mn-xqK" secondAttribute="trailing" id="IYd-zO-iAL"/> <constraint firstItem="tGd-pe-2xJ" firstAttribute="top" secondItem="Zfl-10-Wdk" secondAttribute="bottom" constant="8" symbolic="YES" id="ERy-Kz-wm9"/>
<constraint firstItem="4xg-iR-B4f" firstAttribute="leading" secondItem="Pc1-f7-0zA" secondAttribute="leading" constant="20" symbolic="YES" id="J0h-JM-OJZ"/> <constraint firstItem="c8B-qf-UNK" firstAttribute="leading" secondItem="Pc1-f7-0zA" secondAttribute="leading" constant="37" id="FC0-Uf-JHj"/>
<constraint firstItem="mhO-vS-JmZ" firstAttribute="top" secondItem="r8z-mM-M0X" secondAttribute="bottom" constant="14" id="Kod-Tz-FNj"/> <constraint firstAttribute="trailing" secondItem="a60-LH-adV" secondAttribute="trailing" constant="75" id="Gid-Dg-5o3"/>
<constraint firstItem="Zfl-10-Wdk" firstAttribute="leading" secondItem="MvY-R0-1FU" secondAttribute="trailing" constant="8" symbolic="YES" id="Lnl-U5-OBX"/> <constraint firstItem="RcT-mn-xqK" firstAttribute="trailing" secondItem="kjx-TJ-4n3" secondAttribute="trailing" id="JIF-rX-Yva"/>
<constraint firstItem="c8B-qf-UNK" firstAttribute="leading" secondItem="Pc1-f7-0zA" secondAttribute="leading" constant="37" id="Lx3-So-mJs"/> <constraint firstItem="c8B-qf-UNK" firstAttribute="baseline" secondItem="cd8-PU-OwG" secondAttribute="baseline" id="NZe-9h-P0V"/>
<constraint firstItem="c8B-qf-UNK" firstAttribute="leading" secondItem="r8z-mM-M0X" secondAttribute="leading" id="NlF-80-NoN"/> <constraint firstItem="Zfl-10-Wdk" firstAttribute="baseline" secondItem="a60-LH-adV" secondAttribute="baseline" id="PM4-3S-XXa"/>
<constraint firstItem="KXG-O0-ake" firstAttribute="leading" secondItem="RYj-h6-uAT" secondAttribute="trailing" constant="8" symbolic="YES" id="OLB-Qk-FL3"/> <constraint firstItem="KXG-O0-ake" firstAttribute="leading" secondItem="Zfl-10-Wdk" secondAttribute="leading" id="S1b-KD-JDg"/>
<constraint firstItem="mhO-vS-JmZ" firstAttribute="leading" secondItem="Pc1-f7-0zA" secondAttribute="leading" constant="33" id="QFU-cb-Hrj"/> <constraint firstItem="c8B-qf-UNK" firstAttribute="leading" secondItem="r8z-mM-M0X" secondAttribute="leading" id="VDu-iy-6vK"/>
<constraint firstItem="tGd-pe-2xJ" firstAttribute="leading" secondItem="RcT-mn-xqK" secondAttribute="leading" id="RfF-lb-Wzm"/> <constraint firstItem="4xg-iR-B4f" firstAttribute="leading" secondItem="Pc1-f7-0zA" secondAttribute="leading" constant="20" symbolic="YES" id="VJI-th-aeN"/>
<constraint firstItem="2rw-0u-LXJ" firstAttribute="trailing" secondItem="KXG-O0-ake" secondAttribute="trailing" id="SXI-LF-4wz"/> <constraint firstItem="RcT-mn-xqK" firstAttribute="top" secondItem="tGd-pe-2xJ" secondAttribute="bottom" constant="6" symbolic="YES" id="WlH-NJ-RUt"/>
<constraint firstItem="2rw-0u-LXJ" firstAttribute="leading" secondItem="r8z-mM-M0X" secondAttribute="trailing" constant="8" symbolic="YES" id="TY8-5p-9ag"/> <constraint firstItem="tGd-pe-2xJ" firstAttribute="leading" secondItem="RcT-mn-xqK" secondAttribute="leading" id="YLA-i2-7Fi"/>
<constraint firstItem="cd8-PU-OwG" firstAttribute="trailing" secondItem="GR0-SX-ali" secondAttribute="trailing" id="U5K-rc-9fl"/> <constraint firstItem="KXG-O0-ake" firstAttribute="top" secondItem="67s-wg-2Sy" secondAttribute="bottom" constant="13" id="ZIU-je-F0U"/>
<constraint firstItem="GR0-SX-ali" firstAttribute="leading" secondItem="KXG-O0-ake" secondAttribute="leading" id="USg-Zg-eit"/> <constraint firstItem="Zfl-10-Wdk" firstAttribute="top" secondItem="KXG-O0-ake" secondAttribute="bottom" constant="10" symbolic="YES" id="ahT-23-auY"/>
<constraint firstItem="a60-LH-adV" firstAttribute="leading" secondItem="Zfl-10-Wdk" secondAttribute="trailing" constant="8" symbolic="YES" id="WcP-VA-iMq"/> <constraint firstItem="4xg-iR-B4f" firstAttribute="leading" secondItem="kjx-TJ-4n3" secondAttribute="leading" id="aoH-EQ-rvn"/>
<constraint firstItem="c8B-qf-UNK" firstAttribute="baseline" secondItem="cd8-PU-OwG" secondAttribute="baseline" id="YdQ-6e-RyU"/> <constraint firstItem="a60-LH-adV" firstAttribute="leading" secondItem="Zfl-10-Wdk" secondAttribute="trailing" constant="8" symbolic="YES" id="bOO-HZ-pGJ"/>
<constraint firstItem="RYj-h6-uAT" firstAttribute="leading" secondItem="MvY-R0-1FU" secondAttribute="leading" id="b7u-FV-JP5"/> <constraint firstItem="MvY-R0-1FU" firstAttribute="baseline" secondItem="Zfl-10-Wdk" secondAttribute="baseline" id="cTU-sU-Hbg"/>
<constraint firstItem="2rw-0u-LXJ" firstAttribute="leading" secondItem="GR0-SX-ali" secondAttribute="leading" id="ewz-b9-qpa"/> <constraint firstItem="Zfl-10-Wdk" firstAttribute="leading" secondItem="tGd-pe-2xJ" secondAttribute="leading" id="fOM-N9-QWD"/>
<constraint firstItem="2rw-0u-LXJ" firstAttribute="top" secondItem="cd8-PU-OwG" secondAttribute="bottom" constant="10" symbolic="YES" id="hLh-zw-LeO"/> <constraint firstItem="RYj-h6-uAT" firstAttribute="baseline" secondItem="KXG-O0-ake" secondAttribute="baseline" id="hAh-N6-Vph"/>
<constraint firstItem="GR0-SX-ali" firstAttribute="leading" secondItem="mhO-vS-JmZ" secondAttribute="trailing" constant="8" symbolic="YES" id="j2j-q2-ujq"/> <constraint firstItem="67s-wg-2Sy" firstAttribute="leading" secondItem="KXG-O0-ake" secondAttribute="leading" id="isi-Hl-Asv"/>
<constraint firstItem="Zfl-10-Wdk" firstAttribute="top" secondItem="KXG-O0-ake" secondAttribute="bottom" constant="10" symbolic="YES" id="jWO-Kw-5mv"/> <constraint firstItem="tGd-pe-2xJ" firstAttribute="trailing" secondItem="RcT-mn-xqK" secondAttribute="trailing" id="j1r-Q0-FKa"/>
<constraint firstItem="cd8-PU-OwG" firstAttribute="leading" secondItem="c8B-qf-UNK" secondAttribute="trailing" constant="8" symbolic="YES" id="kr5-Wa-jKW"/> <constraint firstItem="cd8-PU-OwG" firstAttribute="top" secondItem="Pc1-f7-0zA" secondAttribute="top" constant="20" symbolic="YES" id="l9o-ay-eyU"/>
<constraint firstItem="r8z-mM-M0X" firstAttribute="leading" secondItem="RYj-h6-uAT" secondAttribute="leading" id="lag-wc-7bo"/> <constraint firstItem="2rw-0u-LXJ" firstAttribute="top" secondItem="cd8-PU-OwG" secondAttribute="bottom" constant="10" symbolic="YES" id="n0x-Ms-zP0"/>
<constraint firstItem="KXG-O0-ake" firstAttribute="trailing" secondItem="Zfl-10-Wdk" secondAttribute="trailing" id="odt-X9-wYv"/> <constraint firstItem="kjx-TJ-4n3" firstAttribute="top" secondItem="4xg-iR-B4f" secondAttribute="bottom" constant="8" symbolic="YES" id="qo9-qW-tK8"/>
<constraint firstItem="KXG-O0-ake" firstAttribute="top" secondItem="GR0-SX-ali" secondAttribute="bottom" constant="10" symbolic="YES" id="sbI-FW-tlP"/> <constraint firstItem="2rw-0u-LXJ" firstAttribute="leading" secondItem="r8z-mM-M0X" secondAttribute="trailing" constant="8" symbolic="YES" id="rEO-dX-nm4"/>
<constraint firstItem="MvY-R0-1FU" firstAttribute="baseline" secondItem="Zfl-10-Wdk" secondAttribute="baseline" id="slv-0C-Pd5"/> <constraint firstItem="KXG-O0-ake" firstAttribute="trailing" secondItem="Zfl-10-Wdk" secondAttribute="trailing" id="usG-2D-Jps"/>
<constraint firstItem="cd8-PU-OwG" firstAttribute="leading" secondItem="2rw-0u-LXJ" secondAttribute="leading" id="tBc-ki-xfC"/> <constraint firstItem="2rw-0u-LXJ" firstAttribute="leading" secondItem="67s-wg-2Sy" secondAttribute="leading" id="vXT-hO-fLs"/>
<constraint firstItem="GR0-SX-ali" firstAttribute="top" secondItem="2rw-0u-LXJ" secondAttribute="bottom" constant="10" symbolic="YES" id="u6h-QW-yGv"/> <constraint firstAttribute="trailing" secondItem="cd8-PU-OwG" secondAttribute="trailing" constant="20" symbolic="YES" id="zrF-jX-3fl"/>
<constraint firstAttribute="trailing" secondItem="a60-LH-adV" secondAttribute="trailing" constant="75" id="uSw-AP-tG3"/>
<constraint firstItem="RcT-mn-xqK" firstAttribute="top" secondItem="tGd-pe-2xJ" secondAttribute="bottom" constant="6" symbolic="YES" id="v7V-kw-1b8"/>
<constraint firstItem="RYj-h6-uAT" firstAttribute="baseline" secondItem="KXG-O0-ake" secondAttribute="baseline" id="vSB-4o-Vk6"/>
<constraint firstItem="Zfl-10-Wdk" firstAttribute="baseline" secondItem="a60-LH-adV" secondAttribute="baseline" id="wen-Zv-PGp"/>
<constraint firstItem="GR0-SX-ali" firstAttribute="trailing" secondItem="tGd-pe-2xJ" secondAttribute="trailing" id="wqz-CL-0i7"/>
<constraint firstItem="cd8-PU-OwG" firstAttribute="top" secondItem="Pc1-f7-0zA" secondAttribute="top" constant="20" symbolic="YES" id="yFy-28-ydI"/>
</constraints> </constraints>
</view> </view>
</tabViewItem> </tabViewItem>
<tabViewItem label="HTTP" identifier="http" id="F5Q-Ce-JJN"> <tabViewItem label="HTTP" identifier="http" id="F5Q-Ce-JJN">
<view key="view" id="kK3-29-KeI"> <view key="view" id="kK3-29-KeI">
<rect key="frame" x="0.0" y="0.0" width="480" height="326"/> <rect key="frame" x="0.0" y="0.0" width="479" height="326"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XI2-x3-9ie"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XI2-x3-9ie">
<rect key="frame" x="18" y="288" width="217" height="16"/> <rect key="frame" x="18" y="288" width="217" height="16"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="213" id="sfC-mi-IB3"/> <constraint firstAttribute="width" constant="213" id="pd4-On-JhI"/>
</constraints> </constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="HTTP Proxy Listen Address:" id="6W4-TY-Bw5"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="HTTP Proxy Listen Address:" id="6W4-TY-Bw5">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -456,7 +443,7 @@
<textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OoG-C4-oji"> <textField verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OoG-C4-oji">
<rect key="frame" x="247" y="254" width="70" height="21"/> <rect key="frame" x="247" y="254" width="70" height="21"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="70" id="roJ-9Y-Tcx"/> <constraint firstAttribute="width" constant="70" id="xcK-p4-AFO"/>
</constraints> </constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="0bX-LS-7QW"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="right" drawsBackground="YES" id="0bX-LS-7QW">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -494,26 +481,26 @@
</button> </button>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="xWf-Bw-9V9" firstAttribute="top" secondItem="URa-Z3-BgW" secondAttribute="bottom" constant="21" id="BKv-OP-8ZE"/> <constraint firstItem="URa-Z3-BgW" firstAttribute="baseline" secondItem="OoG-C4-oji" secondAttribute="baseline" id="Aj1-X9-AaX"/>
<constraint firstItem="Ee3-wg-WSi" firstAttribute="top" secondItem="xWf-Bw-9V9" secondAttribute="bottom" constant="20" id="CEm-c0-tRx"/> <constraint firstItem="xWf-Bw-9V9" firstAttribute="leading" secondItem="Ee3-wg-WSi" secondAttribute="leading" id="D5c-Hf-hbn"/>
<constraint firstAttribute="trailing" secondItem="A8G-1x-YxA" secondAttribute="trailing" constant="20" symbolic="YES" id="Dql-Ne-cOs"/> <constraint firstItem="XI2-x3-9ie" firstAttribute="baseline" secondItem="A8G-1x-YxA" secondAttribute="baseline" id="GBh-Wy-StZ"/>
<constraint firstItem="XI2-x3-9ie" firstAttribute="trailing" secondItem="URa-Z3-BgW" secondAttribute="trailing" id="GHV-xz-Lfc"/> <constraint firstItem="Ee3-wg-WSi" firstAttribute="top" secondItem="xWf-Bw-9V9" secondAttribute="bottom" constant="20" id="MRV-c0-DsH"/>
<constraint firstItem="XI2-x3-9ie" firstAttribute="baseline" secondItem="A8G-1x-YxA" secondAttribute="baseline" id="HjC-48-pDL"/> <constraint firstItem="XI2-x3-9ie" firstAttribute="trailing" secondItem="URa-Z3-BgW" secondAttribute="trailing" id="Ndh-r0-5BA"/>
<constraint firstItem="A8G-1x-YxA" firstAttribute="top" secondItem="kK3-29-KeI" secondAttribute="top" constant="20" symbolic="YES" id="JHe-iA-Tc1"/> <constraint firstAttribute="trailing" secondItem="A8G-1x-YxA" secondAttribute="trailing" constant="19" id="P7w-PO-lyw"/>
<constraint firstItem="A8G-1x-YxA" firstAttribute="leading" secondItem="XI2-x3-9ie" secondAttribute="trailing" constant="14" id="Pux-To-rNB"/> <constraint firstItem="A8G-1x-YxA" firstAttribute="leading" secondItem="OoG-C4-oji" secondAttribute="leading" id="R8T-f7-dn2"/>
<constraint firstItem="XI2-x3-9ie" firstAttribute="leading" secondItem="kK3-29-KeI" secondAttribute="leading" constant="20" symbolic="YES" id="Q6N-DE-1pf"/> <constraint firstItem="A8G-1x-YxA" firstAttribute="top" secondItem="kK3-29-KeI" secondAttribute="top" constant="20" symbolic="YES" id="aXD-oD-GcI"/>
<constraint firstItem="URa-Z3-BgW" firstAttribute="baseline" secondItem="OoG-C4-oji" secondAttribute="baseline" id="RcL-PN-6y7"/> <constraint firstItem="A8G-1x-YxA" firstAttribute="leading" secondItem="XI2-x3-9ie" secondAttribute="trailing" constant="14" id="c1Q-No-GbX"/>
<constraint firstItem="A8G-1x-YxA" firstAttribute="leading" secondItem="OoG-C4-oji" secondAttribute="leading" id="aUI-7o-hLd"/> <constraint firstItem="OoG-C4-oji" firstAttribute="top" secondItem="A8G-1x-YxA" secondAttribute="bottom" constant="10" symbolic="YES" id="g7t-rt-dUV"/>
<constraint firstItem="xWf-Bw-9V9" firstAttribute="leading" secondItem="kK3-29-KeI" secondAttribute="leading" constant="32" id="oIf-rc-KK2"/> <constraint firstItem="XI2-x3-9ie" firstAttribute="leading" secondItem="URa-Z3-BgW" secondAttribute="leading" id="mZ6-ha-7XJ"/>
<constraint firstItem="OoG-C4-oji" firstAttribute="top" secondItem="A8G-1x-YxA" secondAttribute="bottom" constant="10" symbolic="YES" id="rKM-3R-DKm"/> <constraint firstItem="xWf-Bw-9V9" firstAttribute="leading" secondItem="kK3-29-KeI" secondAttribute="leading" constant="32" id="nh8-k4-cWC"/>
<constraint firstItem="XI2-x3-9ie" firstAttribute="leading" secondItem="URa-Z3-BgW" secondAttribute="leading" id="yb0-96-neB"/> <constraint firstItem="XI2-x3-9ie" firstAttribute="leading" secondItem="kK3-29-KeI" secondAttribute="leading" constant="20" symbolic="YES" id="wbx-Xy-yfh"/>
<constraint firstItem="xWf-Bw-9V9" firstAttribute="leading" secondItem="Ee3-wg-WSi" secondAttribute="leading" id="zHV-pr-4eC"/> <constraint firstItem="xWf-Bw-9V9" firstAttribute="top" secondItem="URa-Z3-BgW" secondAttribute="bottom" constant="21" id="ysE-Xx-EKD"/>
</constraints> </constraints>
</view> </view>
</tabViewItem> </tabViewItem>
<tabViewItem label="Interfaces" identifier="interfaces" id="eDR-CZ-P4p"> <tabViewItem label="Interfaces" identifier="interfaces" id="eDR-CZ-P4p">
<view key="view" id="Ati-LQ-RB7"> <view key="view" misplaced="YES" id="Ati-LQ-RB7">
<rect key="frame" x="0.0" y="0.0" width="480" height="326"/> <rect key="frame" x="0.0" y="0.0" width="479" height="326"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<button translatesAutoresizingMaskIntoConstraints="NO" id="x9X-2w-cOy"> <button translatesAutoresizingMaskIntoConstraints="NO" id="x9X-2w-cOy">
@ -541,7 +528,7 @@
<tableColumns> <tableColumns>
<tableColumn width="435" minWidth="40" maxWidth="1000" id="4CL-dk-HUu"> <tableColumn width="435" minWidth="40" maxWidth="1000" id="4CL-dk-HUu">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border"> <tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<font key="font" metaFont="message" size="11"/> <font key="font" metaFont="menu" size="11"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/> <color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell> </tableHeaderCell>
@ -576,7 +563,7 @@
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fMc-SG-EDy"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fMc-SG-EDy">
<rect key="frame" x="18" y="265" width="444" height="41"/> <rect key="frame" x="18" y="265" width="444" height="41"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="41" id="c3N-Rd-qDT"/> <constraint firstAttribute="height" constant="41" id="8Tc-8R-1jj"/>
</constraints> </constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Which network interfaces proxy setting would be controlled by ShadowsocksX-NG" id="t0I-6n-gnu"> <textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Which network interfaces proxy setting would be controlled by ShadowsocksX-NG" id="t0I-6n-gnu">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -587,7 +574,7 @@
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1lH-rX-WZT"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1lH-rX-WZT">
<rect key="frame" x="18" y="78" width="373" height="16"/> <rect key="frame" x="18" y="78" width="373" height="16"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="369" id="Xdn-S8-heX"/> <constraint firstAttribute="width" constant="369" id="uWk-mY-ajK"/>
</constraints> </constraints>
<textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Bypass proxy settings for these Hosts &amp; Domains:" id="v4F-L4-s8U"> <textFieldCell key="cell" sendsActionOnEndEditing="YES" title="Bypass proxy settings for these Hosts &amp; Domains:" id="v4F-L4-s8U">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -598,7 +585,7 @@
<textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="N84-AY-ecA"> <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="N84-AY-ecA">
<rect key="frame" x="20" y="20" width="440" height="45"/> <rect key="frame" x="20" y="20" width="440" height="45"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="45" id="eGD-Ou-aXQ"/> <constraint firstAttribute="height" constant="45" id="R7N-ad-q8p"/>
</constraints> </constraints>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="g2Z-r8-ipF"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="g2Z-r8-ipF">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -625,23 +612,23 @@
</button> </button>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstItem="x9X-2w-cOy" firstAttribute="top" secondItem="fMc-SG-EDy" secondAttribute="bottom" constant="8" symbolic="YES" id="0jg-uD-1Vb"/> <constraint firstItem="dGc-zC-AYJ" firstAttribute="top" secondItem="x9X-2w-cOy" secondAttribute="bottom" constant="13" id="5jW-Mo-Pc5"/>
<constraint firstItem="qG0-rB-6MR" firstAttribute="trailing" secondItem="N84-AY-ecA" secondAttribute="trailing" id="1UW-26-d66"/> <constraint firstItem="x9X-2w-cOy" firstAttribute="leading" secondItem="dGc-zC-AYJ" secondAttribute="leading" id="7eE-eY-Whe"/>
<constraint firstItem="N84-AY-ecA" firstAttribute="top" secondItem="qG0-rB-6MR" secondAttribute="bottom" constant="10" id="4EL-Df-LY9"/> <constraint firstItem="dGc-zC-AYJ" firstAttribute="leading" secondItem="1lH-rX-WZT" secondAttribute="leading" id="DH7-r8-mwZ"/>
<constraint firstAttribute="trailing" secondItem="fMc-SG-EDy" secondAttribute="trailing" constant="20" symbolic="YES" id="9Wi-sZ-wgS"/> <constraint firstItem="1lH-rX-WZT" firstAttribute="leading" secondItem="N84-AY-ecA" secondAttribute="leading" id="GgB-L7-cW8"/>
<constraint firstItem="1lH-rX-WZT" firstAttribute="baseline" secondItem="qG0-rB-6MR" secondAttribute="baseline" id="HF9-QP-IpC"/> <constraint firstItem="fMc-SG-EDy" firstAttribute="leading" secondItem="x9X-2w-cOy" secondAttribute="leading" id="HtT-3a-mit"/>
<constraint firstItem="fMc-SG-EDy" firstAttribute="leading" secondItem="x9X-2w-cOy" secondAttribute="leading" id="HWL-lv-sjZ"/> <constraint firstItem="dGc-zC-AYJ" firstAttribute="trailing" secondItem="qG0-rB-6MR" secondAttribute="trailing" id="Hvf-rM-FRI"/>
<constraint firstAttribute="bottom" secondItem="N84-AY-ecA" secondAttribute="bottom" constant="20" symbolic="YES" id="In6-QP-n1f"/> <constraint firstItem="qG0-rB-6MR" firstAttribute="trailing" secondItem="N84-AY-ecA" secondAttribute="trailing" id="Q6X-Sp-lFi"/>
<constraint firstItem="fMc-SG-EDy" firstAttribute="leading" secondItem="Ati-LQ-RB7" secondAttribute="leading" constant="20" symbolic="YES" id="PU1-gp-gAc"/> <constraint firstItem="qG0-rB-6MR" firstAttribute="leading" secondItem="1lH-rX-WZT" secondAttribute="trailing" constant="8" symbolic="YES" id="c5y-iA-dyS"/>
<constraint firstItem="fMc-SG-EDy" firstAttribute="trailing" secondItem="dGc-zC-AYJ" secondAttribute="trailing" id="Rqh-UT-KO9"/> <constraint firstItem="fMc-SG-EDy" firstAttribute="leading" secondItem="Ati-LQ-RB7" secondAttribute="leading" constant="20" symbolic="YES" id="doB-b9-Gri"/>
<constraint firstItem="qG0-rB-6MR" firstAttribute="leading" secondItem="1lH-rX-WZT" secondAttribute="trailing" constant="8" symbolic="YES" id="TaE-Mm-uii"/> <constraint firstAttribute="bottom" secondItem="N84-AY-ecA" secondAttribute="bottom" constant="20" symbolic="YES" id="eWN-hg-7YJ"/>
<constraint firstItem="fMc-SG-EDy" firstAttribute="top" secondItem="Ati-LQ-RB7" secondAttribute="top" constant="20" symbolic="YES" id="bse-fA-UJ2"/> <constraint firstItem="qG0-rB-6MR" firstAttribute="top" secondItem="dGc-zC-AYJ" secondAttribute="bottom" constant="15" id="hpv-9Y-g7G"/>
<constraint firstItem="qG0-rB-6MR" firstAttribute="top" secondItem="dGc-zC-AYJ" secondAttribute="bottom" constant="15" id="g7y-2x-sJm"/> <constraint firstItem="fMc-SG-EDy" firstAttribute="trailing" secondItem="dGc-zC-AYJ" secondAttribute="trailing" id="ikc-gG-3MB"/>
<constraint firstItem="dGc-zC-AYJ" firstAttribute="trailing" secondItem="qG0-rB-6MR" secondAttribute="trailing" id="k36-tG-7XN"/> <constraint firstItem="N84-AY-ecA" firstAttribute="top" secondItem="qG0-rB-6MR" secondAttribute="bottom" constant="10" id="jDx-Uy-AhQ"/>
<constraint firstItem="dGc-zC-AYJ" firstAttribute="top" secondItem="x9X-2w-cOy" secondAttribute="bottom" constant="13" id="l9R-Jj-PPb"/> <constraint firstItem="fMc-SG-EDy" firstAttribute="top" secondItem="Ati-LQ-RB7" secondAttribute="top" constant="20" symbolic="YES" id="kY4-8C-LzC"/>
<constraint firstItem="dGc-zC-AYJ" firstAttribute="leading" secondItem="1lH-rX-WZT" secondAttribute="leading" id="puH-03-xZf"/> <constraint firstItem="x9X-2w-cOy" firstAttribute="top" secondItem="fMc-SG-EDy" secondAttribute="bottom" constant="8" symbolic="YES" id="luD-Zw-Bag"/>
<constraint firstItem="1lH-rX-WZT" firstAttribute="leading" secondItem="N84-AY-ecA" secondAttribute="leading" id="qVi-lk-SV5"/> <constraint firstItem="fMc-SG-EDy" firstAttribute="centerX" secondItem="Ati-LQ-RB7" secondAttribute="centerX" id="qiF-jK-5Jt"/>
<constraint firstItem="x9X-2w-cOy" firstAttribute="leading" secondItem="dGc-zC-AYJ" secondAttribute="leading" id="rYi-hf-W9A"/> <constraint firstItem="1lH-rX-WZT" firstAttribute="baseline" secondItem="qG0-rB-6MR" secondAttribute="baseline" id="rtB-T6-I3K"/>
</constraints> </constraints>
</view> </view>
</tabViewItem> </tabViewItem>
@ -649,10 +636,10 @@
</tabView> </tabView>
</subviews> </subviews>
<constraints> <constraints>
<constraint firstAttribute="bottom" secondItem="h22-uy-K1x" secondAttribute="bottom" id="QIw-hg-vJ4"/> <constraint firstItem="h22-uy-K1x" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="HCv-ZJ-Q2c"/>
<constraint firstItem="h22-uy-K1x" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="vAv-dd-mqz"/> <constraint firstAttribute="trailing" secondItem="h22-uy-K1x" secondAttribute="trailing" id="MeG-fb-l06"/>
<constraint firstItem="h22-uy-K1x" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="vbs-j1-mbj"/> <constraint firstAttribute="bottom" secondItem="h22-uy-K1x" secondAttribute="bottom" id="XlW-sY-ILc"/>
<constraint firstAttribute="trailing" secondItem="h22-uy-K1x" secondAttribute="trailing" id="vna-YV-GzQ"/> <constraint firstItem="h22-uy-K1x" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="Yrg-VE-f0G"/>
</constraints> </constraints>
</view> </view>
<toolbar key="toolbar" implicitIdentifier="8C4EF182-55FF-4325-A88F-2B007115CF4C" autosavesConfiguration="NO" allowsUserCustomization="NO" displayMode="iconAndLabel" sizeMode="regular" id="D9u-IW-4jN"> <toolbar key="toolbar" implicitIdentifier="8C4EF182-55FF-4325-A88F-2B007115CF4C" autosavesConfiguration="NO" allowsUserCustomization="NO" displayMode="iconAndLabel" sizeMode="regular" id="D9u-IW-4jN">

View File

@ -41,7 +41,7 @@ func diagnose() -> String {
"ShadowsocksRunningMode", "ShadowsocksRunningMode",
"LocalSocks5.ListenPort", "LocalSocks5.ListenPort",
"LocalSocks5.ListenAddress", "LocalSocks5.ListenAddress",
"PacServer.ListenAddress", "PacServer.BindToLocalhost",
"PacServer.ListenPort", "PacServer.ListenPort",
"LocalSocks5.Timeout", "LocalSocks5.Timeout",
"LocalSocks5.EnableUDPRelay", "LocalSocks5.EnableUDPRelay",

View File

@ -208,7 +208,7 @@ GCDWebServer *webServer = nil;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString * address = [defaults stringForKey:@"PacServer.ListenAddress"]; NSString * address = @"localhost";
int port = (short)[defaults integerForKey:@"PacServer.ListenPort"]; int port = (short)[defaults integerForKey:@"PacServer.ListenPort"];
return [NSString stringWithFormat:@"%@%@:%d%@",@"http://",address,port,routerPath]; return [NSString stringWithFormat:@"%@%@:%d%@",@"http://",address,port,routerPath];
@ -243,10 +243,13 @@ GCDWebServer *webServer = nil;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString * address = [defaults stringForKey:@"PacServer.ListenAddress"]; BOOL bindToLocalhost = [defaults boolForKey:@"PacServer.BindToLocalhost"];
int port = (short)[defaults integerForKey:@"PacServer.ListenPort"]; int port = (short)[defaults integerForKey:@"PacServer.ListenPort"];
[webServer startWithOptions:@{@"ServerName":address,@"Port":@(port)} error:nil]; [webServer startWithOptions:@{
GCDWebServerOption_BindToLocalhost: @(bindToLocalhost),
GCDWebServerOption_Port: @(port)
} error:nil];
} }
+ (void)stopPACServer { + (void)stopPACServer {

View File

@ -52,8 +52,8 @@
/* Class = "NSTextFieldCell"; title = "Num of Kcptun connections:"; ObjectID = "FSi-9j-QBe"; */ /* Class = "NSTextFieldCell"; title = "Num of Kcptun connections:"; ObjectID = "FSi-9j-QBe"; */
"FSi-9j-QBe.title" = "Num of Kcptun connections:"; "FSi-9j-QBe.title" = "Num of Kcptun connections:";
/* Class = "NSTextFieldCell"; title = "Local PAC Server Listen Address:"; ObjectID = "80e-Qu-r2S"; */ /* Class = "NSButtonCell"; title = "Local PAC Server Bind To Localhost"; ObjectID = "oCf-id-PAx"; */
"80e-Qu-r2S.title" = "本地PAC服务器监听地址:"; "oCf-id-PAx.title" = "本地PAC服务器监听localhost";
/* Class = "NSTextFieldCell"; title = "Local PAC Server Listen Port:"; ObjectID = "IMQ-c4-gmc"; */ /* Class = "NSTextFieldCell"; title = "Local PAC Server Listen Port:"; ObjectID = "IMQ-c4-gmc"; */
"IMQ-c4-gmc.title" = "本地PAC服务器监听端口:"; "IMQ-c4-gmc.title" = "本地PAC服务器监听端口:";