gitextract_jyjjkvlh/ ├── .editorconfig ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── config.yml │ │ ├── feature_request.md │ │ └── other-issue.md │ ├── renovate.json │ └── workflows/ │ └── CI.yml ├── .gitignore ├── Build/ │ └── DotNetDllPathPatcher.ps1 ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── UnitTest/ │ ├── DnsTest.cs │ ├── EncryptionTest.cs │ ├── IPSubnet.cs │ ├── ServerTest.cs │ ├── SubscribeTest.cs │ ├── UnitTest.cs │ └── UnitTest.csproj ├── build.ps1 ├── shadowsocks-csharp/ │ ├── Controller/ │ │ ├── AutoStartup.cs │ │ ├── FileManager.cs │ │ ├── HttpRequest/ │ │ │ ├── GfwListUpdater.cs │ │ │ ├── HttpRequest.cs │ │ │ ├── UpdateChecker.cs │ │ │ └── UpdateNode.cs │ │ ├── Logging.cs │ │ ├── MainController.cs │ │ ├── MenuViewController.cs │ │ ├── Service/ │ │ │ ├── HostDaemon.cs │ │ │ ├── HostMap.cs │ │ │ ├── HttpPortForwarder.cs │ │ │ ├── HttpProxyRunner.cs │ │ │ ├── Listener.cs │ │ │ ├── Local.cs │ │ │ ├── PACDaemon.cs │ │ │ ├── PACServer.cs │ │ │ ├── ProtocolResponseDetector.cs │ │ │ ├── Socks5Forwarder.cs │ │ │ ├── SpeedTest.cs │ │ │ └── UpdateSubscribeManager.cs │ │ └── SystemProxy.cs │ ├── Data/ │ │ ├── abp.js │ │ ├── chn_ip.txt │ │ ├── proxy.pac.txt │ │ └── user-rule.txt │ ├── Encryption/ │ │ ├── CircularBuffer/ │ │ │ └── ByteCircularBuffer.cs │ │ ├── CryptoUtils.cs │ │ ├── EncryptorBase.cs │ │ ├── EncryptorFactory.cs │ │ ├── EncryptorInfo.cs │ │ ├── Exception/ │ │ │ └── CryptoException.cs │ │ ├── IEncryptor.cs │ │ ├── OpenSSL.cs │ │ ├── Sodium.cs │ │ └── Stream/ │ │ ├── NoneEncryptor.cs │ │ ├── StreamEncryptor.cs │ │ ├── StreamOpenSSLEncryptor.cs │ │ └── StreamSodiumEncryptor.cs │ ├── Enums/ │ │ ├── BalanceType.cs │ │ ├── DnsType.cs │ │ ├── HttpRequestProxyType.cs │ │ ├── LogLevel.cs │ │ ├── PacType.cs │ │ ├── PortMapType.cs │ │ ├── ProxyMode.cs │ │ ├── ProxyRuleMode.cs │ │ ├── ProxyType.cs │ │ └── ServerTreeViewType.cs │ ├── I18N/ │ │ ├── App.en-US.xaml │ │ ├── App.zh-CN.xaml │ │ ├── App.zh-TW.xaml │ │ ├── ConfigWindow.en-US.xaml │ │ ├── ConfigWindow.zh-CN.xaml │ │ ├── ConfigWindow.zh-TW.xaml │ │ ├── DnsSettingWindow.en-US.xaml │ │ ├── DnsSettingWindow.zh-CN.xaml │ │ ├── DnsSettingWindow.zh-TW.xaml │ │ ├── LogWindow.en-US.xaml │ │ ├── LogWindow.zh-CN.xaml │ │ ├── LogWindow.zh-TW.xaml │ │ ├── PortSettingsWindow.en-US.xaml │ │ ├── PortSettingsWindow.zh-CN.xaml │ │ ├── PortSettingsWindow.zh-TW.xaml │ │ ├── ServerLogWindow.en-US.xaml │ │ ├── ServerLogWindow.zh-CN.xaml │ │ ├── ServerLogWindow.zh-TW.xaml │ │ ├── SettingsWindow.en-US.xaml │ │ ├── SettingsWindow.zh-CN.xaml │ │ ├── SettingsWindow.zh-TW.xaml │ │ ├── SubscribeWindow.en-US.xaml │ │ ├── SubscribeWindow.zh-CN.xaml │ │ └── SubscribeWindow.zh-TW.xaml │ ├── Model/ │ │ ├── Configuration.cs │ │ ├── ConfigurationException.cs │ │ ├── Connections.cs │ │ ├── DnsBuffer.cs │ │ ├── DnsClient.cs │ │ ├── ErrorLog.cs │ │ ├── Global.cs │ │ ├── HostNode.cs │ │ ├── IPRangeSet.cs │ │ ├── IPSegment.cs │ │ ├── LRUCache.cs │ │ ├── MinSearchTree.cs │ │ ├── PortMapConfig.cs │ │ ├── PortMapConfigCache.cs │ │ ├── Rule.cs │ │ ├── Server.cs │ │ ├── ServerSelectStrategy.cs │ │ ├── ServerSubscribe.cs │ │ ├── ServerTreeViewModel.cs │ │ ├── Transfer/ │ │ │ ├── ServerSpeedLog.cs │ │ │ ├── ServerTrans.cs │ │ │ ├── ServerTransferTotal.cs │ │ │ └── TransLog.cs │ │ ├── UriVisitTime.cs │ │ └── WindowStatus.cs │ ├── Obfs/ │ │ ├── AuthAES128SHA1.cs │ │ ├── AuthAkarin.cs │ │ ├── AuthAkarin_spec_a.cs │ │ ├── AuthChain_a.cs │ │ ├── AuthChain_b.cs │ │ ├── AuthChain_c.cs │ │ ├── AuthChain_d.cs │ │ ├── AuthChain_e.cs │ │ ├── AuthChain_f.cs │ │ ├── AuthData.cs │ │ ├── AuthSHA1.cs │ │ ├── AuthSHA1V2.cs │ │ ├── AuthSHA1V4.cs │ │ ├── HttpSimpleObfs.cs │ │ ├── IObfs.cs │ │ ├── ObfsBase.cs │ │ ├── ObfsException.cs │ │ ├── ObfsFactory.cs │ │ ├── Plain.cs │ │ ├── ProtocolException.cs │ │ ├── ServerInfo.cs │ │ ├── TlsAuthData.cs │ │ ├── TlsTicketAuthObfs.cs │ │ ├── VerifyData.cs │ │ ├── VerifyDeflateObfs.cs │ │ ├── VerifySimpleBase.cs │ │ └── xorshift128plus.cs │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── Proxy/ │ │ ├── CallbackState.cs │ │ ├── CallbackStatus.cs │ │ ├── Handler.cs │ │ ├── HandlerConfig.cs │ │ ├── HttpParser.cs │ │ ├── IHandler.cs │ │ ├── ProxyAuthHandler.cs │ │ ├── ProxyEncryptSocket.cs │ │ ├── ProxySocketTun.cs │ │ └── ProxySocketTunLocal.cs │ ├── SyncfusionLicenseRegister.bat │ ├── Util/ │ │ ├── Base64.cs │ │ ├── CRC.cs │ │ ├── ColorConvert.cs │ │ ├── Constants.cs │ │ ├── I18NUtil.cs │ │ ├── JsonUtils.cs │ │ ├── NetUtils/ │ │ │ ├── DnsUtil.cs │ │ │ ├── IPSubnet.cs │ │ │ ├── SocketUtil.cs │ │ │ └── WrappedSocket.cs │ │ ├── QrCodeUtils.cs │ │ ├── RNG.cs │ │ ├── Reg.cs │ │ ├── Utils.cs │ │ └── ViewUtils.cs │ ├── View/ │ │ ├── Controls/ │ │ │ ├── BindablePasswordBox.cs │ │ │ ├── GridColumnSizerExt.cs │ │ │ ├── MaskedTextBox.xaml │ │ │ ├── MaskedTextBox.xaml.cs │ │ │ ├── NumberUpDown.xaml │ │ │ └── NumberUpDown.xaml.cs │ │ ├── DnsSettingWindow.xaml │ │ ├── DnsSettingWindow.xaml.cs │ │ ├── LogWindow.xaml │ │ ├── LogWindow.xaml.cs │ │ ├── NotifyIconResources.xaml │ │ ├── PortSettingsWindow.xaml │ │ ├── PortSettingsWindow.xaml.cs │ │ ├── QRCodeSplashWindow.xaml │ │ ├── QRCodeSplashWindow.xaml.cs │ │ ├── ServerConfigWindow.xaml │ │ ├── ServerConfigWindow.xaml.cs │ │ ├── ServerLogWindow.xaml │ │ ├── ServerLogWindow.xaml.cs │ │ ├── SettingsWindow.xaml │ │ ├── SettingsWindow.xaml.cs │ │ ├── ShowTextWindow.xaml │ │ ├── ShowTextWindow.xaml.cs │ │ ├── SubscribeWindow.xaml │ │ ├── SubscribeWindow.xaml.cs │ │ └── ValueConverter/ │ │ ├── BalanceTypeEnumConverter.cs │ │ ├── BooleanToEnabledConverter.cs │ │ ├── ConnectEmptyToBrushConverter.cs │ │ ├── ConnectErrorToBrushConverter.cs │ │ ├── ConnectNumberToBrushConverter.cs │ │ ├── ErrorPercentToBrushConverter.cs │ │ ├── LatencyToBrushConverter.cs │ │ ├── ProxyTypeConverter.cs │ │ ├── ProxyTypeEnumConverter.cs │ │ ├── ServerTreeTypeToFontConverter.cs │ │ ├── SpeedToBrushConverter.cs │ │ ├── TotalDownloadBackgroundBrushConvert.cs │ │ ├── TotalDownloadRawBackgroundBrushConvert.cs │ │ ├── TotalUploadBackgroundBrushConvert.cs │ │ └── UnixSecondsToString.cs │ ├── ViewModel/ │ │ ├── DnsSettingViewModel.cs │ │ ├── ServerConfigViewModel.cs │ │ ├── ServerLogViewModel.cs │ │ ├── SettingViewModel.cs │ │ ├── SubscribeWindowViewModel.cs │ │ └── ViewModelBase.cs │ └── shadowsocksr.csproj └── shadowsocks-csharp.sln