Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Stopped working for firefox #7

Open
tashtash69 opened this issue May 25, 2023 · 11 comments
Open

Stopped working for firefox #7

tashtash69 opened this issue May 25, 2023 · 11 comments

Comments

@tashtash69
Copy link

Stories are now showing as viewed. Please update the extension.

@dwiyatci
Copy link

Seems like they start using /api/graphql endpoint. In this case, checking only the URL won't be enough. 🤷🏻‍♂️ We have to cancel the request whose fb_api_req_friendly_name=PolarisAPIReelSeenMutation in the formData of the requestBody, i.e. if requestBody.formData.fb_api_req_friendly_name === 'PolarisAPIReelSeenMutation' -> cancel.

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest#details_2

cc: @diessica

@kenarsene
Copy link

any updates on this?

@dwiyatci
Copy link

@nhymxu Great stuff, Dung! 🤩 And thanks a lot for your work and being so handy at this.

A couple of remarks (as of today):

  • While it's still working for IG/FB Stories, it doesn't work anymore for both IG Messages and FB Messenger. I haven't really looked into it myself how the read/seen receipt works there, but yeah – do you have any leads?
  • Do you think it's a good idea to also create a fork of this repo and raise a PR to contribute here, to honour the original author (@diessica )? :)

@nhymxu
Copy link

nhymxu commented Jun 29, 2023

Because I'm just using stories, so my extension only focus to this

Create PR to this repo is okay for me, not too hard.

I create new one because look like @diessica not active maintain this repo 🤣

@dwiyatci
Copy link

dwiyatci commented Jul 3, 2023

so my extension only focus to this

I'd like to create a PR to your repo to support "no-seen" for Messenger and IGD (Instagram Direct) Web as well, but I failed to figure out how the read-receipt works on both over the weekend. I believe they both pretty much have the same new mechanics; it might go along the /ajax/navigation/ request lines, but yeah. Do you have any idea? This guy @ChangJoo-Park seems to have cracked it tho 🍘 😃
https://chrome.google.com/webstore/detail/unseen-for-facebook/fgmiepijfchkhchobiopcemoajoedkkm

@flame-0
Copy link

flame-0 commented Mar 25, 2024

so my extension only focus to this

I'd like to create a PR to your repo to support "no-seen" for Messenger and IGD (Instagram Direct) Web as well, but I failed to figure out how the read-receipt works on both over the weekend. I believe they both pretty much have the same new mechanics; it might go along the /ajax/navigation/ request lines, but yeah. Do you have any idea? This guy @ChangJoo-Park seems to have cracked it tho 🍘 😃 chrome.google.com/webstore/detail/unseen-for-facebook/fgmiepijfchkhchobiopcemoajoedkkm

Just wondering if you guys have updates on this? I tried to extract it, but the functions are obfuscated.

Edit 1: This extension works for blocking seen and typing. https://github.com/Sherly1001/tame
Edit 2: With the new update from Meta, blocking seen and typing features are not working in end-to-end chats, except it's a group chat.

@dwiyatci
Copy link

Just wondering if you guys have updates on this? I tried to extract it, but the functions is obfuscated.

Nope. 🙁 Unfortunately guy who creates that "ESUIT | Un Seen for Facebook™" Chrome extension plans to monetize his extension all along, and therefore he doesn't open-source it. 🫤 What did you try to extract? The extension build code?

Also, from the extension page:

this extension is not officially developed by Facebook™, The author is @William Chen

Not sure who he is 🤷🏻‍♂️, and seems like I tagged the wrong guy before hahah. I guess the only way to contact him is via https://www.facebook.com/esuitdev or [email protected]. Perhaps you can contact him to disclose "the trick" for this particular feature only... :D (actually, I need not to be seen more for Instagram DM tho)

@flame-0
Copy link

flame-0 commented Mar 25, 2024

Nope. 🙁 Unfortunately guy who creates that "ESUIT | Un Seen for Facebook™" Chrome extension plans to monetize his extension all along, and therefore he doesn't open-source it. 🫤 What did you try to extract? The extension build code?

I extracted the build code, .crx. While extracting various addons and extensions some time ago, I noticed his code differs; I couldn't read it properly.

@flame-0
Copy link

flame-0 commented Jul 31, 2024

Tame got updated to support E2EE chats. Check it out! https://github.com/Sherly1001/tame/releases/tag/v0.3.4

cc: @Sherly1001

@dwiyatci
Copy link

dwiyatci commented Jul 31, 2024

Thanks for the pointer, @flame-0! :D Actually, some 2-3 weeks ago I also tried to "decompile" that Chrome extension and fed it to the AI in order to help me understand the mechanics. I believe it all boils down to overriding the occurrences of markThreadAsRead function in the script(s) contents.

str = str.replace(
    /markThreadAsRead:function.*?{/,
    'markThreadAsRead:function(){return;'
)

I found similar thing in Sherly's commit. But then, we'd need another special trick to be able to execute the overridden scripts that have been loaded to get around the Content Security Policy (CSP) that protects the browser from running a forged script (I guess Sher also managed to figure it out somehow 😆).

All in all, unfortunately life gets in my way to put all these things together properly (classic excuse 🙄😅), but still would love to see it happen for social-ghost-ext (for Instagram bit) - I'm just gonna mention nhymxu/social-ghost-ext#4 and nhymxu/social-ghost-ext#5 here so that this info is linked there :) cc: @nhymxu

Repository owner deleted a comment from nhymxu Oct 2, 2024
Repository owner deleted a comment from nhymxu Oct 2, 2024
@diessica
Copy link
Owner

diessica commented Oct 2, 2024

It's so cool to see your contributions coming together to address the problem. Unfortunately I didn't have issues notifications enabled and missed all of this. I am really sorry. If that's not too late, here's a transparent update:

I'm likely archiving this repository

I don't think this is a good solution anymore. Packaging Instagram/Facebook request blockers as an extension is VERY user-friendly, but not ideal to maintain and release fast enough across extension stores. A minor API change, and it breaks. For that, an advanced but generic request blocker (e.g. Ublock Origin, or DevTools > Network > Block URL if simple) would work best, and we could share the snippet for that instead (similarly to how people share URLs blocklists e.g. https://github.com/laylavish/uBlockOrigin-HUGE-AI-Blocklist) so users can instantly deploy it. I recognise that more code is needed to block requests these days (beyond plain URLs), but it's all about cracking the request pattern and intercepting it. Happy to hear your thoughts on that.

By the end of this week, I will update this repo, and will share a blog post developing on my ideas above, perhaps with some how-tos.

Alternatives

  • For Facebook support, https://github.com/Sherly1001/tame/ recommended above solves it well.
  • No Instagram alternative currently, happy to get forks! I deleted @nhymxu's comment promoting their repository as I'm incompatible with such open source ethic of zero-attribution. I would not have minded an encouraging PR first, or even a fork.

Thanks again for the discussion and understanding!

This was referenced Oct 2, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants