From b95403a0bc69f22b3cef11c4a48b66556c19ff4b Mon Sep 17 00:00:00 2001 From: yicheng Date: Thu, 30 Aug 2018 20:32:27 +0800 Subject: [PATCH 01/16] Fixed: select group error when having emjoi in group name --- ClashX/AppDelegate.swift | 2 +- ClashX/General/ApiRequest.swift | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ClashX/AppDelegate.swift b/ClashX/AppDelegate.swift index e80fa26..3ba16e7 100644 --- a/ClashX/AppDelegate.swift +++ b/ClashX/AppDelegate.swift @@ -117,7 +117,6 @@ class AppDelegate: NSObject, NSApplicationDelegate { _ = ProxyConfigManager.setUpSystemProxy(port: config!.port,socksPort: config!.socketPort) } - self.selectProxyGroupWithMemory() }.disposed(by: disposeBag) LaunchAtLogin.shared @@ -216,6 +215,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { self.resetStreamApi() self.selectOutBoundModeWithMenory() self.selectAllowLanWithMenory() + self.selectProxyGroupWithMemory() } } diff --git a/ClashX/General/ApiRequest.swift b/ClashX/General/ApiRequest.swift index 36ae257..deadbe0 100644 --- a/ClashX/General/ApiRequest.swift +++ b/ClashX/General/ApiRequest.swift @@ -135,7 +135,8 @@ class ApiRequest{ } static func updateProxyGroup(group:String,selectProxy:String,callback:@escaping ((Bool)->())) { - request(ConfigManager.apiUrl + "/proxies/\(group)", method: .put, parameters: ["name":selectProxy], encoding: JSONEncoding.default).responseJSON { (response) in + let groupEncoded = group.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" + request(ConfigManager.apiUrl + "/proxies/\(groupEncoded)", method: .put, parameters: ["name":selectProxy], encoding: JSONEncoding.default).responseJSON { (response) in callback(response.response?.statusCode == 204) } } From 9dc4b9bf197f548f9c1be486e2596fdc92d3ba57 Mon Sep 17 00:00:00 2001 From: yicheng Date: Fri, 31 Aug 2018 21:31:56 +0800 Subject: [PATCH 02/16] Fixed: Typo --- ClashX/Base.lproj/Main.storyboard | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ClashX/Base.lproj/Main.storyboard b/ClashX/Base.lproj/Main.storyboard index 77b8b67..3efdd27 100644 --- a/ClashX/Base.lproj/Main.storyboard +++ b/ClashX/Base.lproj/Main.storyboard @@ -85,7 +85,7 @@ - + @@ -112,7 +112,7 @@ - + From cd315905e544e37fe2f4e26c15d51fea7456e441 Mon Sep 17 00:00:00 2001 From: yichengchen Date: Sat, 1 Sep 2018 14:19:53 +0800 Subject: [PATCH 03/16] Optimized: Backup Config file before override it. --- ClashX/AppDelegate.swift | 12 +++-------- ClashX/General/ConfigFileFactory.swift | 20 ++++++++++--------- .../PreferencesWindowController.swift | 1 + 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/ClashX/AppDelegate.swift b/ClashX/AppDelegate.swift index 3ba16e7..802d687 100644 --- a/ClashX/AppDelegate.swift +++ b/ClashX/AppDelegate.swift @@ -135,17 +135,11 @@ class AppDelegate: NSObject, NSApplicationDelegate { if let xx = x.object(forKey: "launch_fail_times") as? Int {launch_fail_times = xx } launch_fail_times += 1 x.set(launch_fail_times, forKey: "launch_fail_times") - if launch_fail_times > 2{ + if launch_fail_times > 2 { //发生连续崩溃 - let path = (NSHomeDirectory() as NSString).appendingPathComponent("/.config/clash/") - let documentDirectory = URL(fileURLWithPath: path) - let originPath = documentDirectory.appendingPathComponent("config.ini") - let destinationPath = documentDirectory.appendingPathComponent("config.ini.bak") - try? FileManager.default.removeItem(at:destinationPath) - try? FileManager.default.moveItem(at: originPath, to: destinationPath) - try? FileManager.default.removeItem(at: documentDirectory.appendingPathComponent("Country.mmdb")) + ConfigFileFactory.backupAndRemoveConfigFile() + try? FileManager.default.removeItem(atPath: kConfigFolderPath + "Country.mmdb") NSUserNotificationCenter.default.post(title: "Fail on launch protect", info: "You origin Config has been rename to config.ini.bak") - } DispatchQueue.global().asyncAfter(deadline: DispatchTime.now() + Double(Int64(1 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC), execute: { x.set(0, forKey: "launch_fail_times") diff --git a/ClashX/General/ConfigFileFactory.swift b/ClashX/General/ConfigFileFactory.swift index cc5f5e5..f363333 100644 --- a/ClashX/General/ConfigFileFactory.swift +++ b/ClashX/General/ConfigFileFactory.swift @@ -65,21 +65,23 @@ class ConfigFileFactory { static func saveToClashConfigFile(str:String) { // save to ~/.config/clash/config.ini - let path = (NSHomeDirectory() as NSString).appendingPathComponent("/.config/clash/config.ini") - + self.backupAndRemoveConfigFile() + try? str.write(to: URL(fileURLWithPath: kConfigFilePath), atomically: true, encoding: .utf8) + } + + static func backupAndRemoveConfigFile() { + let path = kConfigFilePath + if (FileManager.default.fileExists(atPath: path)) { - try? FileManager.default.removeItem(at: URL(fileURLWithPath: path)) + let newPath = "\(kConfigFolderPath)config_\(Date().timeIntervalSince1970).ini" + try? FileManager.default.moveItem(atPath: path, toPath: newPath) } - try? str.write(to: URL(fileURLWithPath: path), atomically: true, encoding: .utf8) } static func copySimpleConfigFile() { let path = Bundle.main.path(forResource: "initConfig", ofType: "ini")! - let target = (NSHomeDirectory() as NSString).appendingPathComponent("/.config/clash/config.ini") - if (FileManager.default.fileExists(atPath: target)) { - try? FileManager.default.removeItem(at: URL(fileURLWithPath: target)) - } - try? FileManager.default.copyItem(atPath: path, toPath: target) + backupAndRemoveConfigFile() + try? FileManager.default.copyItem(atPath: path, toPath: kConfigFolderPath) NSUserNotificationCenter.default.postGenerateSimpleConfigNotice() } diff --git a/ClashX/ViewControllers/PreferencesWindowController.swift b/ClashX/ViewControllers/PreferencesWindowController.swift index cc49684..9e544d2 100755 --- a/ClashX/ViewControllers/PreferencesWindowController.swift +++ b/ClashX/ViewControllers/PreferencesWindowController.swift @@ -138,6 +138,7 @@ class PreferencesWindowController: NSWindowController let str = ConfigFileFactory.configFile(proxies: serverConfigs) ConfigFileFactory.saveToClashConfigFile(str: str) + NotificationCenter.default.post(Notification(name:kShouldUpDateConfig)) window?.performClose(nil) } From 9430fc8e4d81eb6239668356c8b8c678dc7c2799 Mon Sep 17 00:00:00 2001 From: yicheng Date: Sat, 1 Sep 2018 15:51:52 +0800 Subject: [PATCH 04/16] Bump version --- ClashX/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ClashX/Info.plist b/ClashX/Info.plist index 1c1e2ae..39a50b1 100644 --- a/ClashX/Info.plist +++ b/ClashX/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.3.4 + 1.3.5 CFBundleVersion - 1.3.4 + 1.3.5 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement From 8fe07db2ca06884b0558e286e8e909e02635be15 Mon Sep 17 00:00:00 2001 From: yicheng Date: Sat, 1 Sep 2018 15:59:10 +0800 Subject: [PATCH 05/16] publish update --- appcast.xml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/appcast.xml b/appcast.xml index 4970cb8..809de54 100644 --- a/appcast.xml +++ b/appcast.xml @@ -6,9 +6,16 @@ Most recent changes with links to updates. cn - 1.3.3 + 1.3.5 +
  • 1.3.5
  • +
  • Sync the latest code with clash fix some connection issues with http proxy.
  • +
  • Fix select group error when having emoji in group name.
  • +
  • Backup Config file before override it.
  • + +
    • 1.3.4
    • Fix Start at launch not work problem.
    • @@ -63,8 +70,8 @@
    ]]>
    - Sun, 22 Aug 2018 15:20:11 +0000 - + Sun, 23 Aug 2018 15:20:11 +0000 +
    From 3f072771113a5bcb292f1706846235fb5e5923d4 Mon Sep 17 00:00:00 2001 From: yicheng Date: Tue, 4 Sep 2018 13:32:33 +0800 Subject: [PATCH 06/16] Fix issue #22 #21 --- ClashX/General/ConfigFileFactory.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClashX/General/ConfigFileFactory.swift b/ClashX/General/ConfigFileFactory.swift index f363333..dd42006 100644 --- a/ClashX/General/ConfigFileFactory.swift +++ b/ClashX/General/ConfigFileFactory.swift @@ -81,7 +81,7 @@ class ConfigFileFactory { static func copySimpleConfigFile() { let path = Bundle.main.path(forResource: "initConfig", ofType: "ini")! backupAndRemoveConfigFile() - try? FileManager.default.copyItem(atPath: path, toPath: kConfigFolderPath) + try? FileManager.default.copyItem(atPath: path, toPath: kConfigFilePath) NSUserNotificationCenter.default.postGenerateSimpleConfigNotice() } From 98770c23d02dec6262421434ce206d9ba5c86a33 Mon Sep 17 00:00:00 2001 From: yicheng Date: Wed, 5 Sep 2018 19:30:38 +0800 Subject: [PATCH 07/16] Optimize: ask to confirm when not api port found --- ClashX/General/ConfigFileFactory.swift | 28 ++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/ClashX/General/ConfigFileFactory.swift b/ClashX/General/ConfigFileFactory.swift index dd42006..01cc62d 100644 --- a/ClashX/General/ConfigFileFactory.swift +++ b/ClashX/General/ConfigFileFactory.swift @@ -65,22 +65,29 @@ class ConfigFileFactory { static func saveToClashConfigFile(str:String) { // save to ~/.config/clash/config.ini - self.backupAndRemoveConfigFile() + self.backupAndRemoveConfigFile(showAlert: false) try? str.write(to: URL(fileURLWithPath: kConfigFilePath), atomically: true, encoding: .utf8) } - static func backupAndRemoveConfigFile() { + static func backupAndRemoveConfigFile(showAlert:Bool = false) -> Bool { let path = kConfigFilePath - + if (showAlert) { + if (!self.showReplacingConfigFileAlert()) { + return false; + } + } if (FileManager.default.fileExists(atPath: path)) { let newPath = "\(kConfigFolderPath)config_\(Date().timeIntervalSince1970).ini" try? FileManager.default.moveItem(atPath: path, toPath: newPath) } + return true } static func copySimpleConfigFile() { + if (!backupAndRemoveConfigFile(showAlert: true)) { + return; + } let path = Bundle.main.path(forResource: "initConfig", ofType: "ini")! - backupAndRemoveConfigFile() try? FileManager.default.copyItem(atPath: path, toPath: kConfigFilePath) NSUserNotificationCenter.default.postGenerateSimpleConfigNotice() } @@ -196,4 +203,17 @@ class ConfigFileFactory { self.saveToClashConfigFile(str: configStr) NotificationCenter.default.post(Notification(name: kShouldUpDateConfig)) } + + static func showReplacingConfigFileAlert() -> Bool{ + let alert = NSAlert() + alert.messageText = """ + Can't Reconglized your config file. We will backup and replace your config file in your config folder. + + Otherwise the functions of ClashX will not work properly. You may need to restart ClashX or reload Config manually. + """ + alert.alertStyle = .warning + alert.addButton(withTitle: "Replace") + alert.addButton(withTitle: "Cancel") + return alert.runModal() == .alertFirstButtonReturn + } } From c1beef59c2710e2747f68680717611ad1577b333 Mon Sep 17 00:00:00 2001 From: yicheng Date: Wed, 5 Sep 2018 20:05:08 +0800 Subject: [PATCH 08/16] Bump Version --- ClashX/Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ClashX/Info.plist b/ClashX/Info.plist index 39a50b1..b57105b 100644 --- a/ClashX/Info.plist +++ b/ClashX/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.3.5 + 1.3.6 CFBundleVersion - 1.3.5 + 1.3.6 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement From 12dad0ca7fc255d1a899efb07accb8031af7d936 Mon Sep 17 00:00:00 2001 From: yicheng Date: Wed, 5 Sep 2018 20:19:47 +0800 Subject: [PATCH 09/16] Fix infinity alert after click cancel when config file is recongized --- ClashX/General/ConfigFileFactory.swift | 5 +++-- ClashX/General/ConfigManager.swift | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ClashX/General/ConfigFileFactory.swift b/ClashX/General/ConfigFileFactory.swift index 01cc62d..ce1cbe1 100644 --- a/ClashX/General/ConfigFileFactory.swift +++ b/ClashX/General/ConfigFileFactory.swift @@ -83,13 +83,14 @@ class ConfigFileFactory { return true } - static func copySimpleConfigFile() { + static func copySimpleConfigFile() -> Bool { if (!backupAndRemoveConfigFile(showAlert: true)) { - return; + return false } let path = Bundle.main.path(forResource: "initConfig", ofType: "ini")! try? FileManager.default.copyItem(atPath: path, toPath: kConfigFilePath) NSUserNotificationCenter.default.postGenerateSimpleConfigNotice() + return true } diff --git a/ClashX/General/ConfigManager.swift b/ClashX/General/ConfigManager.swift index 4b9cd47..608f4f9 100644 --- a/ClashX/General/ConfigManager.swift +++ b/ClashX/General/ConfigManager.swift @@ -101,8 +101,11 @@ class ConfigManager { } } } - ConfigFileFactory.copySimpleConfigFile() - refreshApiPort() + if (ConfigFileFactory.copySimpleConfigFile()) { + refreshApiPort() + } else { + apiPort = "7892" + } } From c9056b6076e0726d2634c54ff7b675fbfe8656a5 Mon Sep 17 00:00:00 2001 From: yicheng Date: Wed, 5 Sep 2018 20:20:14 +0800 Subject: [PATCH 10/16] Improve init config --- ClashX/Support Files/initConfig.ini | 778 +++++++++++++++++++++++++++- 1 file changed, 777 insertions(+), 1 deletion(-) diff --git a/ClashX/Support Files/initConfig.ini b/ClashX/Support Files/initConfig.ini index 65b1354..656ebba 100644 --- a/ClashX/Support Files/initConfig.ini +++ b/ClashX/Support Files/initConfig.ini @@ -5,5 +5,781 @@ external-controller = 127.0.0.1:7892 [Proxy] proxy = ss, 127.0.0.1, 80, RC4-MD5, password +[Proxy Group] +# Proxy = select, proxy + [Rule] -FINAL,,DIRECT + +# Apple服务优化 +# 其他服务 +USER-AGENT,com.apple.appstored*,DIRECT +DOMAIN-SUFFIX,mzstatic.com,DIRECT +DOMAIN,gs.apple.com,Proxy +DOMAIN-SUFFIX,icloud-content.com,DIRECT +#DOMAIN,e.crashlytics.com,REJECT +# 通用部分 +DOMAIN,beta.itunes.apple.com,Proxy +DOMAIN-SUFFIX,apple.com,DIRECT +DOMAIN-SUFFIX,icloud.com,DIRECT +# 国内直连 +DOMAIN-KEYWORD,-cn,DIRECT +DOMAIN-SUFFIX,cn,DIRECT +DOMAIN-SUFFIX,126.com,DIRECT +DOMAIN-SUFFIX,126.net,DIRECT +DOMAIN-SUFFIX,127.net,DIRECT +DOMAIN-SUFFIX,163.com,DIRECT +DOMAIN-SUFFIX,360.cn,DIRECT +DOMAIN-SUFFIX,360buyimg.com,DIRECT +DOMAIN-SUFFIX,36kr.com,DIRECT +DOMAIN-SUFFIX,acfun.tv,DIRECT +DOMAIN-SUFFIX,air-matters.com,DIRECT +DOMAIN-SUFFIX,aixifan.com,DIRECT +DOMAIN-SUFFIX,alicdn.com,DIRECT +DOMAIN-SUFFIX,alipay.com,DIRECT +DOMAIN-SUFFIX,alipayobjects.com,DIRECT +DOMAIN-SUFFIX,amap.com,DIRECT +DOMAIN-SUFFIX,autonavi.com,DIRECT +DOMAIN-SUFFIX,baidu.com,DIRECT +DOMAIN-SUFFIX,baidupcs.com,DIRECT +DOMAIN-SUFFIX,bdimg.com,DIRECT +DOMAIN-SUFFIX,bdstatic.com,DIRECT +DOMAIN-SUFFIX,bilibili.com,DIRECT +DOMAIN-SUFFIX,caiyunapp.com,DIRECT +DOMAIN-SUFFIX,clouddn.com,DIRECT +DOMAIN-SUFFIX,cnbeta.com,DIRECT +DOMAIN-SUFFIX,cnbetacdn.com,DIRECT +DOMAIN-SUFFIX,cootekservice.com,DIRECT +DOMAIN-SUFFIX,csdn.net,DIRECT +DOMAIN-SUFFIX,csdnimg.cn,DIRECT +DOMAIN-SUFFIX,ctrip.com,DIRECT +DOMAIN-SUFFIX,dgtle.com,DIRECT +DOMAIN-SUFFIX,dianping.com,DIRECT +DOMAIN-SUFFIX,douban.com,DIRECT +DOMAIN-SUFFIX,doubanio.com,DIRECT +DOMAIN-SUFFIX,duokan.com,DIRECT +DOMAIN-SUFFIX,easou.com,DIRECT +DOMAIN-SUFFIX,ele.me,DIRECT +DOMAIN-SUFFIX,feng.com,DIRECT +DOMAIN-SUFFIX,fir.im,DIRECT +DOMAIN-SUFFIX,frdic.com,DIRECT +DOMAIN-SUFFIX,g-cores.com,DIRECT +DOMAIN-SUFFIX,godic.net,DIRECT +DOMAIN-SUFFIX,gtimg.com,DIRECT +DOMAIN-SUFFIX,hongxiu.com,DIRECT +DOMAIN-SUFFIX,hxcdn.net,DIRECT +DOMAIN-SUFFIX,iciba.com,DIRECT +DOMAIN-SUFFIX,ifeng.com,DIRECT +DOMAIN-SUFFIX,ifengimg.com,DIRECT +DOMAIN-SUFFIX,images-amazon.com,DIRECT +DOMAIN-SUFFIX,ipip.net,DIRECT +DOMAIN-SUFFIX,iqiyi.com,DIRECT +DOMAIN-SUFFIX,jd.com,DIRECT +DOMAIN-SUFFIX,jianshu.com,DIRECT +DOMAIN-SUFFIX,knewone.com,DIRECT +DOMAIN-SUFFIX,le.com,DIRECT +DOMAIN-SUFFIX,lecloud.com,DIRECT +DOMAIN-SUFFIX,lemicp.com,DIRECT +DOMAIN-SUFFIX,luoo.net,DIRECT +DOMAIN-SUFFIX,meituan.com,DIRECT +DOMAIN-SUFFIX,meituan.net,DIRECT +DOMAIN-SUFFIX,mi.com,DIRECT +DOMAIN-SUFFIX,miaopai.com,DIRECT +DOMAIN-SUFFIX,miui.com,DIRECT +DOMAIN-SUFFIX,miwifi.com,DIRECT +DOMAIN-SUFFIX,mob.com,DIRECT +DOMAIN-SUFFIX,netease.com,DIRECT +DOMAIN-SUFFIX,oschina.net,DIRECT +DOMAIN-SUFFIX,ppsimg.com,DIRECT +DOMAIN-SUFFIX,pstatp.com,DIRECT +DOMAIN-SUFFIX,qcloud.com,DIRECT +DOMAIN-SUFFIX,qdaily.com,DIRECT +DOMAIN-SUFFIX,qdmm.com,DIRECT +DOMAIN-SUFFIX,qhimg.com,DIRECT +DOMAIN-SUFFIX,qidian.com,DIRECT +DOMAIN-SUFFIX,qihucdn.com,DIRECT +DOMAIN-SUFFIX,qiniu.com,DIRECT +DOMAIN-SUFFIX,qiniucdn.com,DIRECT +DOMAIN-SUFFIX,qiyipic.com,DIRECT +DOMAIN-SUFFIX,qq.com,DIRECT +DOMAIN-SUFFIX,qqurl.com,DIRECT +DOMAIN-SUFFIX,rarbg.is,DIRECT +DOMAIN-SUFFIX,rr.tv,DIRECT +DOMAIN-SUFFIX,ruguoapp.com,DIRECT +DOMAIN-SUFFIX,segmentfault.com,DIRECT +DOMAIN-SUFFIX,sinaapp.com,DIRECT +DOMAIN-SUFFIX,sogou.com,DIRECT +DOMAIN-SUFFIX,sogoucdn.com,DIRECT +DOMAIN-SUFFIX,sohu.com,DIRECT +DOMAIN-SUFFIX,soku.com,DIRECT +DOMAIN-SUFFIX,sspai.com,DIRECT +DOMAIN-SUFFIX,suning.com,DIRECT +DOMAIN-SUFFIX,taobao.com,DIRECT +DOMAIN-SUFFIX,tenpay.com,DIRECT +DOMAIN-SUFFIX,tmall.com,DIRECT +DOMAIN-SUFFIX,tudou.com,DIRECT +DOMAIN-SUFFIX,umetrip.com,DIRECT +DOMAIN-SUFFIX,upaiyun.com,DIRECT +DOMAIN,update.microsoft.com,DIRECT +DOMAIN-SUFFIX,upyun.com,DIRECT +DOMAIN-SUFFIX,veryzhun.com,DIRECT +DOMAIN-SUFFIX,weibo.com,DIRECT +DOMAIN-SUFFIX,weiphone.net,DIRECT +DOMAIN-SUFFIX,xiami.com,DIRECT +DOMAIN-SUFFIX,xiaomicp.com,DIRECT +DOMAIN-SUFFIX,ximalaya.com,DIRECT +DOMAIN-SUFFIX,xmcdn.com,DIRECT +DOMAIN-SUFFIX,xunlei.com,DIRECT +DOMAIN-SUFFIX,yhd.com,DIRECT +DOMAIN-SUFFIX,yihaodianimg.com,DIRECT +DOMAIN-SUFFIX,yinxiang.com,DIRECT +DOMAIN-SUFFIX,ykimg.com,DIRECT +DOMAIN-SUFFIX,youdao.com,DIRECT +DOMAIN-SUFFIX,youku.com,DIRECT +DOMAIN-SUFFIX,zealer.com,DIRECT +DOMAIN-SUFFIX,zhihu.com,DIRECT +DOMAIN-SUFFIX,zhimg.com,DIRECT +# 纠正 GFW 的 DNS 污染问题 +DOMAIN-KEYWORD,google,Proxy,force-remote-dns +DOMAIN-SUFFIX,gstatic.com,Proxy,force-remote-dns +DOMAIN-KEYWORD,gmail,Proxy,force-remote-dns +DOMAIN-KEYWORD,youtube,Proxy,force-remote-dns +DOMAIN-KEYWORD,facebook,Proxy,force-remote-dns +DOMAIN-SUFFIX,fb.me,Proxy,force-remote-dns +DOMAIN-SUFFIX,fbcdn.net,Proxy,force-remote-dns +DOMAIN-KEYWORD,twitter,Proxy,force-remote-dns +DOMAIN-KEYWORD,instagram,Proxy,force-remote-dns +DOMAIN-KEYWORD,dropbox,Proxy,force-remote-dns +DOMAIN-SUFFIX,twimg.com,Proxy,force-remote-dns +DOMAIN-KEYWORD,blogspot,Proxy,force-remote-dns +DOMAIN-SUFFIX,youtu.be,Proxy,force-remote-dns +DOMAIN-KEYWORD,whatsapp,Proxy,force-remote-dns +# 常见广告域名屏蔽 +DOMAIN-KEYWORD,adsmogo,REJECT +DOMAIN-SUFFIX,acs86.com,REJECT +DOMAIN-SUFFIX,adcome.cn,REJECT +DOMAIN-SUFFIX,adinfuse.com,REJECT +DOMAIN-SUFFIX,admaster.com.cn,REJECT +DOMAIN-SUFFIX,admob.com,REJECT +DOMAIN-SUFFIX,adsage.cn,REJECT +DOMAIN-SUFFIX,adsage.com,REJECT +DOMAIN-SUFFIX,adsmogo.org,REJECT +DOMAIN-SUFFIX,ads.mobclix.com,REJECT +DOMAIN-SUFFIX,adview.cn,REJECT +DOMAIN-SUFFIX,adwhirl.com,REJECT +DOMAIN-SUFFIX,adwo.com,REJECT +DOMAIN-SUFFIX,appads.com,REJECT +DOMAIN-KEYWORD,domob,REJECT +DOMAIN-SUFFIX,doubleclick.net,REJECT +DOMAIN-KEYWORD,duomeng,REJECT +DOMAIN-SUFFIX,googeadsserving.cn,REJECT +DOMAIN-SUFFIX,guomob.com,REJECT +DOMAIN-SUFFIX,immob.cn,REJECT +DOMAIN-SUFFIX,inmobi.com,REJECT +DOMAIN-SUFFIX,mobads.baidu.com,REJECT +DOMAIN-SUFFIX,mobads-logs.baidu.com,REJECT +DOMAIN-SUFFIX,smartadserver.com,REJECT +DOMAIN-SUFFIX,tapjoyads.com,REJECT +DOMAIN-KEYWORD,umeng,REJECT +DOMAIN-SUFFIX,umtrack.com,REJECT +DOMAIN-SUFFIX,uyunad.com,REJECT +DOMAIN-SUFFIX,youmi.net,REJECT +# 此部分为最常访问但被 GFW 屏蔽的网站(若有特殊需要,请参考项目的 GFWList 列表) +DOMAIN-SUFFIX,2o7.net,Proxy +DOMAIN-SUFFIX,4sqi.net,Proxy +DOMAIN-SUFFIX,9to5mac.com,Proxy +DOMAIN-SUFFIX,abpchina.org,Proxy +DOMAIN-SUFFIX,adblockplus.org,Proxy +DOMAIN-SUFFIX,adobe.com,Proxy +DOMAIN-SUFFIX,adobedtm.com,Proxy +DOMAIN-SUFFIX,aerisapi.com,Proxy +DOMAIN-SUFFIX,akamaihd.net,Proxy +DOMAIN-SUFFIX,alfredapp.com,Proxy +DOMAIN-SUFFIX,amazon.com,Proxy +DOMAIN-SUFFIX,amazonaws.com,Proxy +DOMAIN-SUFFIX,amplitude.com,Proxy +DOMAIN-SUFFIX,ampproject.com,Proxy +DOMAIN-SUFFIX,ampproject.net,Proxy +DOMAIN-SUFFIX,ampproject.org,Proxy +DOMAIN-SUFFIX,android.com,Proxy +DOMAIN-SUFFIX,angularjs.org,Proxy +DOMAIN-SUFFIX,aolcdn.com,Proxy +DOMAIN-SUFFIX,apkpure.com,Proxy +DOMAIN-SUFFIX,apple-dns.net,Proxy +DOMAIN-SUFFIX,appledaily.com,Proxy +DOMAIN-SUFFIX,appledaily.com.tw,Proxy +DOMAIN-SUFFIX,appledailytw.com,Proxy +DOMAIN-SUFFIX,appshopper.com,Proxy +DOMAIN-SUFFIX,appsto.re,Proxy +DOMAIN-SUFFIX,arcgis.com,Proxy +DOMAIN-SUFFIX,archive.org,Proxy +DOMAIN-SUFFIX,armorgames.com,Proxy +DOMAIN-SUFFIX,aspnetcdn.com,Proxy +DOMAIN-SUFFIX,att.com,Proxy +DOMAIN-SUFFIX,awsstatic.com,Proxy +DOMAIN-SUFFIX,azureedge.net,Proxy +DOMAIN-SUFFIX,azurewebsites.net,Proxy +DOMAIN-SUFFIX,bing.com,Proxy +DOMAIN-SUFFIX,bintray.com,Proxy +DOMAIN-SUFFIX,bit.com,Proxy +DOMAIN-SUFFIX,bit.ly,Proxy +DOMAIN-SUFFIX,bitbucket.org,Proxy +DOMAIN-SUFFIX,bjango.com,Proxy +DOMAIN-SUFFIX,bkrtx.com,Proxy +DOMAIN-SUFFIX,blog.com,Proxy +DOMAIN-SUFFIX,blogcdn.com,Proxy +DOMAIN-SUFFIX,blogger.com,Proxy +DOMAIN-SUFFIX,blogsmithmedia.com,Proxy +DOMAIN-SUFFIX,blogspot.com,Proxy +DOMAIN-SUFFIX,blogspot.hk,Proxy +DOMAIN-SUFFIX,bloomberg.com,Proxy +DOMAIN-SUFFIX,box.com,Proxy +DOMAIN-SUFFIX,box.net,Proxy +DOMAIN-SUFFIX,cachefly.net,Proxy +DOMAIN-SUFFIX,chromium.org,Proxy +DOMAIN-SUFFIX,cl.ly,Proxy +DOMAIN-SUFFIX,cloudflare.com,Proxy +DOMAIN-SUFFIX,cloudfront.net,Proxy +DOMAIN-SUFFIX,cloudmagic.com,Proxy +DOMAIN-SUFFIX,cmail19.com,Proxy +DOMAIN-SUFFIX,cnet.com,Proxy +DOMAIN-SUFFIX,cocoapods.org,Proxy +DOMAIN-SUFFIX,comodoca.com,Proxy +DOMAIN-SUFFIX,content.office.net,Proxy +DOMAIN-SUFFIX,crashlytics.com,Proxy +DOMAIN-SUFFIX,culturedcode.com,Proxy +DOMAIN-SUFFIX,d.pr,Proxy +DOMAIN-SUFFIX,danilo.to,Proxy +DOMAIN-SUFFIX,dayone.me,Proxy +DOMAIN-SUFFIX,db.tt,Proxy +DOMAIN-SUFFIX,deskconnect.com,Proxy +DOMAIN-SUFFIX,digicert.com,Proxy +DOMAIN-SUFFIX,disq.us,Proxy +DOMAIN-SUFFIX,disqus.com,Proxy +DOMAIN-SUFFIX,disquscdn.com,Proxy +DOMAIN-SUFFIX,dnsimple.com,Proxy +DOMAIN-SUFFIX,docker.com,Proxy +DOMAIN-SUFFIX,dribbble.com,Proxy +DOMAIN-SUFFIX,droplr.com,Proxy +DOMAIN-SUFFIX,duckduckgo.com,Proxy +DOMAIN-SUFFIX,dueapp.com,Proxy +DOMAIN-SUFFIX,dytt8.net,Proxy +DOMAIN-SUFFIX,edgecastcdn.net,Proxy +DOMAIN-SUFFIX,edgekey.net,Proxy +DOMAIN-SUFFIX,edgesuite.net,Proxy +DOMAIN-SUFFIX,engadget.com,Proxy +DOMAIN-SUFFIX,entrust.net,Proxy +DOMAIN-SUFFIX,eurekavpt.com,Proxy +DOMAIN-SUFFIX,evernote.com,Proxy +DOMAIN-SUFFIX,fabric.io,Proxy +DOMAIN-SUFFIX,fastly.net,Proxy +DOMAIN-SUFFIX,fc2.com,Proxy +DOMAIN-SUFFIX,feedburner.com,Proxy +DOMAIN-SUFFIX,feedly.com,Proxy +DOMAIN-SUFFIX,feedsportal.com,Proxy +DOMAIN-SUFFIX,fiftythree.com,Proxy +DOMAIN-SUFFIX,firebaseio.com,Proxy +DOMAIN-SUFFIX,flexibits.com,Proxy +DOMAIN-SUFFIX,flickr.com,Proxy +DOMAIN-SUFFIX,flipboard.com,Proxy +DOMAIN-SUFFIX,g.co,Proxy +DOMAIN-SUFFIX,gabia.net,Proxy +DOMAIN-SUFFIX,geni.us,Proxy +DOMAIN-SUFFIX,gfx.ms,Proxy +DOMAIN-SUFFIX,ggpht.com,Proxy +DOMAIN-SUFFIX,ghostnoteapp.com,Proxy +DOMAIN-SUFFIX,git.io,Proxy +DOMAIN-SUFFIX,github.com,Proxy +DOMAIN-SUFFIX,github.io,Proxy +DOMAIN-SUFFIX,githubapp.com,Proxy +DOMAIN-SUFFIX,githubusercontent.com,Proxy +DOMAIN-SUFFIX,globalsign.com,Proxy +DOMAIN-SUFFIX,gmodules.com,Proxy +DOMAIN-SUFFIX,godaddy.com,Proxy +DOMAIN-SUFFIX,golang.org,Proxy +DOMAIN-SUFFIX,gongm.in,Proxy +DOMAIN-SUFFIX,goo.gl,Proxy +DOMAIN-SUFFIX,goodreaders.com,Proxy +DOMAIN-SUFFIX,goodreads.com,Proxy +DOMAIN-SUFFIX,gravatar.com,Proxy +DOMAIN-SUFFIX,gstatic.com,Proxy +DOMAIN-SUFFIX,gvt0.com,Proxy +DOMAIN-SUFFIX,hockeyapp.net,Proxy +DOMAIN-SUFFIX,hotmail.com,Proxy +DOMAIN-SUFFIX,icons8.com,Proxy +DOMAIN-SUFFIX,ift.tt,Proxy +DOMAIN-SUFFIX,ifttt.com,Proxy +DOMAIN-SUFFIX,imageshack.us,Proxy +DOMAIN-SUFFIX,img.ly,Proxy +DOMAIN-SUFFIX,imgur.com,Proxy +DOMAIN-SUFFIX,imore.com,Proxy +DOMAIN-SUFFIX,instapaper.com,Proxy +DOMAIN-SUFFIX,ipn.li,Proxy +DOMAIN-SUFFIX,is.gd,Proxy +DOMAIN-SUFFIX,issuu.com,Proxy +DOMAIN-SUFFIX,itgonglun.com,Proxy +DOMAIN-SUFFIX,itun.es,Proxy +DOMAIN-SUFFIX,ixquick.com,Proxy +DOMAIN-SUFFIX,j.mp,Proxy +DOMAIN-SUFFIX,js.revsci.net,Proxy +DOMAIN-SUFFIX,jshint.com,Proxy +DOMAIN-SUFFIX,jtvnw.net,Proxy +DOMAIN-SUFFIX,justgetflux.com,Proxy +DOMAIN-SUFFIX,kat.cr,Proxy +DOMAIN-SUFFIX,klip.me,Proxy +DOMAIN-SUFFIX,libsyn.com,Proxy +DOMAIN-SUFFIX,licdn.com,Proxy +DOMAIN-SUFFIX,linkedin.com,Proxy +DOMAIN-SUFFIX,linode.com,Proxy +DOMAIN-SUFFIX,lithium.com,Proxy +DOMAIN-SUFFIX,littlehj.com,Proxy +DOMAIN-SUFFIX,live.com,Proxy +DOMAIN-SUFFIX,live.net,Proxy +DOMAIN-SUFFIX,livefilestore.com,Proxy +DOMAIN-SUFFIX,llnwd.net,Proxy +DOMAIN-SUFFIX,macid.co,Proxy +DOMAIN-SUFFIX,macromedia.com,Proxy +DOMAIN-SUFFIX,macrumors.com,Proxy +DOMAIN-SUFFIX,mashable.com,Proxy +DOMAIN-SUFFIX,mathjax.org,Proxy +DOMAIN-SUFFIX,medium.com,Proxy +DOMAIN-SUFFIX,mega.co.nz,Proxy +DOMAIN-SUFFIX,mega.nz,Proxy +DOMAIN-SUFFIX,megaupload.com,Proxy +DOMAIN-SUFFIX,microsoft.com,Proxy +DOMAIN-SUFFIX,microsofttranslator.com,Proxy +DOMAIN-SUFFIX,mindnode.com,Proxy +DOMAIN-SUFFIX,mobile01.com,Proxy +DOMAIN-SUFFIX,modmyi.com,Proxy +DOMAIN-SUFFIX,msedge.net,Proxy +DOMAIN-SUFFIX,myfontastic.com,Proxy +DOMAIN-SUFFIX,name.com,Proxy +DOMAIN-SUFFIX,nextmedia.com,Proxy +DOMAIN-SUFFIX,nsstatic.net,Proxy +DOMAIN-SUFFIX,nssurge.com,Proxy +DOMAIN-SUFFIX,nyt.com,Proxy +DOMAIN-SUFFIX,nytimes.com,Proxy +DOMAIN-SUFFIX,office365.com,Proxy +DOMAIN-SUFFIX,omnigroup.com,Proxy +DOMAIN-SUFFIX,onedrive.com,Proxy +DOMAIN-SUFFIX,onenote.com,Proxy +DOMAIN-SUFFIX,ooyala.com,Proxy +DOMAIN-SUFFIX,openvpn.net,Proxy +DOMAIN-SUFFIX,openwrt.org,Proxy +DOMAIN-SUFFIX,orkut.com,Proxy +DOMAIN-SUFFIX,osxdaily.com,Proxy +DOMAIN-SUFFIX,outlook.com,Proxy +DOMAIN-SUFFIX,ow.ly,Proxy +DOMAIN-SUFFIX,paddleapi.com,Proxy +DOMAIN-SUFFIX,parallels.com,Proxy +DOMAIN-SUFFIX,parse.com,Proxy +DOMAIN-SUFFIX,pdfexpert.com,Proxy +DOMAIN-SUFFIX,periscope.tv,Proxy +DOMAIN-SUFFIX,pinboard.in,Proxy +DOMAIN-SUFFIX,pinterest.com,Proxy +DOMAIN-SUFFIX,pixelmator.com,Proxy +DOMAIN-SUFFIX,playpcesor.com,Proxy +DOMAIN-SUFFIX,playstation.com,Proxy +DOMAIN-SUFFIX,playstation.com.hk,Proxy +DOMAIN-SUFFIX,playstation.net,Proxy +DOMAIN-SUFFIX,playstationnetwork.com,Proxy +DOMAIN-SUFFIX,pushwoosh.com,Proxy +DOMAIN-SUFFIX,rime.im,Proxy +DOMAIN-SUFFIX,servebom.com,Proxy +DOMAIN-SUFFIX,sfx.ms,Proxy +DOMAIN-SUFFIX,shadowsocks.org,Proxy +DOMAIN-SUFFIX,sharethis.com,Proxy +DOMAIN-SUFFIX,shazam.com,Proxy +DOMAIN-SUFFIX,skype.com,Proxy +DOMAIN-SUFFIX,slack-edge.com,Proxy +DOMAIN-SUFFIX,slack.com,Proxy +DOMAIN-SUFFIX,slack-msgs.com,Proxy +DOMAIN-SUFFIX,smartdnsProxy.com,Proxy +DOMAIN-SUFFIX,smartmailcloud.com,Proxy +DOMAIN-SUFFIX,sndcdn.com,Proxy +DOMAIN-SUFFIX,sony.com,Proxy +DOMAIN-SUFFIX,sony.com.hk,Proxy +DOMAIN-SUFFIX,sonyentertainmentnetwork.com,Proxy +DOMAIN-SUFFIX,soundcloud.com,Proxy +DOMAIN-SUFFIX,sourceforge.net,Proxy +DOMAIN-SUFFIX,speedtest.net,Proxy +DOMAIN-SUFFIX,spotify.com,Proxy +DOMAIN-SUFFIX,squarespace.com,Proxy +DOMAIN-SUFFIX,sstatic.net,Proxy +DOMAIN-SUFFIX,st.luluku.pw,Proxy +DOMAIN-SUFFIX,stackoverflow.com,Proxy +DOMAIN-SUFFIX,startpage.com,Proxy +DOMAIN-SUFFIX,staticflickr.com,Proxy +DOMAIN-SUFFIX,surge.run,Proxy +DOMAIN-SUFFIX,symauth.com,Proxy +DOMAIN-SUFFIX,symcb.com,Proxy +DOMAIN-SUFFIX,symcd.com,Proxy +DOMAIN-SUFFIX,tapbots.com,Proxy +DOMAIN-SUFFIX,tapbots.net,Proxy +DOMAIN-SUFFIX,tdesktop.com,Proxy +DOMAIN-SUFFIX,techcrunch.com,Proxy +DOMAIN-SUFFIX,techsmith.com,Proxy +DOMAIN-SUFFIX,thepiratebay.org,Proxy +DOMAIN-SUFFIX,theverge.com,Proxy +DOMAIN-SUFFIX,time.com,Proxy +DOMAIN-SUFFIX,timeinc.net,Proxy +DOMAIN-SUFFIX,tiny.cc,Proxy +DOMAIN-SUFFIX,tinypic.com,Proxy +DOMAIN-SUFFIX,tmblr.co,Proxy +DOMAIN-SUFFIX,todoist.com,Proxy +DOMAIN-SUFFIX,trello.com,Proxy +DOMAIN-SUFFIX,trustasiassl.com,Proxy +DOMAIN-SUFFIX,tumblr.co,Proxy +DOMAIN-SUFFIX,tumblr.com,Proxy +DOMAIN-SUFFIX,tweetdeck.com,Proxy +DOMAIN-SUFFIX,tweetmarker.net,Proxy +DOMAIN-SUFFIX,twitch.tv,Proxy +DOMAIN-SUFFIX,txmblr.com,Proxy +DOMAIN-SUFFIX,typekit.net,Proxy +DOMAIN-SUFFIX,ubertags.com,Proxy +DOMAIN-SUFFIX,ublock.org,Proxy +DOMAIN-SUFFIX,ubnt.com,Proxy +DOMAIN-SUFFIX,ulyssesapp.com,Proxy +DOMAIN-SUFFIX,urchin.com,Proxy +DOMAIN-SUFFIX,usertrust.com,Proxy +DOMAIN-SUFFIX,v.gd,Proxy +DOMAIN-SUFFIX,v2ex.co,DIRECT +DOMAIN-SUFFIX,v2ex.com,DIRECT +DOMAIN-SUFFIX,vimeo.com,Proxy +DOMAIN-SUFFIX,vimeocdn.com,Proxy +DOMAIN-SUFFIX,vine.co,Proxy +DOMAIN-SUFFIX,vivaldi.com,Proxy +DOMAIN-SUFFIX,vox-cdn.com,Proxy +DOMAIN-SUFFIX,vsco.co,Proxy +DOMAIN-SUFFIX,vultr.com,Proxy +DOMAIN-SUFFIX,w.org,Proxy +DOMAIN-SUFFIX,w3schools.com,Proxy +DOMAIN-SUFFIX,weather.com,Proxy +DOMAIN-SUFFIX,webtype.com,Proxy +DOMAIN-SUFFIX,wikiwand.com,Proxy +DOMAIN-SUFFIX,wikileaks.org,Proxy +DOMAIN-SUFFIX,wikimedia.org,Proxy +DOMAIN-SUFFIX,wikipedia.com,Proxy +DOMAIN-SUFFIX,wikipedia.org,Proxy +DOMAIN-SUFFIX,windows.com,Proxy +DOMAIN-SUFFIX,windows.net,Proxy +DOMAIN-SUFFIX,wordpress.com,Proxy +DOMAIN-SUFFIX,workflowy.com,Proxy +DOMAIN-SUFFIX,wp.com,Proxy +DOMAIN-SUFFIX,wsj.com,Proxy +DOMAIN-SUFFIX,wsj.net,Proxy +DOMAIN-SUFFIX,xda-developers.com,Proxy +DOMAIN-SUFFIX,xeeno.com,Proxy +DOMAIN-SUFFIX,xiti.com,Proxy +DOMAIN-SUFFIX,yahoo.com,Proxy +DOMAIN-SUFFIX,yimg.com,Proxy +DOMAIN-SUFFIX,ying.com,Proxy +DOMAIN-SUFFIX,yoyo.org,Proxy +DOMAIN-SUFFIX,ytimg.com,Proxy +#此部分网站没有被 GFW 封锁,但使用代理会获得更快的速度,请选择性添加 +#** 千万不要忘记最后一行的规则 ** +#A +DOMAIN-SUFFIX,amazon.com,Proxy +DOMAIN-SUFFIX,amazonaws.com,Proxy +DOMAIN-SUFFIX,archive.org,Proxy +DOMAIN-SUFFIX,archive.is,Proxy +DOMAIN-SUFFIX,archives.gov,Proxy +DOMAIN-SUFFIX,appdownloader.net,Proxy +DOMAIN-SUFFIX,apk-dl.com,Proxy +DOMAIN-SUFFIX,apkfind.com,Proxy +DOMAIN-SUFFIX,apkpure.com,Proxy +DOMAIN-SUFFIX,apigee.com,Proxy +DOMAIN-SUFFIX,aol.com,Proxy +DOMAIN-SUFFIX,anthonycalzadilla.com,Proxy +DOMAIN-SUFFIX,android-x86.org,Proxy +DOMAIN-SUFFIX,ancsconf.org,Proxy +DOMAIN-SUFFIX,apkpure.com,Proxy +DOMAIN-SUFFIX,allconnected.co,Proxy +DOMAIN-SUFFIX,apkleecher.com,Proxy +DOMAIN-SUFFIX,appsonplaystore.com,Proxy +#B +DOMAIN-SUFFIX,books.com.tw,Proxy +DOMAIN-SUFFIX,bloomberg.com,Proxy +DOMAIN-SUFFIX,bloglovin.com,Proxy +DOMAIN-SUFFIX,bitshare.com,Proxy +DOMAIN-SUFFIX,bitcointalk.org,Proxy +DOMAIN-SUFFIX,bit.do,Proxy +DOMAIN-SUFFIX,bit.ly,Proxy +DOMAIN-SUFFIX,bigsound.org,Proxy +DOMAIN-SUFFIX,bbtoystore.com,Proxy +DOMAIN-SUFFIX,boxun.com,Proxy +DOMAIN-SUFFIX,bandwagonhost.com,Proxy +#C +DOMAIN-SUFFIX,cnn.com,Proxy +DOMAIN-SUFFIX,cdninstagram.com,Proxy +DOMAIN-SUFFIX,cbc.ca,Proxy +DOMAIN-SUFFIX,census.gov,Proxy +DOMAIN-SUFFIX,cloudfront.net,Proxy +DOMAIN-SUFFIX,cn-proxy.com,Proxy +DOMAIN-SUFFIX,cccat.cc,Proxy +#D +DOMAIN-SUFFIX,dw.com,Proxy +DOMAIN-SUFFIX,duckduckgo.com,Proxy +DOMAIN-SUFFIX,dropbox.com,Proxy +DOMAIN-SUFFIX,dropboxusercontent.com,Proxy +DOMAIN-SUFFIX,disconnect.me,Proxy +DOMAIN-SUFFIX,dcmilitary.com,Proxy +DOMAIN-SUFFIX,digitaltrends.com,Proxy +DOMAIN-SUFFIX,daolan.net,Proxy +#E +DOMAIN-SUFFIX,extmatrix.com,Proxy +DOMAIN-SUFFIX,easybib.com,Proxy +DOMAIN-SUFFIX,easybib.com,Proxy +DOMAIN-SUFFIX,economist.com,Proxy +DOMAIN-SUFFIX,edgecastcdn.net,Proxy +#F +DOMAIN-SUFFIX,facebook.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,facebook.net,Proxy,force-remote-dns +DOMAIN-SUFFIX,fbcdn.net,Proxy,force-remote-dns +DOMAIN-SUFFIX,freeopenproxy.com,Proxy +DOMAIN-SUFFIX,fzlm.net,Proxy +DOMAIN-SUFFIX,flitto.com,Proxy +DOMAIN-SUFFIX,flipkart.com,Proxy +DOMAIN-SUFFIX,flickr.com,Proxy +#G +DOMAIN-SUFFIX,getcloudapp.com,Proxy +DOMAIN-SUFFIX,gunsamerica.com,Proxy +DOMAIN-SUFFIX,gravatar.com,Proxy +DOMAIN-SUFFIX,getlantern.org,Proxy +DOMAIN-SUFFIX,getfoxyproxy.org,Proxy +DOMAIN-SUFFIX,go.com,Proxy +DOMAIN-SUFFIX,go.jp,Proxy +DOMAIN-SUFFIX,gfw.press,Proxy +#H +DOMAIN-SUFFIX,howtoforge.com,Proxy +DOMAIN-SUFFIX,hootsuite.com,Proxy +DOMAIN-SUFFIX,homedepot.com,Proxy +DOMAIN-SUFFIX,hulu.com,Proxy +#I +DOMAIN-SUFFIX,instagram.com,Proxy +DOMAIN-SUFFIX,icoco.com,Proxy +DOMAIN-SUFFIX,imgur.com,Proxy +DOMAIN-SUFFIX,instructables.com,Proxy +DOMAIN-SUFFIX,ift.tt,Proxy +#K +DOMAIN-SUFFIX,kenengba.com,Proxy +#L +DOMAIN-SUFFIX,logmein.com,Proxy +#M +DOMAIN-SUFFIX,mp3buscador.com,Proxy +DOMAIN-SUFFIX,medium.com,Proxy +DOMAIN-SUFFIX,mlssoccer.com,Proxy +DOMAIN-SUFFIX,marketwatch.com,Proxy +DOMAIN-SUFFIX,nih.gov,Proxy +DOMAIN-SUFFIX,mycnnews.com,Proxy +DOMAIN-SUFFIX,maplestage.com,Proxy +#N +DOMAIN-SUFFIX,nytimes.com,Proxy +DOMAIN-SUFFIX,nytimg.com,Proxy +DOMAIN-SUFFIX,nrk.no,Proxy +DOMAIN-SUFFIX,newipnow.com,Proxy +DOMAIN-SUFFIX,ndr.de,Proxy +DOMAIN-SUFFIX,nasa.gov,Proxy +DOMAIN-SUFFIX,netflix.com,Proxy +DOMAIN-SUFFIX,nintendo.com,Proxy +#O +DOMAIN-SUFFIX,onlineyoutube.com,Proxy +DOMAIN-SUFFIX,osha.gov,Proxy +DOMAIN-SUFFIX,optimizely.com,Proxy +#P +DOMAIN-SUFFIX,psiphon3.com,Proxy +DOMAIN-SUFFIX,puffinbrowser.com,Proxy +DOMAIN-SUFFIX,pubu.com.tw,Proxy +DOMAIN-SUFFIX,proxfree.com,Proxy +DOMAIN-SUFFIX,popo.tw,Proxy +DOMAIN-SUFFIX,pokemon.com,Proxy +DOMAIN-SUFFIX,pastebin.com,Proxy +DOMAIN-SUFFIX,pandora.com,Proxy +#R +DOMAIN-SUFFIX,rsf.org,Proxy +DOMAIN-SUFFIX,rileyguide.com,Proxy +DOMAIN-SUFFIX,rfi.fr,Proxy +DOMAIN-SUFFIX,reuters.com,Proxy +DOMAIN-SUFFIX,readmoo.com,Proxy +DOMAIN-SUFFIX,readingtimes.com.tw,Proxy +#S +DOMAIN-SUFFIX,scribd.com,Proxy +DOMAIN-SUFFIX,sydneytoday.com,Proxy +DOMAIN-SUFFIX,surrenderat20.net,Proxy +DOMAIN-SUFFIX,surfeasy.com.au,Proxy +DOMAIN-SUFFIX,sugarsync.com,Proxy +DOMAIN-SUFFIX,stumbleupon.com,Proxy +DOMAIN-SUFFIX,storify.com,Proxy +DOMAIN-SUFFIX,startpage.com,Proxy +DOMAIN-SUFFIX,starp2p.com,Proxy +DOMAIN-SUFFIX,state.gov,Proxy +DOMAIN-SUFFIX,spike.com,Proxy +DOMAIN-SUFFIX,sowers.org.hk,Proxy +DOMAIN-SUFFIX,soundcloud.com,Proxy +DOMAIN-SUFFIX,sockslist.net,Proxy +DOMAIN-SUFFIX,snapchat.com,Proxy +DOMAIN-SUFFIX,smh.com.au,Proxy +DOMAIN-SUFFIX,slideshare.net,Proxy +DOMAIN-SUFFIX,skype.com,Proxy +DOMAIN-SUFFIX,sketchappsources.com,Proxy +DOMAIN-SUFFIX,sidelinesnews.com,Proxy +DOMAIN-SUFFIX,shadowsocks.org,Proxy +DOMAIN-SUFFIX,search.com,Proxy +DOMAIN-SUFFIX,sciencemag.org,Proxy +DOMAIN-SUFFIX,ssa.gov,Proxy +DOMAIN-SUFFIX,shutterstock.com,Proxy +DOMAIN-SUFFIX,sciencedaily.com,Proxy +DOMAIN-SUFFIX,signalsitemap.com,Proxy +DOMAIN-SUFFIX,surge.run,Proxy +#T +DOMAIN-SUFFIX,twtkr.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twimg.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twitthat.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twitterrific.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twittercounter.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twittergadget.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twitterfeed.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twitter4j.org,Proxy,force-remote-dns +DOMAIN-SUFFIX,twttr.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,twitter.com,Proxy,force-remote-dns +DOMAIN-SUFFIX,t.co,Proxy,force-remote-dns +DOMAIN-SUFFIX,tv.com,Proxy +DOMAIN-SUFFIX,tumblr.com,Proxy +DOMAIN-SUFFIX,turbobit.net,Proxy +DOMAIN-SUFFIX,tt-rss.org,Proxy +DOMAIN-SUFFIX,trulyergonomic.com,Proxy +DOMAIN-SUFFIX,trendsmap.com,Proxy +DOMAIN-SUFFIX,transparency.org,Proxy +DOMAIN-SUFFIX,traffichaus.com,Proxy +DOMAIN-SUFFIX,torrentz.eu,Proxy +DOMAIN-SUFFIX,torrentproject.se,Proxy +DOMAIN-SUFFIX,torrentprivacy.com,Proxy +DOMAIN-SUFFIX,torproject.org,Proxy +DOMAIN-SUFFIX,torcn.com,Proxy +DOMAIN-SUFFIX,tokyocn.com,Proxy +DOMAIN-SUFFIX,togetter.com,Proxy +DOMAIN-SUFFIX,tinychat.com,Proxy +DOMAIN-SUFFIX,tiny.cc,Proxy +DOMAIN-SUFFIX,time.com,Proxy +DOMAIN-SUFFIX,thewgo.org,Proxy +DOMAIN-SUFFIX,thepiratebay.org,Proxy +DOMAIN-SUFFIX,thebobs.com,Proxy +DOMAIN-SUFFIX,telegram.org,Proxy +DOMAIN-SUFFIX,telegram.me,Proxy +DOMAIN-SUFFIX,technorati.com,Proxy +DOMAIN-SUFFIX,talkboxapp.com,Proxy +DOMAIN-SUFFIX,talkonly.net,Proxy +DOMAIN-SUFFIX,talk853.com,Proxy +DOMAIN-SUFFIX,tabtter.jp,Proxy +DOMAIN-SUFFIX,tablesgenerator.com,Proxy +DOMAIN-SUFFIX,tomshardware.com,Proxy +DOMAIN-SUFFIX,theverge.com,Proxy +#U +DOMAIN-SUFFIX,ustream.tv,Proxy +DOMAIN-SUFFIX,uspto.gov,Proxy +DOMAIN-SUFFIX,usma.edu,Proxy +DOMAIN-SUFFIX,us.to,Proxy +DOMAIN-SUFFIX,urlparser.com,Proxy +DOMAIN-SUFFIX,uproxy.org,Proxy +DOMAIN-SUFFIX,uploaded.net,Proxy +DOMAIN-SUFFIX,untraceable.us,Proxy +DOMAIN-SUFFIX,unpo.org,Proxy +DOMAIN-SUFFIX,unblocksites.co,Proxy +DOMAIN-SUFFIX,unblockdmm.com,Proxy +DOMAIN-SUFFIX,uhdwallpapers.org,Proxy +DOMAIN-SUFFIX,ugo.com,Proxy +DOMAIN-SUFFIX,udn.com,Proxy +DOMAIN-SUFFIX,uchicago.edu,Proxy +DOMAIN-SUFFIX,usgs.gov,Proxy +#V +DOMAIN-SUFFIX,vpngate.net,Proxy +DOMAIN-SUFFIX,vpnbook.com,Proxy +DOMAIN-SUFFIX,vpnaccount.org,Proxy +DOMAIN-SUFFIX,vocativ.com,Proxy +DOMAIN-SUFFIX,visibletweets.com,Proxy +DOMAIN-SUFFIX,vimperator.org,Proxy +DOMAIN-SUFFIX,vimeo.com,Proxy +DOMAIN-SUFFIX,vimeocdn.com,Proxy +DOMAIN-SUFFIX,vidinfo.org,Proxy +DOMAIN-SUFFIX,videomega.tv,Proxy +DOMAIN-SUFFIX,vid.me,Proxy +DOMAIN-SUFFIX,viber.com,Proxy +DOMAIN-SUFFIX,veoh.com,Proxy +DOMAIN-SUFFIX,venchina.com,Proxy +DOMAIN-SUFFIX,vansky.com,Proxy +DOMAIN-SUFFIX,vanpeople.com,Proxy +DOMAIN-SUFFIX,van001.com,Proxy +DOMAIN-SUFFIX,v2ray.com,Proxy +DOMAIN-SUFFIX,verizonwireless.com,Proxy +DOMAIN-SUFFIX,vzw.com,Proxy +DOMAIN-SUFFIX,voachinese.com,Proxy +#W +DOMAIN-SUFFIX,wwitv.com,Proxy +DOMAIN-SUFFIX,wsj.com,Proxy +DOMAIN-SUFFIX,wordpress.com,Proxy +DOMAIN-SUFFIX,wp.com,Proxy +DOMAIN-SUFFIX,wow.com,Proxy +DOMAIN-SUFFIX,worldcat.org,Proxy +DOMAIN-SUFFIX,wn.com,Proxy +DOMAIN-SUFFIX,wikipedia.org,Proxy +DOMAIN-SUFFIX,wikileaks.info,Proxy +DOMAIN-SUFFIX,wikileaks-forum.com,Proxy +DOMAIN-SUFFIX,wikileaks.org,Proxy +DOMAIN-SUFFIX,westpoint.edu,Proxy +DOMAIN-SUFFIX,westca.com,Proxy +DOMAIN-SUFFIX,wenxuecity.com,Proxy +DOMAIN-SUFFIX,webwarper.net,Proxy +DOMAIN-SUFFIX,websnapr.com,Proxy +DOMAIN-SUFFIX,weblagu.com,Proxy +DOMAIN-SUFFIX,webfreer.com,Proxy +DOMAIN-SUFFIX,web2project.net,Proxy +DOMAIN-SUFFIX,wattpad.com,Proxy +DOMAIN-SUFFIX,w3schools.com,Proxy +DOMAIN-SUFFIX,whatsapp.net,Proxy +DOMAIN-SUFFIX,winudf.com,Proxy +#X +DOMAIN-SUFFIX,xuite.net,Proxy +DOMAIN-SUFFIX,xanga.com,Proxy +#Y +DOMAIN-SUFFIX,yahoo.com,Proxy +DOMAIN-SUFFIX,yourlisten.com,Proxy +DOMAIN-SUFFIX,youmaker.com,Proxy +DOMAIN-SUFFIX,yorkbbs.ca,Proxy +DOMAIN-SUFFIX,yidio.com,Proxy +DOMAIN-SUFFIX,yes-news.com,Proxy +DOMAIN-SUFFIX,yesasia.com,Proxy +DOMAIN-SUFFIX,yeeyi.com,Proxy +DOMAIN-SUFFIX,yasni.co.uk,Proxy +DOMAIN-SUFFIX,yastatic.net,Proxy +#Z +DOMAIN-SUFFIX,zacebook.com,Proxy +DOMAIN-SUFFIX,zalmos.com,Proxy +DOMAIN-SUFFIX,zaobao.com.sg,Proxy +DOMAIN-SUFFIX,zeutch.com,Proxy +#0-9 +DOMAIN-SUFFIX,4everproxy.com,Proxy +DOMAIN-SUFFIX,4shared.com,Proxy +# Telegram +# 通用部分 +DOMAIN-SUFFIX,telegra.ph,Proxy +DOMAIN-SUFFIX,telegram.org,Proxy +IP-CIDR,91.108.56.0/22,Proxy,no-resolve +IP-CIDR,91.108.4.0/22,Proxy,no-resolve +IP-CIDR,109.239.140.0/24,Proxy,no-resolve +IP-CIDR,149.154.164.0/22,Proxy,no-resolve +IP-CIDR,149.154.172.0/22,Proxy,no-resolve +IP-CIDR,149.154.160.0/22,Proxy,no-resolve +IP-CIDR,149.154.168.0/22,Proxy,no-resolve +# Slack +DOMAIN-SUFFIX,slack-edge.com,Proxy +DOMAIN-SUFFIX,slack.com,Proxy +DOMAIN-SUFFIX,slack-msgs.com,Proxy +# LAN +DOMAIN-SUFFIX,local,DIRECT +IP-CIDR,127.0.0.0/8,DIRECT +IP-CIDR,172.16.0.0/12,DIRECT +IP-CIDR,192.168.0.0/16,DIRECT +IP-CIDR,10.0.0.0/8,DIRECT +IP-CIDR,100.64.0.0/10,DIRECT +# Final Rules +GEOIP,CN,DIRECT +FINAL,,Proxy From 1bb47c55dbf3ab4df2454b293a90ef79a4b9bc24 Mon Sep 17 00:00:00 2001 From: yicheng Date: Wed, 5 Sep 2018 20:33:19 +0800 Subject: [PATCH 11/16] Push 1.3.6 --- appcast.xml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/appcast.xml b/appcast.xml index 809de54..516111a 100644 --- a/appcast.xml +++ b/appcast.xml @@ -6,9 +6,15 @@ Most recent changes with links to updates. cn - 1.3.5 + 1.3.6 +
  • 1.3.6
  • +
  • Fix infinity notification when config file is wrong.
  • +
  • Try to fix problem when telegram send images.
  • +
  • Ask to if to replace the config file or not when can not recognize config.
  • +
    • 1.3.5
    • Sync the latest code with clash fix some connection issues with http proxy.
    • @@ -70,8 +76,8 @@
    ]]>
    - Sun, 23 Aug 2018 15:20:11 +0000 - + Sun, 24 Aug 2018 15:20:11 +0000 +
    From a1164e8862f021a3c3a2f38df4f7b6bfe513206e Mon Sep 17 00:00:00 2001 From: Gondnat Date: Wed, 5 Sep 2018 16:46:38 +0800 Subject: [PATCH 12/16] Remove ProxyConfig from support file, add ProxyConfig as Target dependence, add copy ProxyConfig to Resouce --- ClashX.xcodeproj/project.pbxproj | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/ClashX.xcodeproj/project.pbxproj b/ClashX.xcodeproj/project.pbxproj index 82f80a3..fab9ba1 100644 --- a/ClashX.xcodeproj/project.pbxproj +++ b/ClashX.xcodeproj/project.pbxproj @@ -9,7 +9,6 @@ /* Begin PBXBuildFile section */ 0D318CDAC9464E01DAD1F92B /* Pods_ClashX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0358BF8F0CBD7FF9A7EA4E30 /* Pods_ClashX.framework */; }; 4913C82321157D0200F6B87C /* Notification.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4913C82221157D0200F6B87C /* Notification.swift */; }; - 492C4865210EC9E4004554A0 /* ProxyConfig in Resources */ = {isa = PBXBuildFile; fileRef = 492C4864210EC9E4004554A0 /* ProxyConfig */; }; 492C4869210EE6B9004554A0 /* ApiRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492C4868210EE6B9004554A0 /* ApiRequest.swift */; }; 492C4871210EF62E004554A0 /* ClashConfig.swift in Sources */ = {isa = PBXBuildFile; fileRef = 492C4870210EF62E004554A0 /* ClashConfig.swift */; }; 4949D154213242F600EF85E6 /* Paths.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4949D153213242F600EF85E6 /* Paths.swift */; }; @@ -47,6 +46,7 @@ 49CF3B6320CED9CF001EBF94 /* check_proxy_helper.sh in Resources */ = {isa = PBXBuildFile; fileRef = 49CF3B6220CED934001EBF94 /* check_proxy_helper.sh */; }; 49CF3B6520CEE06C001EBF94 /* ConfigManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49CF3B6420CEE06C001EBF94 /* ConfigManager.swift */; }; 49E07A8C20D501A000A088A3 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 49E07A8920D501A000A088A3 /* Main.storyboard */; }; + 663E4678213FCDCD006F11BB /* ProxyConfig in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4949D15B213260BD00EF85E6 /* ProxyConfig */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -64,6 +64,13 @@ remoteGlobalIDString = 495A44BB20D2660A00888A0A; remoteInfo = ClashXLaunchHelper; }; + 663E4674213FCD50006F11BB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 49CF3B4B20CE5232001EBF94 /* ProxyConfig.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 36B6A3221E263590002B5B1D; + remoteInfo = ProxyConfig; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -77,12 +84,21 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + 663E4677213FCDC4006F11BB /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 7; + files = ( + 663E4678213FCDCD006F11BB /* ProxyConfig in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ 0358BF8F0CBD7FF9A7EA4E30 /* Pods_ClashX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ClashX.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 4913C82221157D0200F6B87C /* Notification.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Notification.swift; sourceTree = ""; }; - 492C4864210EC9E4004554A0 /* ProxyConfig */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = ProxyConfig; path = "../../../../Library/Developer/Xcode/DerivedData/ClashX-dojkemepirlxgtgjgkqxpjrbgopn/Build/Products/Debug/ProxyConfig"; sourceTree = ""; }; 492C4868210EE6B9004554A0 /* ApiRequest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ApiRequest.swift; sourceTree = ""; }; 492C4870210EF62E004554A0 /* ClashConfig.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClashConfig.swift; sourceTree = ""; }; 4949D153213242F600EF85E6 /* Paths.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Paths.swift; sourceTree = ""; }; @@ -309,7 +325,6 @@ children = ( 4989F98D20D0AE990001E564 /* sampleConfig.ini */, 4989F98320D02D200001E564 /* Country.mmdb */, - 492C4864210EC9E4004554A0 /* ProxyConfig */, 49722FE7211F28CC00650A41 /* initConfig.ini */, ); path = "Support Files"; @@ -381,10 +396,12 @@ 495A44CC20D266B000888A0A /* CopyFiles */, A741C26F5755233F0D7CEC6F /* [CP] Embed Pods Frameworks */, D3688B5A70792067918E9514 /* [CP] Copy Pods Resources */, + 663E4677213FCDC4006F11BB /* CopyFiles */, ); buildRules = ( ); dependencies = ( + 663E4675213FCD50006F11BB /* PBXTargetDependency */, 495A44CF20D2671F00888A0A /* PBXTargetDependency */, ); name = ClashX; @@ -478,7 +495,6 @@ 4989F98420D02D200001E564 /* Country.mmdb in Resources */, 497F0DF320DE2FE50077AD41 /* Icon.icns in Resources */, 49722FF2211F338B00650A41 /* Info.plist in Resources */, - 492C4865210EC9E4004554A0 /* ProxyConfig in Resources */, 4989F98E20D0AE990001E564 /* sampleConfig.ini in Resources */, 49CF3B6320CED9CF001EBF94 /* check_proxy_helper.sh in Resources */, ); @@ -599,6 +615,11 @@ target = 495A44BB20D2660A00888A0A /* ClashXLaunchHelper */; targetProxy = 495A44CE20D2671F00888A0A /* PBXContainerItemProxy */; }; + 663E4675213FCD50006F11BB /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = ProxyConfig; + targetProxy = 663E4674213FCD50006F11BB /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ From 91ce828a567a2d2b80c2d8c2d696f36dbf02ba93 Mon Sep 17 00:00:00 2001 From: yicheng Date: Thu, 6 Sep 2018 10:08:05 +0800 Subject: [PATCH 13/16] Improved: set skip_install = YES to proxyConfig target --- ClashX/ProxyConfig/ProxyConfig.xcodeproj/project.pbxproj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ClashX/ProxyConfig/ProxyConfig.xcodeproj/project.pbxproj b/ClashX/ProxyConfig/ProxyConfig.xcodeproj/project.pbxproj index afc799a..207b681 100755 --- a/ClashX/ProxyConfig/ProxyConfig.xcodeproj/project.pbxproj +++ b/ClashX/ProxyConfig/ProxyConfig.xcodeproj/project.pbxproj @@ -236,6 +236,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; name = Debug; @@ -244,6 +245,7 @@ isa = XCBuildConfiguration; buildSettings = { PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; name = Release; From 2e4b83693a8384f69cfc8862ae8edd2f8b9c7e9d Mon Sep 17 00:00:00 2001 From: yicheng Date: Fri, 7 Sep 2018 21:21:41 +0800 Subject: [PATCH 14/16] Feature: use new update config api --- ClashX/General/ApiRequest.swift | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/ClashX/General/ApiRequest.swift b/ClashX/General/ApiRequest.swift index deadbe0..cdcc7c2 100644 --- a/ClashX/General/ApiRequest.swift +++ b/ClashX/General/ApiRequest.swift @@ -95,12 +95,19 @@ class ApiRequest{ } static func requestConfigUpdate(callback:@escaping ((String?)->())){ - if let errMSg = updateAllConfig() { - let err = String(cString: errMSg) - callback(err == "" ? nil : err) - } else { - callback("unknown error") + request(ConfigManager.apiUrl + "/configs", method: .put).responseJSON { (res) in + if res.response?.statusCode == 204 { + callback(nil) + } else { + if let errMSg = updateAllConfig() { + let err = String(cString: errMSg) + callback(err == "" ? nil : err) + } else { + callback("unknown error") + } + } } + } From 22d8f4d8ebdeb9a45189a175b39458d715f78ab1 Mon Sep 17 00:00:00 2001 From: yicheng Date: Fri, 7 Sep 2018 21:26:02 +0800 Subject: [PATCH 15/16] Bump Version --- ClashX/Info.plist | 4 ++-- ClashX/Support Files/initConfig.ini | 2 +- ClashX/Support Files/sampleConfig.ini | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/ClashX/Info.plist b/ClashX/Info.plist index b57105b..ce397fd 100644 --- a/ClashX/Info.plist +++ b/ClashX/Info.plist @@ -17,9 +17,9 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.3.6 + 1.4.0 CFBundleVersion - 1.3.6 + 1.4.0 LSMinimumSystemVersion $(MACOSX_DEPLOYMENT_TARGET) LSUIElement diff --git a/ClashX/Support Files/initConfig.ini b/ClashX/Support Files/initConfig.ini index 656ebba..6822ffb 100644 --- a/ClashX/Support Files/initConfig.ini +++ b/ClashX/Support Files/initConfig.ini @@ -4,7 +4,7 @@ socks-port = 7891 external-controller = 127.0.0.1:7892 [Proxy] proxy = ss, 127.0.0.1, 80, RC4-MD5, password - +# vmess = vmess, 127.0.0.1, 1234, uuid, alertid, auto [Proxy Group] # Proxy = select, proxy diff --git a/ClashX/Support Files/sampleConfig.ini b/ClashX/Support Files/sampleConfig.ini index 71200bb..a3b947e 100644 --- a/ClashX/Support Files/sampleConfig.ini +++ b/ClashX/Support Files/sampleConfig.ini @@ -5,6 +5,8 @@ external-controller = 127.0.0.1:7892 [Proxy] # name = ss, server, port, cipter, password +# vmess = vmess, 127.0.0.1, 1234, uuid, alertid, auto + {{ProxyPlaceHolder}} [Proxy Group] From 4be669e6247629af6705bec93da8f5666b6ee6ad Mon Sep 17 00:00:00 2001 From: yicheng Date: Fri, 7 Sep 2018 21:33:51 +0800 Subject: [PATCH 16/16] Push 1.4.0 --- appcast.xml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/appcast.xml b/appcast.xml index 516111a..31d86e3 100644 --- a/appcast.xml +++ b/appcast.xml @@ -6,9 +6,14 @@ Most recent changes with links to updates. cn - 1.3.6 + 1.4.0 +
  • 1.4.0
  • +
  • Support Vmess.
  • +
  • Try to fix config reload issue.
  • +
    • 1.3.6
    • Fix infinity notification when config file is wrong.
    • @@ -77,7 +82,7 @@ ]]> Sun, 24 Aug 2018 15:20:11 +0000 - +