JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 33
  • Score
    100M100P100Q51291F
  • License AGPL-3.0

SAND Stack: Solid + ActivityPub + Nostr + DID β€” Personal sovereignty in one command

Package Exports

    This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sandymount) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

    Readme

    πŸ–οΈ Sandymount

    The SAND Stack

    Solid Β· ActivityPub Β· Nostr Β· DID

    Personal sovereignty in one command

    npm version License: AGPL

    Quick Start Β· Features Β· Why SAND? Β· Roadmap


    Quick Start

    npm install -g sandymount
    sandymount start

    That's it. Your personal SAND server is running.


    What is SAND?

    Four protocols, one stack, total sovereignty:

    Protocol What You Get
    S Solid Personal data pod β€” files, profiles, apps
    A ActivityPub Federated social β€” Mastodon, Threads, WordPress
    N Nostr Censorship-resistant social β€” relays, zaps, keys
    D DID Decentralized identity β€” one key, every protocol

    Features

    βœ… Available Now

    Feature Description
    Solid Pod Full LDP server with WebID, Web Access Control, Solid-OIDC
    Nostr Relay NIP-01 compliant, rate-limited, memory-efficient
    Git Server Clone and push repos via HTTP with WebID auth
    DID Resolution did:nostr β†’ WebID, NIP-98 HTTP authentication
    Mobile Ready Runs on Android/Termux, ~100MB RAM

    πŸ”œ Coming Soon

    Feature Description
    ActivityPub Mastodon-compatible federation via FedBox
    Unified Identity One keypair for Solid + AP + Nostr
    P2P Connectivity No VPS required

    Installation

    Any Platform

    npm install -g sandymount
    sandymount start

    Android (Termux)

    pkg install nodejs-lts
    npm install -g sandymount pm2
    pm2 start sandymount -- start
    pm2 save

    With Options

    sandymount start --port 3000 --nostr --git

    Modern UI (SolidOS UI)

    sandymount start --solidos-ui

    Uses a modern Nextcloud-style interface instead of the classic mashlib databrowser. Requires local mashlib and solidos-ui files. See solidos-ui for setup.


    Endpoints

    Endpoint Protocol Description
    / Solid Pod root, WebID profile
    /relay Nostr WebSocket relay (wss://)
    /relay/info Nostr NIP-11 relay metadata
    /.git Git Clone/push repositories
    /.well-known/webfinger Discovery WebFinger lookup

    Why SAND?

    The Problem

    Your Life Who Controls It
    Identity Google, Apple, Facebook
    Files Dropbox, iCloud, Drive
    Social Twitter, Instagram, TikTok
    Followers The platform

    The Solution

    SAND Protocol What It Fixes
    DID You own your identity
    Solid You own your data
    Nostr You own your voice
    ActivityPub You own your social graph

    The Vision

    Your phone = Your server
    Your key = Your identity
    Your pod = Your data
    Your relay = Your reach

    Zero to sovereignty in 60 seconds.


    Architecture

    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
    β”‚                    SAND Stack                        β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚   Solid    β”‚ ActivityPubβ”‚   Nostr    β”‚     DID      β”‚
    β”‚   (LDP)    β”‚   (AP)     β”‚  (NIP-01)  β”‚ (did:nostr)  β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                   Fastify Server                     β”‚
    β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
    β”‚                     Filesystem                       β”‚
    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
    
    One port Β· One process Β· One identity

    Roadmap

    v0.0.x β€” Foundation βœ…

    • Solid pod (LDP, WAC, WebID)
    • Nostr relay (NIP-01, NIP-11)
    • Git HTTP backend
    • DID resolution (did:nostr)
    • Android/Termux support

    v0.1.x β€” Federation

    • ActivityPub integration
    • Mastodon compatibility
    • WebID = AP Actor = Nostr pubkey

    v0.2.x β€” Mobile

    • One-tap install app
    • Built-in relay service
    • P2P mode (no VPS)

    v1.0 β€” Production

    • Clustering
    • Admin dashboard
    • Plugin system

    Configuration

    # CLI
    sandymount start --port 3000 --nostr --git
    
    # Modern UI
    sandymount start --solidos-ui
    
    # Environment
    export SAND_PORT=3000
    export SAND_NOSTR=true
    export SAND_GIT=true
    Option Description Default
    --port <n> Port to listen on 5420
    --root <path> Data directory ./data
    --solidos-ui Modern Nextcloud-style UI false
    --no-nostr Disable Nostr relay -
    --no-git Disable Git backend -
    --no-idp Disable identity provider -
    --no-mashlib Disable UI entirely -
    --activitypub Enable ActivityPub false
    --quiet Suppress logs false

    Resources

    Resource Link
    Website sandy-mount.com
    GitHub sandy-mount/sandymount
    npm npmjs.com/package/sandymount
    Solid solidproject.org
    Nostr nostr.com
    ActivityPub activitypub.rocks

    Contributing

    We welcome contributions in:

    • ActivityPub integration
    • Mobile app development
    • P2P connectivity
    • Documentation

    See Issue #3 for the SAND Stack roadmap.


    License

    AGPL-3.0 β€” Free as in freedom.


    Sandymount β€” Because your data should be yours.

    πŸ–οΈ

    sandy-mount.com