check out the GitHub - check out on npm (package manager)
showcases
the first video showcases the main file transfer part of the project, while the second video showcases the speedtest part.
compatibility
this project works and can be installed on any device running nodeJS, that being mostly Linux, Windows, and macOS, but it can be installed on Android with terminal emulators for example!
compatibility with devices running anything else than macOS, Linux, or Windows has been untested and is gonna be random.
features
this project was originally meant to just be a file transfer tool, but it became a bit more than that! with this project, you may:
- transfer files from a device to another, cross-platform, by just installing a npm package!
- make sure the files didn't get corrupted (that's not really a feature but it's a good thing to have ig)
- test the max capabilities of your network card with a fully LAN-based speedtest tool!
- host a file sharing server and a speedtest server fully headless, just on a CLI!
dependencies
- NodeJS (install here)
- the npm package manager (should be built in with nodeJS)
- git (only if you plan on installing from source)
quick installation with npm
npm install -g transfernoclutter
transfer help
> should output the list of commands
you're good to go!
manual installation from source
git clone https://github.com/Lolo280374/transfernoclutter.git
cd transfernoclutter
npm install
npm link
transfer help
> should output the list of commands
you're good to go! you can now get editing, or anything else you wanted to do from source!
the (full) list of commands
i'm aware this might look overwhelming!! make sure to check the GitHub for more better layed-out information
file sharing/transfer
- transfer host [--path '/home/lolodotzip/hi'] : start a share server allowing you to recieve files on the device you start it on. you may use '--path' to recieve files to a specific path.
- transfer discover : lists all the devices currently hosting a share session on your LAN.
- transfer send <IP/ID/hostname> <filePath> [--rename "newName"] : sends the file you pass in the
argument to the device you specify. you may use the device's hostname, IP address, or ID (the last octet of the IP, e.g '31' for '192.168.1.31'). you can also use '--rename' to edit the file name the device will recieve.
speed testing
- transfer speed info : small reminder about the technical terms of Ethernet and it's designations.
- transfer speed host : start a speedtest server for another device to test it's max LAN speed.
- transfer speed test <IP/ID/hostname> : runs a 10 second test on the speedtest server host, testing the max possible speed. you may either use the host's IP address, hostname, or ID (the last octet of the IP, e.g '31' for '192.168.1.31').
privacy statement
this tool dosen't collect any analytics of any sort, nor makes connections to the outside of the Internet. all the connections made are being made on your LAN (Local Area Network), meaning it's all private!
license
this project is licensed under the MIT license. you can check it here.
if you have any questions about this project, please reach me at lolodotzip@hackclub.app