Live Share

by mewski
5
4
3
2
1
Score: 42/100

Description

The Live Share plugin adds real time collaborative editing with character level sync, live cursors and selections across shared files. It keeps text, renamed files and binary assets in step, syncs .canvas files and buffers file operations while disconnected before replaying them on reconnect. Sessions include a collaborators panel with presence, follow, summon and kick controls, host transfer, guest approval, per file read only overrides and optional presentation mode that broadcasts navigation. Content is protected with end to end encryption using AES-256-GCM and PBKDF2, while the host vault remains the source of truth on a stateless relay server. Setup requires a reachable Live Share server URL, with GitHub OAuth settings only when that authentication mode is enabled.

Reviews

No reviews yet.

Stats

20
stars
729
downloads
5
forks
6
days
8
days
8
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
4
total issues
2
open issues
2
closed issues
247
commits

RequirementsExperimental

  • A reachable Live Share relay server

README file from

Github

Obsidian Live Share

Real-time collaborative editing for Obsidian. Share your vault with others and edit together with live cursors, file sync, presence tracking, and end-to-end encryption.

Quick Start

1. Start the Server

cd server && npm install && npm run build && npm start

Runs on http://localhost:3000. Verify: curl http://localhost:3000/healthz

2. Install the Plugin

Build from source:

cd plugin && npm install && npm run build

Copy into your vault:

mkdir -p /path/to/vault/.obsidian/plugins/obsidian-live-share
cp plugin/main.js plugin/styles.css manifest.json \
   /path/to/vault/.obsidian/plugins/obsidian-live-share/

Or install via BRAT for automatic updates.

Enable Live Share in Settings > Community Plugins.

3. Configure

Open Settings > Live Share and set your Server URL, Display name, and Shared folder (leave empty for the whole vault).

4. Collaborate

Host: Run Live Share: Start session from the command palette. An invite link is copied to your clipboard.

Guest: Run Live Share: Join session and paste the invite link. Files sync automatically.

Features

  • Real-time editing - Yjs CRDT-powered character-level sync with live cursors and selections
  • File sync - Creates, deletes, renames, and binary files sync automatically
  • End-to-end encryption - AES-256-GCM with PBKDF2 key derivation; passphrase never leaves the invite link
  • Presence panel - See who's connected, what file they're viewing, follow/summon/kick users
  • Permissions - Host can set guests to read-write or read-only (enforced server-side), with per-file overrides
  • Guest approval - Optionally require host approval before guests can join
  • Kick protection - Kicked users must be re-approved by the host to rejoin, even when approval is not required
  • Host transfer - Hand off the host role to another participant
  • Presentation mode - Auto-broadcast your navigation to all participants
  • Canvas collaboration - Real-time sync of .canvas files
  • Cross-platform support - Windows filename character mapping for seamless sync between platforms
  • Offline queue - File operations are buffered when disconnected and replayed on reconnect
  • Auto-reconnect - Optionally rejoin the previous session on startup

Commands

Command Description Access
Start session Create a room and start hosting Anyone
Join session Join via invite link Anyone
End session End the session for all participants Host
Leave session Leave the session Guest
Copy invite link Copy invite to clipboard Anyone in session
Show collaborators panel Open the presence sidebar Anyone
Focus participants here Send a "look here" notification Anyone in session
Summon all participants here Navigate all users to your cursor Host
Summon a specific participant Navigate one user to your cursor Host
Reload all files from host Re-download shared files Guest
Toggle presentation mode Auto-broadcast navigation Host
Transfer host role Offer host role to another user Host
Set file permissions Per-file read-only/read-write Host
Show audit log View session event log Host
Log in with GitHub GitHub OAuth authentication Anyone
Log out Clear stored authentication Anyone

Settings

Setting Default Description
Server URL http://localhost:3000 Your Live Share server address
Server password - Optional server password
Display name Anonymous Your name shown to collaborators
Cursor color #7c3aed Your cursor color in the editor
Shared folder - Subfolder to share (empty = whole vault)
Require approval false Require host approval for guests
Approval timeout 60 Auto-deny join requests after N seconds (0 = disabled)
Notifications true Toggle non-critical status notices
Auto-reconnect true Rejoin previous session on startup
Debug logging false Write debug logs to a vault file
Excluded patterns - Glob patterns for files to exclude from sync

