{"id":46260389,"url":"https://github.com/techartdev/scp2p","last_synced_at":"2026-03-04T01:29:43.731Z","repository":{"id":340755394,"uuid":"1167400439","full_name":"techartdev/scp2p","owner":"techartdev","description":"scp2p","archived":false,"fork":false,"pushed_at":"2026-02-26T15:18:14.000Z","size":50,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-26T16:15:38.064Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/techartdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-26T08:55:10.000Z","updated_at":"2026-02-26T15:20:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/techartdev/scp2p","commit_stats":null,"previous_names":["techartdev/scp2p"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/techartdev/scp2p","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techartdev%2Fscp2p","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techartdev%2Fscp2p/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techartdev%2Fscp2p/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techartdev%2Fscp2p/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/techartdev","download_url":"https://codeload.github.com/techartdev/scp2p/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/techartdev%2Fscp2p/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30068429,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T01:03:42.280Z","status":"ssl_error","status_checked_at":"2026-03-04T01:03:23.410Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-04T01:29:43.217Z","updated_at":"2026-03-04T01:29:43.721Z","avatar_url":"https://github.com/techartdev.png","language":"Rust","readme":"# SCP2P: Subscribed Catalog P2P\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://scp2p.com/\"\u003e\n  \u003cimg width=\"400\" height=\"150\" src=\"https://scp2p.com/assets/logo.svg\"\u003e\n  \u003cbr\u003e https://scp2p.com/\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\nWelcome to **SCP2P** (Subscribed Catalog P2P) — a decentralized, cryptographically-secure communication and data sharing protocol designed for the modern web.\n\nSCP2P is built on a simple yet powerful idea: **you should own your data and your discovery.** Unlike traditional platforms that rely on central servers or global uncurated search, SCP2P empowers individuals and communities to build their own private or public networks of trust.\n\n---\n\n## 🚀 What is SCP2P?\n\nSCP2P is a peer-to-peer (P2P) software suite and protocol that allows users to publish, discover, and share \"Catalogs\" (Manifests) of content without a middleman. \n\nAt its core, SCP2P is:\n- **Subscription-Centric:** You only see and search what you choose to follow. No global noise, just curated signal.\n- **Fully Decentralized:** No central servers, no \"cloud\" ownership. Data moves directly between peers.\n- **Cryptographically Secure:** Every share is signed by its publisher, and every byte of data is verified for integrity using modern primitives (Ed25519, BLAKE3).\n- **NAT-Friendly:** Designed to work across home routers and mobile networks using QUIC and intelligent relaying.\n- **Zero Configuration:** Features built-in LAN discovery (mDNS) so you can start sharing with devices on your local network instantly.\n- **Offline-First:** Search and discovery work even without an internet connection, as long as you have local peers.\n\n---\n\n## 💎 Why SCP2P? (Benefits vs. Existing Software)\n\n| Feature | Centralized (Social/Cloud) | Traditional P2P (BitTorrent) | **SCP2P** |\n| :--- | :--- | :--- | :--- |\n| **Privacy** | Low (Data mined/monitored) | Medium (Public IP exposure) | **High** (Encrypted, scoped search) |\n| **Censorship** | Easy (Central kill-switch) | Hard | **Impossible** (No central authority) |\n| **Search** | Algorithmic/Ad-driven | Global/Uncurated | **Subscribed/Curated** |\n| **Integrity** | Trusted Service | Variable | **Cryptographically Guaranteed** |\n| **Ownership** | Platform-owned | Shared Swarm | **Self-Signed Sovereignty** |\n| **Community** | Platform-locked | Fragmented | **Built-in Communities** |\n\n---\n\n## ⚙️ How It Works (Simplified)\n\nSCP2P simplifies complex P2P technology into a straightforward lifecycle:\n\n1.  **Create a Share:** You bundle files or text into a \"Share\" on your device. This creates a cryptographically signed **Manifest** (a catalog). You control the visibility: make it **Public** for anyone to find, or **Private** so only those with the ID can subscribe.\n2.  **Publish to the DHT:** Your node announces a small \"pointer\" to the Decentralized Hash Table (DHT). This distributed ledger tells the network that a new version of your share exists without revealing its content.\n3.  **Onboarding \u0026 Discovery:** Others join your circle via a simple **Invite Link** or find you via **LAN Discovery** and **Communities**. If you are behind a firewall, **Relays** (standard nodes with extra capacity) help bridge the connection without ever seeing your unencrypted data.\n4.  **Local Search:** Once subscribed, your peers' catalogs are indexed locally on *your* device. When you search, you are searching your own curated world—not a global, spam-filled index.\n5.  **Swarm Download:** When someone wants a file, they download \"chunks\" from you and any other peers who already have it. This makes the network faster as more people join (Swarming).\n\n---\n\nSCP2P is designed for everyone who values digital sovereignty:\n- **Normal People:** Share photos with family, sync documents across devices, or participate in private hobbyist circles.\n- **Developers:** Use it as a decentralized backend for data distribution, a P2P package manager, or a secure communication layer for apps.\n- **Groups \u0026 Communities:** Build independent digital spaces for neighborhoods, activists, or specialized interest groups without fear of platform de-platforming.\n\n---\n\n## 💡 Use Cases\n\n### 🏠 For Normal People\n- **Private Family Cloud:** Share high-res photos and home videos with family members without uploading them to a big-tech cloud.\n- **Secure File Sync:** Keep your important documents synced between your laptop at home and your computer at work, peer-to-peer.\n- **Creative Collaboration:** Musicians, artists, and writers can share large project files and assets directly with collaborators without hitting storage limits.\n- **Digital Archive:** Create a personal \"Share\" of your favorite recipes or books and subscribe to your friends' collections.\n\n### 🛠️ For Developers\n- **P2P Package Distribution:** Distribute library binaries or assets directly to users, reducing server costs and increasing speed via local swarming. Perfect for game assets or large SDKs.\n- **Mirroring \u0026 Caching:** Speed up your entire team by acting as a local peer-to-peer cache for common dependencies, reducing external bandwidth.\n- **Decentralized Documentation:** Host and sync project documentation across contributor nodes, ensuring it's always available even offline.\n- **Edge Computing Data Bus:** Use the DHT and manifest system to coordinate state between distributed edge nodes or IoT devices.\n- **CI/CD Artifact Sharing:** Speed up build pipelines by sharing artifacts between build nodes on the same network without hitting external storage.\n\n### 🌐 For Groups \u0026 Communities\n- **Local Neighborhood Networks:** Share local news, tool-lending catalogs, or event info within a physical community. Works even if the local ISP goes down.\n- **Research Collectives:** Securely share datasets and papers within a closed group of researchers with verifiable version history.\n- **Resilient Communication:** Maintain a shared \"catalog\" of critical information that remains accessible even if the main internet backbone is restricted.\n\n---\n\n## 🛡️ Privacy \u0026 Security by Design\n\nSCP2P isn't just secure; it's architected to protect your digital footprint:\n\n-   **Zero Tracking:** Since there are no central servers, there is no one to track your searches, downloads, or social graphs.\n-   **End-to-End Integrity:** Every piece of data is hashed and signed. You don't just \"trust\" the sender; you verify the math.\n-   **Metadata Privacy:** Search is performed locally on *your* hardware. Your interests never leave your device.\n-   **No Global Index:** By eliminating global search, we eliminate global spam and mass-surveillance crawlers.\n\n---\n\nCurrent stable release line is **v0.3.x**, with active development continuing toward broader platform coverage and protocol hardening.\n\n### ✅ What's Working (Existing)\n- **Core Protocol:** Ed25519 identities, BLAKE3 content addressing, and CBOR-framed messaging.\n- **Networking:** Multi-transport support (QUIC and TCP) with authenticated handshakes.\n- **DHT (Kademlia-lite):** Decentralized peer discovery and content location hints.\n- **Content Sharing:** Multi-file and folder sharing with verified swarm downloading.\n- **Desktop App:** A functional Windows/macOS/Linux client built with Tauri and React.\n- **Persistence:** Durable local state using SQLite.\n\n### 🏗️ What's Coming (Planned)\n- **Mobile Support:** Native Android and iOS clients for true portability.\n- **Universal Packaging:** We target support for every mainstream package manager (npm, cargo, brew, apt, chocolatey, etc.).\n- **Enhanced NAT Traversal:** More robust relaying and hole-punching for the toughest network environments.\n- **SDKs:** Stable libraries for multiple languages to allow any dev to build on SCP2P.\n- **Global Reach:** Intelligent community discovery and advanced trust-tier systems.\n\n---\n\n## 🌍 Global Vision \u0026 Portability\n\nSCP2P isn't just a tool; it's a **global standard in the making.** Our mission is to provide the same seamless, secure experience across every environment:\n\n-   **Any Device:** From high-end desktop workstations and always-on servers to smartphones and low-power IoT devices.\n-   **Any OS:** First-class support for Windows, macOS, Linux, Android, and iOS.\n-   **Any Platform:** We are committed to bringing SCP2P to every mainstream package manager. Whether you use `npm`, `cargo`, `brew`, `apt`, `pkg`, or `chocolatey`, SCP2P will be a single command away.\n\nWe believe that decentralized communication should be as easy to install and use as any mainstream app, without sacrificing the privacy of the individual.\n\n---\n\n## 🛠️ Getting Started (For Developers)\n\nThe project is structured as a Rust workspace:\n\n- `crates/scp2p-core`: The heart of the protocol.\n- `crates/scp2p-cli`: Interactive command-line client.\n- `crates/scp2p-relay`: Headless relay / DHT node binary.\n- `crates/scp2p-desktop`: Desktop application shell and runtime integration.\n\n### Interactive CLI\n\nThe `scp2p` CLI is a fully interactive shell — no subcommands to memorise. Launch it and navigate everything through arrow-key menus:\n\n```bash\n# Start with defaults (creates scp2p.db in the current directory)\ncargo run -p scp2p-cli\n\n# With a bootstrap peer\ncargo run -p scp2p-cli -- --bootstrap 192.168.1.10:7001\n```\n\nAvailable operations from the menu:\n- **Publish** files or a whole folder as a new share (private or public)\n- **Browse** any locally cached share and inspect its items\n- **Subscribe** to shares and manage subscriptions\n- **Search** across your subscriptions locally\n- **Download** content by ID or pull an entire share to a directory\n- **Sync** subscriptions against the network\n- **Generate** new Ed25519 keypairs\n\nSee [DOCS.md](DOCS.md#3-cli-usage) for the full reference.\n\n### Desktop Application\n\nRun the desktop application from the workspace:\n\n```bash\ncargo run -p scp2p-desktop\n```\n\n### Standalone Relay\n\nTo run a headless relay/DHT node (no UI, suitable for servers):\n\n```bash\ncargo run -p scp2p-relay\n```\n\nSee [`crates/scp2p-relay/README.md`](crates/scp2p-relay/README.md) for full relay configuration.\n\n### Core Library Tests\n```bash\n# Run the Rust core test suite\ncargo test\n```\n\n---\n\n## 🤝 Join the Movement\n\nSCP2P is open source and community-driven. We welcome contributors, testers, and visionaries.\n\n- **Official Website:** [scp2p.com](https://scp2p.com/)\n- **Found an issue?** Open a GitHub Issue.\n- **Want to contribute?** Check out `AGENTS.md` and `PLAN.md` for current priorities.\n- **Guidelines:** Please read our [Code of Conduct](CODE_OF_CONDUCT.md) and [Security Policy](SECURITY.md).\n- **Stay tuned:** We are working on providing native packages for all major OS platforms soon!\n\n---\n\n*“Own your catalog, subscribe to your world.”*\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechartdev%2Fscp2p","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftechartdev%2Fscp2p","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftechartdev%2Fscp2p/lists"}