How to use the command 'croc' (with examples)
The ‘croc’ command allows users to easily and securely send and receive files over any network. It provides a simple and efficient way to transfer files between machines while ensuring the security of the data being transferred.
Use case 1: Send a file or directory
Code:
croc send path/to/file_or_directory
Motivation:
Sending files or directories using the ‘croc’ command is useful when you need to quickly transfer data between machines. Whether it’s a single file or an entire directory, this command allows for seamless and secure file transfer.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.send
: The subcommand to specify that the intention is to send a file or directory.path/to/file_or_directory
: The path to the file or directory you want to send.
Example output:
Sending 'path/to/file_or_directory' (100MB)
Sending (10%) 10MB / 100MB
Sending (20%) 20MB / 100MB
Sending (30%) 30MB / 100MB
...
Use case 2: Send a file or directory with a specific passphrase
Code:
croc send --code passphrase path/to/file_or_directory
Motivation:
Adding a specific passphrase to the file or directory being sent adds an extra layer of security to the transfer. This is useful when the data being transferred is sensitive and requires an additional security measure.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.send
: The subcommand to specify that the intention is to send a file or directory.--code passphrase
: The flag to specify a specific passphrase to encrypt the data being sent.path/to/file_or_directory
: The path to the file or directory you want to send.
Example output:
Enter the passphrase:
Sending 'path/to/file_or_directory' (100MB)
Sending (10%) 10MB / 100MB
Sending (20%) 20MB / 100MB
Sending (30%) 30MB / 100MB
...
Use case 3: Receive a file or directory on receiving machine
Code:
croc passphrase
Motivation:
Receiving a file or directory using the ‘croc’ command is necessary when you want to accept a file being sent to your machine. This command allows for easy file transfer with minimal setup required on the receiving end.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.passphrase
: The passphrase to enter when receiving a file or directory.
Example output:
Enter the passphrase:
Receiving 'path/to/file_or_directory' (100MB)
Receiving (10%) 10MB / 100MB
Receiving (20%) 20MB / 100MB
Receiving (30%) 30MB / 100MB
...
Use case 4: Send and connect over a custom relay
Code:
croc --relay ip_to_relay send path/to/file_or_directory
Motivation:
When sending files over a network, using a custom relay can help improve connection stability and speed. This use case allows for sending files while leveraging a user-defined relay to establish the connection.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.--relay ip_to_relay
: The flag to specify the IP address of the custom relay to use.send
: The subcommand to specify that the intention is to send a file or directory.path/to/file_or_directory
: The path to the file or directory you want to send.
Example output:
Sending 'path/to/file_or_directory' (100MB)
Sending (10%) 10MB / 100MB
Sending (20%) 20MB / 100MB
Sending (30%) 30MB / 100MB
...
Use case 5: Receive and connect over a custom relay
Code:
croc --relay ip_to_relay passphrase
Motivation:
Receiving files using a custom relay allows for more control over the network connection and can potentially improve transfer speeds. This use case is useful when accepting files while leveraging a user-defined relay to establish the connection.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.--relay ip_to_relay
: The flag to specify the IP address of the custom relay to use.passphrase
: The passphrase to enter when receiving a file or directory.
Example output:
Enter the passphrase:
Receiving 'path/to/file_or_directory' (100MB)
Receiving (10%) 10MB / 100MB
Receiving (20%) 20MB / 100MB
Receiving (30%) 30MB / 100MB
...
Use case 6: Host a croc relay on the default ports
Code:
croc relay
Motivation:
Hosting a ‘croc’ relay on the default ports allows for easy file transfer between machines on the same network. By running a relay on the default ports, other machines can easily connect and transfer files securely.
Explanation:
croc
: The base command to initiate file transfer using ‘croc’.relay
: The subcommand to specify that the intention is to host a relay.
Example output:
2021/08/01 15:00:00 serving relay on [::]:9009
2021/08/01 15:00:01 1 client(s)
2021/08/01 15:00:01 my code is:
orange bicycle candy house
CROCSERVERLIST 9009
2021/08/01 19:14:25 sending file
Use case 7: Display parameters and options for a croc command
Code:
croc send|relay --help
Motivation:
When using the ‘croc’ command, it’s important to understand the available parameters and options for each subcommand. Using the ‘–help’ flag provides a helpful guide on how to use the command effectively.
Explanation:
croc send|relay
: The specific subcommand to display parameters and options for.--help
: The flag to display the help information.
Example output:
Usage of send:
-code string
the code phrase to use to send the file
-relay string
the relay address to use (default "wss://relay.croc.rocks:80")
Conclusion:
The ‘croc’ command is a versatile tool for easily and securely sending and receiving files over any network. With various use cases such as sending files, using custom relays, and hosting a relay, ‘croc’ provides a simple and efficient solution for file transfer. By understanding the available parameters and options, users can fully leverage the power of ‘croc’ to meet their file sharing needs.