Safari Bookmark Sync
A smart and elegant tool to synchronize your Safari bookmarks with Google Chrome, Naver Whale, Microsoft Edge, and other Chromium-based browsers via GitHub Gist.


🚀 Features
- macOS Native App: A sleek, SwiftUI-powered desktop app to upload your Safari bookmarks to Gist with a single click.
- Multi-Browser Support: Instantly updates the ‘Bookmarks Bar’ on Chrome, Naver Whale, Microsoft Edge, Brave, and more.
- Security First: Your GitHub Personal Access Token and Gist ID are securely encrypted and stored in the macOS Keychain.
- Interactive UI: Track your sync progress with intuitive animations and real-time status messages.
🛠 Detailed Setup Guide
1. Create a GitHub Gist and Get the ID
- Visit GitHub Gist and sign in.
- Create a new Gist with the filename
chrome_bookmarks.json and some dummy content (e.g., {}).
- The unique alphanumeric string at the end of the Gist’s URL is your Gist ID.
- Example:
https://gist.github.com/username/abcdef123456... -> abcdef123456... is your ID.
2. Generate a GitHub Personal Access Token
- Go to GitHub Settings > Developer settings > Personal access tokens (classic).
- Click Generate new token (classic).
- Enter a Note (e.g.,
Safari_Bookmark_Sync).
- Under Select scopes, make sure to check the
gist box.
- Click Generate token and copy the Token string to a safe place. (It will only be shown once!)
3. Install the Browser Extension
- Open your browser and navigate to the extensions management page:
- Chrome:
chrome://extensions/
- Naver Whale:
whale://extensions/
- Microsoft Edge:
edge://extensions/
- Enable Developer mode (usually found in the top-right corner or sidebar).
- Click Load unpacked.
- Select the
chrome.extension folder from this project.
📋 How to Use
[Step 1] Sync via macOS App
- Launch the
Safari_Bookmark_Sync app.
- Grant Full Disk Access (Required):
- To read Safari bookmarks, you must grant the app permission.
- Go to System Settings > Privacy & Security > Full Disk Access.
- Click the + button, add
Safari_Bookmark_Sync, and ensure the toggle is ON.
- Click the central SYNC button in the app.
- On the first run (or if settings are incorrect), the Settings window will appear automatically. Enter your Gist ID and GitHub Token, then save.
- Click the SYNC button again to start the upload.
- Once the button changes to DONE, your Safari bookmarks are successfully uploaded to Gist.
[Step 2] Sync via Browser Extension
- Click the extension icon in your browser’s toolbar and open the Options page.
- Enter your Gist ID and save.
- Click the extension icon again to perform the sync.
- Your browser’s ‘Bookmarks Bar’ will now be updated with your Safari bookmarks.
⚠️ Important Notes
- This tool overwrites the contents of the ‘Bookmarks Bar’ folder in your browser. Please back up any existing bookmarks in that folder before proceeding.
🛠 Troubleshooting: “App is damaged” Error
If you see a message saying “Safari Bookmark Sync is damaged and can’t be opened” on macOS, it is because the app is unsigned. You can easily fix this by following these steps:
- Open Terminal.
- Type the following command (make sure to include a space at the end):
xattr -d com.apple.quarantine
- Drag and drop the
Safari_Bookmark_Sync.app file from your Finder directly into the Terminal window. This will automatically paste the correct file path.
- Press Enter.
- Now you can open the app normally!
💡 Note on the command:
- What it does: This command removes the “quarantine” flag that macOS automatically attaches to files downloaded from the internet for security reasons.
- Moving the app: Once you’ve run this command, you can move the app to any folder (like the
/Applications folder) without having to run it again. The fix is permanent for that specific file.
Created by dubo.
评论