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 · 35 comments
Open

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

jeremyp3 opened this issue Feb 3, 2024 · 35 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

@debmanlinux
Copy link

Is it possible that Eion Robb could help? He seems to do a few Pidgin plugins. https://github.com/EionRobb/

@TheBense
Copy link

Is it possible that Eion Robb could help? He seems to do a few Pidgin plugins. https://github.com/EionRobb/

Who's gonna start a GoFundMe for Eion?

@MP36ctrl
Copy link

If it helps to find a solution for Miranda NG i would be willing to chip in

@swinokur
Copy link

swinokur commented Jun 4, 2024

Hey all, just thought I'd mention beeper and their "bridge" to meta as a potential solution path to some sort of implementation in Pidgin? #549 (comment)

@debmanlinux
Copy link

More info: I created a new username for Facebook, logged in & did NOT enable end to end encryption. This works OK. However on opening Chrome or Brave browsers, now getting "Disconnected. Unknown HTTP error". Then up pops a couple of notices asking me to accept certificates. As soon as they're accepted, I can connect again.
Pidgin Fault

@TheBense
Copy link

TheBense commented Jun 5, 2024

A large amount of my contacts which I've previously messaged a while ago, there's no E2E encryption until after a handful of recent messages get exchanged.

Also, I'm telling Zuck that you created an alt account😆

@tommac-git
Copy link

pls 😥

@tommac-git
Copy link

tommac-git commented Jun 13, 2024

ps. i would chip $ in for this also. Pidgin is the only way for me to feel like a young scamp on MSN still. I even hacked the app resources to bring back the sounds and icons lol
image

@DMJC
Copy link

DMJC commented Jun 13, 2024 via email

@debmanlinux
Copy link

Sometimes getting other popups
Cert verification
Cert verification1

@joonas-foo
Copy link

joonas-foo commented Jul 17, 2024

This is my repository: https://github.com/DMJC/purple-facebook it has pidgin-facebook configured to build with Meson. I would start by forking that and hacking on it. The dequis repository has an integration with Mercurial and is a pain to update/patch with new changes.

That's great to hear! Have you corrected the problem of being not able to send messages (because of end-to-end encryption)? Also, please fix the need for hex editing as described here: #311 . I also get that 'Accept certificate for graph.facebook.com' -error from time to time, maybe it could be patched by adding an auto-accept option for it if you can't think of something else?

@maraakate
Copy link

I must be honest... I love Gaim/Pidgin and have used it for literally 20 years. With AIM, ICQ and MSN being irrelevant and no longer operating the main reason for me to use it is Facebook. This worked well for a number of years until things have been changing more and more recently. As the internet turns more and more towards a focus on security older things are being locked out and delegated to the past.

I am a developer myself and I don't blame dequis or the pidgin team for the lack of progress on this. Maybe they don't have the experience or skills necessary to implement this, or maybe they do and it's too much work and they just are not interested any more. This is OK. I'm reaching a point where I think it's safe to say that Pidgin is mostly used out of nostalgia and it's not going to work on anything relevant any more on a desktop even though I'd like it to be. It made sense 20 years ago to constantly reverse engineer what AIM, ICQ and MSN were doing because a lot of people wanted to use this stuff. Now everyone has a phone or table and normal people could care less about a good desktop experience especially when Chrome rules the web and you can just get FB Messenger alerts right in the browser!

Hats off to all the developers of Gaim/Pidgin over the years. It's been a mainstay of every OS install for 20 years. I'll keep it up and running as long as I can, despite not being able to do any actual messaging on it.

@TheBense
Copy link

I must be honest... I love Gaim/Pidgin and have used it for literally 20 years. With AIM, ICQ and MSN being irrelevant and no longer operating the main reason for me to use it is Facebook. This worked well for a number of years until things have been changing more and more recently. As the internet turns more and more towards a focus on security older things are being locked out and delegated to the past.

I am a developer myself and I don't blame dequis or the pidgin team for the lack of progress on this. Maybe they don't have the experience or skills necessary to implement this, or maybe they do and it's too much work and they just are not interested any more. This is OK. I'm reaching a point where I think it's safe to say that Pidgin is mostly used out of nostalgia and it's not going to work on anything relevant any more on a desktop even though I'd like it to be. It made sense 20 years ago to constantly reverse engineer what AIM, ICQ and MSN were doing because a lot of people wanted to use this stuff. Now everyone has a phone or table and normal people could care less about a good desktop experience especially when Chrome rules the web and you can just get FB Messenger alerts right in the browser!

Hats off to all the developers of Gaim/Pidgin over the years. It's been a mainstay of every OS install for 20 years. I'll keep it up and running as long as I can, despite not being able to do any actual messaging on it.

You started using gaim / pidgin when you were between the age of 5 and 8?

@maraakate
Copy link

I must be honest... I love Gaim/Pidgin and have used it for literally 20 years. With AIM, ICQ and MSN being irrelevant and no longer operating the main reason for me to use it is Facebook. This worked well for a number of years until things have been changing more and more recently. As the internet turns more and more towards a focus on security older things are being locked out and delegated to the past.
I am a developer myself and I don't blame dequis or the pidgin team for the lack of progress on this. Maybe they don't have the experience or skills necessary to implement this, or maybe they do and it's too much work and they just are not interested any more. This is OK. I'm reaching a point where I think it's safe to say that Pidgin is mostly used out of nostalgia and it's not going to work on anything relevant any more on a desktop even though I'd like it to be. It made sense 20 years ago to constantly reverse engineer what AIM, ICQ and MSN were doing because a lot of people wanted to use this stuff. Now everyone has a phone or table and normal people could care less about a good desktop experience especially when Chrome rules the web and you can just get FB Messenger alerts right in the browser!
Hats off to all the developers of Gaim/Pidgin over the years. It's been a mainstay of every OS install for 20 years. I'll keep it up and running as long as I can, despite not being able to do any actual messaging on it.

You started using gaim / pidgin when you were between the age of 5 and 8?

What? No, I'm 36 years old so I was about 15-16 years old. Actually it was a bit earlier because I first found out about Gaim when I was trying out Mandrake and Red Hat Linux. I was about 13 then because I distinctly remember other life events at that time.

Where did you get the 5-8?

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