Skip to content

bartekprzegosc/apple-notes-clipper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apple Notes Clipper

A Chrome extension that clips web articles directly to Apple Notes via a local bridge server.

How It Works

  1. A lightweight Node.js server runs locally on your Mac
  2. The Chrome extension extracts article content using Mozilla Readability
  3. Click the extension button → article is saved to Apple Notes via AppleScript

Requirements

  • macOS (Apple Notes + AppleScript required)
  • Any Chromium-based browser (Chrome, Arc, Brave, Edge)
  • Node.js (v16+)

Installation

1. Clone and run setup

git clone https://github.com/bartekprzegosc/apple-notes-clipper.git
cd apple-notes-clipper
chmod +x install.sh
./install.sh

This will:

  • Install Node.js dependencies
  • Generate a secret auth token
  • Start the local server as a Launch Agent (auto-starts on login)

2. Load the extension

  1. Open your browser → chrome://extensions (or arc://extensions in Arc)
  2. Enable Developer Mode (top right toggle)
  3. Click Load unpacked
  4. Select the chrome-extension/ folder

3. Configure the extension

  1. Click the extension icon → ⚙️ Settings
  2. Paste the token printed during setup
  3. Click Test Connection to verify
  4. Click Save

Usage

  1. Navigate to any web page
  2. Click the Apple Notes Clipper extension icon
  3. Click 📋 Clip this page
  4. The article is saved to your Apple Notes folder

Configuration

The local server config is stored in local-server/config.json:

  • token — Secret auth token (generated by setup)
  • port — Server port (default: 3333)
  • notesFolder — Apple Notes folder name (default: "Media Vault")

Troubleshooting

Server offline (red dot in popup)

Check if the server is running:

curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:3333/ping

Restart the server:

launchctl unload ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist
launchctl load ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist

Or run manually for debugging:

cd local-server && node server.js

Auth failed (most common issue)

The extension stores the token in browser local storage. This gets wiped when you:

  • Reload the extension in chrome://extensions
  • Remove and re-add the extension
  • The browser clears extension storage

Step 1 — find your token. The server reads its token from config.json at startup. Find it:

cat ~/apple-notes-clipper/local-server/config.json

You'll see something like:

{
  "token": "19643baf2bb215bf2c243e4d0eb49f2a78d870f64b60579f26cbc7e669af9dbb",
  "port": 3333,
  "notesFolder": "Media Vault"
}

Step 2 — open Settings. Click the extension icon and click ⚙️ Settings. If the Settings button doesn't respond (common in Arc), navigate directly to the options page in the address bar:

chrome-extension://YOUR_EXTENSION_ID/options.html

To find your extension ID: open chrome://extensions (or arc://extensions), enable Developer Mode, and look for Apple Notes Clipper — the ID is shown below the name.

Step 3 — paste the token into the Token field, click Save, then Test Connection.

Settings button doesn't open (Arc browser)

Arc sometimes ignores chrome.runtime.openOptionsPage(). Navigate to the options page directly:

  1. Open arc://extensions
  2. Find Apple Notes Clipper, copy the extension ID
  3. Navigate to: chrome-extension://EXTENSION_ID/options.html

Notes not appearing

  • Open Apple Notes and check the iCloud account is active
  • Verify the folder name matches in both the extension settings and config.json
  • Check server logs: tail -f ~/Library/Logs/notesclipper.log

Reinstall from scratch

launchctl unload ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist
rm ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist
rm local-server/config.json
./install.sh

Then re-enter the new token in the extension Settings.

Uninstall

launchctl unload ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist
rm ~/Library/LaunchAgents/com.bartekprzegosc.notesclipper.plist

Then remove the extension from chrome://extensions.

About

Chrome Web Clipper that saves articles to Apple Notes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors