![]() Later, I extracted the core of Soca into SocaCore, which was the predecessor of NEKit. The difference is that Specht takes full advantage of Network Extension.Īs you can infer from the name of NEKit, it is designed for developing app based on Network Extension.Ībout two years ago, I wrote an iOS app called Soca which worked exactly as what SpechtLite does, but on iOS. It's best if you can leave an issue relating to NEKit at NEKit issues. If you have any questions, please ask at or. Or you can set it yourself by setting system HTTP/HTTPS proxy to 127.0.0.1:port, SOCKS5 proxy (this will proxy things such as Mail.app) to 127.0.0.1:port+1 in System Preferences. Up and RunningĬlick Open config folder and save you configuration into some xxxx.yaml file, then Reload config.įinally, start proxy by click the name, and check Set as system proxy. The file in iplist rule is a file containing a set of IP ranges, each one is either represented as the standard CIDR form 127.0.0.0/8 or the custom range form 127.0.0.0+16777216. CaseInsensitive) then matched with firstMatchInString(host, options:, range: NSRange(location: 0, length: )), so you can give anything that is supported by NSRegularExpression. The file in list rule is a file containing a set of regular expressions to match the domain name of the host: \.cnĮach regex is initlized with NSRegularExpression(pattern: pattern, options. type: DNSFail adapter: speed # Match all other requests. type: iplist adapter: direct file: ~/.SpechtLite/directiprange # When the DNS lookup of the host fails. country: - match: true adapter: direct # Forward requests based on the IP address of the host. ![]() Usually this means this is resolved an Intranet IP. type: country # When the location is unknown. match: true # Define which adapter should we use. type: country # ISO country code country: CN # Apply this rule to matched request or not matched request. type: list file: ~/.SpechtLite/adlist adapter: reject # Forward requests based on geographical location. # Forward requests based on whether the host domain matches the given regular expressions. delay: 300 # Here defines how things should work. id: reject type: reject # It's very important to set a delay since some apps may try to reconnect repeatedly. id: direct delay: 0 # Disconnect after given delay without connecting to remote. id: adapter4 type: socks5 host: rver port: 3128 # Speed adapter automatically connects to all specified adapters (with given delay) # and uses the one that becomes ready first. method: AES-128-CFB password: ss_password # Currently support: origin and verify_sha1 protocol: origin # Currently support: origin, http_simple and tls1.2_ticket_auth obfs: origin id: adapter3 type: ss host: ss.server port: 3128 # Currently support: AES-128-CFB, AES-192-CFB, AES-256-CFB, chacha20, salsa20, rc4-md5 # Shadowsocks encryption methods are not fully tested, please report if there is anything not working. type: SHTTP host: .https port: 3128 auth: true username: proxy_username password: proxy_password id: adapter2 # SHTTP server is a http proxy server on SSL. type: HTTP host: http.proxy port: 3128 auth: true username: proxy_username password: proxy_password id: adapter1 # HTTP server is a http proxy server. # There is a 'direct' adapter that connect directly to target host without proxy. # id is used to distinguish adapter when defining rules. port: 9090 # Adapter is the remote proxy server you want to connect to adapter: # Note there is another SOCKS5 proxy server starts at port+1 automatically. # This is the local http proxy server port. In case you do not know YAML, read first.īelow is a simple demo configuration file: There is a template for Chinese users here, which is not maintained by me. "Lite"? Is there a "Full" version? Configuration File If you do need a fancy GUI, consider some commercial alternatives such as the Mac version of Surge. But no worry, you simply need some YAML files to get everything running. Note there is no fancy GUI configuration panel. The app is provided as a demo of how NEKit works and let people test it though I thinks this app works well enough for real usage. The core of SpechtLite consists just a few lines of code invoking NEKit. The geographical location, regular expressions rule or/and the speed of the connection. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |