gitextract_y_ou7k18/ ├── .gitattributes ├── .gitignore ├── .gitmodules ├── Cartfile ├── Cartfile.resolved ├── Carthage/ │ └── Checkouts/ │ └── YAML.framework/ │ ├── .gitignore │ ├── English.lproj/ │ │ └── InfoPlist.strings │ ├── Info.plist │ ├── Readme.md │ ├── YAML iOS-Info.plist │ ├── YAML.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── YAML iOS.xcscheme │ │ └── YAML.xcscheme │ ├── YAMLSerialization.h │ ├── YAMLSerialization.m │ ├── YAMLUnitTests/ │ │ ├── YAMLUnitTests-Info.plist │ │ ├── YAMLUnitTests-Prefix.pch │ │ ├── YAMLUnitTests.h │ │ ├── YAMLUnitTests.m │ │ └── en.lproj/ │ │ └── InfoPlist.strings │ ├── YAML_Prefix.pch │ ├── module.modulemap │ ├── test/ │ │ ├── bigboy.rb │ │ ├── events.c │ │ ├── fetch.rb │ │ ├── spec12examples.m │ │ ├── test.m │ │ └── yaml/ │ │ ├── basic.yaml │ │ ├── items.yaml │ │ ├── map-in-seq.yaml │ │ ├── map.yaml │ │ ├── mapping.yaml │ │ ├── simple.yaml │ │ ├── spec12-example-10-1-map-examples.yaml │ │ ├── spec12-example-10-2-seq-examples.yaml │ │ ├── spec12-example-10-3-str-examples.yaml │ │ ├── spec12-example-10-4-null-examples.yaml │ │ ├── spec12-example-10-5-bool-examples.yaml │ │ ├── spec12-example-10-6-int-examples.yaml │ │ ├── spec12-example-10-7-float-examples.yaml │ │ ├── spec12-example-10-8-json-tag-resolution.yaml │ │ ├── spec12-example-10-9-core-tag-resolution.yaml │ │ ├── spec12-example-2-1-sequence-of-scalars-ball-players.yaml │ │ ├── spec12-example-2-10-node-for-sammy-sosa-appears-twice-in-this-document.yaml │ │ ├── spec12-example-2-11-mapping-between-sequences.yaml │ │ ├── spec12-example-2-12-compact-nested-mapping.yaml │ │ ├── spec12-example-2-13-in-literals-newlines-are-preserved.yaml │ │ ├── spec12-example-2-14-in-the-folded-scalars-newlines-become-spaces.yaml │ │ ├── spec12-example-2-15-folded-newlines-are-preserved-for-more-indented-and-blank-lines.yaml │ │ ├── spec12-example-2-16-indentation-determines-scope.yaml │ │ ├── spec12-example-2-17-quoted-scalars.yaml │ │ ├── spec12-example-2-18-multi-line-flow-scalars.yaml │ │ ├── spec12-example-2-19-integers.yaml │ │ ├── spec12-example-2-2-mapping-scalars-to-scalars-player-statistics.yaml │ │ ├── spec12-example-2-20-floating-point.yaml │ │ ├── spec12-example-2-21-miscellaneous.yaml │ │ ├── spec12-example-2-22-timestamps.yaml │ │ ├── spec12-example-2-23-various-explicit-tags.yaml │ │ ├── spec12-example-2-24-global-tags.yaml │ │ ├── spec12-example-2-25-unordered-sets.yaml │ │ ├── spec12-example-2-26-ordered-mappings.yaml │ │ ├── spec12-example-2-27-invoice.yaml │ │ ├── spec12-example-2-28-log-file.yaml │ │ ├── spec12-example-2-3-mapping-scalars-to-sequences-ball-clubs-in-each-league.yaml │ │ ├── spec12-example-2-4-sequence-of-mappings-players-statistics.yaml │ │ ├── spec12-example-2-5-sequence-of-sequences.yaml │ │ ├── spec12-example-2-6-mapping-of-mappings.yaml │ │ ├── spec12-example-2-7-two-documents-in-a-stream-each-with-a-leading-comment.yaml │ │ ├── spec12-example-2-8-play-by-play-feed-from-a-game.yaml │ │ ├── spec12-example-2-9-single-document-with-two-comments.yaml │ │ ├── spec12-example-5-1-byte-order-mark.yaml │ │ ├── spec12-example-5-10-invalid-use-of-reserved-indicators.yaml │ │ ├── spec12-example-5-11-line-break-characters.yaml │ │ ├── spec12-example-5-12-tabs-and-spaces.yaml │ │ ├── spec12-example-5-13-escaped-characters.yaml │ │ ├── spec12-example-5-14-invalid-escaped-characters.yaml │ │ ├── spec12-example-5-2-invalid-byte-order-mark.yaml │ │ ├── spec12-example-5-3-block-structure-indicators.yaml │ │ ├── spec12-example-5-4-flow-collection-indicators.yaml │ │ ├── spec12-example-5-5-comment-indicator.yaml │ │ ├── spec12-example-5-6-node-property-indicators.yaml │ │ ├── spec12-example-5-7-block-scalar-indicators.yaml │ │ ├── spec12-example-5-8-quoted-scalar-indicators.yaml │ │ ├── spec12-example-5-9-directive-indicator.yaml │ │ ├── spec12-example-6-1-indentation-spaces.yaml │ │ ├── spec12-example-6-10-comment-lines.yaml │ │ ├── spec12-example-6-11-multi-line-comments.yaml │ │ ├── spec12-example-6-12-separation-spaces.yaml │ │ ├── spec12-example-6-13-reserved-directives.yaml │ │ ├── spec12-example-6-14-yaml-directive.yaml │ │ ├── spec12-example-6-15-invalid-repeated-yaml-directive.yaml │ │ ├── spec12-example-6-16-tag-directive.yaml │ │ ├── spec12-example-6-17-invalid-repeated-tag-directive.yaml │ │ ├── spec12-example-6-18-primary-tag-handle.yaml │ │ ├── spec12-example-6-19-secondary-tag-handle.yaml │ │ ├── spec12-example-6-2-indentation-indicators.yaml │ │ ├── spec12-example-6-20-tag-handles.yaml │ │ ├── spec12-example-6-21-local-tag-prefix.yaml │ │ ├── spec12-example-6-22-global-tag-prefix.yaml │ │ ├── spec12-example-6-23-node-properties.yaml │ │ ├── spec12-example-6-24-verbatim-tags.yaml │ │ ├── spec12-example-6-25-invalid-verbatim-tags.yaml │ │ ├── spec12-example-6-26-tag-shorthands.yaml │ │ ├── spec12-example-6-27-invalid-tag-shorthands.yaml │ │ ├── spec12-example-6-28-non-specific-tags.yaml │ │ ├── spec12-example-6-29-node-anchors.yaml │ │ ├── spec12-example-6-3-separation-spaces.yaml │ │ ├── spec12-example-6-4-line-prefixes.yaml │ │ ├── spec12-example-6-5-empty-lines.yaml │ │ ├── spec12-example-6-6-line-folding.yaml │ │ ├── spec12-example-6-7-block-folding.yaml │ │ ├── spec12-example-6-8-flow-folding.yaml │ │ ├── spec12-example-6-9-separated-comment.yaml │ │ ├── spec12-example-7-1-alias-nodes.yaml │ │ ├── spec12-example-7-10-plain-characters.yaml │ │ ├── spec12-example-7-11-plain-implicit-keys.yaml │ │ ├── spec12-example-7-12-plain-lines.yaml │ │ ├── spec12-example-7-13-flow-sequence.yaml │ │ ├── spec12-example-7-14-flow-sequence-entries.yaml │ │ ├── spec12-example-7-15-flow-mappings.yaml │ │ ├── spec12-example-7-16-flow-mapping-entries.yaml │ │ ├── spec12-example-7-17-flow-mapping-separate-values.yaml │ │ ├── spec12-example-7-18-flow-mapping-adjacent-values.yaml │ │ ├── spec12-example-7-19-single-pair-flow-mappings.yaml │ │ ├── spec12-example-7-2-empty-content.yaml │ │ ├── spec12-example-7-20-single-pair-explicit-entry.yaml │ │ ├── spec12-example-7-21-single-pair-implicit-entries.yaml │ │ ├── spec12-example-7-22-invalid-implicit-keys.yaml │ │ ├── spec12-example-7-23-flow-content.yaml │ │ ├── spec12-example-7-24-flow-nodes.yaml │ │ ├── spec12-example-7-3-completely-empty-flow-nodes.yaml │ │ ├── spec12-example-7-4-double-quoted-implicit-keys.yaml │ │ ├── spec12-example-7-5-double-quoted-line-breaks.yaml │ │ ├── spec12-example-7-6-double-quoted-lines.yaml │ │ ├── spec12-example-7-7-single-quoted-characters.yaml │ │ ├── spec12-example-7-8-single-quoted-implicit-keys.yaml │ │ ├── spec12-example-7-9-single-quoted-lines.yaml │ │ ├── spec12-example-8-1-block-scalar-header.yaml │ │ ├── spec12-example-8-10-folded-lines.yaml │ │ ├── spec12-example-8-11-more-indented-lines.yaml │ │ ├── spec12-example-8-12-empty-separation-lines.yaml │ │ ├── spec12-example-8-13-final-empty-lines.yaml │ │ ├── spec12-example-8-14-block-sequence.yaml │ │ ├── spec12-example-8-15-block-sequence-entry-types.yaml │ │ ├── spec12-example-8-16-block-mappings.yaml │ │ ├── spec12-example-8-17-explicit-block-mapping-entries.yaml │ │ ├── spec12-example-8-18-implicit-block-mapping-entries.yaml │ │ ├── spec12-example-8-19-compact-block-mappings.yaml │ │ ├── spec12-example-8-2-block-indentation-indicator.yaml │ │ ├── spec12-example-8-20-block-node-types.yaml │ │ ├── spec12-example-8-21-block-scalar-nodes.yaml │ │ ├── spec12-example-8-22-block-collection-nodes.yaml │ │ ├── spec12-example-8-3-invalid-block-scalar-indentation-indicators.yaml │ │ ├── spec12-example-8-4-chomping-final-line-break.yaml │ │ ├── spec12-example-8-5-chomping-trailing-lines.yaml │ │ ├── spec12-example-8-6-empty-scalar-chomping.yaml │ │ ├── spec12-example-8-7-literal-scalar.yaml │ │ ├── spec12-example-8-8-literal-content.yaml │ │ ├── spec12-example-8-9-folded-scalar.yaml │ │ ├── spec12-example-9-1-document-prefix.yaml │ │ ├── spec12-example-9-2-document-markers.yaml │ │ ├── spec12-example-9-3-bare-documents.yaml │ │ ├── spec12-example-9-4-explicit-documents.yaml │ │ ├── spec12-example-9-5-directives-documents.yaml │ │ ├── spec12-example-9-6-stream.yaml │ │ └── strange-keys.yaml │ └── yaml-0.1.4/ │ ├── LICENSE │ ├── Makefile.am │ ├── Makefile.in │ ├── README │ ├── aclocal.m4 │ ├── config/ │ │ ├── config.guess │ │ ├── config.sub │ │ ├── depcomp │ │ ├── install-sh │ │ ├── ltmain.sh │ │ └── missing │ ├── config.h │ ├── config.h.in │ ├── configure │ ├── configure.ac │ ├── doc/ │ │ ├── doxygen.cfg │ │ └── html/ │ │ ├── annotated.html │ │ ├── classes.html │ │ ├── doxygen.css │ │ ├── files.html │ │ ├── functions.html │ │ ├── functions_0x62.html │ │ ├── functions_0x63.html │ │ ├── functions_0x64.html │ │ ├── functions_0x65.html │ │ ├── functions_0x66.html │ │ ├── functions_0x68.html │ │ ├── functions_0x69.html │ │ ├── functions_0x6b.html │ │ ├── functions_0x6c.html │ │ ├── functions_0x6d.html │ │ ├── functions_0x6e.html │ │ ├── functions_0x6f.html │ │ ├── functions_0x70.html │ │ ├── functions_0x71.html │ │ ├── functions_0x72.html │ │ ├── functions_0x73.html │ │ ├── functions_0x74.html │ │ ├── functions_0x75.html │ │ ├── functions_0x76.html │ │ ├── functions_0x77.html │ │ ├── functions_vars.html │ │ ├── functions_vars_0x62.html │ │ ├── functions_vars_0x63.html │ │ ├── functions_vars_0x64.html │ │ ├── functions_vars_0x65.html │ │ ├── functions_vars_0x66.html │ │ ├── functions_vars_0x68.html │ │ ├── functions_vars_0x69.html │ │ ├── functions_vars_0x6b.html │ │ ├── functions_vars_0x6c.html │ │ ├── functions_vars_0x6d.html │ │ ├── functions_vars_0x6e.html │ │ ├── functions_vars_0x6f.html │ │ ├── functions_vars_0x70.html │ │ ├── functions_vars_0x71.html │ │ ├── functions_vars_0x72.html │ │ ├── functions_vars_0x73.html │ │ ├── functions_vars_0x74.html │ │ ├── functions_vars_0x75.html │ │ ├── functions_vars_0x76.html │ │ ├── functions_vars_0x77.html │ │ ├── globals.html │ │ ├── globals_defs.html │ │ ├── globals_enum.html │ │ ├── globals_eval.html │ │ ├── globals_func.html │ │ ├── globals_type.html │ │ ├── group__basic.html │ │ ├── group__emitter.html │ │ ├── group__events.html │ │ ├── group__export.html │ │ ├── group__nodes.html │ │ ├── group__parser.html │ │ ├── group__styles.html │ │ ├── group__tokens.html │ │ ├── group__version.html │ │ ├── index.html │ │ ├── modules.html │ │ ├── structyaml__alias__data__s.html │ │ ├── structyaml__document__s.html │ │ ├── structyaml__emitter__s.html │ │ ├── structyaml__event__s.html │ │ ├── structyaml__mark__s.html │ │ ├── structyaml__node__pair__s.html │ │ ├── structyaml__node__s.html │ │ ├── structyaml__parser__s.html │ │ ├── structyaml__simple__key__s.html │ │ ├── structyaml__tag__directive__s.html │ │ ├── structyaml__token__s.html │ │ ├── structyaml__version__directive__s.html │ │ ├── tabs.css │ │ └── yaml_8h.html │ ├── include/ │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ └── yaml.h │ ├── src/ │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── api.c │ │ ├── dumper.c │ │ ├── emitter.c │ │ ├── loader.c │ │ ├── parser.c │ │ ├── reader.c │ │ ├── scanner.c │ │ ├── writer.c │ │ └── yaml_private.h │ ├── tests/ │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── example-deconstructor-alt.c │ │ ├── example-deconstructor.c │ │ ├── example-reformatter-alt.c │ │ ├── example-reformatter.c │ │ ├── run-dumper.c │ │ ├── run-emitter.c │ │ ├── run-loader.c │ │ ├── run-parser.c │ │ ├── run-scanner.c │ │ ├── test-reader.c │ │ └── test-version.c │ ├── win32/ │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── config.h │ │ ├── vc6/ │ │ │ ├── example_deconstructor.dsp │ │ │ ├── example_deconstructor_alt.dsp │ │ │ ├── example_reformatter.dsp │ │ │ ├── example_reformatter_alt.dsp │ │ │ ├── libyaml.dsw │ │ │ ├── run_dumper.dsp │ │ │ ├── run_emitter.dsp │ │ │ ├── run_loader.dsp │ │ │ ├── run_parser.dsp │ │ │ ├── run_scanner.dsp │ │ │ ├── test_reader.dsp │ │ │ ├── test_version.dsp │ │ │ ├── yaml.dsp │ │ │ └── yamldll.dsp │ │ ├── vs2003/ │ │ │ ├── example_deconstructor.vcproj │ │ │ ├── example_deconstructor_alt.vcproj │ │ │ ├── example_reformatter.vcproj │ │ │ ├── example_reformatter_alt.vcproj │ │ │ ├── libyaml.sln │ │ │ ├── run_dumper.vcproj │ │ │ ├── run_emitter.vcproj │ │ │ ├── run_loader.vcproj │ │ │ ├── run_parser.vcproj │ │ │ ├── run_scanner.vcproj │ │ │ ├── test_reader.vcproj │ │ │ ├── test_version.vcproj │ │ │ ├── yaml.vcproj │ │ │ └── yamldll.vcproj │ │ └── vs2008/ │ │ ├── example_deconstructor.vcproj │ │ ├── example_deconstructor_alt.vcproj │ │ ├── example_reformatter.vcproj │ │ ├── example_reformatter_alt.vcproj │ │ ├── libyaml.sln │ │ ├── run_dumper.vcproj │ │ ├── run_emitter.vcproj │ │ ├── run_loader.vcproj │ │ ├── run_parser.vcproj │ │ ├── run_scanner.vcproj │ │ ├── test_reader.vcproj │ │ ├── test_version.vcproj │ │ ├── yaml.vcproj │ │ └── yamldll.vcproj │ └── yaml-0.1.pc.in ├── Gemfile ├── LICENSE ├── Library/ │ ├── Aspects/ │ │ ├── Aspects/ │ │ │ ├── Info.plist │ │ │ └── Source/ │ │ │ └── Aspects.swift │ │ ├── Aspects.podspec │ │ ├── Aspects.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace/ │ │ │ └── contents.xcworkspacedata │ │ └── AspectsTests/ │ │ ├── AspectsTests.swift │ │ └── Info.plist │ ├── ICSMainFramework/ │ │ ├── ICSMainFramework/ │ │ │ ├── AppConfiguration.swift │ │ │ ├── AppDelegate.swift │ │ │ ├── AppEnvironment.swift │ │ │ ├── AppLifeCycle.swift │ │ │ ├── ICSMainFramework.h │ │ │ ├── Info.plist │ │ │ ├── OBJCObjectFactory.h │ │ │ └── OBJCObjectFactory.m │ │ ├── ICSMainFramework.podspec │ │ ├── ICSMainFramework.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ └── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── xcschemes/ │ │ │ └── ICSMainFramework.xcscheme │ │ └── ICSMainFrameworkTests/ │ │ ├── ICSMainFrameworkTests.swift │ │ └── Info.plist │ └── ShadowPath/ │ ├── ShadowPath/ │ │ ├── Info.plist │ │ ├── Privoxy/ │ │ │ ├── actionlist.h │ │ │ ├── actions.h │ │ │ ├── actions.m │ │ │ ├── cgi.c │ │ │ ├── cgi.h │ │ │ ├── cgiedit.c │ │ │ ├── cgiedit.h │ │ │ ├── cgisimple.c │ │ │ ├── cgisimple.h │ │ │ ├── deanimate.c │ │ │ ├── deanimate.h │ │ │ ├── encode.c │ │ │ ├── encode.h │ │ │ ├── errlog.h │ │ │ ├── errlog.m │ │ │ ├── filters.c │ │ │ ├── filters.h │ │ │ ├── gateway.c │ │ │ ├── gateway.h │ │ │ ├── jbsockets.c │ │ │ ├── jbsockets.h │ │ │ ├── jcc.h │ │ │ ├── jcc.m │ │ │ ├── list.c │ │ │ ├── list.h │ │ │ ├── loadcfg.c │ │ │ ├── loadcfg.h │ │ │ ├── loaders.c │ │ │ ├── loaders.h │ │ │ ├── miscutil.c │ │ │ ├── miscutil.h │ │ │ ├── parsers.c │ │ │ ├── parsers.h │ │ │ ├── pcre/ │ │ │ │ ├── chartables.c │ │ │ │ ├── get.c │ │ │ │ ├── internal.h │ │ │ │ ├── pcre.c │ │ │ │ ├── pcre.h │ │ │ │ ├── pcreposix.c │ │ │ │ ├── pcreposix.h │ │ │ │ └── study.c │ │ │ ├── pcrs.c │ │ │ ├── pcrs.h │ │ │ ├── project.h │ │ │ ├── radix.c │ │ │ ├── radix.h │ │ │ ├── sp_config.h │ │ │ ├── ssplit.c │ │ │ ├── ssplit.h │ │ │ ├── urlmatch.c │ │ │ └── urlmatch.h │ │ ├── ShadowPath.h │ │ ├── libopenssl/ │ │ │ ├── include/ │ │ │ │ ├── LICENSE │ │ │ │ └── openssl/ │ │ │ │ ├── aes.h │ │ │ │ ├── asn1.h │ │ │ │ ├── asn1_mac.h │ │ │ │ ├── asn1t.h │ │ │ │ ├── bio.h │ │ │ │ ├── blowfish.h │ │ │ │ ├── bn.h │ │ │ │ ├── buffer.h │ │ │ │ ├── camellia.h │ │ │ │ ├── cast.h │ │ │ │ ├── cmac.h │ │ │ │ ├── cms.h │ │ │ │ ├── comp.h │ │ │ │ ├── conf.h │ │ │ │ ├── conf_api.h │ │ │ │ ├── crypto.h │ │ │ │ ├── des.h │ │ │ │ ├── des_old.h │ │ │ │ ├── dh.h │ │ │ │ ├── dsa.h │ │ │ │ ├── dso.h │ │ │ │ ├── dtls1.h │ │ │ │ ├── e_os2.h │ │ │ │ ├── ebcdic.h │ │ │ │ ├── ec.h │ │ │ │ ├── ecdh.h │ │ │ │ ├── ecdsa.h │ │ │ │ ├── engine.h │ │ │ │ ├── err.h │ │ │ │ ├── evp.h │ │ │ │ ├── hmac.h │ │ │ │ ├── idea.h │ │ │ │ ├── krb5_asn.h │ │ │ │ ├── kssl.h │ │ │ │ ├── lhash.h │ │ │ │ ├── md4.h │ │ │ │ ├── md5.h │ │ │ │ ├── mdc2.h │ │ │ │ ├── modes.h │ │ │ │ ├── obj_mac.h │ │ │ │ ├── objects.h │ │ │ │ ├── ocsp.h │ │ │ │ ├── opensslconf.h │ │ │ │ ├── opensslv.h │ │ │ │ ├── ossl_typ.h │ │ │ │ ├── pem.h │ │ │ │ ├── pem2.h │ │ │ │ ├── pkcs12.h │ │ │ │ ├── pkcs7.h │ │ │ │ ├── pqueue.h │ │ │ │ ├── rand.h │ │ │ │ ├── rc2.h │ │ │ │ ├── rc4.h │ │ │ │ ├── ripemd.h │ │ │ │ ├── rsa.h │ │ │ │ ├── safestack.h │ │ │ │ ├── seed.h │ │ │ │ ├── sha.h │ │ │ │ ├── srp.h │ │ │ │ ├── srtp.h │ │ │ │ ├── ssl.h │ │ │ │ ├── ssl2.h │ │ │ │ ├── ssl23.h │ │ │ │ ├── ssl3.h │ │ │ │ ├── stack.h │ │ │ │ ├── symhacks.h │ │ │ │ ├── tls1.h │ │ │ │ ├── ts.h │ │ │ │ ├── txt_db.h │ │ │ │ ├── ui.h │ │ │ │ ├── ui_compat.h │ │ │ │ ├── whrlpool.h │ │ │ │ ├── x509.h │ │ │ │ ├── x509_vfy.h │ │ │ │ └── x509v3.h │ │ │ └── lib/ │ │ │ ├── libcrypto.a │ │ │ └── libssl.a │ │ ├── libsodium-ios/ │ │ │ ├── include/ │ │ │ │ ├── sodium/ │ │ │ │ │ ├── core.h │ │ │ │ │ ├── crypto_aead_aes256gcm.h │ │ │ │ │ ├── crypto_aead_chacha20poly1305.h │ │ │ │ │ ├── crypto_auth.h │ │ │ │ │ ├── crypto_auth_hmacsha256.h │ │ │ │ │ ├── crypto_auth_hmacsha512.h │ │ │ │ │ ├── crypto_auth_hmacsha512256.h │ │ │ │ │ ├── crypto_box.h │ │ │ │ │ ├── crypto_box_curve25519xsalsa20poly1305.h │ │ │ │ │ ├── crypto_core_hchacha20.h │ │ │ │ │ ├── crypto_core_hsalsa20.h │ │ │ │ │ ├── crypto_core_salsa20.h │ │ │ │ │ ├── crypto_core_salsa2012.h │ │ │ │ │ ├── crypto_core_salsa208.h │ │ │ │ │ ├── crypto_generichash.h │ │ │ │ │ ├── crypto_generichash_blake2b.h │ │ │ │ │ ├── crypto_hash.h │ │ │ │ │ ├── crypto_hash_sha256.h │ │ │ │ │ ├── crypto_hash_sha512.h │ │ │ │ │ ├── crypto_int32.h │ │ │ │ │ ├── crypto_int64.h │ │ │ │ │ ├── crypto_onetimeauth.h │ │ │ │ │ ├── crypto_onetimeauth_poly1305.h │ │ │ │ │ ├── crypto_pwhash.h │ │ │ │ │ ├── crypto_pwhash_argon2i.h │ │ │ │ │ ├── crypto_pwhash_scryptsalsa208sha256.h │ │ │ │ │ ├── crypto_scalarmult.h │ │ │ │ │ ├── crypto_scalarmult_curve25519.h │ │ │ │ │ ├── crypto_secretbox.h │ │ │ │ │ ├── crypto_secretbox_xsalsa20poly1305.h │ │ │ │ │ ├── crypto_shorthash.h │ │ │ │ │ ├── crypto_shorthash_siphash24.h │ │ │ │ │ ├── crypto_sign.h │ │ │ │ │ ├── crypto_sign_ed25519.h │ │ │ │ │ ├── crypto_sign_edwards25519sha512batch.h │ │ │ │ │ ├── crypto_stream.h │ │ │ │ │ ├── crypto_stream_aes128ctr.h │ │ │ │ │ ├── crypto_stream_chacha20.h │ │ │ │ │ ├── crypto_stream_salsa20.h │ │ │ │ │ ├── crypto_stream_salsa2012.h │ │ │ │ │ ├── crypto_stream_salsa208.h │ │ │ │ │ ├── crypto_stream_xsalsa20.h │ │ │ │ │ ├── crypto_uint16.h │ │ │ │ │ ├── crypto_uint32.h │ │ │ │ │ ├── crypto_uint64.h │ │ │ │ │ ├── crypto_uint8.h │ │ │ │ │ ├── crypto_verify_16.h │ │ │ │ │ ├── crypto_verify_32.h │ │ │ │ │ ├── crypto_verify_64.h │ │ │ │ │ ├── export.h │ │ │ │ │ ├── randombytes.h │ │ │ │ │ ├── randombytes_salsa20_random.h │ │ │ │ │ ├── randombytes_sysrandom.h │ │ │ │ │ ├── runtime.h │ │ │ │ │ ├── utils.h │ │ │ │ │ └── version.h │ │ │ │ └── sodium.h │ │ │ └── lib/ │ │ │ └── libsodium.a │ │ └── shadowsocks-libev/ │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── .uncrustify.cfg │ │ ├── AUTHORS │ │ ├── COPYING │ │ ├── Changes │ │ ├── INSTALL │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── README.md │ │ ├── acl/ │ │ │ ├── chn.acl │ │ │ └── local.acl │ │ ├── aclocal.m4 │ │ ├── auto/ │ │ │ ├── ar-lib │ │ │ ├── compile │ │ │ ├── config.guess │ │ │ ├── config.sub │ │ │ ├── depcomp │ │ │ ├── install-sh │ │ │ ├── ltmain.sh │ │ │ └── missing │ │ ├── autogen.sh │ │ ├── config.h │ │ ├── config.h.in │ │ ├── configure │ │ ├── configure.ac │ │ ├── debian/ │ │ │ ├── .gitignore │ │ │ ├── README.Debian │ │ │ ├── changelog │ │ │ ├── compat │ │ │ ├── config.json │ │ │ ├── control │ │ │ ├── copyright │ │ │ ├── copyright.original │ │ │ ├── libshadowsocks-libev-dev.install │ │ │ ├── libshadowsocks-libev1.install │ │ │ ├── rules │ │ │ ├── shadowsocks-libev-local@.service │ │ │ ├── shadowsocks-libev-redir@.service │ │ │ ├── shadowsocks-libev-server@.service │ │ │ ├── shadowsocks-libev-tunnel@.service │ │ │ ├── shadowsocks-libev.default │ │ │ ├── shadowsocks-libev.docs │ │ │ ├── shadowsocks-libev.init │ │ │ ├── shadowsocks-libev.install │ │ │ ├── shadowsocks-libev.postinst │ │ │ ├── shadowsocks-libev.postrm │ │ │ ├── shadowsocks-libev.service │ │ │ ├── source/ │ │ │ │ └── format │ │ │ ├── source.lintian-overrides │ │ │ └── watch │ │ ├── doc/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── asciidoc.conf │ │ │ ├── manpage-base.xsl │ │ │ ├── manpage-bold-literal.xsl │ │ │ ├── manpage-normal.xsl │ │ │ ├── shadowsocks-libev.asciidoc │ │ │ ├── ss-local.asciidoc │ │ │ ├── ss-manager.asciidoc │ │ │ ├── ss-nat.asciidoc │ │ │ ├── ss-redir.asciidoc │ │ │ ├── ss-server.asciidoc │ │ │ └── ss-tunnel.asciidoc │ │ ├── docker/ │ │ │ ├── alpine/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── README.md │ │ │ │ └── docker-compose.yml │ │ │ └── ubuntu/ │ │ │ ├── Dockerfile │ │ │ ├── README.md │ │ │ └── entrypoint │ │ ├── libcork/ │ │ │ ├── COPYING │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README.markdown │ │ │ ├── cli/ │ │ │ │ └── commands.c │ │ │ ├── core/ │ │ │ │ ├── allocator.c │ │ │ │ ├── error.c │ │ │ │ ├── gc.c │ │ │ │ ├── hash.c │ │ │ │ ├── ip-address.c │ │ │ │ ├── mempool.c │ │ │ │ ├── timestamp.c │ │ │ │ └── u128.c │ │ │ ├── ds/ │ │ │ │ ├── array.c │ │ │ │ ├── bitset.c │ │ │ │ ├── buffer.c │ │ │ │ ├── dllist.c │ │ │ │ ├── file-stream.c │ │ │ │ ├── hash-table.c │ │ │ │ ├── managed-buffer.c │ │ │ │ ├── ring-buffer.c │ │ │ │ └── slice.c │ │ │ ├── include/ │ │ │ │ └── libcork/ │ │ │ │ ├── cli/ │ │ │ │ │ └── commands.h │ │ │ │ ├── cli.h │ │ │ │ ├── config/ │ │ │ │ │ ├── arch.h │ │ │ │ │ ├── bsd.h │ │ │ │ │ ├── config.h │ │ │ │ │ ├── gcc.h │ │ │ │ │ ├── linux.h │ │ │ │ │ ├── macosx.h │ │ │ │ │ ├── mingw32.h │ │ │ │ │ └── solaris.h │ │ │ │ ├── config.h │ │ │ │ ├── core/ │ │ │ │ │ ├── allocator.h │ │ │ │ │ ├── api.h │ │ │ │ │ ├── attributes.h │ │ │ │ │ ├── byte-order.h │ │ │ │ │ ├── callbacks.h │ │ │ │ │ ├── error.h │ │ │ │ │ ├── gc.h │ │ │ │ │ ├── hash.h │ │ │ │ │ ├── id.h │ │ │ │ │ ├── mempool.h │ │ │ │ │ ├── net-addresses.h │ │ │ │ │ ├── timestamp.h │ │ │ │ │ ├── types.h │ │ │ │ │ └── u128.h │ │ │ │ ├── core.h │ │ │ │ ├── ds/ │ │ │ │ │ ├── array.h │ │ │ │ │ ├── bitset.h │ │ │ │ │ ├── buffer.h │ │ │ │ │ ├── dllist.h │ │ │ │ │ ├── hash-table.h │ │ │ │ │ ├── managed-buffer.h │ │ │ │ │ ├── ring-buffer.h │ │ │ │ │ ├── slice.h │ │ │ │ │ └── stream.h │ │ │ │ ├── ds.h │ │ │ │ ├── helpers/ │ │ │ │ │ ├── errors.h │ │ │ │ │ ├── gc.h │ │ │ │ │ └── posix.h │ │ │ │ ├── os/ │ │ │ │ │ ├── files.h │ │ │ │ │ ├── process.h │ │ │ │ │ └── subprocess.h │ │ │ │ ├── os.h │ │ │ │ ├── threads/ │ │ │ │ │ ├── atomics.h │ │ │ │ │ └── basics.h │ │ │ │ └── threads.h │ │ │ ├── posix/ │ │ │ │ ├── directory-walker.c │ │ │ │ ├── env.c │ │ │ │ ├── exec.c │ │ │ │ ├── files.c │ │ │ │ ├── process.c │ │ │ │ └── subprocess.c │ │ │ └── pthreads/ │ │ │ └── thread.c │ │ ├── libev/ │ │ │ ├── Changes │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── Symbols.ev │ │ │ ├── Symbols.event │ │ │ ├── aclocal.m4 │ │ │ ├── autogen.sh │ │ │ ├── configure.ac │ │ │ ├── ev++.h │ │ │ ├── ev.3 │ │ │ ├── ev.c │ │ │ ├── ev.h │ │ │ ├── ev.pod │ │ │ ├── ev_epoll.c │ │ │ ├── ev_kqueue.c │ │ │ ├── ev_poll.c │ │ │ ├── ev_port.c │ │ │ ├── ev_select.c │ │ │ ├── ev_vars.h │ │ │ ├── ev_win32.c │ │ │ ├── ev_wrap.h │ │ │ ├── event.c │ │ │ ├── event.h │ │ │ └── libev.m4 │ │ ├── libipset/ │ │ │ ├── LICENSE.txt │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README.markdown │ │ │ ├── bdd/ │ │ │ │ ├── Makefile.am │ │ │ │ ├── Makefile.in │ │ │ │ ├── assignments.c │ │ │ │ ├── basics.c │ │ │ │ ├── bdd-iterator.c │ │ │ │ ├── expanded.c │ │ │ │ ├── reachable.c │ │ │ │ ├── read.c │ │ │ │ └── write.c │ │ │ ├── general.c │ │ │ ├── include/ │ │ │ │ └── ipset/ │ │ │ │ ├── bdd/ │ │ │ │ │ └── nodes.h │ │ │ │ ├── bits.h │ │ │ │ ├── errors.h │ │ │ │ ├── ipset.h │ │ │ │ └── logging.h │ │ │ ├── map/ │ │ │ │ ├── Makefile.am │ │ │ │ ├── Makefile.in │ │ │ │ ├── allocation.c │ │ │ │ ├── inspection-template.c.in │ │ │ │ ├── inspection.c │ │ │ │ ├── ipv4_map.c │ │ │ │ ├── ipv6_map.c │ │ │ │ └── storage.c │ │ │ └── set/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── allocation.c │ │ │ ├── inspection-template.c.in │ │ │ ├── inspection.c │ │ │ ├── ipv4_set.c │ │ │ ├── ipv6_set.c │ │ │ ├── iterator.c │ │ │ └── storage.c │ │ ├── libsodium/ │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── AUTHORS │ │ │ ├── ChangeLog │ │ │ ├── LICENSE │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README │ │ │ ├── README.markdown │ │ │ ├── THANKS │ │ │ ├── autogen.sh │ │ │ ├── build-aux/ │ │ │ │ ├── config.guess │ │ │ │ ├── config.sub │ │ │ │ ├── depcomp │ │ │ │ ├── install-sh │ │ │ │ ├── ltmain.sh │ │ │ │ └── missing │ │ │ ├── configure │ │ │ ├── configure.ac │ │ │ ├── libsodium.pc.in │ │ │ ├── libsodium.sln │ │ │ ├── libsodium.vcxproj │ │ │ ├── libsodium.vcxproj.filters │ │ │ ├── m4/ │ │ │ │ ├── ax_check_compile_flag.m4 │ │ │ │ ├── ax_check_define.m4 │ │ │ │ ├── ax_check_gnu_make.m4 │ │ │ │ ├── ax_check_link_flag.m4 │ │ │ │ ├── ld-output-def.m4 │ │ │ │ └── pkg.m4 │ │ │ ├── packaging/ │ │ │ │ └── nuget/ │ │ │ │ ├── .gitignore │ │ │ │ ├── package.bat │ │ │ │ ├── package.config │ │ │ │ └── package.gsl │ │ │ └── src/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ └── libsodium/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── crypto_aead/ │ │ │ │ ├── aes256gcm/ │ │ │ │ │ └── aesni/ │ │ │ │ │ └── aead_aes256gcm_aesni.c │ │ │ │ └── chacha20poly1305/ │ │ │ │ └── sodium/ │ │ │ │ └── aead_chacha20poly1305.c │ │ │ ├── crypto_auth/ │ │ │ │ ├── crypto_auth.c │ │ │ │ ├── hmacsha256/ │ │ │ │ │ ├── auth_hmacsha256_api.c │ │ │ │ │ └── cp/ │ │ │ │ │ ├── hmac_hmacsha256.c │ │ │ │ │ └── verify_hmacsha256.c │ │ │ │ ├── hmacsha512/ │ │ │ │ │ ├── auth_hmacsha512_api.c │ │ │ │ │ └── cp/ │ │ │ │ │ ├── hmac_hmacsha512.c │ │ │ │ │ └── verify_hmacsha512.c │ │ │ │ └── hmacsha512256/ │ │ │ │ ├── auth_hmacsha512256_api.c │ │ │ │ └── cp/ │ │ │ │ ├── hmac_hmacsha512256.c │ │ │ │ └── verify_hmacsha512256.c │ │ │ ├── crypto_box/ │ │ │ │ ├── crypto_box.c │ │ │ │ ├── crypto_box_easy.c │ │ │ │ ├── crypto_box_seal.c │ │ │ │ └── curve25519xsalsa20poly1305/ │ │ │ │ ├── box_curve25519xsalsa20poly1305_api.c │ │ │ │ └── ref/ │ │ │ │ ├── after_curve25519xsalsa20poly1305.c │ │ │ │ ├── before_curve25519xsalsa20poly1305.c │ │ │ │ ├── box_curve25519xsalsa20poly1305.c │ │ │ │ └── keypair_curve25519xsalsa20poly1305.c │ │ │ ├── crypto_core/ │ │ │ │ ├── hsalsa20/ │ │ │ │ │ ├── core_hsalsa20_api.c │ │ │ │ │ └── ref2/ │ │ │ │ │ └── core_hsalsa20.c │ │ │ │ ├── salsa20/ │ │ │ │ │ ├── core_salsa20_api.c │ │ │ │ │ └── ref/ │ │ │ │ │ └── core_salsa20.c │ │ │ │ ├── salsa2012/ │ │ │ │ │ ├── core_salsa2012_api.c │ │ │ │ │ └── ref/ │ │ │ │ │ └── core_salsa2012.c │ │ │ │ └── salsa208/ │ │ │ │ ├── core_salsa208_api.c │ │ │ │ └── ref/ │ │ │ │ └── core_salsa208.c │ │ │ ├── crypto_generichash/ │ │ │ │ ├── blake2/ │ │ │ │ │ ├── generichash_blake2_api.c │ │ │ │ │ └── ref/ │ │ │ │ │ ├── blake2-impl.h │ │ │ │ │ ├── blake2.h │ │ │ │ │ ├── blake2b-compress-ref.c │ │ │ │ │ ├── blake2b-compress-sse41.c │ │ │ │ │ ├── blake2b-compress-ssse3.c │ │ │ │ │ ├── blake2b-load-sse2.h │ │ │ │ │ ├── blake2b-load-sse41.h │ │ │ │ │ ├── blake2b-ref.c │ │ │ │ │ ├── blake2b-round.h │ │ │ │ │ └── generichash_blake2b.c │ │ │ │ └── crypto_generichash.c │ │ │ ├── crypto_hash/ │ │ │ │ ├── crypto_hash.c │ │ │ │ ├── sha256/ │ │ │ │ │ ├── cp/ │ │ │ │ │ │ └── hash_sha256.c │ │ │ │ │ └── hash_sha256_api.c │ │ │ │ └── sha512/ │ │ │ │ ├── cp/ │ │ │ │ │ └── hash_sha512.c │ │ │ │ └── hash_sha512_api.c │ │ │ ├── crypto_onetimeauth/ │ │ │ │ ├── crypto_onetimeauth.c │ │ │ │ └── poly1305/ │ │ │ │ ├── donna/ │ │ │ │ │ ├── poly1305_donna.c │ │ │ │ │ ├── poly1305_donna.h │ │ │ │ │ ├── poly1305_donna32.h │ │ │ │ │ └── poly1305_donna64.h │ │ │ │ ├── onetimeauth_poly1305.c │ │ │ │ ├── onetimeauth_poly1305.h │ │ │ │ └── sse2/ │ │ │ │ ├── poly1305_sse2.c │ │ │ │ └── poly1305_sse2.h │ │ │ ├── crypto_pwhash/ │ │ │ │ └── scryptsalsa208sha256/ │ │ │ │ ├── crypto_scrypt-common.c │ │ │ │ ├── crypto_scrypt.h │ │ │ │ ├── nosse/ │ │ │ │ │ └── pwhash_scryptsalsa208sha256_nosse.c │ │ │ │ ├── pbkdf2-sha256.c │ │ │ │ ├── pbkdf2-sha256.h │ │ │ │ ├── pwhash_scryptsalsa208sha256.c │ │ │ │ ├── scrypt_platform.c │ │ │ │ ├── sse/ │ │ │ │ │ └── pwhash_scryptsalsa208sha256_sse.c │ │ │ │ └── sysendian.h │ │ │ ├── crypto_scalarmult/ │ │ │ │ ├── crypto_scalarmult.c │ │ │ │ └── curve25519/ │ │ │ │ ├── donna_c64/ │ │ │ │ │ ├── curve25519_donna_c64.c │ │ │ │ │ └── curve25519_donna_c64.h │ │ │ │ ├── ref10/ │ │ │ │ │ ├── curve25519_ref10.c │ │ │ │ │ ├── curve25519_ref10.h │ │ │ │ │ ├── fe.h │ │ │ │ │ ├── fe_0_curve25519_ref10.c │ │ │ │ │ ├── fe_1_curve25519_ref10.c │ │ │ │ │ ├── fe_add_curve25519_ref10.c │ │ │ │ │ ├── fe_copy_curve25519_ref10.c │ │ │ │ │ ├── fe_cswap_curve25519_ref10.c │ │ │ │ │ ├── fe_frombytes_curve25519_ref10.c │ │ │ │ │ ├── fe_invert_curve25519_ref10.c │ │ │ │ │ ├── fe_mul121666_curve25519_ref10.c │ │ │ │ │ ├── fe_mul_curve25519_ref10.c │ │ │ │ │ ├── fe_sq_curve25519_ref10.c │ │ │ │ │ ├── fe_sub_curve25519_ref10.c │ │ │ │ │ ├── fe_tobytes_curve25519_ref10.c │ │ │ │ │ ├── montgomery.h │ │ │ │ │ └── pow225521.h │ │ │ │ ├── sandy2x/ │ │ │ │ │ ├── consts.S │ │ │ │ │ ├── consts_namespace.h │ │ │ │ │ ├── curve25519_sandy2x.c │ │ │ │ │ ├── curve25519_sandy2x.h │ │ │ │ │ ├── fe.h │ │ │ │ │ ├── fe51.h │ │ │ │ │ ├── fe51_invert.c │ │ │ │ │ ├── fe51_mul.S │ │ │ │ │ ├── fe51_namespace.h │ │ │ │ │ ├── fe51_nsquare.S │ │ │ │ │ ├── fe51_pack.S │ │ │ │ │ ├── fe_frombytes_sandy2x.c │ │ │ │ │ ├── ladder.S │ │ │ │ │ ├── ladder.h │ │ │ │ │ ├── ladder_base.S │ │ │ │ │ ├── ladder_base.h │ │ │ │ │ ├── ladder_base_namespace.h │ │ │ │ │ ├── ladder_namespace.h │ │ │ │ │ └── sandy2x.S │ │ │ │ ├── scalarmult_curve25519.c │ │ │ │ └── scalarmult_curve25519.h │ │ │ ├── crypto_secretbox/ │ │ │ │ ├── crypto_secretbox.c │ │ │ │ ├── crypto_secretbox_easy.c │ │ │ │ └── xsalsa20poly1305/ │ │ │ │ ├── ref/ │ │ │ │ │ └── box_xsalsa20poly1305.c │ │ │ │ └── secretbox_xsalsa20poly1305_api.c │ │ │ ├── crypto_shorthash/ │ │ │ │ ├── crypto_shorthash.c │ │ │ │ └── siphash24/ │ │ │ │ ├── ref/ │ │ │ │ │ └── shorthash_siphash24.c │ │ │ │ └── shorthash_siphash24_api.c │ │ │ ├── crypto_sign/ │ │ │ │ ├── crypto_sign.c │ │ │ │ └── ed25519/ │ │ │ │ ├── description │ │ │ │ ├── ref10/ │ │ │ │ │ ├── base.h │ │ │ │ │ ├── base2.h │ │ │ │ │ ├── d.h │ │ │ │ │ ├── d2.h │ │ │ │ │ ├── fe.h │ │ │ │ │ ├── fe_0.c │ │ │ │ │ ├── fe_1.c │ │ │ │ │ ├── fe_add.c │ │ │ │ │ ├── fe_cmov.c │ │ │ │ │ ├── fe_copy.c │ │ │ │ │ ├── fe_frombytes.c │ │ │ │ │ ├── fe_invert.c │ │ │ │ │ ├── fe_isnegative.c │ │ │ │ │ ├── fe_isnonzero.c │ │ │ │ │ ├── fe_mul.c │ │ │ │ │ ├── fe_neg.c │ │ │ │ │ ├── fe_pow22523.c │ │ │ │ │ ├── fe_sq.c │ │ │ │ │ ├── fe_sq2.c │ │ │ │ │ ├── fe_sub.c │ │ │ │ │ ├── fe_tobytes.c │ │ │ │ │ ├── ge.h │ │ │ │ │ ├── ge_add.c │ │ │ │ │ ├── ge_add.h │ │ │ │ │ ├── ge_double_scalarmult.c │ │ │ │ │ ├── ge_frombytes.c │ │ │ │ │ ├── ge_madd.c │ │ │ │ │ ├── ge_madd.h │ │ │ │ │ ├── ge_msub.c │ │ │ │ │ ├── ge_msub.h │ │ │ │ │ ├── ge_p1p1_to_p2.c │ │ │ │ │ ├── ge_p1p1_to_p3.c │ │ │ │ │ ├── ge_p2_0.c │ │ │ │ │ ├── ge_p2_dbl.c │ │ │ │ │ ├── ge_p2_dbl.h │ │ │ │ │ ├── ge_p3_0.c │ │ │ │ │ ├── ge_p3_dbl.c │ │ │ │ │ ├── ge_p3_to_cached.c │ │ │ │ │ ├── ge_p3_to_p2.c │ │ │ │ │ ├── ge_p3_tobytes.c │ │ │ │ │ ├── ge_precomp_0.c │ │ │ │ │ ├── ge_scalarmult_base.c │ │ │ │ │ ├── ge_sub.c │ │ │ │ │ ├── ge_sub.h │ │ │ │ │ ├── ge_tobytes.c │ │ │ │ │ ├── keypair.c │ │ │ │ │ ├── obsolete.c │ │ │ │ │ ├── open.c │ │ │ │ │ ├── pow22523.h │ │ │ │ │ ├── pow225521.h │ │ │ │ │ ├── sc.h │ │ │ │ │ ├── sc_muladd.c │ │ │ │ │ ├── sc_reduce.c │ │ │ │ │ ├── sign.c │ │ │ │ │ └── sqrtm1.h │ │ │ │ └── sign_ed25519_api.c │ │ │ ├── crypto_stream/ │ │ │ │ ├── aes128ctr/ │ │ │ │ │ ├── portable/ │ │ │ │ │ │ ├── afternm_aes128ctr.c │ │ │ │ │ │ ├── beforenm_aes128ctr.c │ │ │ │ │ │ ├── common.h │ │ │ │ │ │ ├── common_aes128ctr.c │ │ │ │ │ │ ├── consts.h │ │ │ │ │ │ ├── consts_aes128ctr.c │ │ │ │ │ │ ├── int128.h │ │ │ │ │ │ ├── int128_aes128ctr.c │ │ │ │ │ │ ├── stream_aes128ctr.c │ │ │ │ │ │ ├── types.h │ │ │ │ │ │ └── xor_afternm_aes128ctr.c │ │ │ │ │ └── stream_aes128ctr_api.c │ │ │ │ ├── chacha20/ │ │ │ │ │ ├── ref/ │ │ │ │ │ │ ├── stream_chacha20_ref.c │ │ │ │ │ │ └── stream_chacha20_ref.h │ │ │ │ │ ├── stream_chacha20.c │ │ │ │ │ ├── stream_chacha20.h │ │ │ │ │ └── vec/ │ │ │ │ │ ├── stream_chacha20_vec.c │ │ │ │ │ └── stream_chacha20_vec.h │ │ │ │ ├── crypto_stream.c │ │ │ │ ├── salsa20/ │ │ │ │ │ ├── amd64_xmm6/ │ │ │ │ │ │ └── stream_salsa20_amd64_xmm6.S │ │ │ │ │ ├── ref/ │ │ │ │ │ │ ├── stream_salsa20_ref.c │ │ │ │ │ │ └── xor_salsa20_ref.c │ │ │ │ │ └── stream_salsa20_api.c │ │ │ │ ├── salsa2012/ │ │ │ │ │ ├── ref/ │ │ │ │ │ │ ├── stream_salsa2012.c │ │ │ │ │ │ └── xor_salsa2012.c │ │ │ │ │ └── stream_salsa2012_api.c │ │ │ │ ├── salsa208/ │ │ │ │ │ ├── ref/ │ │ │ │ │ │ ├── stream_salsa208.c │ │ │ │ │ │ └── xor_salsa208.c │ │ │ │ │ └── stream_salsa208_api.c │ │ │ │ └── xsalsa20/ │ │ │ │ ├── ref/ │ │ │ │ │ ├── stream_xsalsa20.c │ │ │ │ │ └── xor_xsalsa20.c │ │ │ │ └── stream_xsalsa20_api.c │ │ │ ├── crypto_verify/ │ │ │ │ ├── 16/ │ │ │ │ │ ├── ref/ │ │ │ │ │ │ └── verify_16.c │ │ │ │ │ └── verify_16_api.c │ │ │ │ ├── 32/ │ │ │ │ │ ├── ref/ │ │ │ │ │ │ └── verify_32.c │ │ │ │ │ └── verify_32_api.c │ │ │ │ └── 64/ │ │ │ │ ├── ref/ │ │ │ │ │ └── verify_64.c │ │ │ │ └── verify_64_api.c │ │ │ ├── include/ │ │ │ │ ├── Makefile.am │ │ │ │ ├── Makefile.in │ │ │ │ ├── sodium/ │ │ │ │ │ ├── core.h │ │ │ │ │ ├── crypto_aead_aes256gcm.h │ │ │ │ │ ├── crypto_aead_chacha20poly1305.h │ │ │ │ │ ├── crypto_auth.h │ │ │ │ │ ├── crypto_auth_hmacsha256.h │ │ │ │ │ ├── crypto_auth_hmacsha512.h │ │ │ │ │ ├── crypto_auth_hmacsha512256.h │ │ │ │ │ ├── crypto_box.h │ │ │ │ │ ├── crypto_box_curve25519xsalsa20poly1305.h │ │ │ │ │ ├── crypto_core_hsalsa20.h │ │ │ │ │ ├── crypto_core_salsa20.h │ │ │ │ │ ├── crypto_core_salsa2012.h │ │ │ │ │ ├── crypto_core_salsa208.h │ │ │ │ │ ├── crypto_generichash.h │ │ │ │ │ ├── crypto_generichash_blake2b.h │ │ │ │ │ ├── crypto_hash.h │ │ │ │ │ ├── crypto_hash_sha256.h │ │ │ │ │ ├── crypto_hash_sha512.h │ │ │ │ │ ├── crypto_int32.h │ │ │ │ │ ├── crypto_int64.h │ │ │ │ │ ├── crypto_onetimeauth.h │ │ │ │ │ ├── crypto_onetimeauth_poly1305.h │ │ │ │ │ ├── crypto_pwhash_scryptsalsa208sha256.h │ │ │ │ │ ├── crypto_scalarmult.h │ │ │ │ │ ├── crypto_scalarmult_curve25519.h │ │ │ │ │ ├── crypto_secretbox.h │ │ │ │ │ ├── crypto_secretbox_xsalsa20poly1305.h │ │ │ │ │ ├── crypto_shorthash.h │ │ │ │ │ ├── crypto_shorthash_siphash24.h │ │ │ │ │ ├── crypto_sign.h │ │ │ │ │ ├── crypto_sign_ed25519.h │ │ │ │ │ ├── crypto_sign_edwards25519sha512batch.h │ │ │ │ │ ├── crypto_stream.h │ │ │ │ │ ├── crypto_stream_aes128ctr.h │ │ │ │ │ ├── crypto_stream_chacha20.h │ │ │ │ │ ├── crypto_stream_salsa20.h │ │ │ │ │ ├── crypto_stream_salsa2012.h │ │ │ │ │ ├── crypto_stream_salsa208.h │ │ │ │ │ ├── crypto_stream_xsalsa20.h │ │ │ │ │ ├── crypto_uint16.h │ │ │ │ │ ├── crypto_uint32.h │ │ │ │ │ ├── crypto_uint64.h │ │ │ │ │ ├── crypto_uint8.h │ │ │ │ │ ├── crypto_verify_16.h │ │ │ │ │ ├── crypto_verify_32.h │ │ │ │ │ ├── crypto_verify_64.h │ │ │ │ │ ├── export.h │ │ │ │ │ ├── randombytes.h │ │ │ │ │ ├── randombytes_nativeclient.h │ │ │ │ │ ├── randombytes_salsa20_random.h │ │ │ │ │ ├── randombytes_sysrandom.h │ │ │ │ │ ├── runtime.h │ │ │ │ │ ├── utils.h │ │ │ │ │ └── version.h.in │ │ │ │ └── sodium.h │ │ │ ├── randombytes/ │ │ │ │ ├── nativeclient/ │ │ │ │ │ └── randombytes_nativeclient.c │ │ │ │ ├── randombytes.c │ │ │ │ ├── salsa20/ │ │ │ │ │ └── randombytes_salsa20_random.c │ │ │ │ └── sysrandom/ │ │ │ │ └── randombytes_sysrandom.c │ │ │ └── sodium/ │ │ │ ├── core.c │ │ │ ├── runtime.c │ │ │ ├── utils.c │ │ │ └── version.c │ │ ├── libudns/ │ │ │ ├── COPYING.LGPL │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── NEWS │ │ │ ├── NOTES │ │ │ ├── TODO │ │ │ ├── dnsget.1 │ │ │ ├── dnsget.c │ │ │ ├── ex-rdns.c │ │ │ ├── getopt.c │ │ │ ├── inet_XtoX.c │ │ │ ├── rblcheck.1 │ │ │ ├── rblcheck.c │ │ │ ├── udns.3 │ │ │ ├── udns.h │ │ │ ├── udns_XtoX.c │ │ │ ├── udns_bl.c │ │ │ ├── udns_codes.c │ │ │ ├── udns_dn.c │ │ │ ├── udns_dntosp.c │ │ │ ├── udns_init.c │ │ │ ├── udns_jran.c │ │ │ ├── udns_misc.c │ │ │ ├── udns_parse.c │ │ │ ├── udns_resolver.c │ │ │ ├── udns_rr_a.c │ │ │ ├── udns_rr_mx.c │ │ │ ├── udns_rr_naptr.c │ │ │ ├── udns_rr_ptr.c │ │ │ ├── udns_rr_srv.c │ │ │ └── udns_rr_txt.c │ │ ├── m4/ │ │ │ ├── ax_pthread.m4 │ │ │ ├── ax_tls.m4 │ │ │ ├── inet_ntop.m4 │ │ │ ├── libtool.m4 │ │ │ ├── ltoptions.m4 │ │ │ ├── ltsugar.m4 │ │ │ ├── ltversion.m4 │ │ │ ├── lt~obsolete.m4 │ │ │ ├── mbedtls.m4 │ │ │ ├── openssl.m4 │ │ │ ├── polarssl.m4 │ │ │ ├── stack-protector.m4 │ │ │ └── zlib.m4 │ │ ├── openwrt/ │ │ │ ├── Makefile │ │ │ └── files/ │ │ │ ├── shadowsocks.init │ │ │ └── shadowsocks.json │ │ ├── rpm/ │ │ │ ├── SOURCES/ │ │ │ │ └── etc/ │ │ │ │ └── init.d/ │ │ │ │ └── shadowsocks-libev │ │ │ ├── SPECS/ │ │ │ │ └── shadowsocks-libev.spec │ │ │ └── genrpm.sh │ │ ├── shadowsocks-libev.pc.in │ │ └── src/ │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── acl.c │ │ ├── acl.h │ │ ├── android.c │ │ ├── auth.c │ │ ├── auth.h │ │ ├── cache.c │ │ ├── cache.h │ │ ├── common.h │ │ ├── crc32.c │ │ ├── crc32.h │ │ ├── encrypt.c │ │ ├── encrypt.h │ │ ├── http_simple.c │ │ ├── http_simple.h │ │ ├── jconf.c │ │ ├── jconf.h │ │ ├── json.c │ │ ├── json.h │ │ ├── local.c │ │ ├── local.h │ │ ├── manager.c │ │ ├── manager.h │ │ ├── netutils.c │ │ ├── netutils.h │ │ ├── obfs.c │ │ ├── obfs.h │ │ ├── obfsutil.c │ │ ├── redir.c │ │ ├── redir.h │ │ ├── resolv.c │ │ ├── resolv.h │ │ ├── server.c │ │ ├── server.h │ │ ├── shadowsocks.h │ │ ├── socks5.h │ │ ├── ss-nat │ │ ├── ssrlink.py │ │ ├── tls1.0_session.c │ │ ├── tls1.0_session.h │ │ ├── tls1.2_ticket.c │ │ ├── tls1.2_ticket.h │ │ ├── tunnel.c │ │ ├── tunnel.h │ │ ├── udprelay.c │ │ ├── udprelay.h │ │ ├── uthash.h │ │ ├── utils.c │ │ ├── utils.h │ │ ├── verify.c │ │ ├── verify.h │ │ ├── win32.c │ │ └── win32.h │ ├── ShadowPath.podspec │ ├── ShadowPath.xcodeproj/ │ │ ├── project.pbxproj │ │ └── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── ShadowPath.xcscmblueprint │ └── ShadowPathDemo/ │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets/ │ │ └── AppIcon.appiconset/ │ │ └── Contents.json │ ├── Base.lproj/ │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── Supporting Files/ │ │ └── main.m │ ├── ViewController.h │ ├── ViewController.m │ └── config ├── PacketProcessor/ │ ├── Info.plist │ ├── PacketProcessor.h │ ├── TunnelInterface.h │ ├── TunnelInterface.m │ └── tun2socks-iOS/ │ ├── base/ │ │ ├── BLog.h │ │ ├── BLog.m │ │ ├── BLog_syslog.c │ │ ├── BLog_syslog.h │ │ ├── BMutex.h │ │ ├── BPending.c │ │ ├── BPending.h │ │ ├── BPending_list.h │ │ ├── DebugObject.c │ │ └── DebugObject.h │ ├── flow/ │ │ ├── BufferWriter.c │ │ ├── BufferWriter.h │ │ ├── PacketBuffer.c │ │ ├── PacketBuffer.h │ │ ├── PacketPassConnector.c │ │ ├── PacketPassConnector.h │ │ ├── PacketPassFairQueue.c │ │ ├── PacketPassFairQueue.h │ │ ├── PacketPassFairQueue_tree.h │ │ ├── PacketPassInterface.c │ │ ├── PacketPassInterface.h │ │ ├── PacketProtoDecoder.c │ │ ├── PacketProtoDecoder.h │ │ ├── PacketProtoEncoder.c │ │ ├── PacketProtoEncoder.h │ │ ├── PacketProtoFlow.c │ │ ├── PacketProtoFlow.h │ │ ├── PacketRecvInterface.c │ │ ├── PacketRecvInterface.h │ │ ├── PacketStreamSender.c │ │ ├── PacketStreamSender.h │ │ ├── SinglePacketBuffer.c │ │ ├── SinglePacketBuffer.h │ │ ├── StreamPassInterface.c │ │ ├── StreamPassInterface.h │ │ ├── StreamRecvInterface.c │ │ └── StreamRecvInterface.h │ ├── flowextra/ │ │ ├── PacketPassInactivityMonitor.c │ │ └── PacketPassInactivityMonitor.h │ ├── generated/ │ │ ├── blog_channel_BArpProbe.h │ │ ├── blog_channel_BConnection.h │ │ ├── blog_channel_BDHCPClient.h │ │ ├── blog_channel_BDHCPClientCore.h │ │ ├── blog_channel_BDatagram.h │ │ ├── blog_channel_BEncryption.h │ │ ├── blog_channel_BInputProcess.h │ │ ├── blog_channel_BLockReactor.h │ │ ├── blog_channel_BNetwork.h │ │ ├── blog_channel_BPredicate.h │ │ ├── blog_channel_BProcess.h │ │ ├── blog_channel_BReactor.h │ │ ├── blog_channel_BSSLConnection.h │ │ ├── blog_channel_BSignal.h │ │ ├── blog_channel_BSocksClient.h │ │ ├── blog_channel_BTap.h │ │ ├── blog_channel_BThreadSignal.h │ │ ├── blog_channel_BThreadWork.h │ │ ├── blog_channel_BTime.h │ │ ├── blog_channel_BUnixSignal.h │ │ ├── blog_channel_DPReceive.h │ │ ├── blog_channel_DPRelay.h │ │ ├── blog_channel_DataProto.h │ │ ├── blog_channel_DatagramPeerIO.h │ │ ├── blog_channel_FragmentProtoAssembler.h │ │ ├── blog_channel_FrameDecider.h │ │ ├── blog_channel_LineBuffer.h │ │ ├── blog_channel_Listener.h │ │ ├── blog_channel_NCDBuildProgram.h │ │ ├── blog_channel_NCDConfigParser.h │ │ ├── blog_channel_NCDConfigTokenizer.h │ │ ├── blog_channel_NCDIfConfig.h │ │ ├── blog_channel_NCDInterfaceMonitor.h │ │ ├── blog_channel_NCDModuleIndex.h │ │ ├── blog_channel_NCDModuleProcess.h │ │ ├── blog_channel_NCDPlaceholderDb.h │ │ ├── blog_channel_NCDRequest.h │ │ ├── blog_channel_NCDRequestClient.h │ │ ├── blog_channel_NCDRfkillMonitor.h │ │ ├── blog_channel_NCDUdevCache.h │ │ ├── blog_channel_NCDUdevManager.h │ │ ├── blog_channel_NCDUdevMonitor.h │ │ ├── blog_channel_NCDUdevMonitorParser.h │ │ ├── blog_channel_NCDVal.h │ │ ├── blog_channel_NCDValGenerator.h │ │ ├── blog_channel_NCDValParser.h │ │ ├── blog_channel_PRStreamSink.h │ │ ├── blog_channel_PRStreamSource.h │ │ ├── blog_channel_PacketProtoDecoder.h │ │ ├── blog_channel_PasswordListener.h │ │ ├── blog_channel_PeerChat.h │ │ ├── blog_channel_SPProtoDecoder.h │ │ ├── blog_channel_ServerConnection.h │ │ ├── blog_channel_SocksUdpGwClient.h │ │ ├── blog_channel_StreamPeerIO.h │ │ ├── blog_channel_UdpGwClient.h │ │ ├── blog_channel_addr.h │ │ ├── blog_channel_client.h │ │ ├── blog_channel_dostest_attacker.h │ │ ├── blog_channel_dostest_server.h │ │ ├── blog_channel_flooder.h │ │ ├── blog_channel_lwip.h │ │ ├── blog_channel_ncd.h │ │ ├── blog_channel_ncd_alias.h │ │ ├── blog_channel_ncd_arithmetic.h │ │ ├── blog_channel_ncd_assert.h │ │ ├── blog_channel_ncd_backtrack.h │ │ ├── blog_channel_ncd_basic_functions.h │ │ ├── blog_channel_ncd_blocker.h │ │ ├── blog_channel_ncd_buffer.h │ │ ├── blog_channel_ncd_call2.h │ │ ├── blog_channel_ncd_choose.h │ │ ├── blog_channel_ncd_concat.h │ │ ├── blog_channel_ncd_daemon.h │ │ ├── blog_channel_ncd_depend.h │ │ ├── blog_channel_ncd_depend_scope.h │ │ ├── blog_channel_ncd_dynamic_depend.h │ │ ├── blog_channel_ncd_exit.h │ │ ├── blog_channel_ncd_explode.h │ │ ├── blog_channel_ncd_file.h │ │ ├── blog_channel_ncd_file_open.h │ │ ├── blog_channel_ncd_foreach.h │ │ ├── blog_channel_ncd_from_string.h │ │ ├── blog_channel_ncd_getargs.h │ │ ├── blog_channel_ncd_getenv.h │ │ ├── blog_channel_ncd_if.h │ │ ├── blog_channel_ncd_imperative.h │ │ ├── blog_channel_ncd_implode.h │ │ ├── blog_channel_ncd_index.h │ │ ├── blog_channel_ncd_list.h │ │ ├── blog_channel_ncd_load_module.h │ │ ├── blog_channel_ncd_log.h │ │ ├── blog_channel_ncd_log_msg.h │ │ ├── blog_channel_ncd_logical.h │ │ ├── blog_channel_ncd_multidepend.h │ │ ├── blog_channel_ncd_net_backend_badvpn.h │ │ ├── blog_channel_ncd_net_backend_rfkill.h │ │ ├── blog_channel_ncd_net_backend_waitdevice.h │ │ ├── blog_channel_ncd_net_backend_waitlink.h │ │ ├── blog_channel_ncd_net_backend_wpa_supplicant.h │ │ ├── blog_channel_ncd_net_dns.h │ │ ├── blog_channel_ncd_net_iptables.h │ │ ├── blog_channel_ncd_net_ipv4_addr.h │ │ ├── blog_channel_ncd_net_ipv4_addr_in_network.h │ │ ├── blog_channel_ncd_net_ipv4_arp_probe.h │ │ ├── blog_channel_ncd_net_ipv4_dhcp.h │ │ ├── blog_channel_ncd_net_ipv4_route.h │ │ ├── blog_channel_ncd_net_ipv6_addr.h │ │ ├── blog_channel_ncd_net_ipv6_addr_in_network.h │ │ ├── blog_channel_ncd_net_ipv6_route.h │ │ ├── blog_channel_ncd_net_ipv6_wait_dynamic_addr.h │ │ ├── blog_channel_ncd_net_up.h │ │ ├── blog_channel_ncd_net_watch_interfaces.h │ │ ├── blog_channel_ncd_netmask.h │ │ ├── blog_channel_ncd_objref.h │ │ ├── blog_channel_ncd_ondemand.h │ │ ├── blog_channel_ncd_parse.h │ │ ├── blog_channel_ncd_print.h │ │ ├── blog_channel_ncd_process_manager.h │ │ ├── blog_channel_ncd_reboot.h │ │ ├── blog_channel_ncd_ref.h │ │ ├── blog_channel_ncd_regex_match.h │ │ ├── blog_channel_ncd_request.h │ │ ├── blog_channel_ncd_run.h │ │ ├── blog_channel_ncd_runonce.h │ │ ├── blog_channel_ncd_sleep.h │ │ ├── blog_channel_ncd_socket.h │ │ ├── blog_channel_ncd_spawn.h │ │ ├── blog_channel_ncd_strcmp.h │ │ ├── blog_channel_ncd_substr.h │ │ ├── blog_channel_ncd_sys_evdev.h │ │ ├── blog_channel_ncd_sys_request_client.h │ │ ├── blog_channel_ncd_sys_request_server.h │ │ ├── blog_channel_ncd_sys_start_process.h │ │ ├── blog_channel_ncd_sys_watch_directory.h │ │ ├── blog_channel_ncd_sys_watch_input.h │ │ ├── blog_channel_ncd_sys_watch_usb.h │ │ ├── blog_channel_ncd_timer.h │ │ ├── blog_channel_ncd_to_string.h │ │ ├── blog_channel_ncd_try.h │ │ ├── blog_channel_ncd_value.h │ │ ├── blog_channel_ncd_valuemetic.h │ │ ├── blog_channel_ncd_var.h │ │ ├── blog_channel_nsskey.h │ │ ├── blog_channel_server.h │ │ ├── blog_channel_tun2socks.h │ │ ├── blog_channel_udpgw.h │ │ ├── blog_channels_defines.h │ │ ├── blog_channels_list.h │ │ ├── bproto_addr.h │ │ ├── bproto_bproto_test.h │ │ └── bproto_msgproto.h │ ├── lwip/ │ │ ├── custom/ │ │ │ ├── arch/ │ │ │ │ ├── cc.h │ │ │ │ └── perf.h │ │ │ ├── lwipopts.h │ │ │ └── sys.c │ │ └── src/ │ │ ├── core/ │ │ │ ├── def.c │ │ │ ├── inet_chksum.c │ │ │ ├── init.c │ │ │ ├── ipv4/ │ │ │ │ ├── icmp.c │ │ │ │ ├── ip4.c │ │ │ │ ├── ip4_addr.c │ │ │ │ └── ip_frag.c │ │ │ ├── ipv6/ │ │ │ │ ├── icmp6.c │ │ │ │ ├── ip6.c │ │ │ │ ├── ip6_addr.c │ │ │ │ ├── ip6_frag.c │ │ │ │ └── nd6.c │ │ │ ├── mem.c │ │ │ ├── memp.c │ │ │ ├── netif.c │ │ │ ├── pbuf.c │ │ │ ├── stats.c │ │ │ ├── tcp.c │ │ │ ├── tcp_in.c │ │ │ ├── tcp_out.c │ │ │ ├── timers.c │ │ │ └── udp.c │ │ └── include/ │ │ ├── ipv4/ │ │ │ └── lwip/ │ │ │ ├── autoip.h │ │ │ ├── icmp.h │ │ │ ├── igmp.h │ │ │ ├── inet.h │ │ │ ├── ip4.h │ │ │ ├── ip4_addr.h │ │ │ └── ip_frag.h │ │ ├── ipv6/ │ │ │ └── lwip/ │ │ │ ├── dhcp6.h │ │ │ ├── ethip6.h │ │ │ ├── icmp6.h │ │ │ ├── inet6.h │ │ │ ├── ip6.h │ │ │ ├── ip6_addr.h │ │ │ ├── ip6_frag.h │ │ │ ├── mld6.h │ │ │ └── nd6.h │ │ ├── lwip/ │ │ │ ├── api.h │ │ │ ├── api_msg.h │ │ │ ├── arch.h │ │ │ ├── debug.h │ │ │ ├── def.h │ │ │ ├── dhcp.h │ │ │ ├── dns.h │ │ │ ├── err.h │ │ │ ├── inet_chksum.h │ │ │ ├── init.h │ │ │ ├── ip.h │ │ │ ├── ip_addr.h │ │ │ ├── mem.h │ │ │ ├── memp.h │ │ │ ├── memp_std.h │ │ │ ├── netbuf.h │ │ │ ├── netdb.h │ │ │ ├── netif.h │ │ │ ├── netifapi.h │ │ │ ├── opt.h │ │ │ ├── pbuf.h │ │ │ ├── raw.h │ │ │ ├── sio.h │ │ │ ├── snmp.h │ │ │ ├── snmp_asn1.h │ │ │ ├── snmp_msg.h │ │ │ ├── snmp_structs.h │ │ │ ├── sockets.h │ │ │ ├── stats.h │ │ │ ├── sys.h │ │ │ ├── tcp.h │ │ │ ├── tcp_impl.h │ │ │ ├── tcpip.h │ │ │ ├── timers.h │ │ │ └── udp.h │ │ ├── netif/ │ │ │ ├── etharp.h │ │ │ ├── ppp_oe.h │ │ │ └── slipif.h │ │ └── posix/ │ │ ├── netdb.h │ │ └── sys/ │ │ └── socket.h │ ├── misc/ │ │ ├── BRefTarget.h │ │ ├── Utf16Decoder.h │ │ ├── Utf16Encoder.h │ │ ├── Utf8Decoder.h │ │ ├── Utf8Encoder.h │ │ ├── arp_proto.h │ │ ├── array_length.h │ │ ├── ascii_utils.h │ │ ├── balign.h │ │ ├── balloc.h │ │ ├── blimits.h │ │ ├── bsize.h │ │ ├── bsort.h │ │ ├── bstring.h │ │ ├── byteorder.h │ │ ├── cmdline.h │ │ ├── compare.h │ │ ├── concat_strings.h │ │ ├── dead.h │ │ ├── debug.h │ │ ├── debugcounter.h │ │ ├── debugerror.h │ │ ├── dhcp_proto.h │ │ ├── ethernet_proto.h │ │ ├── exparray.h │ │ ├── expstring.h │ │ ├── find_char.h │ │ ├── find_program.h │ │ ├── get_iface_info.h │ │ ├── grow_array.h │ │ ├── hashfun.h │ │ ├── igmp_proto.h │ │ ├── ipaddr.h │ │ ├── ipaddr6.h │ │ ├── ipv4_proto.h │ │ ├── ipv6_proto.h │ │ ├── loggers_string.h │ │ ├── loglevel.h │ │ ├── maxalign.h │ │ ├── memref.h │ │ ├── merge.h │ │ ├── minmax.h │ │ ├── modadd.h │ │ ├── mswsock.h │ │ ├── nonblocking.h │ │ ├── nsskey.h │ │ ├── offset.h │ │ ├── open_standard_streams.h │ │ ├── overflow.h │ │ ├── packed.h │ │ ├── parse_number.h │ │ ├── print_macros.h │ │ ├── read_file.h │ │ ├── read_write_int.h │ │ ├── socks_proto.h │ │ ├── sslsocket.h │ │ ├── stdbuf_cmdline.h │ │ ├── strdup.h │ │ ├── string_begins_with.h │ │ ├── substring.h │ │ ├── udp_proto.h │ │ ├── unicode_funcs.h │ │ ├── version.h │ │ └── write_file.h │ ├── protocol/ │ │ ├── addr.bproto │ │ ├── addr.h │ │ ├── dataproto.h │ │ ├── fragmentproto.h │ │ ├── msgproto.bproto │ │ ├── msgproto.h │ │ ├── packetproto.h │ │ ├── requestproto.h │ │ ├── scproto.h │ │ ├── spproto.h │ │ └── udpgw_proto.h │ ├── socksclient/ │ │ ├── BSocksClient.c │ │ └── BSocksClient.h │ ├── structure/ │ │ ├── BAVL.h │ │ ├── CAvl.h │ │ ├── CAvl_decl.h │ │ ├── CAvl_footer.h │ │ ├── CAvl_header.h │ │ ├── CAvl_impl.h │ │ ├── CHash.h │ │ ├── CHash_decl.h │ │ ├── CHash_footer.h │ │ ├── CHash_header.h │ │ ├── CHash_impl.h │ │ ├── ChunkBuffer2.h │ │ ├── IndexedList.h │ │ ├── IndexedList_tree.h │ │ ├── LinkedList0.h │ │ ├── LinkedList1.h │ │ ├── LinkedList3.h │ │ ├── SAvl.h │ │ ├── SAvl_decl.h │ │ ├── SAvl_footer.h │ │ ├── SAvl_header.h │ │ ├── SAvl_impl.h │ │ ├── SAvl_tree.h │ │ ├── SLinkedList.h │ │ ├── SLinkedList_decl.h │ │ ├── SLinkedList_footer.h │ │ ├── SLinkedList_header.h │ │ ├── SLinkedList_impl.h │ │ ├── Vector.h │ │ ├── Vector_decl.h │ │ ├── Vector_footer.h │ │ ├── Vector_header.h │ │ └── Vector_impl.h │ ├── system/ │ │ ├── BAddr.h │ │ ├── BConnection.h │ │ ├── BConnection_common.c │ │ ├── BConnection_unix.c │ │ ├── BConnection_unix.h │ │ ├── BDatagram.h │ │ ├── BDatagram_unix.c │ │ ├── BDatagram_unix.h │ │ ├── BNetwork.c │ │ ├── BNetwork.h │ │ ├── BReactor.h │ │ ├── BReactor_badvpn.c │ │ ├── BReactor_badvpn.h │ │ ├── BReactor_badvpn_timerstree.h │ │ ├── BSignal.c │ │ ├── BSignal.h │ │ ├── BTime.c │ │ ├── BTime.h │ │ ├── BUnixSignal.c │ │ └── BUnixSignal.h │ ├── tun2socks/ │ │ ├── SocksUdpGwClient.c │ │ ├── SocksUdpGwClient.h │ │ ├── tun2socks.c │ │ └── tun2socks.h │ ├── tuntap/ │ │ ├── BTap.h │ │ └── BTap.m │ ├── udpgw/ │ │ ├── udpgw.c │ │ └── udpgw.h │ └── udpgw_client/ │ ├── UdpGwClient.c │ └── UdpGwClient.h ├── PacketTunnel/ │ ├── Info.plist │ ├── PacketTunnelProvider.h │ ├── PacketTunnelProvider.m │ ├── ProxyManager.h │ ├── ProxyManager.m │ ├── Supporting Files/ │ │ └── PacketTunnel.entitlements │ ├── TunnelError.h │ ├── TunnelError.m │ ├── dns.h │ └── dns.m ├── Podfile ├── Potatso/ │ ├── Advance/ │ │ ├── CloudProxyDetailViewController.swift │ │ ├── ProxyConfigurationViewController.swift │ │ ├── ProxySelectionViewController.swift │ │ ├── RuleConfigurationViewController.swift │ │ ├── RuleSetConfigurationViewController.swift │ │ └── RuleSetsSelectionViewController.swift │ ├── AppDelegate.swift │ ├── AppInitializer.swift │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Back.imageset/ │ │ │ └── Contents.json │ │ ├── Config Selected.imageset/ │ │ │ └── Contents.json │ │ ├── Config.imageset/ │ │ │ └── Contents.json │ │ ├── Contents.json │ │ ├── Dashboard Selected.imageset/ │ │ │ └── Contents.json │ │ ├── Dashboard.imageset/ │ │ │ └── Contents.json │ │ ├── Direct.imageset/ │ │ │ └── Contents.json │ │ ├── Home Selected.imageset/ │ │ │ └── Contents.json │ │ ├── Home.imageset/ │ │ │ └── Contents.json │ │ ├── List.imageset/ │ │ │ └── Contents.json │ │ ├── Log.imageset/ │ │ │ └── Contents.json │ │ ├── More Selected.imageset/ │ │ │ └── Contents.json │ │ ├── More.imageset/ │ │ │ └── Contents.json │ │ ├── Mume.imageset/ │ │ │ └── Contents.json │ │ ├── Proxy.imageset/ │ │ │ └── Contents.json │ │ ├── Reject.imageset/ │ │ │ └── Contents.json │ │ ├── Selected.imageset/ │ │ │ └── Contents.json │ │ ├── Settings.imageset/ │ │ │ └── Contents.json │ │ ├── Shadowsocks.imageset/ │ │ │ └── Contents.json │ │ └── User.imageset/ │ │ └── Contents.json │ ├── Base/ │ │ ├── ActionRow.swift │ │ ├── Appirater/ │ │ │ ├── Appirater.h │ │ │ ├── Appirater.m │ │ │ ├── AppiraterDelegate.h │ │ │ ├── ar.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ca.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── cs.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── da.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── de.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── el.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── en.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── es.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── fi.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── fr.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ja.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ko.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ms.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── nb.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── nl.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── pl.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── pt-BR.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── pt.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ro.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── ru.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ ├── zh-Hans.lproj/ │ │ │ │ └── AppiraterLocalizable.strings │ │ │ └── zh-Hant.lproj/ │ │ │ └── AppiraterLocalizable.strings │ │ ├── BaseButtonRow.swift │ │ ├── BaseEmptyView.swift │ │ ├── BaseSafariViewController.swift │ │ ├── ProxyQRCode.swift │ │ ├── QRCode/ │ │ │ ├── HMScanner.h │ │ │ ├── HMScanner.m │ │ │ ├── HMScannerBorder.h │ │ │ ├── HMScannerBorder.m │ │ │ ├── HMScannerMaskView.h │ │ │ ├── HMScannerMaskView.m │ │ │ ├── HMScannerViewController.h │ │ │ ├── HMScannerViewController.m │ │ │ ├── QRCodeScannerVC.h │ │ │ └── QRCodeScannerVC.m │ │ ├── RequestEventRow.swift │ │ └── SegmentPageVC.swift │ ├── Base.lproj/ │ │ ├── InfoPlist.strings │ │ ├── LaunchScreen.storyboard │ │ └── Localizable.strings │ ├── CollectionViewController.swift │ ├── ConfigGroupCell.swift │ ├── ConfigGroupChooseVC.swift │ ├── Core/ │ │ ├── API.swift │ │ ├── Importer.swift │ │ └── VPN.swift │ ├── DashboardVC.swift │ ├── DataInitializer.swift │ ├── DefaultConfidential.h │ ├── HomePresenter.swift │ ├── HomeVC.swift │ ├── Info.plist │ ├── LogDetailViewController.swift │ ├── More/ │ │ └── SettingsViewController.swift │ ├── Mume.swift │ ├── NotificationHandler.swift │ ├── PaddingLabel.swift │ ├── Potatso-Bridge-Header.h │ ├── Potatso.entitlements │ ├── Potatso.xcdatamodeld/ │ │ ├── .xccurrentversion │ │ ├── Potatso 2.xcdatamodel/ │ │ │ └── contents │ │ ├── Potatso 3.xcdatamodel/ │ │ │ └── contents │ │ └── Potatso.xcdatamodel/ │ │ └── contents │ ├── Proxy.xcdatamodeld/ │ │ └── Proxy.xcdatamodel/ │ │ └── contents │ ├── ProxyListViewController.swift │ ├── ProxyRow.swift │ ├── RecentRequestsCell.swift │ ├── RecentRequestsVC.swift │ ├── RequestDetailVC.swift │ ├── RequestModel.swift │ ├── RequestOverviewVC.swift │ ├── RuleCell.swift │ ├── RuleSetCell.swift │ ├── RuleSetListViewController.swift │ ├── Sync/ │ │ ├── SyncManager.swift │ │ └── SyncVC.swift │ ├── UIManager.swift │ ├── UIViewControllerExtensions.swift │ ├── UrlHandler.swift │ ├── Utils/ │ │ ├── AlertUtils.swift │ │ ├── Color.swift │ │ ├── Error.swift │ │ ├── Event.swift │ │ ├── HUDUtils.swift │ │ ├── LoggerUtils.swift │ │ ├── ProxyUtils.swift │ │ ├── Receipt.h │ │ ├── Receipt.m │ │ ├── Receipt.swift │ │ └── RegexUtils.swift │ ├── config.plist │ ├── zh-Hans.lproj/ │ │ ├── InfoPlist.strings │ │ └── Localizable.strings │ └── zh-Hant.lproj/ │ ├── InfoPlist.strings │ └── Localizable.strings ├── Potatso.xcodeproj/ │ ├── project.pbxproj │ └── project.xcworkspace/ │ └── contents.xcworkspacedata ├── Potatso.xcworkspace/ │ └── contents.xcworkspacedata ├── PotatsoBase/ │ ├── Info.plist │ ├── JSONUtils.h │ ├── JSONUtils.m │ ├── Localized.swift │ ├── NSError+Helper.h │ ├── NSError+Helper.m │ ├── Potatso.h │ ├── Potatso.m │ ├── PotatsoBase.h │ ├── Settings.h │ └── Settings.m ├── PotatsoLibrary/ │ ├── Config.swift │ ├── Image.swift │ ├── Info.plist │ ├── Manager.swift │ ├── Pollution.swift │ └── PotatsoLibrary.h ├── PotatsoLibraryTests/ │ ├── Info.plist │ └── PotatsoLibraryTests.swift ├── PotatsoModel/ │ ├── BaseModel.swift │ ├── ConfigurationGroup.swift │ ├── DBUtils.swift │ ├── Info.plist │ ├── PotatsoModel.h │ ├── Proxy.swift │ ├── Rule.swift │ └── RuleSet.swift ├── README.md ├── TodayWidget/ │ ├── Base.lproj/ │ │ ├── InfoPlist.strings │ │ ├── Localizable.strings │ │ └── MainInterface.storyboard │ ├── CurrentGroupCell.swift │ ├── Info.plist │ ├── TodayViewController.swift │ ├── TodayWidget.entitlements │ └── zh-Hans.lproj/ │ ├── InfoPlist.strings │ └── Localizable.strings ├── fastlane/ │ └── Fastfile └── genstrings.swift