[{"title":"( 67 个子文件 1.64MB ) torpy:纯python Tor客户端实现","children":[{"title":"torpy-master","children":[{"title":"MANIFEST.in <span style='color:#111;'> 28B </span>","children":null,"spread":false},{"title":"torpy","children":[{"title":"cells.py <span style='color:#111;'> 30.94KB </span>","children":null,"spread":false},{"title":"guard.py <span style='color:#111;'> 5.21KB </span>","children":null,"spread":false},{"title":"circuit.py <span style='color:#111;'> 24.16KB </span>","children":null,"spread":false},{"title":"cell_socket.py <span style='color:#111;'> 9.11KB </span>","children":null,"spread":false},{"title":"http","children":[{"title":"urlopener.py <span style='color:#111;'> 5.07KB </span>","children":null,"spread":false},{"title":"base.py <span style='color:#111;'> 1.93KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"requests.py <span style='color:#111;'> 2.85KB </span>","children":null,"spread":false},{"title":"adapter.py <span style='color:#111;'> 6.51KB </span>","children":null,"spread":false},{"title":"client.py <span style='color:#111;'> 2.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"utils.py <span style='color:#111;'> 5.65KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 638B </span>","children":null,"spread":false},{"title":"cache_storage.py <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"__main__.py <span style='color:#111;'> 652B </span>","children":null,"spread":false},{"title":"cli","children":[{"title":"console.py <span style='color:#111;'> 2.67KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"socks.py <span style='color:#111;'> 6.05KB </span>","children":null,"spread":false}],"spread":true},{"title":"crypto_common.py <span style='color:#111;'> 5.05KB </span>","children":null,"spread":false},{"title":"consesus.py <span style='color:#111;'> 16.39KB </span>","children":null,"spread":false},{"title":"hiddenservice.py <span style='color:#111;'> 13.65KB </span>","children":null,"spread":false},{"title":"documents","children":[{"title":"factory.py <span style='color:#111;'> 966B </span>","children":null,"spread":false},{"title":"network_status_diff.py <span style='color:#111;'> 3.26KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 732B </span>","children":null,"spread":false},{"title":"basics.py <span style='color:#111;'> 7.03KB </span>","children":null,"spread":false},{"title":"items.py <span style='color:#111;'> 4.74KB </span>","children":null,"spread":false},{"title":"dir_key_certificate.py <span style='color:#111;'> 1.76KB </span>","children":null,"spread":false},{"title":"network_status.py <span style='color:#111;'> 14.58KB </span>","children":null,"spread":false}],"spread":false},{"title":"crypto_state.py <span style='color:#111;'> 3.59KB </span>","children":null,"spread":false},{"title":"client.py <span style='color:#111;'> 2.54KB </span>","children":null,"spread":false},{"title":"crypto.py <span style='color:#111;'> 1.95KB </span>","children":null,"spread":false},{"title":"dirs.py <span style='color:#111;'> 24.06KB </span>","children":null,"spread":false},{"title":"parsers.py <span style='color:#111;'> 2.42KB </span>","children":null,"spread":false},{"title":"stream.py <span style='color:#111;'> 13.22KB </span>","children":null,"spread":false},{"title":"keyagreement.py <span style='color:#111;'> 11.32KB </span>","children":null,"spread":false}],"spread":false},{"title":".github","children":[{"title":"FUNDING.yml <span style='color:#111;'> 160B </span>","children":null,"spread":false}],"spread":true},{"title":"AUTHORS <span style='color:#111;'> 11B </span>","children":null,"spread":false},{"title":"requirements-flake8.txt <span style='color:#111;'> 137B </span>","children":null,"spread":false},{"title":"requirements.txt <span style='color:#111;'> 196B </span>","children":null,"spread":false},{"title":".travis.yml <span style='color:#111;'> 194B </span>","children":null,"spread":false},{"title":"tox.ini <span style='color:#111;'> 572B </span>","children":null,"spread":false},{"title":"pytest.ini <span style='color:#111;'> 95B </span>","children":null,"spread":false},{"title":"LICENSE <span style='color:#111;'> 11.09KB </span>","children":null,"spread":false},{"title":"requirements-test.txt <span style='color:#111;'> 26B </span>","children":null,"spread":false},{"title":"setup.cfg <span style='color:#111;'> 38B </span>","children":null,"spread":false},{"title":"setup.py <span style='color:#111;'> 1.99KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 7.74KB </span>","children":null,"spread":false},{"title":"appveyor.yml <span style='color:#111;'> 192B </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"integration","children":[{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"test_integration.py <span style='color:#111;'> 9.89KB </span>","children":null,"spread":false}],"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"unittest","children":[{"title":"test_hiddenservice.py <span style='color:#111;'> 1.03KB </span>","children":null,"spread":false},{"title":"test_consensus.py <span style='color:#111;'> 3.70KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"test_parsers.py <span style='color:#111;'> 26.44KB </span>","children":null,"spread":false},{"title":"test_crypto.py <span style='color:#111;'> 4.92KB </span>","children":null,"spread":false},{"title":"test_documents.py <span style='color:#111;'> 5.35KB </span>","children":null,"spread":false},{"title":"data","children":[{"title":"dir_certs","children":[{"title":"cached-certs <span style='color:#111;'> 19.96KB </span>","children":null,"spread":false},{"title":"dir_cert_real <span style='color:#111;'> 2.52KB </span>","children":null,"spread":false}],"spread":false},{"title":"network_status","children":[{"title":"consensus_real <span style='color:#111;'> 2.13MB </span>","children":null,"spread":false},{"title":"consensus <span style='color:#111;'> 3.25KB </span>","children":null,"spread":false},{"title":"consensus_extra.json <span style='color:#111;'> 6.78KB </span>","children":null,"spread":false},{"title":"consensus_real.json <span style='color:#111;'> 5.87MB </span>","children":null,"spread":false},{"title":"consensus.json <span style='color:#111;'> 6.75KB </span>","children":null,"spread":false},{"title":"consensus_extra <span style='color:#111;'> 3.37KB </span>","children":null,"spread":false}],"spread":false},{"title":"network_status_diff","children":[{"title":"network-status-diff <span style='color:#111;'> 990.34KB </span>","children":null,"spread":false}],"spread":false}],"spread":false}],"spread":false}],"spread":false},{"title":".gitignore <span style='color:#111;'> 1.21KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}]