Skip to content

Decouple AIM Accounts from api.screenname.aol.com #20

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

Open
stephenchaffins opened this issue Mar 1, 2021 · 39 comments
Open

Decouple AIM Accounts from api.screenname.aol.com #20

stephenchaffins opened this issue Mar 1, 2021 · 39 comments
Milestone

Comments

@stephenchaffins
Copy link

With advent of AIM Phoenix we are in dire need of a feasible MacOS client that can connect to the OSCAR nodes that AIM Phoenix devs have recreated.

At this time, if you go into Adium's accounts, add an AIM account and use the iWarg server as the login server, it still tries to authenticate through the old AOL api.screenname.aol.com.

I've looked through the code, but I'm afraid I do not have the near the experience for making such a modification. In this case, I wanted to make a feature request for this to be decoupled, so the login server handles the auth and everything.

@RobFog
Copy link
Contributor

RobFog commented Mar 1, 2021

Are there good reasons to use AIM Phoenix over modern protocols such XMPP, Signal, or Telegram?

@stephenchaffins
Copy link
Author

To use it over modern protocols, no, I dont think so. Its just a matter of preference most likely. With that said, adium has never been about one protocol OVER another one. Its already there, all it needs its the modification to make it useful to the users over there. Id assume this change would be easier than removing the protocol all together, and leaving it would make many mac based aim phoenix users happy, as theres no other good alternative.

Ive been talking to the dev about getting the server daemons released too, as theres a bit of interest in that. If that happens, it'll be the first public OSCAR daemons and will open it up even more as a competitor to those you mention.

Their sites are down at this exact moment as they're constantly being worked on. So i cant check the stats, but With this modification it would be the only Mac Aim Client left. Right now users have to try to get an old version of aim working with wine.

@RobFog
Copy link
Contributor

RobFog commented Mar 1, 2021

With that said, adium has never been about one protocol OVER another one.

Right. But at the same time, code needs to be maintained and unnecessary code is a burden. I'd be surprised if there a more than a few hundred users of AIM Phoenix.

@stephenchaffins
Copy link
Author

That's fair enough. Im not sure how much needs maintained on a protocol thats unchanged in probably more than a decade, but Its not my software, I am just a user and I was just asking.

No worries. I'll do what I can with the code and compile my own version if I figure it out. If not, ill move along.

thanks for your time.

@Asher-
Copy link
Collaborator

Asher- commented Mar 2, 2021

WTF - I posted a reply and then edited and updated and GitHub mobile web deleted the comment? Makes no sense.

=======

Please submit any information you have about what needs to be changed in order for AIM Phoenix to work. Is anyone currently using a modified version of the client?

Trying to look into AIM Phoenix, their webpage index is broken. Going via a non-index page works, but the site doesn't provide much information.

If it is as simple as changing a few details, that may be less work than ripping AIM out. But I would ask— what's the purpose of AIM Phoenix? They don't bother offer "here's why we're launching old clients" or anything.

@stephenchaffins
Copy link
Author

stephenchaffins commented Mar 3, 2021

Please submit any information you have about what needs to be changed in order for AIM Phoenix to work.

When you change the "login server" for AIM to anything other than the old AIM hostname (aka, no matter what), Adium tries to authenticate the account through "https://api.screenname.aol.com" rather than the specified Login server. According to the Phoenix site, it worked as recently as Adium 1.3.10 (and lower, with encryption disabled).

I think libpurple_gaim is getting the authentication hostname from.. somewhere, but I cant find it. I've never actually worked on a Mac APP, so take that with a grain of salt.

What other specific information do you need?

Is anyone currently using a modified version of the client?

I do not think so, not that I'm aware of or can find. Most use Adium 1.3.10- or an old official AIM client in wine. I run a VM for the official clients which are a pain anyway.. Problem with this is BigSur and a lot of options going away (it wont run the 32bit stuff).

