#chat #connection #socks5 #multiple #tcp #onion-service #applications

bin+lib talkers

A library for building a TCP chat with multiple simultaneous connections and a CLI chat app with SOCKS5 support

3 releases

0.1.2 Jul 5, 2020
0.1.1 Jul 5, 2020
0.1.0 Jul 5, 2020

#13 in #onion-service

MIT/Apache

28KB
507 lines

talkers

Crates.io Documentation

This crate contains the mechanics for building a simple TCP chat with support for multiple connections at once. Messages with length of up to 1048576 octets are supported, as well as much larger file transfers. Integrity checking is embedded into talkers. Included is a sample high-latency chat application (the talkers chat program) that supports proxying over SOCKS5 (e.g. to use Tor onion services).

See the documentation for more details.

Using the app

Simply run cargo run --release.

You can run cargo run --release -- --help to see which arguments are supported. For example, cargo run --release -- -x 9150 would listen on 0.0.0.0:50505 for incoming connections (the default), but use the SOCKS5 proxy on port 9150 to connect to peers.

How to use in your own project

To get started, it's easiest to take a look at the "record" example as well as the app itself. The app is a minimalist yet full-fledged CLI chat application that can connect using a SOCKS5 proxy. The "record" example waits for a connection and then records all messages received within a few seconds in a Vec.

License

Licensed under either of

at your option.

Contribution

Any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~0.5–0.8MB
~15K SLoC