sidebar_position
1
title
Features Overview
description
Complete list of JSS features
JSS is a lightweight, fast Solid server for Node.js. It implements the Solid Protocol with additional features for development, federation, and personal pod hosting.
Current version: 0.0.86
A drop-in alternative to npx serve with REST write support, live reload, and Solid protocol underneath.
Feature
Description
Docs
LDP CRUD
GET, PUT, POST, DELETE, HEAD on resources and containers
Details
Web Access Control
WAC with .acl files, agent/group/public permissions
Details
Content Negotiation
JSON-LD, Turtle, N3, N-Triples (--conneg)
Patching
N3 Patch + SPARQL Update for partial edits
Details
Conditional Requests
If-Match / If-None-Match with ETag support (304, 412)
WebSocket Notifications
Real-time updates via solid-0.1 protocol
Details
Multi-user Pods
Path-based or subdomain-based pod isolation
Details
Pod Discovery
.well-known/openid-configuration, TypeIndex generation
HTTP Range Requests
Partial content delivery for streaming media
Storage Quotas
Per-pod quota enforcement with CLI management
Details
CORS
Full cross-origin support with proper header exposure
Authentication & Identity
Feature
Description
Docs
Solid-OIDC
Token validation with DPoP proof-of-possession
Details
Built-in Identity Provider
Full OAuth2/OIDC login flows (--idp)
Passkey / WebAuthn
Passwordless authentication using FIDO2
WebID-TLS
Client certificate authentication with X.509 certs
Nostr NIP-98
Schnorr signature-based HTTP auth, did:nostr identity
Details
Invite-only Registration
Restrict signups with invite codes (--invite-only)
Details
Token Management
DPoP validation, jti replay prevention
Feature
Description
Docs
Live Reload
Edit a file, browser refreshes automatically (--live-reload)
Details
Public Mode
Skip authentication for local development (--public)
Read-only Mode
Disable PUT/DELETE/PATCH for safe viewing (--read-only)
Single-user Mode
Personal pod server, no registration needed (--single-user)
File Watcher
Detects filesystem changes and triggers WebSocket notifications
Mashlib / SolidOS
Data browser UI, local or CDN mode (--mashlib, --mashlib-cdn)
Details
SolidOS UI
Modern Nextcloud-style interface (--solidos-ui)
Config System
CLI args > env vars > config file > defaults
Print Config
Debug configuration with --print-config
Feature
Description
Docs
ActivityPub
Full federation support with inbox, outbox, followers (--activitypub)
Details
Webfinger
Standard actor discovery for federation
Nostr Relay
NIP-01 relay with configurable event limits (--nostr)
Details
Nostr Event Types
Replaceable, ephemeral, parameterized replaceable kinds
Nostr-AP Linking
Link Nostr identity to ActivityPub actor (--ap-nostr-pubkey)
Details
Feature
Description
Docs
Inbox & Spam Mitigation
Layered defenses on LDP inboxes
Details
Rate Limiting
Global (100/min), writes (60/min), pod creation (1/day)
SSL/TLS
HTTPS with custom certificates (--ssl-key, --ssl-cert)
Dotfile Protection
Blocks .git, .env, .htpasswd access
SSRF Protection
URL validation for external fetches
Path Traversal Protection
Sanitization in all handlers
DPoP Replay Prevention
jti cache prevents token reuse
Password Hashing
bcryptjs with minimum length validation
Feature
Description
Docs
HTTP 402 Payments
Monetize /pay/* resources with per-request sat payments (--pay)
Details
Sat Deposits
Credit balance by posting a Bitcoin UTXO (TXO URI)
Details
MRC20 Token Deposits
Deposit tokens with state proof and anchor verification
Details
Primary Market
Buy/withdraw pod tokens with sat balance (--pay-token)
Details
Secondary Market
Peer-to-peer sell orders and swaps via pod escrow
Details
Token CLI
Mint, transfer, and inspect MRC20 tokens (jss token)
Details
Multi-Chain Deposits
Accept sats from multiple Bitcoin networks (--pay-chains)
Details
AMM Pool
Constant-product market maker for cross-chain trading
Details
Web Ledger
Multi-currency balance tracking per did:nostr (webledgers.org spec)
Feature
Description
Docs
Git HTTP Backend
Clone and push repos via HTTPS (--git)
Details
servejss
npx serve alternative with write support and live reload
Cross-platform
Runs on Android/Termux via sql.js and bcryptjs fallbacks
Method
Support
GET
Full
HEAD
Full
PUT
Full
POST
Full
DELETE
Full
PATCH
N3 Patch + SPARQL Update
OPTIONS
Full with CORS
jss start [options] # Start the server
jss init # Interactive configuration setup
jss invite create # Create invite code
jss invite list # List invite codes
jss invite revoke < code> # Revoke invite code
jss quota set < user> < size> # Set storage quota
jss quota show < user> # Show quota info
jss quota reconcile < user> # Recalculate from disk
Version
Feature
v0.0.59
Nostr relay (NIP-01)
v0.0.61
ActivityPub federation
v0.0.75
WebID-TLS authentication
v0.0.76
SolidOS modern UI
v0.0.77
Single-user mode, Passkey/WebAuthn auth
v0.0.80
Cross-platform support (Android/Termux)
v0.0.82
Public mode, Read-only mode
v0.0.84
Live reload with filesystem watcher
v0.0.85
File watcher for external changes
v0.0.86
WebSocket fix for public mode, port fix for file watcher