Trying to look into AIM Phoenix, their webpage index is broken. Going via a non-index page works, but the site doesn't provide much information.

Here is the main page link (its up now). He is currently in the process of migrating everything over to a production server. As you can see, thats on his local server. He is moving the site and nodes here. I've had an account there for a couple years at this point, so I might be able to answer a lot of the basic questions.

RobFrog is probably right, there are probably only a few hundred active users. At any given time during the day, its ~100+ users logged in (dropping to the 50s/60s overnight US time). When I first joined though, in probably 2017/2018, there'd only be 2-3 people on at any given time during the day. The more features he is able to emulate properly, and over time, more people join and remain active.

If it is as simple as changing a few details, that may be less work than ripping AIM out. But I would ask— what's the purpose of AIM Phoenix?

This is why I left my issue open even after seeing the issue to remove it. I figured it MIGHT be as simple as reverting a small section of code, since it worked properly in previous versions, and that you guys would surely be interested in users who are still actively using your software, even if they're stuck on old versions.

As far as the purpose, he and his team have rebuilt a few old games, and are also building yahoo and ICQ servers. I think the main purpose was nostalgia, and just giving people something to play with as well as keeping their dev skills sharp. I think its grown more at this point. It's caught on to a bunch of old users so far, and I think it will continue to grow as they keep working on it.

Honestly though, my personal opinion.... You have AIM, ICQ, MSN, Yahoo!, Google Talk (* works with account modifications), MyspaceIM. Maybe livejournal? Facebook doesnt seem to like it anymore. I believe all of these are dead services or inapplicable. AIM being the only one that can be used and has active users, the only potentially viable one at this time. At present, I only use Adium IRC at this point. If I have to run a windows machine or keep a VM running for AIM, i'll just switch back to IRCN (mirc) (which is why I liked adiums IRC layout in the first place, with the tab locations and all looks/feels like a modern irc client should). Time would be better spent making a small change to AIM (if thats all it is) and then removing those protocols dont have any viable options. Again, thats my opinion.

Im attaching a screenshot of what happens in the more recent stable version of Adium. Please let me know if I can be of any further service.

Screen Shot 2021-03-02 at 6 12 00 PM

@stephenchaffins
Copy link
Author

Actually, heres an updated screenshot. That previous one, I forgot to reverse my host file change. Ive attached the update one. (which the previous screen shot shows it is using SSL to connect to the auth server, despite encryption being disabled, so that could be a part of why I couldnt just fix it with a pointing with my hosts file.)

Screen Shot 2021-03-02 at 7 50 08 PM

@estella144
Copy link
Collaborator

@stephenchaffins @Asher- and @RobFog : This has been kinda stale for a week now. As RobFog said:

Are there good reasons to use AIM Phoenix over modern protocols such [as] XMPP, Signal, or Telegram?

Please see #18 . I see no reason to keep this issue running when this is about an obsolete service anyway.

@Asher-
Copy link
Collaborator

Asher- commented Mar 9, 2021

Such a weird niche probably means that there are some code-capable individuals floating around... If we got even one of them contributing, that would be a win. I think that if there isn't significant work to enable AIM Phoenix, then why not?

The biggest barrier to entry right now is that there is too much stuff to look at and make sense of organization. Once the code base is cleaned up and an example is working then some of these folks can jump in. I think it's at least worth considering.

@adium adium deleted a comment from estella144 Mar 9, 2021
@ChrisForsythe ChrisForsythe added this to the Adium 1.7 milestone Mar 9, 2021
@ChrisForsythe
Copy link
Collaborator

Setting this to at lest milestone 1.7. If someone can get the code work @Asher- mentioned done before then we can move talk about moving it.

@jas8522
Copy link

jas8522 commented Mar 11, 2021

