Send a file. Share a code.
Decentralized, anonymous, terminal-only file-transfer infrastructure — written in Rust.
Website · Network map · Status · Discussions
NodeLink is a free, anonymous way to move files of any size across a decentralized network, entirely from your terminal. You send a file, you get back a short recovery code, and anyone with that code can retrieve the file — no account, no web upload form, no size limit, no inspection of what you transfer.
Files are split into segments that are distributed across nodes worldwide and reassembled on retrieval. There is deliberately no browser-based transfer: everything goes through the nl client over QUIC, which keeps the transfer path narrow and predictable.
$ nl send report.zip
✔ segmented · distributed · ready
recovery code: 7F3K-9Q2X-NL
$ nl get 7F3K-9Q2X-NL
✔ located · reassembled · saved to ./report.zip
| NodeLink | WeTransfer, Drive & similar | |
|---|---|---|
| Size limit | none | capped |
| Anonymity | no account, no tracking | account / identity required |
| Architecture | decentralized | centralized |
| Content inspection | none | scanned |
| Price | free | freemium / paid |
| Access | terminal (nl) | web / app |
- Segment — the file is split locally into multiple segments.
- Distribute — segments are spread across nodes in the network.
- Code — you receive a compact recovery code (e.g.
7F3K-9Q2X-NL). - Retrieve — anyone with the code fetches the segments and reassembles the file.
The transport layer is QUIC over UDP (HTTP/3), chosen for fast connection setup, multiplexed segment streams, and resilience on lossy networks. The network itself is organized per region into a Node (routing / coordination) and one or more Clusters (storage / relay). You can watch the live layout on the network map.
Contributions are very welcome, especially from Rustaceans. Good ways to start:
- Browse issues tagged
good first issue - Open a thread in Discussions for questions, ideas or design feedback
- Report bugs via Issues
Please keep pull requests focused, and open a discussion first for anything large so we can align on direction.
NodeLink is released under the GNU Affero General Public License v3.0 (AGPL-3.0). See LICENSE.
The AGPL's network clause means that if you run a modified version of NodeLink as a network service, you must make your modified source available to its users. The NodeLink name and logo are not covered by this license and are reserved.
Built and maintained by Sandro Soria (@Sandro642).
- Organization: github.com/NodeLink-Project
- Contact: sandro.soria@proton.me
// NodeLink Project // Copyright (C) 2026 Sandro Soria // This program is free software: you can redistribute it and/or modify it // under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. Distributed WITHOUT ANY WARRANTY. // See https://www.gnu.org/licenses/ for the full license.