HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
fluffypony
yojam
Swift2026–2026
fluffypony / yojam

yojam

open links on macOS in whatever browser, app, or profile you need - whatever yo jam is

4Distinct people
5Mentions
0Explicit recommenders
800GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

open links on macOS in whatever browser, app, or profile you need - whatever yo jam is

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:03:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week5 dated mentions

Observed mentions: 2026-04-19 06:22:04 UTC to 2026-09-11 21:40:50 UTC. Weeks start Monday, UTC.

0122026-04-13 00:00:00 UTC to 2026-04-20 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 commentsApr 132026-04-20 00:00:00 UTC to 2026-04-27 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments2026-04-27 00:00:00 UTC to 2026-05-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-04 00:00:00 UTC to 2026-05-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-11 00:00:00 UTC to 2026-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-18 00:00:00 UTC to 2026-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-05-25 00:00:00 UTC to 2026-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-01 00:00:00 UTC to 2026-06-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-08 00:00:00 UTC to 2026-06-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-15 00:00:00 UTC to 2026-06-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-06-22 00:00:00 UTC to 2026-06-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsJun 222026-06-29 00:00:00 UTC to 2026-07-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-06 00:00:00 UTC to 2026-07-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-13 00:00:00 UTC to 2026-07-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-20 00:00:00 UTC to 2026-07-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-07-27 00:00:00 UTC to 2026-08-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-03 00:00:00 UTC to 2026-08-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-10 00:00:00 UTC to 2026-08-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-17 00:00:00 UTC to 2026-08-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-24 00:00:00 UTC to 2026-08-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-08-31 00:00:00 UTC to 2026-09-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-09-07 00:00:00 UTC to 2026-09-14 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 commentsSep 7

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Apr 132026-04-13 00:00:00 UTC2026-04-20 00:00:00 UTC220
Apr 202026-04-20 00:00:00 UTC2026-04-27 00:00:00 UTC220
Apr 272026-04-27 00:00:00 UTC2026-05-04 00:00:00 UTC000
May 42026-05-04 00:00:00 UTC2026-05-11 00:00:00 UTC000
May 112026-05-11 00:00:00 UTC2026-05-18 00:00:00 UTC000
May 182026-05-18 00:00:00 UTC2026-05-25 00:00:00 UTC000
May 252026-05-25 00:00:00 UTC2026-06-01 00:00:00 UTC000
Jun 12026-06-01 00:00:00 UTC2026-06-08 00:00:00 UTC000
Jun 82026-06-08 00:00:00 UTC2026-06-15 00:00:00 UTC000
Jun 152026-06-15 00:00:00 UTC2026-06-22 00:00:00 UTC000
Jun 222026-06-22 00:00:00 UTC2026-06-29 00:00:00 UTC000
Jun 292026-06-29 00:00:00 UTC2026-07-06 00:00:00 UTC000
Jul 62026-07-06 00:00:00 UTC2026-07-13 00:00:00 UTC000
Jul 132026-07-13 00:00:00 UTC2026-07-20 00:00:00 UTC000
Jul 202026-07-20 00:00:00 UTC2026-07-27 00:00:00 UTC000
Jul 272026-07-27 00:00:00 UTC2026-08-03 00:00:00 UTC000
Aug 32026-08-03 00:00:00 UTC2026-08-10 00:00:00 UTC000
Aug 102026-08-10 00:00:00 UTC2026-08-17 00:00:00 UTC000
Aug 172026-08-17 00:00:00 UTC2026-08-24 00:00:00 UTC000
Aug 242026-08-24 00:00:00 UTC2026-08-31 00:00:00 UTC000
Aug 312026-08-31 00:00:00 UTC2026-09-07 00:00:00 UTC000
Sep 72026-09-07 00:00:00 UTC2026-09-14 00:00:00 UTC110

What Hacker News says

5 sources

Show HN: Yojam – Route links to the right browser/profile, strip trackers first

Author here. Yojam sits in place of your default browser on macOS and intercepts every http/https click, mailto, .webloc, Handoff page, AirDrop link, Share menu item, and yojam:// URL. They all go through the same pipeline: global URL rewrites, tracker parameter stripping, rule matching (domain / prefix / regex / source app), per-browser rewrites, then either open or show a picker at the cursor. Things I cared about that other pickers don't quite get right: - Browser profiles as first-class targets. A rule can send a URL to "Chrome, Profile 3" or "Firefox, Work container" - not just "Chrome". Seems obvious; somehow nobody else does it properly. - Source-app matching. GitHub links from Slack route differently than GitHub links from Messages. Handoff, AirDrop, Share, Services, and each browser extension get synthetic bundle IDs so rules can
Read the rest
fire on ingress path. - Tracker stripping happens before the target browser ever sees the URL, so referrer leakage through utm_* / fbclid / gclid / etc. is cut off globally rather than per-site. This is the only sane way to do it. - Custom launch arguments with a $URL placeholder, so you can point a rule at any executable, not just registered URL handlers. Useful for throwaway Chromium instances or weird CLI tools. - Menu bar only. No dock icon, no cmd-tab entry (unless the preferences window is open). Stack: Swift, AppKit, App Group container shared with a Share Extension, Safari Web Extension (WIP but should be out soon), and a native messaging host for Chromium/Firefox extensions (not live yet, just doing final spit and polish). Private windows in Safari & Orion go through AppleScript because there's no CLI flag (thanks, Apple). Everything is local - the only network traffic is optional iCloud KV sync and Sparkle update checks. macOS 14+. BSD-3. Happy to answer implementation questions, especially around default-browser registration, the LSHandlers dance, and how the native messaging manifests get installed across six Chromium variants without them stepping on each other.
4 points · Open discussion

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.