CROC GUIDE Croc allows you to transfer files directly and securely between two computers, anywhere on the internet. It is cross-platform, end-to-end encrypted, needs no port forwarding or IP address configuration, does not even require you to be on the same network and has no file size limit. Installation Linux 1. Debian: sudo apt install croc 2. Arch: sudo pacman -S croc 3. RHEL: sudo dnf install croc 4. Others: curl https://getcroc.schollz.com | bash 5. Verify installation: croc --version macOS 1. Homebrew: brew install croc 2. Installer: curl https://getcroc.schollz.com | bash 3. MacPorts: sudo port install croc 4. Nix: nix-shell -p croc 5. Verify installation: croc --version Windows (Windows 10 and 11) 1. Chocolatey: choco install croc 2. GitBash: curl https://getcroc.schollz.com | bash 3. Scoop: scoop install croc 4. Winget: winget install schollz.croc 5. Verify installation: croc --version PART 2: WORKING IN THE TERMINAL Step 1: Testing the Flow on One Computer You can test the whole send/receive flow on a single machine using two terminal windows side by side. No second computer needed, though when you get to that it will need its own installation of croc. 1. Create a test file: Linux/macOS: echo "Hello from croc!" > test.txt Windows: echo Hello from croc! > test.txt 2. In Terminal 1, run: croc send test.txt croc will display a code phrase like: 7776-gorilla-london-turtle Copy it. 3. In Terminal 2, navigate to where you want the file to land. If you are not sure where your terminal is pointing, run pwd first to check. 4. Run croc followed by the code phrase. 5. Type y to confirm. Once it reaches 100%, the file is in Terminal 2's current directory. Step 2: Sending a Real File If that worked, you are ready to send actual files. The code phrase is single-use, so croc will generate a new one each time. Make sure the sender starts first and shares the code before the receiver tries to connect. Ways to specify what to send: 1. By name from the current folder: croc send filename.txt 2. By full path from anywhere: croc send ~/Pictures/mypicture.jpg 3. An entire folder: croc send ~/MyFolder 4. With a custom code phrase: croc send --code "mycustomcode" filename.txt If the path is deeply nested and you do not want to type it out, type "croc send " (with a trailing space) into the terminal, then drag the file from your file manager into the terminal window. The path will paste automatically. Press Enter to send. Step 3: Receiving a File 1. Navigate to the folder where you want the file to land: cd ~/Downloads 2. Run croc followed by the code phrase the sender gives you. 3. Type y to confirm. Once it reaches 100%, the file is in your current folder. If you get an "Operation not permitted" error, you do not have write access to the current directory. Try receiving into ~/ or /tmp and moving the file afterwards. If a file with the same name already exists, croc will not overwrite it silently, so delete the old one with rm filename first. Step 4: Managing Your Transfers Linux and macOS Send a file: croc send filename.txt Send with a custom code: croc send --code "mycode" filename.txt Receive a file: croc code-phrase-here Receive to a specific folder: cd ~/TargetFolder && croc code-phrase-here Check current directory: pwd List files in current folder: ls Windows Send a file: croc send filename.txt Send with a custom code: croc send --code "mycode" filename.txt Receive a file: croc code-phrase-here Receive to a specific folder: cd C:\TargetFolder && croc code-phrase-here Check current directory: cd List files in current folder: dir CONCLUSION Congratulations! You can now transfer files from your terminal. For a full list of options, run croc --help or visit the croc GitHub page at https://github.com/schollz/croc