[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1651":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":17,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},1651,"croc","schollz\u002Fcroc","schollz","Easily and securely send things from one computer to another :crocodile: :package:","https:\u002F\u002Fschollz.com\u002Fsoftware\u002Fcroc6",null,"Go",35244,1392,248,7,0,32,280,109.43,"MIT License",false,"main",[24,25,26,27,28,29,30],"data-transfer","file-sharing","golang","pake","peer-to-peer","tcp","transfer","2026-06-12 04:00:10","\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F6550035\u002F46709024-9b23ad00-cbf6-11e8-9fb2-ca8b20b7dbec.jpg\" width=\"408px\" border=\"0\" alt=\"croc\">\n  \u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fschollz\u002Fcroc\u002Freleases\u002Flatest\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fschollz\u002Fcroc\" alt=\"Version\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fschollz\u002Fcroc\u002Factions\u002Fworkflows\u002Fci.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fschollz\u002Fcroc\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"Build Status\">\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fschollz\">\u003Cimg alt=\"GitHub Sponsors\" src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fsponsors\u002Fschollz\">\u003C\u002Fa>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cstrong>This project’s future depends on community support. \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fschollz\">Become a sponsor today\u003C\u002Fa>.\u003C\u002Fstrong>\n\u003C\u002Fp>\n\n## About\n\n`croc` is a tool that allows any two computers to simply and securely transfer files and folders. AFAIK, *croc* is the only CLI file-transfer tool that does **all** of the following:\n\n- Allows **any two computers** to transfer data (using a relay)\n- Provides **end-to-end encryption** (using PAKE)\n- Enables easy **cross-platform** transfers (Windows, Linux, Mac)\n- Allows **multiple file** transfers\n- Allows **resuming transfers** that are interrupted\n- No need for local server or port-forwarding\n- **IPv6-first** with IPv4 fallback\n- Can **use a proxy**, like Tor\n\nFor more information about `croc`, see [my blog post](https:\u002F\u002Fschollz.com\u002Ftinker\u002Fcroc6\u002F) or read a [recent interview I did](https:\u002F\u002Fconsole.substack.com\u002Fp\u002Fconsole-91).\n\n![Example](src\u002Finstall\u002Fcustomization.gif)\n\n## Install\n\nYou can download [the latest release for your system](https:\u002F\u002Fgithub.com\u002Fschollz\u002Fcroc\u002Freleases\u002Flatest), or install a release from the command-line:\n\n```bash\ncurl https:\u002F\u002Fgetcroc.schollz.com | bash\n```\n\n### On macOS\n\nUsing [Homebrew](https:\u002F\u002Fbrew.sh\u002F):\n\n```bash\nbrew install croc\n```\n\nUsing [MacPorts](https:\u002F\u002Fwww.macports.org\u002F):\n\n```bash\nsudo port selfupdate\nsudo port install croc\n```\n\n### On Windows\n\nYou can install the latest release with [Scoop](https:\u002F\u002Fscoop.sh\u002F), [Chocolatey](https:\u002F\u002Fchocolatey.org\u002F), or [Winget](https:\u002F\u002Flearn.microsoft.com\u002Fwindows\u002Fpackage-manager\u002F):\n\n```bash\nscoop install croc\n```\n\n```bash\nchoco install croc\n```\n\n```bash\nwinget install schollz.croc\n```\n\n### Using nix-env\n\nYou can install the latest release with [Nix](https:\u002F\u002Fnixos.org\u002F):\n\n```bash\nnix-env -i croc\n```\n\n### On NixOS\n\nYou can add this to your [configuration.nix](https:\u002F\u002Fnixos.org\u002Fmanual\u002Fnixos\u002Fstable\u002F#ch-configuration):\n\n```nix\nenvironment.systemPackages = [\n  pkgs.croc\n];\n```\n\n### On Alpine Linux\n\nFirst, install dependencies:\n\n```bash\napk add bash coreutils\nwget -qO- https:\u002F\u002Fgetcroc.schollz.com | bash\n```\n\n### On Arch Linux\n\nInstall with `pacman`:\n\n```bash\npacman -S croc\n```\n\n### On Fedora\n\nInstall with `dnf`:\n\n```bash\ndnf install croc\n```\n\n### On Gentoo\n\nInstall with `portage`:\n\n```bash\nemerge net-misc\u002Fcroc\n```\n\n### On Termux\n\nInstall with `pkg`:\n\n```bash\npkg install croc\n```\n\n### On FreeBSD\n\nInstall with `pkg`:\n\n```bash\npkg install croc\n```\n\n### On Linux, macOS, and Windows via Conda\n\nYou can install from [conda-forge](https:\u002F\u002Fgithub.com\u002Fconda-forge\u002Fcroc-feedstock) globally with [`pixi`](https:\u002F\u002Fpixi.sh\u002F):\n\n```bash\npixi global install croc\n```\n\nOr install into a particular environment with [`conda`](https:\u002F\u002Fdocs.conda.io\u002Fprojects\u002Fconda\u002F):\n\n```bash\nconda install --channel conda-forge croc\n```\n\n### On Linux, macOS via Docker \n\nAdd the following one-liner function to your ~\u002F.profile (works with any POSIX-compliant shell):\n\n```bash\ncroc() { [ $# -eq 0 ] && set -- \"\"; mkdir -p \"$HOME\u002F.config\u002Fcroc\"; docker run --rm -it --user \"$(id -u):$(id -g)\" -v \"$(pwd):\u002Fc\" -v \"$HOME\u002F.config\u002Fcroc:\u002F.config\u002Fcroc\" -w \u002Fc -e CROC_SECRET docker.io\u002Fschollz\u002Fcroc \"$@\"; }\n```\n\nYou can also just paste it in the terminal for current session. On first run Docker will pull the image. `croc` via Docker will only work within the current directory and its subdirectories.\n\n### Build from Source\n\nIf you prefer, you can [install Go](https:\u002F\u002Fgo.dev\u002Fdl\u002F) and build from source (requires Go 1.22+):\n\n```bash\ngo install github.com\u002Fschollz\u002Fcroc\u002Fv10@latest\n```\n\n### On Android\n\nThere is a 3rd-party F-Droid app [available to download](https:\u002F\u002Ff-droid.org\u002Fpackages\u002Fcom.github.howeyc.crocgui\u002F).\n\n## Usage\n\nTo send a file, simply do:\n\n```bash\n$ croc send [file(s)-or-folder]\nSending 'file-or-folder' (X MB)\nCode is: code-phrase\n```\n\nThen, to receive the file (or folder) on another computer, run:\n\n```bash\ncroc code-phrase\n```\n\nThe code phrase is used to establish password-authenticated key agreement ([PAKE](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPassword-authenticated_key_agreement)) which generates a secret key for the sender and recipient to use for end-to-end encryption.\n\n### Customizations & Options\n\n#### Using `croc` on Linux or macOS\n\nOn Linux and macOS, the sending and receiving process is slightly different to avoid [leaking the secret via the process name](https:\u002F\u002Fnvd.nist.gov\u002Fvuln\u002Fdetail\u002FCVE-2023-43621). You will need to run `croc` with the secret as an environment variable. For example, to receive with the secret `***`:\n\n```bash\nCROC_SECRET=*** croc\n```\n\nFor single-user systems, the default behavior can be permanently enabled by running:\n\n```bash\ncroc --classic\n```\n\n#### Custom Code Phrase\n\nYou can send with your own code phrase (must be at least 6 characters):\n\n```bash\ncroc send --code [code-phrase] [file(s)-or-folder]\n```\n\n#### Allow Overwriting Without Prompt\n\nTo automatically overwrite files without prompting, use the `--overwrite` flag:\n\n```bash\ncroc --yes --overwrite \u003Ccode>\n```\n\n#### Excluding Folders\n\nTo exclude folders from being sent, use the `--exclude` flag with comma-delimited exclusions:\n\n```bash\ncroc send --exclude \"node_modules,.venv\" [folder]\n```\n\n#### Use Pipes - stdin and stdout\n\nYou can pipe to `croc`:\n\n```bash\ncat [filename] | croc send\n```\n\nTo receive the file to `stdout`, you can use:\n\n```bash\ncroc --yes [code-phrase] > out\n```\n\n#### Send Text\n\nTo send URLs or short text, use:\n\n```bash\ncroc send --text \"hello world\"\n```\n\n#### Send Multiple Files\n\nYou can send multiple files directly by listing the files and\u002For folders:\n\n```bash\ncroc send [file1] [file2] [file3] [folder1] [folder2]\n```\n\n#### Show QR Code\n\nTo show QR code (for mobile devices), use:\n\n```bash\ncroc send --qr [file(s)-or-folder]\n```\n\n#### Use a Proxy\n\nYou can send files via a proxy by adding `--socks5`:\n\n```bash\ncroc --socks5 \"127.0.0.1:9050\" send SOMEFILE\n```\n\n#### Change Encryption Curve\n\nTo choose a different elliptic curve for encryption, use the `--curve` flag:\n\n```bash\ncroc --curve p521 \u003Ccodephrase>\n```\n\n#### Change Hash Algorithm\n\nFor faster hashing, use the `imohash` algorithm:\n\n```bash\ncroc send --hash imohash SOMEFILE\n```\n\n#### Clipboard Options\n\nBy default, the code phrase is copied to your clipboard. To disable this:\n\n```bash\ncroc --disable-clipboard send [filename]\n```\n\nTo copy the full command with the secret as an environment variable (useful on Linux\u002FmacOS):\n\n```bash\ncroc --extended-clipboard send [filename]\n```\n\nThis copies the full command like `CROC_SECRET=\"code-phrase\" croc` (including any relay\u002Fpass flags).\n\n#### Quiet Mode\n\nTo suppress all output (useful for scripts and automation):\n\n```bash\ncroc --quiet send [filename]\n```\n\n#### Self-host Relay\n\nYou can run your own relay:\n\n```bash\ncroc relay\n```\n\nBy default, it uses TCP ports 9009-9013. You can customize the ports (e.g., `croc relay --ports 1111,1112`), but at least **2** ports are required.\n\nTo send files using your relay:\n\n```bash\ncroc --relay \"myrelay.example.com:9009\" send [filename]\n```\n\n#### Self-host Relay with Docker\n\nYou can also run a relay with Docker:\n\n```bash\ndocker run -d -p 9009-9013:9009-9013 -e CROC_PASS='YOURPASSWORD' docker.io\u002Fschollz\u002Fcroc\n```\n\nTo send files using your custom relay:\n\n```bash\ncroc --pass YOURPASSWORD --relay \"myreal.example.com:9009\" send [filename]\n```\n\n## Acknowledgements\n\n`croc` has evolved through many iterations, and I am thankful for the contributions! Special thanks to:\n\n- [@warner](https:\u002F\u002Fgithub.com\u002Fwarner) for the [idea](https:\u002F\u002Fgithub.com\u002Fmagic-wormhole\u002Fmagic-wormhole)\n- [@tscholl2](https:\u002F\u002Fgithub.com\u002Ftscholl2) for the [encryption gists](https:\u002F\u002Fgist.github.com\u002Ftscholl2\u002Fdc7dc15dc132ea70a98e8542fefffa28)\n- [@skorokithakis](https:\u002F\u002Fgithub.com\u002Fskorokithakis) for [proxying two connections](https:\u002F\u002Fwww.stavros.io\u002Fposts\u002Fproxying-two-connections-go\u002F)\n\nAnd many more!\n","croc 是一个简单且安全的文件和文件夹传输工具，支持在任意两台计算机之间进行数据传输。其核心功能包括端到端加密（使用PAKE协议）、跨平台支持（Windows、Linux、Mac）、多文件传输、断点续传等，并且无需本地服务器或端口转发。croc采用IPv6优先策略并支持通过代理（如Tor）进行传输。该工具特别适用于需要快速、安全地在不同设备间共享文件的场景，尤其是在网络环境复杂或有特殊安全需求的情况下。",2,"2026-06-11 02:45:14","top_all"]