this post was submitted on 18 Aug 2025
351 points (96.8% liked)

Fediverse

36220 readers
523 users here now

A community to talk about the Fediverse and all it's related services using ActivityPub (Mastodon, Lemmy, KBin, etc).

If you wanted to get help with moderating your own community then head over to !moderators@lemmy.world!

Rules

Learn more at these websites: Join The Fediverse Wiki, Fediverse.info, Wikipedia Page, The Federation Info (Stats), FediDB (Stats), Sub Rehab (Reddit Migration)

founded 2 years ago
MODERATORS
 

Not sure if this the appropriate place for it but the FOSS communities seemed dead.

This is Bridge - a privacy focused, Firefox AI disabled, Fediverse integrated browser. It has vim navigation via Tridactyl, Bitwarden integration, as well as Ublock integration.

It has an old Firefox RSS feature where you can scan a site for RSS feeds and it will add them to the RSS feed reader.

But the highlight of this is the Mastodon and Lemmy integration. you can have your Mastodon feed displayed in the sidebar on the browser which will give you access to your home, local, and fediverse feeds. you can post, reply, boost, and favourite posts.

The Lemmy extension allows you to see and link directly to lemmy discussions on whatever instance you like (multiple even) if you're on a site/news article/blog post/whatever. If the extension sees that this has been posted on Lemmy, it will provide you with a direct link to whatever discussions it finds based on the current URL you're on.

This has been a hobby project of mine for a bit now, It's very slow development as I have a job and can't dedicate all the time in the world to this. I wanted to originally build a browser from scratch but realized that would probably take me years so I settled with a fork of firefox.

Currently I believe it only works on Linux and is in a very early alpha. It hasn't crashed on me yet but visually is a bit rough around the edges.

I just wanted to share this little hobby project I've been working on. Thanks!

https://codeberg.org/rozodru/Bridge

UPDATE Since I already got a lot of feedback and more people than anything else wanted the Lemmy Extension as a stand alone extension...I delivered.

You were all correct, the Lemmy Add-on is a bigger deal than the browser. Again this was just a hobby project of mine as I've never played around with firefox forks before or extensions/addons for that matter so this is my first time.

Regardless, here it is: https://codeberg.org/rozodru/LemmyBridge

NOTE: I have submitted it to Mozilla so it is NOT VERIFIED as of right now, if you want to use it, use it at your own discretion. If it breaks something in whatever fork of firefox you're using then I take no responsibility.

Again thanks for all the support, appreciate it.

top 50 comments
sorted by: hot top controversial new old
[–] lambalicious@lemmy.sdf.org 0 points 4 hours ago (1 children)

The Lemmy extension allows you to see and link directly to lemmy discussions on whatever instance you like (multiple even) if you’re on a site/news article/blog post/whatever. If the extension sees that this has been posted on Lemmy, it will provide you with a direct link to whatever discussions it finds based on the current URL you’re on.

So wait, it reports all browsing activity you do to third parties to search for matching Lemmy posts?

Bad, bad, system.

You've completely lost the point of why we're here in Lemmy in the first place. Restrain or remove this feature ASAP.

[–] rozodru@lemmy.world 4 points 3 hours ago* (last edited 2 hours ago) (1 children)

No automatic browsing activity reporting - The extension only searches for Lemmy discussions when:

  1. A page finishes loading (background.js:119-128)
  2. URL changes are detected (content.js:37-54)

What data is sent:

  • Only the current page URL and its variations (content.js:73-80)
  • URL variations include cleaned URLs (no tracking params), with/without www, http/https variants (content.js:109-168)

Where data is sent:

  • Only to Lemmy instances you've configured (background.js:149-152)
  • No third-party analytics or tracking services
  • All requests go directly to Lemmy APIs for post searches

Privacy protections:

  • Results are cached locally for 30 minutes (background.js:141-143)
  • No persistent logging of browsing history
  • You can disable the notification indicator (content.js:172-184)
  • Only sends URL when you actually visit a page, not preemptively

User control:

  • You choose which Lemmy instances to search
  • You can remove instances at any time
  • The extension only activates on http/https URLs

Answer: No - The extension does not report all browsing activity to third parties. It only queries your configured Lemmy instances with the current page URL to find relevant discussions, and only when you actually visit a page.

Regardless after some discussion last night I've added a consent notification when the extension is installed, it can now also be enabled/disabled via the sidebar so now people know exactly how the extension is being used: https://codeberg.org/rozodru/LemmyBridge/commit/2e735b56f273d44bae9df638b01985519debcfd1

[–] lambalicious@lemmy.sdf.org 0 points 1 hour ago (1 children)

Sending the current URL and directly from your own IP too is quite the privacy hurdle already. I've already posted on what kind of things could be done to improve this, but first, a notice.

Your README says in the Privacy section:

Does not track your browsing

On the current implementation, this should be changed to:

Enables unverified third parties to track your browsing data

As that honesty is quite important.