I completed a project-wide search for api.screenname.aol.com and got no results... I tried with both Atom editor locally and using the Github search above... I also checked for other aol.com domains to see if they're cnames for the above domain and unless I missed one, none were! The only other place I can think Adium would get that domain from is the primary connection server, but I can't imagine AIM Phoenix's server would direct anyone there... so wtf? Is libpurple_gaim a binary in this repo and therefore not searchable?

@RobFog
Copy link
Contributor

RobFog commented Mar 11, 2021

It's login.oscar.aol.com.:
Bildschirmfoto 2021-03-11 um 16 44 22

@jas8522
Copy link

jas8522 commented Mar 11, 2021

@RobFog my understanding is that AIM Phoenix users put a completely different connection domain in that box and it begins to connect, only to come back with an error about api.screenname.aol.com -- in other words, that domain comes up later in the connection process and when not attempting to connect to an official AIM server which presumably doesn't work.

@stephenchaffins do I have that right?

We might also discuss replacing the default server hostname from login.oscar.aol.com to whatever the AIM Phoenix connection server domain is, assuming Phoenix is the remaining option for AIM servers.

@estella144
Copy link
Collaborator

@jas8522 Yep. It is probably routing through both of them, such that you cannot access api.screenname.aol.com directly, but only through login.oscar.aol.com.

@RobFog
Copy link
Contributor

RobFog commented Mar 11, 2021

@jas8522 Ah, right, got it. In that case, I reckon the code in question is in libpurple. And my guess for why you can't find the string is that, yes, libpurple is a binary.

That would mean we'd have to modify libpurple.

@adium adium deleted a comment from estella144 Mar 11, 2021
@estella144
Copy link
Collaborator

Sorry, "Adium" deleted my comment, but yes. We do have to modify.

@jas8522
Copy link

jas8522 commented Mar 11, 2021

Huh, so if this is in libpurple, then the next question is: @stephenchaffins any chance you're able to test this with Pidgin on Linux and see if the same issue occurs there? Then our options are:

  1. If it's reproduced on Pidgin, the bug report would need to be filed with Pidgin/libpurple devs
  2. If it's not reproduced on Pidgin, presumably we'd need to try updating our purple-gaim binary and see if that solves it

@estella144
Copy link
Collaborator

@jas8522
Copy link

jas8522 commented Mar 11, 2021

@estella144 that code doesn't look like it's been updated in 4-5 years though -- is that definitely the most recent code for AIM prpl?

@estella144
Copy link
Collaborator

Someone called "The_Tick" posted this on IRC

@estella144
Copy link
Collaborator

Screenshot 2021-03-11 at 20 46 17 839

@Asher-
Copy link
Collaborator

Asher- commented Mar 11, 2021

It sounds like there is a question: does Pidgin work with AIM Phoenix?

Can someone who cares about AIM Phoenix verify?

@estella144
Copy link
Collaborator

@Asher- Why "someone who cares about AIM Phoenix"?

@Asher-
Copy link
Collaborator

Asher- commented Mar 11, 2021

Because if no one cares enough about AIM Phoenix to report whether Pidgin is currently compatible then there is no loss neglecting it.

@stephenchaffins
Copy link
Author

Pidgin does work with aim Phoenix, "with SSL And clientlogin disabled"

@stephenchaffins

This comment has been minimized.

@RobFog
Copy link
Contributor

RobFog commented Mar 11, 2021

I think this is what we're looking for: https://keep.imfreedom.org/pidgin/pidgin/file/037eec63eefd/libpurple/protocols/oscar/clientlogin.c

That's the 2.x.y branch. AIM seems to have been removed from what will become Pidgin 3: https://keep.imfreedom.org/pidgin/pidgin/file/tip/libpurple/protocols – no "oscar" subfolder. So we won't be able to rely on libpurple for AIM once we migrate to version 3.

@stephenchaffins

This comment has been minimized.

@adium adium deleted a comment from RobFog Mar 11, 2021
@RobFog RobFog closed this as completed Mar 11, 2021
@RobFog RobFog reopened this Mar 11, 2021
@adium adium deleted a comment from estella144 Mar 12, 2021
@Asher-
Copy link
Collaborator