Server Configuration

Variable Default Description
PORT 3000 Server port
SERVER_PASSWORD - Restrict access to authorized clients
TLS_CERT / TLS_KEY - Enable HTTPS/WSS
REQUIRE_GITHUB_AUTH false Require GitHub OAuth
GITHUB_CLIENT_ID - GitHub OAuth client ID
GITHUB_CLIENT_SECRET - GitHub OAuth client secret
JWT_SECRET - JWT signing secret (required with auth)
CORS_ORIGIN * Allowed CORS origins

File Exclusion

Exclude files from sync by adding glob patterns in Settings > Live Share > Excluded patterns.

Default excludes: .obsidian/**, .trash/**.

Example patterns: drafts/**, *.tmp, private/**.

How It Works

The system uses a stateless relay server and two WebSocket channels:

  • Yjs sync (/ws-mux/:roomId) - Multiplexed binary channel for Yjs CRDT updates and cursor awareness per file
  • Control (/control/:roomId) - JSON messages for file operations, presence, permissions, and session lifecycle

The host's vault is the source of truth. Text files sync character-by-character via Yjs. Binary files transfer as base64 with automatic chunking (up to 50 MB).

Security

  • E2E encryption (AES-256-GCM, PBKDF2 100k iterations) for file content in control messages
  • Timing-safe token comparison on all auth checks
  • Server-side enforcement of read-only permissions and host-only operations
  • Path traversal protection, rate limiting, payload size limits
  • Use TLS (wss://) to encrypt all traffic including Yjs sync data

See docs/security.md for the full threat model.

Development

# Server: 108 tests
cd server && npm run dev && npm test && npm run lint

# Plugin: 310 tests
cd plugin && npm run dev && npm test && npm run lint

Disclosures

Network use. This plugin requires a relay server. All sync, file transfer, and presence data is sent over WebSocket connections to a server URL you configure. You can self-host the included server. File content can be end-to-end encrypted so the server cannot read it.

Optional account. GitHub OAuth login is available but not required. Without it, a local anonymous ID is generated.

License

This project is licensed under the MIT License. See LICENSE for details.

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Etherpad Lite
4 years ago by egradman
Share as Gist
4 years ago by timrogers
An Obsidian (https://obsidian.md/) plugin for sharing your notes as a GitHub gist - either privately or publicly.
QuickShare
4 years ago by Maxime Cannoodt (@mcndt)
📝 An Obsidian plugin for sharing encrypted Markdown notes on the web. Zero configuration required.
SamePage
4 years ago by SamePage
Quote Share
4 years ago by DuocNV
Generate beautifull image from Obsidian.
Html Server
3 years ago by Pr0dt0s
Obsidian plugin to serve a vault as an html site.
Syncthing Integration
3 years ago by LBF38
Obsidian plugin for Syncthing integration
Pickly PageBlend
3 years ago by Dmitrii Mitrichev
The easiest way to share your Obsidian notes
gpgCrypt
3 years ago by Tjado Mäcke
Seamlessly encrypts your notes using GPG. Supports smartcards for enhanced security! 🔒📝📎
Share Note
3 years ago by Alan Grainger
Instantly share an Obsidian note with the full theme exactly like you see in your vault. Data is shared encrypted by default, and only you and the person you send it to have the key.
screen.garden
3 years ago by screengarden, LLC
Realtime collaboration and web editing for Obsidian.
Global Markdown Encryption
3 years ago by shlemiel
a plugin for encrypting obsidian markdowns in-memory, single password based.
Peerdraft
3 years ago by Peerdraft
Collaboration for Obsidian – Sync, Share, and Edit anywhere
Strip Internal Links
3 years ago by Adi Ron
A simple Obsidian plugin to strip internal links from files
Evernote Decryptor
3 years ago by rcmdnk
Obsidian Plugin for encrypted data imported from Evernote
Simple File Push
3 years ago by Kim Hudaya
Simple file push blog plugin
Confluence Sync
3 years ago by Prateek Grover
Obsidian plugin for obsidian confluence sync
Fit
2 years ago by joshuakto
File gIT (FIT) to sync your files across mobile and desktop devices using GitHub.
Cicada Synchronizer
2 years ago by Adapole, Adapole, Mahyar Mirrashed
Crypt It
2 years ago by fyears
Obsidian plugin allowing users to right click on a file to generate an encryption version of the file using a password.
NotesOn Publish
2 years ago by Andrey Shapkin
Plugin to Obsidian.md
Stashpad Docs
2 years ago by Stashpad
The Stashpad Docs plugin for Obsidian.
Infostacker Note Publish
2 years ago by Taskscape LTD, Patryk Nowak, Kacper Pabianiak
Infostacker plugin for Obisidian
File Share
2 years ago by muckmuck
A lightweight obsidian.md plugin for sharing files between multiple vaults
Meld Encrypt
6 years ago by meld-cp
Hide secrets in your Obsidian.md vault
Netwik
5 years ago by Boris Bondarenko
OzanShare Publish
5 years ago by Ozan Tellioglu
This plugin allows you to publish your markdown notes with a single click directly from your Obsidian vault.
Quick Share Note to gist
2 years ago by Por Chainarong Tangsurakit
"Quick Share Note to gist" is an Obsidian plugin that lets you publish notes to GitHub gist and upload images to Imgur.
Cypher
2 years ago by Atharva Wankhede
Obsidian Plugin
Send Note
2 years ago by jvsteiner
Instantly share an Obsidian note text/content with other users. Data is shared encrypted by default, and only you and the person you send it to have the key.
Publish to Discourse
2 years ago by woodchen
Obsidian plugin for publishing articles to forums built with Discourse. obsidian插件, 用于把文章发布到使用discourse搭建的论坛.
WhatsApp export note
2 years ago by JoaoEmanuell
Obsidian plugin to export notes for whatsapp
Age Encrypt
2 years ago by Metin Ur
A plugin for Obsidian that provides age-based encryption for your notes.
Rsync
2 years ago by Ganapathy Raman
An Obsidian plugin to perform sync files between machines using Rsync
Sync Vault CE
a year ago by Camus Qiu
Professional cloud sync & VFS for Obsidian. Features zero-space VFS, 4K streaming, MCP AI engine, and P2P collaboration. Supports Baidu/Aliyun/Quark/WebDAV/S3.
Comments
a year ago by Jasper Surmont
Eccirian Encrypt
a year ago by Entropiex
Next-generation file encryption solution
PhraseSync
a year ago by Digvijay S. Todiwal
An Obsidian plugin that auto-suggests internal links, with dropdowns, as you type, enhancing note interconnectivity.
Cloud sync
a year ago by Bing
一款强大的 Obsidian 同步插件,支持将笔记自动同步到多种云盘服务,提供端到端加密保护,让您的笔记既安全又便捷。
Linked Note Exporter
a year ago by the-c0d3r
Obsidian plugin to export a note along with all its attachments and linked notes—cleanly, conveniently, and ready to share.
HTTP Link Maker
a year ago by Kenneth Christensen
Create HTTP links for Obsidian notes that work on all your devices
Cliplet
10 months ago by namikaze-40p
An Obsidian plugin that serves as a clipboard and snippet manager — your own, separate from the OS clipboard.
MrDoc
10 months ago by zmister
An Obsidian plugin for MrDoc that enables two-way synchronization between local Obsidian documents and MrDoc.一个 Obsidian 的 MrDoc 插件,用于 Obsidian 本地文档与 MrDoc 的双向同步
Vault Encrypt
9 months ago by Pluppen
Obsidian Plugin that encrypts/decrypts the entire vault.
Fast Note Sync
2 months ago by HaierKeys
Can be privately deployed, focusing on providing Obsidian users with a seamless, distraction-free note synchronization plugin with real-time sync across multiple platforms, supporting Mac, Windows, Android, iOS, and offering multilingual support.可私有化部署,专注为 Obsidian 用户提供无打扰、丝般顺滑、多端实时同步的多平台笔记同步插件。
PDF++ Exporter
a month ago by jldiaz
Multi Cloud Sync
a month ago by d0uub
Self-hosted LiveSync
a month ago by vrtmrz
Sync Engine
a month ago by Hēsperus
🔄 The fast and extensible synchronization engine for Obsidian.