vaalrl43 downloadsInstantly share your notes via a secure, temporary, local wormhole. No cloud upload.
Instantly share your notes via a secure, temporary, local wormhole. No cloud upload.
🌐 Project page / 介紹頁面: https://vaalrl.github.io/obsidian-note-wormhole/ (English · 繁體中文)
📥 Install from Obsidian Community Plugins / 從 Obsidian 社群外掛安裝: https://community.obsidian.md/plugins/note-wormhole
Note Wormhole turns your machine into a temporary web server for a single note, and exposes it through a Cloudflare quick tunnel. Close the tab, disable the plugin, or quit the app, and the link is dead.

https://<random>.trycloudflare.com URL tunnels straight to your computer.cloudflared installed.Both commands are in the command palette:

The ribbon icon opens a picker, so you can share any open tab rather than just the active one. Tabs that are already live are flagged:

The viewer count is live — it goes up as readers open the page, and the session ends the moment you stop it:

The note is re-rendered into a standalone page. The Theme mode setting decides whether visitors get light, dark, or whatever their own system prefers — and with Prevent text selection on, dragging across the page selects nothing:

Note Wormhole opens its tunnel by running Cloudflare's cloudflared.
You install it; the plugin never downloads or installs it for you. Without it, sharing does
not work — the same arrangement as Obsidian plugins that drive pandoc, ffmpeg or git.
| Platform | Install with |
|---|---|
| Windows | winget install Cloudflare.cloudflared, or the .exe/.msi from releases |
| macOS | brew install cloudflared |
| Linux | Cloudflare's package repository, or the .deb/.rpm from releases |
Cloudflare's own installation guide covers every platform.
The plugin's settings tab tells you whether it was found, shows which copy will be run, and
gives the install command for your platform when there is none. Detection runs again on every
share, so no restart is needed after installing — and on Windows it also checks winget's install
location directly, because a running Obsidian keeps the PATH it started with.
To find cloudflared, the plugin looks on your PATH and in the standard install locations for
your platform — /opt/homebrew/bin, /usr/local/bin, /usr/bin, /snap/bin, ~/.cloudflared
and ~/.local/bin on macOS and Linux, and the cloudflared folder under Program Files on
Windows. It runs cloudflared --version on a candidate to confirm it really is cloudflared
before spawning it. That is the only thing Note Wormhole reads from outside the vault, and it
writes nothing outside the vault at all.
Before installing, understand what this plugin does on the network:
| What | Where to | When |
|---|---|---|
Runs your cloudflared as a child process |
— | While a wormhole is open |
| Relays note content through a Cloudflare quick tunnel | Cloudflare's edge network | While a wormhole is open |
| Serves the note over HTTP | 127.0.0.1 only, on an OS-assigned port |
While a wormhole is open |
The plugin makes no other network requests. There is no telemetry, no account, and no server of ours anywhere in the path.
The tunnel is a Cloudflare quick tunnel: no Cloudflare account or token is required, the URL is randomly assigned, and the service is subject to Cloudflare's terms.
Before the first share, the plugin spells out what that exposes and asks you to confirm:

127.0.0.1 on an OS-assigned port; it is only reachable through the tunnel./ (the note) and /_heartbeat (viewer counting). Everything else returns 404.no-store, a restrictive Content-Security-Policy, X-Robots-Tag: noindex, and Referrer-Policy: no-referrer.Side by side, the same drag across the same paragraph, with anti-copy off and on:
| Selection allowed | Anti-copy mode |
|---|---|
![]() |
![]() |
Anti-copy mode is a deterrent, not protection. It disables selection, the context menu, and the copy/print shortcuts, but anyone who wants the text can still read the page source. Do not treat it as a security control.
Anyone with the URL can read the note while the session is open. There is no password or access list.
cloudflared installed on your machine. The plugin does not install it.On first run you get a short introduction, once:

main.js, manifest.json, and styles.css from the latest release.<your vault>/.obsidian/plugins/note-wormhole/.npm install
npm run dev # watch build
npm run build # typecheck + production bundle
npm test # install guidance, path control, tunnel URL parsing
npm run lint
The plugin has no runtime dependencies, and ships no binaries. It runs whatever cloudflared
it finds on the machine; see src/services/CloudflaredBinaryService.ts
for the detection, and src/services/cloudflaredInstall.ts
for the guidance shown when there is none.
MIT. See LICENSE.