Shared Sessions for Claude Code
링크로 Claude Code 세션을 공유하면 팀원이 각자 Claude Code에서 참여해 함께 작업합니다
Chrome·Firefox·Safari 북마크를 GitHub·Dropbox·Google Drive·클라우드로 동기화
Sync your browser bookmarks across Chrome, Firefox, and Safari using GitHub, Dropbox, Google Drive, or our cloud service. Includes a free built-in ad & tracker blocker.
플러그인JavaScript · PLpgSQLGitHub @profullstack온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
MarkSyncr is a cross-browser extension that enables two-way bookmark synchronization between browsers and external storage sources (local files, GitHub repos, Dropbox).
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Cross-browser bookmark sync extension with cloud storage support.
MarkSyncr is a browser extension that enables two-way bookmark synchronization between browsers and external storage sources. Sync your bookmarks across devices using your own storage (GitHub, Dropbox, Google Drive) or our managed cloud service.
The extension ships a lightweight, uBlock-Origin-Lite-style content blocker. Blocking is done natively by the browser through Manifest V3 declarativeNetRequest static rulesets, so there is no per-request JavaScript and no broad host permissions are requested.
Toggle the whole blocker on/off, or enable/disable individual lists, from the Shield tab in the popup. State is persisted and re-applied on every browser start.
Per-site allowlist — "Disable on this site" turns blocking off for the current domain via
a higher-priority dynamic allow rule (priority 2 > the priority-1 block rules), so that one
site is exempt while everything else stays blocked. Uses the activeTab permission to read the
current domain.
Cross-device sync — when signed in, the master/list/allowlist preferences persist to the
user's cloud settings (/api/settings → user_settings.settings.adblock) and are pulled back
on other devices. Signed-out users keep everything locally.
Rulesets are generated from the vendored filter lists in apps/extension/filters/*.txt
(EasyList, EasyPrivacy) by apps/extension/scripts/build-filters.js, which converts the
network-blocking rules into apps/extension/public/rules/*.json. Only rules that map exactly
to declarativeNetRequest are kept (cosmetic/element-hiding rules are skipped), and each list is
capped at 15k rules (30k combined) to stay within the cross-browser enabled-rule limit. Because
every rule is an equal-priority block, order is irrelevant — so the converter injects a curated
set of high-value ad/tracker domains (e.g. googlesyndication, criteo, amazon-adsystem) first and
ranks whole-domain ||domain^ blocks ahead of narrow path rules, ensuring the biggest networks
are covered despite the cap.
Regenerate after updating the lists: bun run --filter @marksyncr/extension build:filters
(the full build runs it automatically). Refresh the lists with:
curl -sSL https://easylist.to/easylist/easylist.txt -o apps/extension/filters/easylist.txt
curl -sSL https://easylist.to/easylist/easyprivacy.txt -o apps/extension/filters/easyprivacy.txt
This is a monorepo managed with Bun workspaces and Turborepo:
marksyncr/
├── apps/
│ ├── web/ # Next.js web app (marksyncr.com)
│ └── extension/ # Browser extension (Chrome/Firefox)
├── packages/
│ ├── core/ # Sync engine, diff, conflict resolution
│ ├── sources/ # Storage integrations (GitHub, Dropbox, etc.)
│ └── types/ # Shared JSDoc types
├── supabase/
│ └── migrations/ # Database schema
└── plans/
└── architecture.md # System design documentation
# Clone the repository
git clone https://github.com/yourusername/marksyncr.git
cd marksyncr
# Install dependencies
bun install
# Set up git hooks (runs build and tests before each commit)
./scripts/setup-hooks.sh
# Start development
bun run dev
# Build all packages
bun run build
# Run tests
bun run test
cd apps/web && bun run dev - Runs on http://localhost:3000cd apps/extension && bun run dev - Builds to dist/ for loading in browser# Build for all browsers
cd apps/extension
bun run build
# Build for specific browser
bun run build:chrome
bun run build:firefox
Chrome:
chrome://extensions/apps/extension/dist/chromeFirefox:
about:debugging#/runtime/this-firefoxapps/extension/dist/firefox/manifest.jsonCopy .env.example to .env.local in each app directory:
apps/web/.env.local:
NEXT_PUBLIC_SUPABASE_URL=your-supabase-url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
COINPAY_API_KEY=your-coinpay-business-key
COINPAY_WEBHOOK_SECRET=your-coinpay-webhook-secret
supabase/migrations/001_initial_schema.sqlPro and Team are sold as prepaid terms (1 month or 1 year) through CoinPay hosted
checkout: the buyer pays in crypto or with PayPal. Prices live in apps/web/lib/coinpay.js.
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