├── .github └── workflows │ └── rust.yaml ├── .gitignore ├── CODEOWNERS ├── Cargo.toml ├── LICENSE ├── MakeFile ├── README.md ├── bencoder ├── Cargo.toml └── src │ ├── bencode.rs │ └── lib.rs ├── configs ├── config1.cfg └── config2.cfg ├── dtorrent ├── Cargo.toml ├── README.md └── src │ ├── bt_server │ ├── mod.rs │ └── server.rs │ ├── config │ ├── cfg.rs │ ├── constants.rs │ └── mod.rs │ ├── lib.rs │ ├── main.rs │ ├── peer │ ├── bt_peer.rs │ ├── handshake.rs │ ├── message_handler.rs │ ├── mod.rs │ ├── peer_message │ │ ├── bitfield.rs │ │ ├── message.rs │ │ ├── mod.rs │ │ └── request.rs │ ├── peer_session.rs │ └── session_status.rs │ ├── storage_manager │ ├── manager.rs │ └── mod.rs │ ├── torrent_handler │ ├── handler.rs │ ├── mod.rs │ └── status.rs │ ├── torrent_parser │ ├── info.rs │ ├── mod.rs │ ├── parser.rs │ └── torrent.rs │ └── tracker │ ├── http │ ├── http_handler.rs │ ├── mod.rs │ ├── query_params.rs │ └── url_parser.rs │ ├── mod.rs │ ├── tracker_handler.rs │ └── tracker_response.rs ├── dtracker ├── Cargo.toml ├── README.md ├── config.cfg ├── src │ ├── announce │ │ ├── announce_request.rs │ │ ├── announce_request_error.rs │ │ ├── announce_response.rs │ │ └── mod.rs │ ├── bt_tracker │ │ ├── mod.rs │ │ └── tracker.rs │ ├── http │ │ ├── http_method.rs │ │ ├── http_parser.rs │ │ ├── http_status.rs │ │ └── mod.rs │ ├── http_server │ │ ├── mod.rs │ │ ├── request_handler.rs │ │ ├── server.rs │ │ └── thread_pool │ │ │ ├── mod.rs │ │ │ ├── pool.rs │ │ │ └── worker.rs │ ├── lib.rs │ ├── main.rs │ ├── stats │ │ ├── mod.rs │ │ ├── stats_response.rs │ │ └── stats_updater.rs │ ├── torrent_swarm │ │ ├── mod.rs │ │ └── swarm.rs │ ├── tracker_peer │ │ ├── event.rs │ │ ├── mod.rs │ │ ├── peer.rs │ │ └── peer_status.rs │ └── tracker_status │ │ ├── atomic_tracker_status.rs │ │ ├── current_tracker_stats.rs │ │ └── mod.rs └── templates │ ├── graph.js │ └── index.html ├── torrents ├── file1.torrent ├── file2.torrent └── file3.torrent └── url_encoder ├── Cargo.toml └── src ├── lib.rs └── url_encoder.rs /.github/workflows/rust.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/.github/workflows/rust.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/.gitignore -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/CODEOWNERS -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/LICENSE -------------------------------------------------------------------------------- /MakeFile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/MakeFile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/README.md -------------------------------------------------------------------------------- /bencoder/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/bencoder/Cargo.toml -------------------------------------------------------------------------------- /bencoder/src/bencode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/bencoder/src/bencode.rs -------------------------------------------------------------------------------- /bencoder/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod bencode; 2 | -------------------------------------------------------------------------------- /configs/config1.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/configs/config1.cfg -------------------------------------------------------------------------------- /configs/config2.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/configs/config2.cfg -------------------------------------------------------------------------------- /dtorrent/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/Cargo.toml -------------------------------------------------------------------------------- /dtorrent/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/README.md -------------------------------------------------------------------------------- /dtorrent/src/bt_server/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod server; 2 | -------------------------------------------------------------------------------- /dtorrent/src/bt_server/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/bt_server/server.rs -------------------------------------------------------------------------------- /dtorrent/src/config/cfg.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/config/cfg.rs -------------------------------------------------------------------------------- /dtorrent/src/config/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/config/constants.rs -------------------------------------------------------------------------------- /dtorrent/src/config/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/config/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/lib.rs -------------------------------------------------------------------------------- /dtorrent/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/main.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/bt_peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/bt_peer.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/handshake.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/handshake.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/message_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/message_handler.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/peer_message/bitfield.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/peer_message/bitfield.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/peer_message/message.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/peer_message/message.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/peer_message/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/peer_message/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/peer_message/request.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/peer_message/request.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/peer_session.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/peer_session.rs -------------------------------------------------------------------------------- /dtorrent/src/peer/session_status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/peer/session_status.rs -------------------------------------------------------------------------------- /dtorrent/src/storage_manager/manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/storage_manager/manager.rs -------------------------------------------------------------------------------- /dtorrent/src/storage_manager/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod manager; 2 | -------------------------------------------------------------------------------- /dtorrent/src/torrent_handler/handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_handler/handler.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_handler/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_handler/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_handler/status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_handler/status.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_parser/info.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_parser/info.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_parser/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_parser/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_parser/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_parser/parser.rs -------------------------------------------------------------------------------- /dtorrent/src/torrent_parser/torrent.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/torrent_parser/torrent.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/http/http_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/http/http_handler.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/http/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/http/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/http/query_params.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/http/query_params.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/http/url_parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/http/url_parser.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/mod.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/tracker_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/tracker_handler.rs -------------------------------------------------------------------------------- /dtorrent/src/tracker/tracker_response.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtorrent/src/tracker/tracker_response.rs -------------------------------------------------------------------------------- /dtracker/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/Cargo.toml -------------------------------------------------------------------------------- /dtracker/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/README.md -------------------------------------------------------------------------------- /dtracker/config.cfg: -------------------------------------------------------------------------------- 1 | TCP_PORT=7878 2 | LOG_DIRECTORY=./dtracker_logs 3 | -------------------------------------------------------------------------------- /dtracker/src/announce/announce_request.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/announce/announce_request.rs -------------------------------------------------------------------------------- /dtracker/src/announce/announce_request_error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/announce/announce_request_error.rs -------------------------------------------------------------------------------- /dtracker/src/announce/announce_response.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/announce/announce_response.rs -------------------------------------------------------------------------------- /dtracker/src/announce/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/announce/mod.rs -------------------------------------------------------------------------------- /dtracker/src/bt_tracker/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod tracker; 2 | -------------------------------------------------------------------------------- /dtracker/src/bt_tracker/tracker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/bt_tracker/tracker.rs -------------------------------------------------------------------------------- /dtracker/src/http/http_method.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http/http_method.rs -------------------------------------------------------------------------------- /dtracker/src/http/http_parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http/http_parser.rs -------------------------------------------------------------------------------- /dtracker/src/http/http_status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http/http_status.rs -------------------------------------------------------------------------------- /dtracker/src/http/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http/mod.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/mod.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/request_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/request_handler.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/server.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/thread_pool/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/thread_pool/mod.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/thread_pool/pool.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/thread_pool/pool.rs -------------------------------------------------------------------------------- /dtracker/src/http_server/thread_pool/worker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/http_server/thread_pool/worker.rs -------------------------------------------------------------------------------- /dtracker/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/lib.rs -------------------------------------------------------------------------------- /dtracker/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/main.rs -------------------------------------------------------------------------------- /dtracker/src/stats/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/stats/mod.rs -------------------------------------------------------------------------------- /dtracker/src/stats/stats_response.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/stats/stats_response.rs -------------------------------------------------------------------------------- /dtracker/src/stats/stats_updater.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/stats/stats_updater.rs -------------------------------------------------------------------------------- /dtracker/src/torrent_swarm/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod swarm; 2 | -------------------------------------------------------------------------------- /dtracker/src/torrent_swarm/swarm.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/torrent_swarm/swarm.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_peer/event.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_peer/event.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_peer/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_peer/mod.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_peer/peer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_peer/peer.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_peer/peer_status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_peer/peer_status.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_status/atomic_tracker_status.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_status/atomic_tracker_status.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_status/current_tracker_stats.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_status/current_tracker_stats.rs -------------------------------------------------------------------------------- /dtracker/src/tracker_status/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/src/tracker_status/mod.rs -------------------------------------------------------------------------------- /dtracker/templates/graph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/templates/graph.js -------------------------------------------------------------------------------- /dtracker/templates/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/dtracker/templates/index.html -------------------------------------------------------------------------------- /torrents/file1.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/torrents/file1.torrent -------------------------------------------------------------------------------- /torrents/file2.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/torrents/file2.torrent -------------------------------------------------------------------------------- /torrents/file3.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/torrents/file3.torrent -------------------------------------------------------------------------------- /url_encoder/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/url_encoder/Cargo.toml -------------------------------------------------------------------------------- /url_encoder/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod url_encoder; 2 | -------------------------------------------------------------------------------- /url_encoder/src/url_encoder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/libtorrent-rs/HEAD/url_encoder/src/url_encoder.rs --------------------------------------------------------------------------------