A family of lightweight, zero-dependency tools for decentralized file discovery and sharing across distributed networks.

9
projects
3
languages
0
dependencies
★ spotlight project
Seastar
File Chunker &
P2P Distributor

A single-file PHP node that chunks any file, seeds it locally, and distributes every piece to all peers in your network. Supports two distinct transport modes: GET (base64 chunks in the query string) and POST (raw file sent directly — no chunking, no encoding). The file's MD5 becomes its permanent identifier across the entire mesh.

PHP · single file
Two Transport Modes
GET sends base64 chunks as query-string params (100 B – 8 KB each). POST delivers the raw file whole via multipart upload — no chunking, no base64 overhead.
🔒
Integrity-verified Chunks
Every chunk is verified on receipt: md5(contents) === chunk_hash. Tampered or corrupted chunks are rejected with HTTP 400.
🗂
Content-addressed Storage
Files stored as files/<md5>.<ext>. Chunks indexed in base64_hash/. Existing files are never overwritten — idempotent by design.
🌐
Mesh Distribution
Sends every chunk or file to every peer in servers.txt in a single operation. Logs new stores, skips, and errors per peer with a full audit trail.
🪪
Node Identity
Each node carries a public_key.txt and node_info.txt that travel with every transmission and are stored by receiving peers.

// all projects

PHP
Seastar

Single-file PHP mesh node that chunks any file and distributes it to all peers via GET (base64 chunks) or POST (raw file, no encoding). Content-addressed storage, write-once chunk indexes, and full integrity verification on every receive.

PHP
Quokka Meento

Single-file PHP mesh node that shares known URLs between peers over plain HTTP GET. No database or framework — just cURL, file locks, and a flat-text store with optional IP deduplication.

Java
DHT Meento

Pure-Java distributed hash table with TCP socket messaging. Nodes auto-discover peers transitively, share a file index, and prune dead hosts — all persisted in plain text, no libraries needed.

Java + PHP
Seal Meento

Java client that fetches file lists from HTTP servers, ranks files by the number of distinct IPs hosting them, broadcasts metadata back to the network, and optionally downloads files to disk.

C++
Eel Meento

C++17 binary that is simultaneously a TCP server and client. Peers exchange file lists via a minimal text protocol and pull only files they don't already have, with a rank command that scores peers by content size.

Java
Owl Meento

Read-only Java Swing GUI that scans P2P and HTTP endpoints, ranks servers across six criteria (files, downloads, ping, diversity, score), and exports results to JSON — a network observatory tool.

Java
WebCrawler

Interactive CLI Java crawler that follows links up to a configurable depth, harvests file URLs (images, PDFs, ZIPs, etc.), deduplicates them across runs, and writes results to servers.txt for use by other Meento tools.

PHP
Meento PHP

One-file PHP file hosting app with SHA-256 content addressing, sharded JSON index (no database), drag-and-drop uploads, live search across shards, and duplicate detection — deployed by copying a single index.php.

Java
Ant Meento GUI

Full-featured P2P desktop app with RSA identity, a local proof-of-work blockchain ledger for every transfer, DHT bootstrapping from public URLs, drag-and-drop sharing, and direct HTTP downloads — all in one Swing window.

// feature comparison

Project Receive files Send files P2P sockets HTTP GET Peer discovery File index / ranking Identity / crypto GUI Blockchain Lang
Seastar new PHP
Quokka Meento PHP
DHT Meento Java
Seal Meento Java + PHP
Eel Meento C++
Owl Meento Java
WebCrawler Java
Meento PHP PHP
Ant Meento GUI Java
supported
partial
not supported

// project purpose

What is Meento?

Meento is a collection of independent, single-file tools built around one shared goal: enabling nodes on a network to discover, index, and exchange files without relying on a central server, cloud service, or external dependency. Each subproject explores a different angle — some use raw TCP sockets (DHT, Eel, Ant), others use plain HTTP GET (Quokka, Seal, Meento PHP), and Seastar adds a dedicated chunking and seeding layer on top, combining both GET and POST transports with content-addressed storage.

What unites every project is radical simplicity in deployment: no package managers, no Docker images, no databases. State lives in flat text files (servers.txt, files.txt) that any tool in the ecosystem can read and write. Peers discover each other transitively, rank content by replication count, and propagate metadata across the mesh using the same lightweight conventions. Ant Meento GUI is the feature-complete flagship — adding RSA identity and a blockchain ledger — while tools like Seastar serve as focused, composable building blocks you can mix and match across the network.