CREDITS.md
LICENSE
MANIFEST.in
README.md
setup.py
./p2pd/__init__.py
./p2pd/__main__.py
./p2pd/ack_udp.py
./p2pd/address.py
./p2pd/asyncio_patches.py
./p2pd/bind.py
./p2pd/clock_skew.py
./p2pd/cmd_tools.py
./p2pd/daemon.py
./p2pd/demo.py
./p2pd/do_imports.py
./p2pd/echo_server.py
./p2pd/errors.py
./p2pd/fstr.py
./p2pd/http_client_lib.py
./p2pd/http_server_lib.py
./p2pd/install.py
./p2pd/interface.py
./p2pd/ip_range.py
./p2pd/keep_alive.py
./p2pd/machine_id.py
./p2pd/nat_predict.py
./p2pd/nat_test.py
./p2pd/nat_utils.py
./p2pd/net.py
./p2pd/netiface_extra.py
./p2pd/nickname.py
./p2pd/ntp_client.py
./p2pd/p2p_addr.py
./p2pd/p2p_defs.py
./p2pd/p2p_node.py
./p2pd/p2p_node_extra.py
./p2pd/p2p_pipe.py
./p2pd/p2p_protocol.py
./p2pd/p2p_utils.py
./p2pd/pattern_factory.py
./p2pd/pipe_client.py
./p2pd/pipe_events.py
./p2pd/pipe_utils.py
./p2pd/pnp_client.py
./p2pd/pnp_server.py
./p2pd/pnp_utils.py
./p2pd/rest_api.py
./p2pd/route_defs.py
./p2pd/route_table.py
./p2pd/route_utils.py
./p2pd/settings.py
./p2pd/signaling.py
./p2pd/stun_client.py
./p2pd/stun_defs.py
./p2pd/stun_utils.py
./p2pd/tcp_punch_client.py
./p2pd/tcp_punch_utils.py
./p2pd/test_init.py
./p2pd/toxiclient.py
./p2pd/toxiserver.py
./p2pd/turn_client.py
./p2pd/turn_defs.py
./p2pd/turn_process.py
./p2pd/upnp.py
./p2pd/upnp_utils.py
./p2pd/utils.py
./p2pd/var_names.py
./p2pd/win_net.py
./p2pd/win_netifaces.py
./p2pd/win_netsh.py
./p2pd/win_wmic.py
./p2pd/ecies/__init__.py
./p2pd/ecies/config.py
./p2pd/ecies/utils/__init__.py
./p2pd/ecies/utils/hex.py
./p2pd/ecies/utils/hkdf.py
./p2pd/ecies/utils/rc6.py
./p2pd/ecies/utils/symmetric.py
./p2pd/gmqtt/__init__.py
./p2pd/gmqtt/client.py
./p2pd/gmqtt/storage.py
./p2pd/gmqtt/mqtt/__init__.py
./p2pd/gmqtt/mqtt/connection.py
./p2pd/gmqtt/mqtt/constants.py
./p2pd/gmqtt/mqtt/handler.py
./p2pd/gmqtt/mqtt/package.py
./p2pd/gmqtt/mqtt/property.py
./p2pd/gmqtt/mqtt/protocol.py
./p2pd/gmqtt/mqtt/utils.py
./p2pd/scripts/kvs_schema.sqlite3
docs/Makefile
docs/make.bat
docs/diagrams/architecture.graphml
docs/diagrams/architecture.png
docs/diagrams/connectivity.graphml
docs/diagrams/connectivity.png
docs/diagrams/delta_characteristics.csv
docs/diagrams/nat_characteristics.csv
docs/diagrams/nat_workings.graphml
docs/diagrams/nat_workings.png
docs/diagrams/nicknames.graphml
docs/diagrams/nicknames.png
docs/diagrams/simplified_hybrid_addr.graphml
docs/diagrams/simplified_hybrid_addr.png
docs/diagrams/stun_rfcs.csv
docs/diagrams/tcp_buffering.graphml
docs/diagrams/tcp_buffering.png
docs/diagrams/tcp_direct_connect.graphml
docs/diagrams/tcp_direct_connect.png
docs/diagrams/tcp_hole_punch.graphml
docs/diagrams/tcp_hole_punch.png
docs/diagrams/tcp_hole_punching_detailed.graphml
docs/diagrams/tcp_hole_punching_detailed.png
docs/diagrams/tcp_reverse_connect.graphml
docs/diagrams/tcp_reverse_connect.png
docs/diagrams/turn_proxy.graphml
docs/diagrams/turn_proxy.png
docs/diagrams/udp_turn_relay.graphml
docs/diagrams/udp_turn_relay.png
docs/examples/example_1.py
docs/examples/example_10.py
docs/examples/example_11.py
docs/examples/example_12.py
docs/examples/example_13.py
docs/examples/example_14.py
docs/examples/example_15.py
docs/examples/example_16.py
docs/examples/example_17.py
docs/examples/example_2.py
docs/examples/example_3.py
docs/examples/example_4.py
docs/examples/example_5.py
docs/examples/example_6.py
docs/examples/example_7.py
docs/examples/example_8.py
docs/examples/example_9.py
docs/examples/node_with_config.py
docs/examples/node_with_nickname.py
docs/examples/p2p_connect_with_nickname.py
docs/examples/p2p_tcp_con.py
docs/examples/p2pd_in_a_nutshell.py
docs/examples/portable_netifaces.py
docs/examples/tcp_direct_connect.py
docs/examples/tcp_hole_punch.py
docs/examples/tcp_reverse_connect.py
docs/examples/udp_turn_relay.py
docs/source/conf.py
docs/source/index.rst
docs/source/articles/architecture.rst
docs/source/articles/future_work.rst
docs/source/articles/how.rst
docs/source/articles/index.rst
docs/source/articles/install.rst
docs/source/articles/nat_classification.rst
docs/source/articles/problems.rst
docs/source/articles/running_examples.rst
docs/source/built/demo.out
docs/source/built/demo.rst
docs/source/built/http_client.rst
docs/source/built/http_framework.rst
docs/source/built/index.rst
docs/source/built/netifaces.rst
docs/source/built/rest_api.rst
docs/source/built/stun.rst
docs/source/built/toxiproxy.rst
docs/source/built/turn.rst
docs/source/dev/index.rst
docs/source/general/basics.rst
docs/source/general/daemons.rst
docs/source/general/index.rst
docs/source/general/interfaces.rst
docs/source/general/pipes.rst
docs/source/general/queues.rst
docs/source/p2p/connect.rst
docs/source/p2p/index.rst
docs/source/p2p/msg_handling.rst
docs/source/p2p/nicknames.rst
docs/source/p2p/nodes.rst
examples/INDEX.md
examples/stun_test.py
examples/net_debug/INDEX.md
examples/net_debug/server.py
notes/bottlenecks.txt
notes/concurrent_tests.txt
notes/dns.txt
notes/docs_dependencies.txt
notes/event_loops.txt
notes/irc.txt
notes/main.txt
notes/testing.txt
p2pd/__init__.py
p2pd/__main__.py
p2pd/ack_udp.py
p2pd/address.py
p2pd/bind.py
p2pd/clock_skew.py
p2pd/cmd_tools.py
p2pd/daemon.py
p2pd/do_imports.py
p2pd/echo_server.py
p2pd/errors.py
p2pd/http_client_lib.py
p2pd/http_server_lib.py
p2pd/install.py
p2pd/interface.py
p2pd/ip_range.py
p2pd/machine_id.py
p2pd/nat_predict.py
p2pd/nat_test.py
p2pd/nat_utils.py
p2pd/net.py
p2pd/netiface_extra.py
p2pd/nickname.py
p2pd/ntp_client.py
p2pd/p2p_addr.py
p2pd/p2p_defs.py
p2pd/p2p_node.py
p2pd/p2p_node_extra.py
p2pd/p2p_pipe.py
p2pd/p2p_protocol.py
p2pd/p2p_utils.py
p2pd/pattern_factory.py
p2pd/pipe_client.py
p2pd/pipe_events.py
p2pd/pipe_utils.py
p2pd/pnp_client.py
p2pd/pnp_server.py
p2pd/pnp_utils.py
p2pd/rest_api.py
p2pd/route_defs.py
p2pd/route_table.py
p2pd/route_utils.py
p2pd/settings.py
p2pd/signaling.py
p2pd/stun_client.py
p2pd/stun_defs.py
p2pd/stun_utils.py
p2pd/tcp_punch_client.py
p2pd/tcp_punch_utils.py
p2pd/test_init.py
p2pd/toxiclient.py
p2pd/toxiserver.py
p2pd/turn_client.py
p2pd/turn_defs.py
p2pd/turn_process.py
p2pd/upnp.py
p2pd/utils.py
p2pd/var_names.py
p2pd/win_net.py
p2pd/win_netifaces.py
p2pd/win_netsh.py
p2pd.egg-info/PKG-INFO
p2pd.egg-info/SOURCES.txt
p2pd.egg-info/dependency_links.txt
p2pd.egg-info/requires.txt
p2pd.egg-info/top_level.txt
p2pd/ecies/__init__.py
p2pd/ecies/config.py
p2pd/ecies/utils/__init__.py
p2pd/ecies/utils/hex.py
p2pd/ecies/utils/hkdf.py
p2pd/ecies/utils/rc6.py
p2pd/ecies/utils/symmetric.py
p2pd/scripts/concurrency_bottlenecks.py
p2pd/scripts/gen_keys.py
p2pd/scripts/gen_stun_server_list.py
p2pd/scripts/inetd.conf
p2pd/scripts/install_deps.sh
p2pd/scripts/install_docs_deps.sh
p2pd/scripts/kvs_schema.sqlite3
p2pd/scripts/name_store.php
p2pd/scripts/net_debug.php
p2pd/scripts/pnp.sql
p2pd/scripts/prune_pnp_db.py
p2pd/scripts/run_pnp_serv.py
p2pd/scripts/set_env.sh
p2pd/scripts/start_stun_servers.sh
p2pd/scripts/stun_servers.txt
p2pd/scripts/stun_servers_old.txt
p2pd/scripts/test_pnp_from_server.py
tests/CHANGES.md
tests/__init__.py
tests/example.py
tests/mac.py
tests/manual_test.py
tests/manual_test_p2p.py
tests/p2pd.html
tests/patch_async.py
tests/should_bug.py
tests/sim.py
tests/slicer.py
tests/static_route.py
tests/test_35.py
tests/test_address.py
tests/test_bind.py
tests/test_clock_skew.py
tests/test_cmd.py
tests/test_daemon.py
tests/test_event_loops.py
tests/test_http_client_lib.py
tests/test_interface.py
tests/test_ip_range.py
tests/test_ipv6.py
tests/test_nat.py
tests/test_net.py
tests/test_net_afs.py
tests/test_nicknames.py
tests/test_p2p_addr.py
tests/test_p2pd_server.py
tests/test_pipe.py
tests/test_py_examples.py
tests/test_route.py
tests/test_route_table.py
tests/test_rudp.py
tests/test_signaling.py
tests/test_sock.py
tests/test_sorted_search.py
tests/test_status.py
tests/test_stun_client.py
tests/test_toxid.py
tests/test_turn_client.py
tests/test_win_netifaces.py