A self-hostable soulseek client.
This is still a WORK IN PROGESS and not usable yet.
Make sure port 2255 is open and transfered to your machine ip, peer can attempt direct connection to your vessel instance.
RUST_LOG=debug cargo run
If you want to log a specific module please refer to https://rust-lang-nursery.github.io/rust-cookbook/development_tools/debugging/config_log.html
cd vessel_web
npm install
npm run dev
soulseek_protocol : This crate provide serializaion and deserialisation for soulssek TCP message.
vessel_sse : Dispatch message from soulseek to the web client. Messages are sent in json format with the following content :
{
"UserJoinedRoom": { // message type
// content ...
"room": "ARGENTINA",
"username": "vessel",
"status": 2,
"avgspeed": 0,
"downloadnum": 0,
"files": 0,
"dirs": 0,
"slotsfree": 0,
"countrycode": "FR"
}
}
For a list of available messages run the following command :
cargo doc --workspace
cargo doc --open
And browse to soulseek_protocol/server.server::messages/request/enum.ServerRequest.html
vessel_server : The main process :
REST api endpoints to communicate with the server, note that these endpoints are "write only". most of them will answer with 202/Accepted, response will be later send via server sent event.
A web application, sending request via HTTP and getting response asynchronously via SSE.
(ip.src == 192.168.0.17 && ip.dst==208.76.170.59) && tcp.port == 2242 && tcp && tcp.analysis.push_bytes_sent
cargo build
sudo ./target/debug/slsk_dump