As for measures that could be taken to improve on this issue, I have three suggestions (I might Issue Tracker them to the codeberg later, if I can find my credentials XD)

  • Set up a uBO-stye control pane that allows to set this on or off per-domain or per-site. Bonus points if it allows for per-site specific on which lemmy instances to use the same way as uBO's "3p" Custom Rules does. This already prevents a number of undesirable use cases, such as automatically sending LAN / non-DNS names to third parties when they can't really be searched for anyways.
  • Anonimyzing assist: Allow for sending only the global context of the visited site (eg.: only the domain) instead of the full URL.
  • Anonimyzing assist: Allow to cache requests to send them later / send them in batches, to avoid clock-based / timezone-based tracking attacks.
  • Anonimyzing assist: Allow for the browser-specific request being sent through a proxy or relay, so that IP origin information is not leaked. (I think this only really makes sense for users not logged-in?)
[–] rozodru@lemmy.world 1 points 30 minutes ago

Thanks, when I have the time I'll look into implementing this.

[–] Staden_@pawb.social 75 points 23 hours ago (2 children)

Would it be difficult to convert into a extension for other firefox-based browsers? I love the idea of seeing lemmy discussions about the page I'm in directly on the page, but I don't really wanna switch my web browser again.

[–] rozodru@lemmy.world 48 points 22 hours ago (1 children)

Eventually yes, I will be turning it into a standalone extension.

[–] Staden_@pawb.social 20 points 21 hours ago (1 children)
[–] rozodru@lemmy.world 18 points 19 hours ago (1 children)
[–] Staden_@pawb.social 14 points 19 hours ago (1 children)

Wha?! I wasn't expecting such a quick update :0

[–] rozodru@lemmy.world 17 points 19 hours ago (1 children)

It was easy to pull out of the browser as a standalone because really that's all it was, just an extension that was baked into the browser. and since a lot of people requested it I just decided to do it.

[–] tigerjerusalem@lemmy.world 31 points 23 hours ago (3 children)

I second this, I rely too much on Firefox and its sync features to give up just yet.

load more comments (3 replies)
[–] rimu@piefed.social 12 points 18 hours ago (1 children)

This is going to absolutely hammer the search API endpoint. Every single time you visit any web page there will be around 5 different requests to lemmy-instance/api/v3/search (see generateUrlVariations()) and running a search is pretty heavy on the server.

I just read the code, didn't actually install the extension, so I could be wrong but at first glance this looks like it would cause real problems if a significant number of people started using it.

[–] rozodru@lemmy.world 13 points 18 hours ago (1 children)

Totally understandable. I added in some rate limits, search result caching, timeout handling and error handling (to prevent retry storms), there's also a max result limit per instance. If this WERE to take off with like 1000+ users I'd have to adjust it further. But right now as it stands the impact should be negligible.

[–] rimu@piefed.social 5 points 18 hours ago (1 children)

All it would need is about 10 simultaneous users and the load on the server would be unacceptable to me, as an instance admin. I only run PieFed instances so this isn't going to impact me unless you add PieFed support (please don't).

[–] rozodru@lemmy.world 5 points 18 hours ago* (last edited 18 hours ago) (1 children)

Fair enough. also to your earlier point it's only 1 request per instance. the reason you might be seeing 5 is because 5 instances are the default.

Worst-Case Scenario (10 Heavy Users)

  • 10 users × 60 page visits/hour = 600 searches/hour
  • With 30-minute caching, actual API calls = ~300/hour
  • Distributed across 5 default instances = 60 requests/hour per instance
  • That's 1 request per minute per instance

Lemmy Server Context:

  • Normal web traffic: Thousands of requests per hour
  • Single user browsing: 10-50 requests/hour easily
  • RSS bot: Often 100+ requests/hour
  • This extension: 1 request/minute = trivial load

A single person browsing Lemmy normally generates more API traffic than 10 extension users combined. The /api/v3/search endpoint is also one of the lightest operations, it doesn't involve complex database queries like fetching full comment threads.

[–] rimu@piefed.social 9 points 18 hours ago (1 children)

I guess if the logic for finding the posts was done on the server then you would only need one API call - the extension would just send through whatever url it had. That would be more efficient.

If this gets popular I'd be open to adding a dedicated API endpoint for this to PieFed.

Kind of a privacy nightmare though, aye. Sending your whole browser history to a third party... But that's a whole different issue.

[–] rozodru@lemmy.world 1 points 18 hours ago (1 children)

...it doesn't view the browser history at all.?

[–] rimu@piefed.social 15 points 18 hours ago* (last edited 18 hours ago) (1 children)

It doesn't access old browser history but from the moment it is installed onwards it sends every url you visit to 7 instances, to do a search. Any one of those instances could save those urls and over time build up a profile on someone.

[–] thenexusofprivacy@lemmy.blahaj.zone 1 points 11 hours ago (1 children)

Yeah. Interesting to think if there are ways to get around that problem. Still, very interesting work @rozodru@lemmy.world, and great idea splitting it out into an extension!

[–] lambalicious@lemmy.sdf.org 1 points 1 hour ago

