fs-share

Crates.iofs-share
lib.rsfs-share
version
sourcesrc
created_at2024-11-30 08:32:56.767449
updated_at2024-12-05 07:02:26.528692
descriptionA cross-platform file-sharing CLI application
homepagehttps://github.com/BiswajitThakur/fs-share.git
repositoryhttps://github.com/BiswajitThakur/fs-share.git
max_upload_size
id1466411
Cargo.toml error:TOML parse error at line 17, column 1 | 17 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include`
size0
Biswajit Thakur (BiswajitThakur)

documentation

README

FS-Share

Crates.io downloads

A cross-platform file-sharing CLI application written in Rust. It enables efficient file transfers between devices using TCP and UDP protocols, with real-time progress tracking for each transfer.

Under Development

Features

  • Cross-platform support: Works on Linux, macOS and Windows.
  • Two-way file sharing: Both Send and Receive modes allow file transfers.
  • Efficient transfer: Utilizes TCP for file transfers and UDP for peer discovery.
  • Real-time progress bar: Tracks transfer status with detailed metrics.
  • Small binary size: Less then 2 MB.

Installation

cargo install fs-share

or

git clone https://github.com/BiswajitThakur/fs-share.git
cd fs-share/
cargo build --release
sudo mv ./target/release/fs-share /usr/bin/
fs-share --version

Usage

Help

Usage: fs-share [OPTIONS] <MODE> [ARGS]...

Arguments:
  <MODE>     [possible values: send, receive]
  [ARGS]...  Args

Options:
      --name <NAME>          Name [default: Unknown]
      --password <PASSWORD>  password [default: password]
      --port <PORT>          port [default: 34254]
      --timeout <TIMEOUT>    Timeout [default: 60]
  -h, --help                 Print help
  -V, --version              Print version

Modes

  • send: Sends files to another user.
  • receive: Receives files and allows sending files back.

Examples

Send Files

fs-share send file1.mkv file2.mp4 ...

Receive and Send Files

fs-share receive file1.mkv file2.mp4 ...

In receive mode, you can also send files by specifying them after the command, just like in send mode.

Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Commit count: 42

cargo fmt