gitextract_c7sekzv8/ ├── .clang-format ├── .clang-tidy ├── .dir-locals.el ├── .dockerignore ├── .drone.jsonnet ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE/ │ │ └── bug_report.md │ └── workflows/ │ └── clean_issues.yml ├── .gitignore ├── .gitmodules ├── .swift-version ├── CMakeLists.txt ├── CONTRIBUTING.md ├── CONTRIBUTING_es.md ├── LICENSE ├── cmake/ │ ├── CMakeGraphVizOptions.cmake │ ├── DownloadLibSodium.cmake │ ├── FindJemalloc.cmake │ ├── GenVersion.cmake │ ├── MacroEnsureOutOfSourceBuild.cmake │ ├── StaticBuild.cmake │ ├── TargetArch.cmake │ ├── Version.cmake │ ├── add_import_library.cmake │ ├── cmake_uninstall.cmake.in │ ├── coverage.cmake │ ├── cross_compile.cmake │ ├── enable_lto.cmake │ ├── gui-option.cmake │ ├── gui.cmake │ ├── installer.cmake │ ├── libatomic.cmake │ ├── macos.cmake │ ├── ngtcp2_lib.cmake │ ├── solaris.cmake │ ├── target_link_libraries_system.cmake │ ├── unix.cmake │ ├── win32.cmake │ └── win32_installer_deps.cmake ├── contrib/ │ ├── NetworkManager/ │ │ └── dnsmasq/ │ │ ├── README.md │ │ └── lokinet.conf │ ├── android-configure.sh │ ├── android.sh │ ├── apparmor/ │ │ └── usr.bin.lokinet │ ├── apply-patches.sh │ ├── bencode-dump.py │ ├── bootstrap/ │ │ ├── mainnet.signed │ │ ├── make-bootstrap-list.sh │ │ ├── readme.txt │ │ └── testnet.signed │ ├── ci/ │ │ ├── docker/ │ │ │ ├── readme.md │ │ │ └── rebuild-docker-images.py │ │ ├── drone-check-static-libs.sh │ │ ├── drone-debs-upload.sh │ │ ├── drone-format-verify.sh │ │ ├── drone-gdb.sh │ │ ├── drone-run-router-hive.sh │ │ ├── drone-static-upload.sh │ │ └── gdb-filter.py │ ├── cross/ │ │ ├── android.toolchain.cmake │ │ ├── cross.toolchain.cmake │ │ ├── mingw32.cmake │ │ ├── mingw64.cmake │ │ └── mingw_core.cmake │ ├── cross.sh │ ├── deb.oxen.io.gpg │ ├── format-version.sh │ ├── format.sh │ ├── git-hook-pre-push.sh │ ├── hex-to-base32z.py │ ├── keygen.py │ ├── liblokinet/ │ │ ├── CMakeLists.txt │ │ ├── readme.md │ │ └── udptest.cpp │ ├── liblokinet_jank_test.cpp │ ├── lokinet-resolvconf │ ├── mac-configure.sh │ ├── mac.sh │ ├── macos/ │ │ ├── InfoPlist.strings │ │ ├── installer.tiff │ │ ├── lokinet-extension.Info.plist.in │ │ ├── lokinet-extension.dev.provisionprofile │ │ ├── lokinet-extension.plugin.entitlements.plist │ │ ├── lokinet-extension.release.provisionprofile │ │ ├── lokinet-extension.sysext.entitlements.plist │ │ ├── lokinet-newsyslog.conf │ │ ├── lokinet.Info.plist.in │ │ ├── lokinet.dev.provisionprofile │ │ ├── lokinet.plugin.entitlements.plist │ │ ├── lokinet.release.provisionprofile │ │ ├── lokinet.sysext.entitlements.plist │ │ ├── mk-icns.sh │ │ ├── notarize.py.in │ │ ├── seticon.swift │ │ └── sign.sh.in │ ├── make-ico.sh │ ├── omq-rpc.py │ ├── patches/ │ │ ├── libzmq-mingw-unistd.patch │ │ ├── libzmq-mingw-wepoll.patch │ │ └── unbound-delete-crash-fix.patch │ ├── py/ │ │ ├── .gitignore │ │ ├── admin/ │ │ │ ├── .gitignore │ │ │ ├── lokinetmon │ │ │ └── requirements.txt │ │ ├── ffi-example/ │ │ │ └── lokinet.py │ │ ├── keygen/ │ │ │ ├── .gitignore │ │ │ ├── keygen.py │ │ │ └── readme.md │ │ ├── lnproxy/ │ │ │ ├── lnproxy/ │ │ │ │ └── __main__.py │ │ │ └── readme.md │ │ └── quic_tester.py │ ├── readme-installer.txt │ ├── systemd-resolved/ │ │ ├── README.md │ │ ├── lokinet.pkla │ │ └── lokinet.rules │ ├── tarball.sh │ ├── windows-configure.sh │ └── windows.sh ├── daemon/ │ ├── CMakeLists.txt │ ├── lokinet-cntrl.cpp │ ├── lokinet.cpp │ ├── lokinet.swift │ ├── utils.cpp │ └── utils.hpp ├── docs/ │ ├── CMakeLists.txt │ ├── Doxyfile.in │ ├── LICENSE │ ├── architecture.md │ ├── config.json │ ├── dns-overview.md │ ├── doxygen.md │ ├── exit-setup.md │ ├── fix-markdown.sh │ ├── ideal-ux.md │ ├── index.md.in │ ├── install.md │ ├── liblokinet-dev-guide.md │ ├── macos-signing.txt │ ├── mkdocs.yml │ ├── net-comparisons.md │ ├── project-structure.md │ ├── readme.md │ ├── refactor_notes.md │ ├── snapps-dev-guide.md │ ├── spanish/ │ │ ├── LICENSE │ │ ├── README │ │ └── vision-general.txt │ ├── tcp-over-quic.md │ └── we-cannot-make-sandwiches.md ├── external/ │ └── CMakeLists.txt ├── include/ │ ├── llarp.hpp │ ├── lokinet/ │ │ ├── addr.h │ │ ├── context.h │ │ ├── export.h │ │ ├── misc.h │ │ ├── srv.h │ │ ├── stream.h │ │ └── udp.h │ ├── lokinet.h │ └── lokinet.hpp ├── jni/ │ ├── CMakeLists.txt │ ├── java/ │ │ └── src/ │ │ └── network/ │ │ └── loki/ │ │ └── lokinet/ │ │ ├── LokinetConfig.java │ │ └── LokinetDaemon.java │ ├── lokinet_config.cpp │ ├── lokinet_daemon.cpp │ ├── lokinet_jni_common.hpp │ ├── network_loki_lokinet_LokinetConfig.h │ ├── network_loki_lokinet_LokinetDaemon.h │ ├── network_loki_lokinet_LokinetVPN.h │ ├── network_loki_lokinet_LokinetVPN_VPNInfo.h │ ├── network_loki_lokinet_Lokinet_JNI.h │ └── readme.md ├── llarp/ │ ├── CMakeLists.txt │ ├── address/ │ │ ├── address.cpp │ │ ├── address.hpp │ │ ├── ip_range.cpp │ │ ├── ip_range.hpp │ │ ├── map.hpp │ │ ├── types.hpp │ │ ├── utils.cpp │ │ └── utils.hpp │ ├── android/ │ │ ├── ifaddrs.c │ │ └── ifaddrs.h │ ├── app.xml │ ├── apple/ │ │ ├── CMakeLists.txt │ │ ├── DNSTrampoline.h │ │ ├── DNSTrampoline.m │ │ ├── PacketTunnelProvider.m │ │ ├── context.hpp │ │ ├── context_wrapper.cpp │ │ ├── context_wrapper.h │ │ ├── route_manager.cpp │ │ ├── route_manager.hpp │ │ ├── vpn_interface.cpp │ │ ├── vpn_interface.hpp │ │ ├── vpn_platform.cpp │ │ └── vpn_platform.hpp │ ├── auth/ │ │ ├── auth.cpp │ │ ├── auth.hpp │ │ ├── file.cpp │ │ ├── file.hpp │ │ ├── rpc.cpp │ │ ├── rpc.hpp │ │ ├── session.cpp │ │ └── session.hpp │ ├── config/ │ │ ├── config.cpp │ │ ├── config.hpp │ │ ├── definition.cpp │ │ ├── definition.hpp │ │ ├── ini.cpp │ │ └── ini.hpp │ ├── consensus/ │ │ ├── reachability_testing.cpp │ │ └── reachability_testing.hpp │ ├── constants/ │ │ ├── apple.hpp │ │ ├── files.hpp │ │ ├── link_layer.hpp │ │ ├── net.hpp │ │ ├── path.hpp │ │ ├── platform.hpp │ │ ├── proto.hpp │ │ ├── version.cpp.in │ │ └── version.hpp │ ├── contact/ │ │ ├── client_contact.cpp │ │ ├── client_contact.hpp │ │ ├── client_intro.cpp │ │ ├── client_intro.hpp │ │ ├── contactdb.cpp │ │ ├── contactdb.hpp │ │ ├── relay_contact.cpp │ │ ├── relay_contact.hpp │ │ ├── router_id.cpp │ │ ├── router_id.hpp │ │ ├── sns.cpp │ │ └── sns.hpp │ ├── context.cpp │ ├── crypto/ │ │ ├── constants.hpp │ │ ├── crypto.cpp │ │ ├── crypto.hpp │ │ ├── key_manager.cpp │ │ ├── key_manager.hpp │ │ ├── keys.cpp │ │ ├── keys.hpp │ │ ├── types.cpp │ │ └── types.hpp │ ├── dns/ │ │ ├── dns.hpp │ │ ├── message.cpp │ │ ├── message.hpp │ │ ├── name.cpp │ │ ├── name.hpp │ │ ├── nm_platform.cpp │ │ ├── nm_platform.hpp │ │ ├── platform.cpp │ │ ├── platform.hpp │ │ ├── question.cpp │ │ ├── question.hpp │ │ ├── rr.cpp │ │ ├── rr.hpp │ │ ├── sd_platform.cpp │ │ ├── sd_platform.hpp │ │ ├── serialize.cpp │ │ ├── serialize.hpp │ │ ├── server.cpp │ │ ├── server.hpp │ │ ├── srv_data.cpp │ │ ├── srv_data.hpp │ │ └── string.hpp │ ├── ev/ │ │ ├── fd_poller.cpp │ │ ├── fd_poller.hpp │ │ ├── tcp.cpp │ │ ├── tcp.hpp │ │ ├── udp.cpp │ │ └── udp.hpp │ ├── handlers/ │ │ ├── session.cpp │ │ ├── session.hpp │ │ ├── tun.cpp │ │ ├── tun.hpp │ │ └── tun_base.hpp │ ├── link/ │ │ ├── connection.cpp │ │ ├── connection.hpp │ │ ├── endpoint.cpp │ │ ├── endpoint.hpp │ │ ├── link_manager.cpp │ │ └── link_manager.hpp │ ├── linux/ │ │ ├── dbus.cpp │ │ ├── dbus.hpp │ │ └── sd_service_manager.cpp │ ├── lokinet.cpp │ ├── lokinet_shared.cpp │ ├── messages/ │ │ ├── common.cpp │ │ ├── common.hpp │ │ ├── dht.cpp │ │ ├── dht.hpp │ │ ├── fetch.cpp │ │ ├── fetch.hpp │ │ ├── path.cpp │ │ ├── path.hpp │ │ ├── session.cpp │ │ └── session.hpp │ ├── net/ │ │ ├── id.hpp │ │ ├── ip_headers.hpp │ │ ├── ip_packet.cpp │ │ ├── ip_packet.hpp │ │ ├── net.h │ │ ├── net_if.hpp │ │ ├── platform.hpp │ │ ├── policy.cpp │ │ ├── policy.hpp │ │ ├── posix.cpp │ │ ├── utils.cpp │ │ ├── utils.hpp │ │ └── win32.cpp │ ├── nodedb-bootstraps.cpp.in │ ├── nodedb.cpp │ ├── nodedb.hpp │ ├── path/ │ │ ├── build_stats.cpp │ │ ├── build_stats.hpp │ │ ├── hopid.cpp │ │ ├── hopid.hpp │ │ ├── path.cpp │ │ ├── path.hpp │ │ ├── path_context.cpp │ │ ├── path_context.hpp │ │ ├── path_handler.cpp │ │ ├── path_handler.hpp │ │ ├── transit_hop.cpp │ │ └── transit_hop.hpp │ ├── profiling.cpp │ ├── profiling.hpp │ ├── router/ │ │ ├── route_poker.cpp │ │ ├── route_poker.hpp │ │ ├── router.cpp │ │ └── router.hpp │ ├── rpc/ │ │ ├── json_binary_proxy.cpp │ │ ├── json_binary_proxy.hpp │ │ ├── json_bt.hpp │ │ ├── json_conversions.cpp │ │ ├── json_conversions.hpp │ │ ├── oxend_rpc.cpp │ │ ├── oxend_rpc.hpp │ │ ├── param_parser.hpp │ │ ├── rpc_request.hpp │ │ ├── rpc_request_decorators.hpp │ │ ├── rpc_request_definitions.hpp │ │ ├── rpc_request_parser.cpp │ │ ├── rpc_request_parser.hpp │ │ ├── rpc_server.cpp │ │ └── rpc_server.hpp │ ├── session/ │ │ ├── session.cpp │ │ └── session.hpp │ ├── simulation/ │ │ ├── sim_context.cpp │ │ └── sim_context.hpp │ ├── util/ │ │ ├── aligned.hpp │ │ ├── bspan.hpp │ │ ├── buffer.cpp │ │ ├── buffer.hpp │ │ ├── common.hpp │ │ ├── compare_ptr.hpp │ │ ├── decaying_hashset.hpp │ │ ├── decaying_hashtable.hpp │ │ ├── exceptions.hpp │ │ ├── file.cpp │ │ ├── file.hpp │ │ ├── formattable.hpp │ │ ├── logging/ │ │ │ ├── buffer.hpp │ │ │ └── callback_sink.hpp │ │ ├── logging.cpp │ │ ├── logging.hpp │ │ ├── lokinet_init.h │ │ ├── mem.cpp │ │ ├── mem.h │ │ ├── mem.hpp │ │ ├── nop_service_manager.cpp │ │ ├── random.hpp │ │ ├── service_manager.hpp │ │ ├── str.cpp │ │ ├── str.hpp │ │ ├── thread/ │ │ │ ├── barrier.hpp │ │ │ ├── queue.hpp │ │ │ ├── queue_manager.cpp │ │ │ ├── queue_manager.hpp │ │ │ ├── threading.cpp │ │ │ └── threading.hpp │ │ ├── time.cpp │ │ ├── time.hpp │ │ ├── zstd.cpp │ │ └── zstd.hpp │ ├── vpn/ │ │ ├── android.hpp │ │ ├── common.hpp │ │ ├── egres_packet_router.cpp │ │ ├── egres_packet_router.hpp │ │ ├── linux.hpp │ │ ├── packet_intercept.hpp │ │ ├── packet_io.hpp │ │ ├── packet_router.cpp │ │ ├── packet_router.hpp │ │ ├── platform.cpp │ │ ├── platform.hpp │ │ ├── win32.cpp │ │ └── win32.hpp │ └── win32/ │ ├── adapters.hpp │ ├── dll.cpp │ ├── dll.hpp │ ├── exception.cpp │ ├── exception.hpp │ ├── exec.cpp │ ├── exec.hpp │ ├── guid.hpp │ ├── handle.hpp │ ├── service_manager.cpp │ ├── service_manager.hpp │ ├── version.rc.in │ ├── win32_inet.c │ ├── win32_intrnl.c │ ├── windivert.cpp │ ├── windivert.hpp │ ├── wintun.cpp │ └── wintun.hpp ├── pybind/ │ ├── CMakeLists.txt │ ├── common.hpp │ ├── llarp/ │ │ ├── config.cpp │ │ ├── context.cpp │ │ ├── crypto/ │ │ │ └── types.cpp │ │ ├── dht/ │ │ │ └── dht_types.cpp │ │ ├── handlers/ │ │ │ ├── pyhandler.cpp │ │ │ └── pyhandler.hpp │ │ ├── logger.cpp │ │ ├── path/ │ │ │ ├── path_hop_config.cpp │ │ │ └── path_types.cpp │ │ ├── peerstats.cpp │ │ ├── router.cpp │ │ ├── router_contact.cpp │ │ ├── router_id.cpp │ │ ├── service/ │ │ │ └── address.cpp │ │ └── tooling/ │ │ ├── router_event.cpp │ │ └── router_hive.cpp │ ├── module.cpp │ └── readme.md ├── readme.md ├── readme_es.md ├── readme_fr.md ├── readme_ru.md ├── test/ │ ├── CMakeLists.txt │ ├── check_main.cpp │ ├── config/ │ │ ├── test_llarp_config_definition.cpp │ │ ├── test_llarp_config_ini.cpp │ │ ├── test_llarp_config_output.cpp │ │ └── test_llarp_config_values.cpp │ ├── crypto/ │ │ ├── test_llarp_crypto.cpp │ │ ├── test_llarp_crypto_types.cpp │ │ └── test_llarp_key_manager.cpp │ ├── dns/ │ │ └── test_llarp_dns_dns.cpp │ ├── hive/ │ │ ├── conftest.py │ │ ├── hive.py │ │ ├── test_path_builds.py │ │ └── test_peer_stats.py │ ├── mocks/ │ │ ├── mock_context.hpp │ │ ├── mock_network.hpp │ │ ├── mock_router.hpp │ │ └── mock_vpn.hpp │ ├── net/ │ │ ├── test_ip_address.cpp │ │ ├── test_llarp_net.cpp │ │ └── test_sock_addr.cpp │ ├── nodedb/ │ │ └── test_nodedb.cpp │ ├── path/ │ │ └── test_path.cpp │ ├── peerstats/ │ │ ├── test_peer_db.cpp │ │ └── test_peer_types.cpp │ ├── readme.md │ ├── router/ │ │ └── test_llarp_router_version.cpp │ ├── routing/ │ │ ├── test_llarp_routing_obtainexitmessage.cpp │ │ └── test_llarp_routing_transfer_traffic.cpp │ ├── service/ │ │ ├── test_llarp_service_address.cpp │ │ ├── test_llarp_service_identity.cpp │ │ └── test_llarp_service_name.cpp │ ├── test_llarp_encrypted_frame.cpp │ ├── test_llarp_router_contact.cpp │ ├── test_util.cpp │ ├── test_util.hpp │ ├── util/ │ │ ├── meta/ │ │ │ └── test_llarp_util_memfn.cpp │ │ ├── test_llarp_util_aligned.cpp │ │ ├── test_llarp_util_bencode.cpp │ │ ├── test_llarp_util_bits.cpp │ │ ├── test_llarp_util_decaying_hashset.cpp │ │ ├── test_llarp_util_log_level.cpp │ │ ├── test_llarp_util_str.cpp │ │ └── thread/ │ │ ├── test_llarp_util_queue.cpp │ │ └── test_llarp_util_queue_manager.cpp │ └── win32/ │ └── test.rc └── win32-setup/ ├── .gitignore ├── Makefile ├── config_migration.bat ├── curl-win32.patch ├── extra_create_icons.nsis ├── extra_delete_icons.nsis ├── extra_install.nsis ├── extra_preinstall.nsis ├── extra_uninstall.nsis ├── libsodium-1.0.17-win32.patch ├── libsodium-1.0.18-win32.patch ├── lokinet-win32.iss ├── mbedtls-win32.patch ├── notes.txt └── regdb_helper.c