Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

End-to-End Encryption and purple-facebook #547

Open
jeremyp3 opened this issue Feb 3, 2024 · 21 comments
Open

End-to-End Encryption and purple-facebook #547

jeremyp3 opened this issue Feb 3, 2024 · 21 comments

Comments

@jeremyp3
Copy link

jeremyp3 commented Feb 3, 2024

for several weeks now, facebook has been rolling out end-to-end encryption on messenger for all conversations.

when this end-to-end encryption is activated on a conversation, you can no longer interact with it from your pidgin. you no longer receive messages concerning it, and when you try to send a message, you receive an error from facebook: "Failed to send message".

when using the messenger application, there doesn't seem to be a way to disable this end-to-end encryption, or else I haven't found it...

in any case, I'm noting it here, because in my opinion, this will make the plugin obsolete if end-to-end encryption becomes even more widespread...

@Metalhead33
Copy link

Metalhead33 commented Feb 5, 2024

We need some kind of fix. I wonder if there is a Facebook API for this.

@swinokur
Copy link

swinokur commented Feb 5, 2024

I've been having issues connecting to FB via both Pidgin and Miranda-NG for several days. I'm wondering if it has something to do with end to end encryption (or if it is perhaps just FB deciding to be weird for my account). I certainly didn't go and turn e2e on myself!

@swinokur
Copy link

swinokur commented Feb 5, 2024

(there's also an issue for e2e open at Miranda: miranda-ng/miranda-ng#4169)

@gergof
Copy link

gergof commented Feb 20, 2024

Here's a whitepaper describing how E2E encryption works in Messenger: https://engineering.fb.com/wp-content/uploads/2023/12/MessengerEnd-to-EndEncryptionOverview_12-6-2023.pdf

It might be a good starting point for implementing this.

@Metalhead33
Copy link

So, no solution so far, eh?

@advcomp2019
Copy link

Just yesterday, Facebook wanted to me to enable E2E encryption, and now I kept on getting "Failed to send message" from Pidgin.

Beyond that, it seems to get the friends list tho.

@advcomp2019
Copy link

I just found out something by accident. Someone that does not have E2E encryption enable, it will still work just fine. While someone with E2E encryption enabled, this is just useless.

@jeremyp3
Copy link
Author

Yes, I can confirm this. Conversations that don't have E2E activated work perfectly normally.

that's the problem :)

@TheBense
Copy link

subscribing

@Metalhead33
Copy link

This plugin has no maintainer though. And there are no forks under active development.

@DMJC
Copy link

DMJC commented Apr 2, 2024

I'm actively developing a fork now. I have the code building in Meson and am trying to figure out how to integrate the token scripts. Anyone who can explain the field names and data structures would be greatly appreciated.

@DMJC
Copy link

DMJC commented Apr 2, 2024

ok, the e2e is using signal and there is a working signal plugin for libpurple...

@usvi
Copy link
Collaborator

usvi commented Apr 2, 2024

I'm actively developing a fork now. I have the code building in Meson and am trying to figure out how to integrate the token scripts. Anyone who can explain the field names and data structures would be greatly appreciated.

I got the token stuff automated in bitlbee-facebook. Food for thought: bitlbee/bitlbee-facebook#220

If you want to ask questions on IRC, I'm on Libera as usvi
Update: I saw your message, unfortunately I am travelling and was unable to reply. Normally will check IRC quite often during the business hours of Finland timezone.

@Malvineous
Copy link

there is a working signal plugin for libpurple...

If you mean hoehermann/purple-signald then it's just an interface to a locally running signald instance, it doesn't seem to handle the protocol itself at all.

@DMJC
Copy link

DMJC commented Apr 6, 2024

I've been trying to get the Bitlbee code integrated into the plugin, I need some assistance with the structures in libpurple purpleconnection in particular. My git repo hasn't got the integrations committed, my local copy compiles but won't link atm due to some broken functions. I'm not sure if I should start again with guidance, or just clean up what I've done so far. I might commit my current changes to their own branch if someone is interested in looking at it.

@DMJC
Copy link

DMJC commented Apr 21, 2024

My repository can't login with 2FA, I hit the limits of my programming ability. I did modernise the repo and get it building with Meson. I also scrapped the patch files/mercurial repository and merged in most of the bitlbee code. If someone would like to fork and work on it I'd support those efforts. I've also got yaml automation setup so my repo can generate CI Builds. The repo is here: https://github.com/DMJC/purple-facebook

@Metalhead33
Copy link

My repository can't login with 2FA, I hit the limits of my programming ability. I did modernise the repo and get it building with Meson. I also scrapped the patch files/mercurial repository and merged in most of the bitlbee code. If someone would like to fork and work on it I'd support those efforts. I've also got yaml automation setup so my repo can generate CI Builds. The repo is here: https://github.com/DMJC/purple-facebook

@DMJC Afaik 2FA was never properly implemented: we always had to use workarounds, such as the one shown in #445

At least, that's what I have always done.

@debmanlinux
Copy link

As of May 5th, I am having exactly the same problem. Pidgin starts & shows Facebook Friends. However when I try to send a message I get "Disconnected, failed to send message". After a short time, it reconnects, but the same thing happens when I try to send again. Even when end-to-end encryption was not enabled, I had the problem that Pidgin would not send.

@DMJC
Copy link

DMJC commented May 5, 2024 via email

@TheBense
Copy link

If I contribute some cash will it grease the wheels on development?

@DMJC
Copy link

DMJC commented May 20, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants