gitextract_v3hvtkza/ ├── .github/ │ ├── ISSUE_TEMPLATE.md │ ├── SECURITY.md │ └── workflows/ │ ├── lint_python.yml │ └── notify_aur_upgrade.yml ├── .gitignore ├── README.md ├── SwitchyOmega/ │ ├── OmegaOptions.bak │ └── download SwitchyOmega for Chromium & Firefox.url ├── code/ │ ├── app_info.json │ └── default/ │ ├── LICENSE.txt │ ├── babel_update.py │ ├── download.md │ ├── gae_proxy/ │ │ ├── __init__.py │ │ ├── babel.config │ │ ├── lang/ │ │ │ ├── de_DE/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ ├── es_VE/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ ├── fa_IR/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ ├── ja_JP/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ └── zh_CN/ │ │ │ └── LC_MESSAGES/ │ │ │ └── messages.po │ │ ├── local/ │ │ │ ├── __init__.py │ │ │ ├── apis.py │ │ │ ├── appid_manager.py │ │ │ ├── appids.txt │ │ │ ├── cacert.pem │ │ │ ├── cert_util.py │ │ │ ├── check_ip.py │ │ │ ├── check_local_network.py │ │ │ ├── config.py │ │ │ ├── direct_handler.py │ │ │ ├── download_gae_lib.py │ │ │ ├── front.py │ │ │ ├── gae_handler.py │ │ │ ├── host_manager.py │ │ │ ├── http2_connection.py │ │ │ ├── ip_list.txt │ │ │ ├── ip_range.old │ │ │ ├── ip_range.txt │ │ │ ├── ipv6_list.txt │ │ │ ├── ipv6_tunnel/ │ │ │ │ ├── IPV6_note.TXT │ │ │ │ ├── __init__.py │ │ │ │ ├── common.py │ │ │ │ ├── darwin.py │ │ │ │ ├── disable_ipv6.bat │ │ │ │ ├── enable_ipv6.bat │ │ │ │ ├── linux.py │ │ │ │ ├── pteredor.py │ │ │ │ ├── unknown.py │ │ │ │ ├── win10.py │ │ │ │ ├── win32runas.py │ │ │ │ └── win_reset_gp.py │ │ │ ├── proxy.py │ │ │ ├── proxy_handler.py │ │ │ ├── sni_manager.py │ │ │ ├── sni_slice.txt │ │ │ └── web_control.py │ │ ├── server/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ └── gae/ │ │ │ ├── .gcloudignore │ │ │ ├── app.yaml │ │ │ ├── gunicorn.conf.py │ │ │ ├── main.py │ │ │ └── requirements.txt │ │ ├── tests/ │ │ │ └── test_protocol.py │ │ └── web_ui/ │ │ ├── advanced.html │ │ ├── check_ip.html │ │ ├── config.html │ │ ├── deploy.html │ │ ├── export_ip.html │ │ ├── global_setting.html │ │ ├── import_ip.html │ │ ├── ipv6_tunnel.html │ │ ├── logging.html │ │ ├── menu.json │ │ ├── scan_setting.html │ │ └── status.html │ ├── launcher/ │ │ ├── __init__.py │ │ ├── autorun.py │ │ ├── babel.config │ │ ├── config.py │ │ ├── create_shortcut.js │ │ ├── download.vbs │ │ ├── download_modules.py │ │ ├── global_var.py │ │ ├── gtk_tray.py │ │ ├── lang/ │ │ │ ├── fa_IR/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ ├── ru_RU/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ └── zh_CN/ │ │ │ └── LC_MESSAGES/ │ │ │ └── messages.po │ │ ├── mac_helper │ │ ├── mac_helper.c │ │ ├── mac_tray.py │ │ ├── module_init.py │ │ ├── non_tray.py │ │ ├── post_update.py │ │ ├── setup.py │ │ ├── simple_i18n.py │ │ ├── start.py │ │ ├── sys_platform.py │ │ ├── tests/ │ │ │ ├── integrate_testing.py │ │ │ ├── test_update.py │ │ │ ├── test_web_api.py │ │ │ ├── test_win_port_reserve.py │ │ │ ├── try_run.py │ │ │ └── try_smartroute_sock4.py │ │ ├── unzip.vbs │ │ ├── update.py │ │ ├── update_from_github.py │ │ ├── web_control.py │ │ ├── web_ui/ │ │ │ ├── about.html │ │ │ ├── config.html │ │ │ ├── config_applist.html │ │ │ ├── config_general.html │ │ │ ├── config_proxy.html │ │ │ ├── config_update.html │ │ │ ├── css/ │ │ │ │ ├── bootstrap-responsive.css │ │ │ │ ├── bootstrap.css │ │ │ │ ├── flat-ui.css │ │ │ │ ├── primer-markdown.css │ │ │ │ └── style.css │ │ │ ├── index.html │ │ │ ├── js/ │ │ │ │ ├── flat-ui.js │ │ │ │ ├── jquery.timer.js │ │ │ │ └── site.js │ │ │ ├── logging.html │ │ │ ├── menu.json │ │ │ └── status.html │ │ ├── win_compat_suggest.py │ │ └── win_tray.py │ ├── lib/ │ │ ├── noarch/ │ │ │ ├── asn1crypto/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _errors.py │ │ │ │ ├── _inet.py │ │ │ │ ├── _int.py │ │ │ │ ├── _iri.py │ │ │ │ ├── _ordereddict.py │ │ │ │ ├── _teletex_codec.py │ │ │ │ ├── _types.py │ │ │ │ ├── algos.py │ │ │ │ ├── cms.py │ │ │ │ ├── core.py │ │ │ │ ├── crl.py │ │ │ │ ├── csr.py │ │ │ │ ├── keys.py │ │ │ │ ├── ocsp.py │ │ │ │ ├── parser.py │ │ │ │ ├── pdf.py │ │ │ │ ├── pem.py │ │ │ │ ├── pkcs12.py │ │ │ │ ├── tsp.py │ │ │ │ ├── util.py │ │ │ │ ├── version.py │ │ │ │ └── x509.py │ │ │ ├── dnslib/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bimap.py │ │ │ │ ├── bit.py │ │ │ │ ├── buffer.py │ │ │ │ ├── client.py │ │ │ │ ├── dns.py │ │ │ │ ├── fixedresolver.py │ │ │ │ ├── intercept.py │ │ │ │ ├── label.py │ │ │ │ ├── lex.py │ │ │ │ ├── proxy.py │ │ │ │ ├── ranges.py │ │ │ │ ├── server.py │ │ │ │ ├── shellresolver.py │ │ │ │ └── zoneresolver.py │ │ │ ├── ecdsa/ │ │ │ │ ├── __init__.py │ │ │ │ ├── _compat.py │ │ │ │ ├── _rwlock.py │ │ │ │ ├── _sha3.py │ │ │ │ ├── _version.py │ │ │ │ ├── curves.py │ │ │ │ ├── der.py │ │ │ │ ├── ecdh.py │ │ │ │ ├── ecdsa.py │ │ │ │ ├── eddsa.py │ │ │ │ ├── ellipticcurve.py │ │ │ │ ├── errors.py │ │ │ │ ├── keys.py │ │ │ │ ├── numbertheory.py │ │ │ │ ├── rfc6979.py │ │ │ │ └── util.py │ │ │ ├── encrypt.py │ │ │ ├── env_info.py │ │ │ ├── front_base/ │ │ │ │ ├── __init__.py │ │ │ │ ├── boringssl_wrap.py │ │ │ │ ├── check_ip.py │ │ │ │ ├── config.py │ │ │ │ ├── connect_creator.py │ │ │ │ ├── connect_manager.py │ │ │ │ ├── domain_manager.py │ │ │ │ ├── host_manager.py │ │ │ │ ├── http1.py │ │ │ │ ├── http2_connection.py │ │ │ │ ├── http2_stream.py │ │ │ │ ├── http_common.py │ │ │ │ ├── http_dispatcher.py │ │ │ │ ├── ip_manager.py │ │ │ │ ├── ip_source.py │ │ │ │ ├── openssl_wrap.py │ │ │ │ ├── pyopenssl_wrap.py │ │ │ │ ├── random_get_slice.py │ │ │ │ ├── ssl_wrap.py │ │ │ │ └── tlslite_wrap.py │ │ │ ├── hyper/ │ │ │ │ ├── __init__.py │ │ │ │ ├── certs.pem │ │ │ │ ├── cli.py │ │ │ │ ├── common/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── bufsocket.py │ │ │ │ │ ├── connection.py │ │ │ │ │ ├── decoder.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── headers.py │ │ │ │ │ └── util.py │ │ │ │ ├── compat.py │ │ │ │ ├── contrib.py │ │ │ │ ├── http11/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── connection.py │ │ │ │ │ ├── parser.py │ │ │ │ │ └── response.py │ │ │ │ ├── http20/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── connection.py │ │ │ │ │ ├── errors.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── response.py │ │ │ │ │ ├── stream.py │ │ │ │ │ ├── util.py │ │ │ │ │ └── window.py │ │ │ │ ├── httplib_compat.py │ │ │ │ ├── packages/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── hpack/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── compat.py │ │ │ │ │ │ ├── exceptions.py │ │ │ │ │ │ ├── hpack.py │ │ │ │ │ │ ├── hpack_compat.py │ │ │ │ │ │ ├── huffman.py │ │ │ │ │ │ ├── huffman_constants.py │ │ │ │ │ │ ├── huffman_table.py │ │ │ │ │ │ ├── struct.py │ │ │ │ │ │ └── table.py │ │ │ │ │ ├── hyperframe/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── flags.py │ │ │ │ │ │ └── frame.py │ │ │ │ │ └── rfc3986/ │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── api.py │ │ │ │ │ ├── compat.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── misc.py │ │ │ │ │ ├── normalizers.py │ │ │ │ │ ├── parseresult.py │ │ │ │ │ └── uri.py │ │ │ │ ├── ssl_compat.py │ │ │ │ └── tls.py │ │ │ ├── idna/ │ │ │ │ ├── __init__.py │ │ │ │ ├── codec.py │ │ │ │ ├── compat.py │ │ │ │ ├── core.py │ │ │ │ ├── idnadata.py │ │ │ │ ├── intranges.py │ │ │ │ └── uts46data.py │ │ │ ├── lru_cache.py │ │ │ ├── os_platform.py │ │ │ ├── pyasn1/ │ │ │ │ ├── __init__.py │ │ │ │ ├── codec/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ber/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── decoder.py │ │ │ │ │ │ ├── encoder.py │ │ │ │ │ │ └── eoo.py │ │ │ │ │ ├── cer/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── decoder.py │ │ │ │ │ │ └── encoder.py │ │ │ │ │ ├── der/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── decoder.py │ │ │ │ │ │ └── encoder.py │ │ │ │ │ └── native/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── decoder.py │ │ │ │ │ └── encoder.py │ │ │ │ ├── compat/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── binary.py │ │ │ │ │ ├── calling.py │ │ │ │ │ ├── dateandtime.py │ │ │ │ │ ├── integer.py │ │ │ │ │ ├── octets.py │ │ │ │ │ └── string.py │ │ │ │ ├── debug.py │ │ │ │ ├── error.py │ │ │ │ └── type/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── char.py │ │ │ │ ├── constraint.py │ │ │ │ ├── error.py │ │ │ │ ├── namedtype.py │ │ │ │ ├── namedval.py │ │ │ │ ├── opentype.py │ │ │ │ ├── tag.py │ │ │ │ ├── tagmap.py │ │ │ │ ├── univ.py │ │ │ │ └── useful.py │ │ │ ├── scrypto/ │ │ │ │ ├── __init__.py │ │ │ │ ├── ctypes_openssl.py │ │ │ │ ├── m2.py │ │ │ │ ├── rc4_md5.py │ │ │ │ ├── salsa20_ctr.py │ │ │ │ ├── table.py │ │ │ │ └── util.py │ │ │ ├── selectors2.py │ │ │ ├── simple_http_client.py │ │ │ ├── simple_http_server.py │ │ │ ├── simple_queue.py │ │ │ ├── six.py │ │ │ ├── socks.py │ │ │ ├── sortedcontainers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── sorteddict.py │ │ │ │ ├── sortedlist.py │ │ │ │ ├── sortedlistwithkey.py │ │ │ │ └── sortedset.py │ │ │ ├── subj_alt_name.py │ │ │ ├── tlslite/ │ │ │ │ ├── __init__.py │ │ │ │ ├── api.py │ │ │ │ ├── basedb.py │ │ │ │ ├── bufferedsocket.py │ │ │ │ ├── checker.py │ │ │ │ ├── constants.py │ │ │ │ ├── defragmenter.py │ │ │ │ ├── dh.py │ │ │ │ ├── errors.py │ │ │ │ ├── extensions.py │ │ │ │ ├── handshakehashes.py │ │ │ │ ├── handshakehelpers.py │ │ │ │ ├── handshakesettings.py │ │ │ │ ├── keyexchange.py │ │ │ │ ├── mathtls.py │ │ │ │ ├── messages.py │ │ │ │ ├── messagesocket.py │ │ │ │ ├── ocsp.py │ │ │ │ ├── recordlayer.py │ │ │ │ ├── session.py │ │ │ │ ├── sessioncache.py │ │ │ │ ├── signed.py │ │ │ │ ├── tlsconnection.py │ │ │ │ ├── tlsrecordlayer.py │ │ │ │ ├── utils/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── aes.py │ │ │ │ │ ├── aesccm.py │ │ │ │ │ ├── aesgcm.py │ │ │ │ │ ├── asn1parser.py │ │ │ │ │ ├── chacha.py │ │ │ │ │ ├── chacha20_poly1305.py │ │ │ │ │ ├── cipherfactory.py │ │ │ │ │ ├── codec.py │ │ │ │ │ ├── compat.py │ │ │ │ │ ├── constanttime.py │ │ │ │ │ ├── cryptomath.py │ │ │ │ │ ├── datefuncs.py │ │ │ │ │ ├── deprecations.py │ │ │ │ │ ├── dns_utils.py │ │ │ │ │ ├── dsakey.py │ │ │ │ │ ├── ecc.py │ │ │ │ │ ├── ecdsakey.py │ │ │ │ │ ├── eddsakey.py │ │ │ │ │ ├── format_output.py │ │ │ │ │ ├── keyfactory.py │ │ │ │ │ ├── lists.py │ │ │ │ │ ├── openssl_aes.py │ │ │ │ │ ├── openssl_aesccm.py │ │ │ │ │ ├── openssl_aesgcm.py │ │ │ │ │ ├── openssl_rc4.py │ │ │ │ │ ├── openssl_rsakey.py │ │ │ │ │ ├── openssl_tripledes.py │ │ │ │ │ ├── pem.py │ │ │ │ │ ├── poly1305.py │ │ │ │ │ ├── pycrypto_aes.py │ │ │ │ │ ├── pycrypto_aesgcm.py │ │ │ │ │ ├── pycrypto_rc4.py │ │ │ │ │ ├── pycrypto_rsakey.py │ │ │ │ │ ├── pycrypto_tripledes.py │ │ │ │ │ ├── python_aes.py │ │ │ │ │ ├── python_aesccm.py │ │ │ │ │ ├── python_aesgcm.py │ │ │ │ │ ├── python_chacha20_poly1305.py │ │ │ │ │ ├── python_dsakey.py │ │ │ │ │ ├── python_ecdsakey.py │ │ │ │ │ ├── python_eddsakey.py │ │ │ │ │ ├── python_key.py │ │ │ │ │ ├── python_rc4.py │ │ │ │ │ ├── python_rsakey.py │ │ │ │ │ ├── python_tripledes.py │ │ │ │ │ ├── rc4.py │ │ │ │ │ ├── rijndael.py │ │ │ │ │ ├── rsakey.py │ │ │ │ │ ├── tackwrapper.py │ │ │ │ │ ├── tlshashlib.py │ │ │ │ │ ├── tlshmac.py │ │ │ │ │ ├── tripledes.py │ │ │ │ │ └── x25519.py │ │ │ │ ├── verifierdb.py │ │ │ │ ├── x509.py │ │ │ │ └── x509certchain.py │ │ │ ├── utils.py │ │ │ ├── xconfig.py │ │ │ ├── xlog.py │ │ │ ├── xstruct.py │ │ │ └── xx_six.py │ │ ├── tests/ │ │ │ ├── stress_boringssl.py │ │ │ ├── stress_boringssl2.py │ │ │ ├── test_http_client.py │ │ │ ├── test_http_server.py │ │ │ ├── test_queue.py │ │ │ └── test_utils.py │ │ └── win32/ │ │ ├── systray/ │ │ │ ├── __init__.py │ │ │ ├── traybar.py │ │ │ └── win32_adapter.py │ │ ├── win32_proxy_manager.py │ │ ├── win32elevate.py │ │ └── win_inet_pton.py │ ├── smart_router/ │ │ ├── README.md │ │ ├── __init__.py │ │ ├── babel.config │ │ ├── lang/ │ │ │ ├── fa_IR/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ ├── ru_RU/ │ │ │ │ └── LC_MESSAGES/ │ │ │ │ └── messages.po │ │ │ └── zh_CN/ │ │ │ └── LC_MESSAGES/ │ │ │ └── messages.po │ │ ├── local/ │ │ │ ├── __init__.py │ │ │ ├── advertisement_list.txt │ │ │ ├── apis.py │ │ │ ├── cacert-get-iprange.pem │ │ │ ├── cloudflare_cert.pem │ │ │ ├── cn_ipv4_range.txt │ │ │ ├── connect_manager.py │ │ │ ├── dns_query.py │ │ │ ├── dns_server.py │ │ │ ├── gfw_black_list.txt │ │ │ ├── gfw_white_list.txt │ │ │ ├── gfwlist.py │ │ │ ├── global_var.py │ │ │ ├── host_records.py │ │ │ ├── ip_region.py │ │ │ ├── pac_server.py │ │ │ ├── pipe_socks.py │ │ │ ├── proxy.pac │ │ │ ├── proxy_handler.py │ │ │ ├── smart_route.py │ │ │ ├── socket_wrap.py │ │ │ ├── speedtest_whitelist.txt │ │ │ ├── sr_top500_banlist.conf │ │ │ ├── user_rules.py │ │ │ └── web_control.py │ │ ├── scripts/ │ │ │ └── update_domain_list.py │ │ ├── tests/ │ │ │ ├── test_black_list.py │ │ │ ├── test_dns_query.py │ │ │ └── test_set_policy.py │ │ └── web_ui/ │ │ ├── config.html │ │ ├── config_cache.html │ │ ├── config_general.html │ │ ├── config_rules.html │ │ ├── logging.html │ │ └── menu.json │ ├── update_v5.txt │ ├── version.txt │ └── x_tunnel/ │ ├── __init__.py │ ├── babel.config │ ├── lang/ │ │ ├── fa_IR/ │ │ │ └── LC_MESSAGES/ │ │ │ └── messages.po │ │ ├── ru_RU/ │ │ │ └── LC_MESSAGES/ │ │ │ └── messages.po │ │ └── zh_CN/ │ │ └── LC_MESSAGES/ │ │ └── messages.po │ ├── local/ │ │ ├── __init__.py │ │ ├── apis.py │ │ ├── base_container.py │ │ ├── client.py │ │ ├── cloudflare_front/ │ │ │ ├── __init__.py │ │ │ ├── cacert.pem │ │ │ ├── check_ip.py │ │ │ ├── config.py │ │ │ ├── front.py │ │ │ ├── front_domains.json │ │ │ ├── good_ip.txt │ │ │ ├── http2_connection.py │ │ │ ├── ip_manager.py │ │ │ ├── ip_range.txt │ │ │ ├── ipv6_list.txt │ │ │ ├── test.py │ │ │ └── web_control.py │ │ ├── cloudfront_front/ │ │ │ ├── __init__.py │ │ │ ├── cacert.pem │ │ │ ├── check_ip.py │ │ │ ├── config.py │ │ │ ├── connect_creator.py │ │ │ ├── front.py │ │ │ ├── good_ip.txt │ │ │ ├── host_manager.py │ │ │ ├── ip_range.txt │ │ │ ├── sni_list.txt │ │ │ ├── test.py │ │ │ └── web_control.py │ │ ├── config.py │ │ ├── direct_front.py │ │ ├── front_dispatcher.py │ │ ├── gae_front.py │ │ ├── global_var.py │ │ ├── openai_handler.py │ │ ├── proxy_handler.py │ │ ├── proxy_session.py │ │ ├── seley_front/ │ │ │ ├── __init__.py │ │ │ ├── config.py │ │ │ ├── connect_creator.py │ │ │ ├── front.py │ │ │ ├── front_domains.json │ │ │ ├── ip_manager.py │ │ │ ├── rc4_wrap.py │ │ │ ├── test.py │ │ │ └── web_control.py │ │ ├── tls_relay_front/ │ │ │ ├── __init__.py │ │ │ ├── check_ip.py │ │ │ ├── config.py │ │ │ ├── connect_creator.py │ │ │ ├── front.py │ │ │ ├── host_manager.py │ │ │ ├── http2_stream.py │ │ │ ├── ip_manager.py │ │ │ ├── test.py │ │ │ └── web_control.py │ │ ├── upload_logs.py │ │ └── web_control.py │ ├── tests/ │ │ └── test_proxy.py │ └── web_ui/ │ ├── chatgpt.html │ ├── cloudflare_front_logging.html │ ├── cloudfront_front_logging.html │ ├── config.html │ ├── logging.html │ ├── menu.json │ ├── seley_front_logging.html │ ├── status.html │ └── tls_relay_front_logging.html ├── pytest.ini ├── requirements.txt ├── start ├── start.bat ├── start.vbs └── xx_net.sh