Asher- commented Mar 12, 2021

In that case, it seems like it would make sense to get a release together that will work with AIM Phoenix on 2.x.y before removing when we upgrade to 3. Or should that mean ignoring it? What do you think?

@adium adium deleted a comment from estella144 Mar 12, 2021
@RobFog
Copy link
Contributor

RobFog commented Mar 12, 2021

In that case, it seems like it would make sense to get a release together that will work with AIM Phoenix on 2.x.y before removing when we upgrade to 3. Or should that mean ignoring it? What do you think?

I think the time would probably be better spent on support for modern and more widely used services.

I've also been wondering whether we should risk the impression that we're encouraging people to have conversations through a random dyndns service.

@estella144
Copy link
Collaborator

@RobFog what do you mean by:

I've also been wondering whether we should risk the impression that we're encouraging people to have conversations through a random dyndns service.

@Asher-
Copy link
Collaborator

Asher- commented Mar 12, 2021

This seems like a fair point. I was thinking— the project describes itself as reviving classic software, not as a new deployment of an existing protocol...

@stephenchaffins
Copy link
Author

I've also been wondering whether we should risk the impression that we're encouraging people to have conversations through a random dyndns service.

I think the dynamic dns url was being used while they were building it enough to function and support users. The site says they're in the process of migrating to a production server with a real TLD.

I think all that is needed is NOT using separate login and authentication servers. Right now, we can pick the login server, but it still tries to authenticate the username through the old aol hostname. If the auth hostname tried was the same as the login server, the problem would be solved. Or the ability to specify both.

All of that is to say, I dont think you'd have to promote aim phoenix in any way. You just give us the option to decide what we want to do. There are other versions out there that people can run on their home servers if they wanted to take the time to figure it out. It can actually be considered as giving us more control over what we want to do. But, yea, not tying it to aim phoenix is probably the best idea either way.

@ox
Copy link

ox commented Feb 8, 2022

Hey y'all. I wanted to chime in that I am also affected by this behavior. I have developed and run my own AIM server at https://runningman.network and can't get Adium to connect to it. I thought it'd be fun to test a full-featured client like Adium against it and see what features I'd have to build out to support it fully. I'll investigate changing libpurple.

@stcbus
Copy link

stcbus commented Oct 27, 2022

I'm a bit nostalgic and have an interest in this as well. Less for the (apparently) crazy QAnon guy running Phoenix, but moreso for the protocol itself and those trying to keep it going, including @ox. Adium doesn't seem useful to many nowadays in this new world, but I think it'd continue the mission to support the seemingly trivial changes to allow this protocol to continue.

@Animadoria
Copy link

The project I'm working on, NINA, currently in a private beta-test, supports UAS (aka clientLogin). Unfortunately, I haven't been able to compile Adium for a multitude of reasons, but binary-patching the executable would work (if not for the fact that the libpurple code responsible for that would use HTTP/1.1 with the Host header, but there's ways around that).

If there's any way to compile it (and maybe, just maybe, add a Host header), we could have secure(!) working authentication using Adium.

@lyra56k
Copy link

lyra56k commented Jun 5, 2024

Encountering this issue when running my own AIM server for fun. I sense that the project is all but dead, has anyone successfully compiled it themselves and can share advice?

@Animadoria
Copy link

Animadoria commented Jun 5, 2024

image

Haven't been able to recompile it, but have been able to get it working with NINA with some hacking and tinkering. The build script that compiles Adium requires dependencies that are no longer hosted, uses Mercurial servers that are dead, but I'll try to see if I can, somehow, get it to compile again.

@lyra56k
Copy link

lyra56k commented Jun 5, 2024

Oh wow, so it's even more dead than I thought. Don't worry about it if it's going to be that involved, I'll check out NINA and a few other clients too.

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