Yeah. Interesting to think if there are ways to get around that problem.

At a first flance, perhaps a uBlockOrigin-style control pane with per-domain toggle, so that for example you can send the info only when browsing a specific domain (let's say, a news site; that'd be interesting to find discussion in Lemmy of). This would also prevent the issue of sending URLs that are not internet-wide (eg.: are on a localnet resolver, or an intranet).

As well as the abiity with an option send the request through a relay or proxy, to remove IP origin information that can be used to build the profile.

[–] SpookyBogMonster@lemmy.ml 3 points 15 hours ago

I'm most stoked about RSS integration. I miss Firefox's old RSS features

[–] kroko@piefed.world 15 points 21 hours ago

very cool!
Please announce on the Fediverse when you release the standalone extension

[–] jaredwhite@piefed.social 29 points 23 hours ago

Very cool idea! Just starred on Codeberg.

[–] vhstape@lemmy.sdf.org 11 points 20 hours ago (1 children)

Do you plan to offer a browser extension for those who would enjoy the Fediverse integration but don’t want to run a custom fork?

[–] Auntievenim@lemmy.world 22 points 23 hours ago

This actually sounds really cool, the idea of having a sidebar pull up posts of the article your reading is like sci-fi movie magic stuff

[–] alsaaas@lemmy.dbzer0.com 11 points 21 hours ago

You can get more than half of the stuff you mentioned by using LibreWolf. Cool idea tho with the integration, would be nice as an extension

[–] Pika@sh.itjust.works 6 points 20 hours ago* (last edited 20 hours ago) (1 children)

Honestly, this is a really innovative project. I wish it came in an extension because I feel that is likely your biggest bottleneck for getting people to try it. I don't think many are going to build a browser from source & then port all their stuff over strictly for the integration. Plus it looks like a primary advertisement for it is that integration, but it also disables a lot of the QoL features that FF has that some don't have any problem with. Like the fact that Sync is removed as a whole is a major dealbreaker for me, as I do like the feature and I am not concerned about the privacy aspects of having it on.

If an extension version ever releases for the lemmy integration though, I would for sure be looking at that!

[–] rozodru@lemmy.world 8 points 19 hours ago (1 children)
[–] Pika@sh.itjust.works 2 points 15 hours ago* (last edited 15 hours ago)

Woah, you separated it already? that's insane. Defo checking it out! Cheers!

[–] gholk@taiwan.wtf 1 points 14 hours ago

@bovine3dom This firefox fork integrated #Tridactyl FYI

[–] pelespirit@sh.itjust.works 10 points 23 hours ago

The RSS alone is awesome. Thank you.

[–] TachyonTele@piefed.social 7 points 22 hours ago

If the extension sees that this has been posted on Lemmy, it will provide you with a direct link to whatever discussions it finds

This is effing cool

[–] TachyonTele@piefed.social 5 points 22 hours ago (1 children)

I'm on android firefox. How the heck do i download this. Codeberg is just as confusing as github to people like me that don't use it.

I want to try this.

[–] IllNess@infosec.pub 7 points 22 hours ago (1 children)

Always look in the README.md file first for instructions for downloading and installing.

Prerequisites

Bridge requires a full Firefox build environment:

  • Linux: GCC/Clang 13+, Python 3.8+, Node.js 16+, Rust 1.70+
  • Windows: Visual Studio 2022, Python 3.8+, Node.js 16+, Rust 1.70+
  • macOS: Xcode 14+, Python 3.8+, Node.js 16+, Rust 1.70+

So there is no Android version.

If you do want to install for one of OSes mentioned, the next section gives instructions on how to build by source. This means you have to follow in instructions. This might mean it is too technical for users not used to CLI (command line interface).

[–] TachyonTele@piefed.social 3 points 22 hours ago

Thank you for the explanation and details. I appreciate it.

[–] moseschrute@lemmy.world 1 points 18 hours ago (1 children)

I don’t use Firefox or Linux, but you had me at Vim

[–] 4am@lemmy.zip 3 points 18 hours ago (1 children)
[–] moseschrute@lemmy.world 1 points 17 hours ago* (last edited 17 hours ago)

Lol. Idk I like my iPhone. Absolutely not the labor practices of Apple, I’ve thought about a fairphone. But Apple is privacy focused enough, and I love their design language, both hardware and software. I love Linux, but mostly for SSH not my laptop.

Firefox is fine, but as a professional frontend developer, I need to test things on a Chromium based browser. I prefer the ethics and privacy of Mozilla, but Chrome is technically a great browser imo.

But vim, omg. I don’t think there’s a more beautifully designed piece of software. I want to reach wizard level. I want to navigate text like it’s magic with perfect fluidity. Vim is perfect.

I wonder if anyone else on Lemmy is like me lol.

[–] FarraigePlaisteach@lemmy.world 3 points 22 hours ago

I actually support telemetry for Mozilla, especially the way they've implemented it. But the other features look great and I don't want anything to do with GitHub projects. Starred on Codeberg!

load more comments
view more: next ›