https://github.com/n0-computer/swarmie
Proof of concept extension of sendme to use global content discovery
https://github.com/n0-computer/swarmie
Last synced: 3 months ago
JSON representation
Proof of concept extension of sendme to use global content discovery
- Host: GitHub
- URL: https://github.com/n0-computer/swarmie
- Owner: n0-computer
- License: other
- Created: 2024-01-21T11:52:16.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-17T13:18:36.000Z (over 1 year ago)
- Last Synced: 2025-10-30T13:58:06.045Z (8 months ago)
- Language: Rust
- Size: 161 KB
- Stars: 21
- Watchers: 6
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Swarmie
This is a proof of concept tool to use iroh global content discovery using the
bittorrent mainline DHT.
It is basically [sendme](https://github.com/n0-computer/sendme) but with an
additional step of publishing to a tracker.
**WARNING**
While dumbpipe and sendme are reasonably well tested and can be used in production,
this one is currently _very_ experimental...
# Installation
```
cargo install swarmie
```
# Usage
## Send side
```
swarmie publish
```
This will create a temporary iroh node that serves the content in the given file or directory.
It will publish information about the data to one or more trackers.
The provider will run until it is terminated using Control-C. On termination it will delete
the temporary directory.
This currently will create a temporary directory in the current directory. In the future this
won't be needed anymore.
### Receive side
```
swarmie subscribe
```
When given trackers as arguments, this will connect to all trackers and ask them
if they know who has the content. If no tracker arguments are provided, it will
query the bittorrent mainline DHT for trackers.
This will download the data and create a file or directory named like the source
in the **current directory**.
It will create a temporary directory in the current directory, download the data (single
file or directory), and only then move these files to the target directory.
On completion it will delete the temp directory.
All temp directories start with `.swarmie-`.