Customizable anisette URL
blunderbusq opened this issue · comments
The endpoint for obtaining anisette data is currently hardwired to use armconverter.com (i.e., sideloadly.io):
This single point of failure could become invalid in a variety of ways without any advance warning or recourse.
I've created an aniserve.swift microservice that serves anisette data via HTTP from a mac that is running the AltServer mail plug-in, using the same JSON structure as that returned from armconverter
.
Adding a flag to AltServer-Linux that enables a customizable URL (or, ideally, multiple customizable URLs that would be attempted round-robin-style) would enable people to run anisette servers, either on their local network or publicly, that would more reliably return valid and up-to-date anisette data for AltServer to use.
I envision using it something like this, where each server specified with multiple -q
flags would be attempted until one of them returns a valid payload:
./AltServer -u [UDID] -a [AppleID account] -p [AppleID password] \
-q http://192.168.200.1:6969/anisette \
-q http://somehelpfuldude.net:6969/anisette \
-q http://anotherhelpfuldude.org:6969/anisette \
-q https://armconverter.com/anisette/irGb3Quww8zrhgqnzmrx \
-q https://sideloadly.io/anisette/irGb3Quww8zrhgqnzmrx
Good finding! Would you prefer to make this a PR instead?
[root@vmBuild AltServer]# curl https://armconverter.com/anisette/irGb3Quww8zrhgqnzmrx
{"X-Apple-I-Client-Time":"2022-04-15T08:56:10Z","X-Apple-I-MD":"AAAABQAAABC657L5NnI5CnCioOZpAbypAAAAAQ==","X-Apple-I-MD-LU":"CE99147F8610526892ED1AC53931EF38552A2CB64C2DC433D242FDAE789A7F80","X-Apple-I-MD-M":"wbxShQ1m2WmGT+Sf496k3tYfwQhrzQ+79dQKNUVBzpz/rO+4faO/k3ZjePXDCXk1jMefsXn7NllulZOH","X-Apple-I-MD-RINFO":"17106176","X-Apple-I-SRL-NO":"0","X-Apple-I-TimeZone":"GMT+0","X-Apple-Locale":"en_GB","X-MMe-Client-Info":"<iMac11,3> <Mac OS X;10.15.6;19G2021> <com.apple.AuthKit/1 (com.apple.dt.Xcode/3594.4.19)>","X-Mme-Device-Id":"F6C158F4-BD50-4EDD-B897-9BE4349EEED5"}
[root@vmBuild AltServer]# curl http://172.16.1.155:6969/anisette/
{"X-Apple-I-Client-Time":"2022-04-15T08:56:14Z","X-Apple-I-MD":"AAAABQAAABDdMehZjYZhlC1veJd/M9qsAAAAAQ==","X-Apple-I-MD-LU":"F75BE0C8E11C2A7EB6778CCAAE6D1D2B03873D9ACA72CEB6E777C7C91F23666B","X-Apple-I-MD-M":"UJq+0UoQxPeXUeVTMfrHe2Ato5s9gdRxS15z92OuC3nVvp6GVNkCmDDE4VIDtnb0nHz/87SUD7c4XEN/","X-Apple-I-MD-RINFO":50660608,"X-Apple-I-SRL-NO":"VMn7uCD8TIv6","X-Apple-I-TimeZone":"GMT-7","X-Apple-Locale":"zh_CN","X-MMe-Client-Info":"<VMware7,1> <Mac OS X;10.15.7;19H15> <com.apple.AuthKit/1 (com.apple.mail/3608.120.23.2.4)>","X-Mme-Device-Id":"564D9FBB-820F-C4C8-BFA7-DFA13A59FA26"}
Is the <com.apple.AuthKit/1 (com.apple.mail/3608.120.23.2.4)> been block by the apple? first url, I can login, but later, I crashed.
@zenochen pls also try my hub.docker.com/r/nyamisty/alt_anisette_server, which is based on AltServer-Windows and wine
hub.docker.com/r/nyamisty/alt_anisette_server
didn't work, responsed with empty page.
I use your code to compile for testing.
@zenochen pls also try my hub.docker.com/r/nyamisty/alt_anisette_server, which is based on AltServer-Windows and wine
I used your AltWindowsAnisette.exe in windows, It works, Thanks.
I mean to use my docker lol, if it returns empty, pls try re-run the docker.
I've tested it on Github Actions. Feel free to share your terminal output in case it still fails
I mean to use my docker lol, if it returns empty, pls try re-run the docker. I've tested it on Github Actions. Feel free to share your terminal output in case it still fails
I haven't used a docker before, and I pull it into my qnap nas, failed to run. So I given up. I wrote another wrap in springboot, which is only one jar to run, but the core is your AltWindowsAnisette.exe. It works fine, I used in my project for one day, and have processed about 300 times Authentication.
Good, but that would require a Windows serverto run right? The docker can be run in a pure Linux environment.
Also, AltServer-Linux supports specifying anisette server via environment variable now ;)
I mean to use my docker lol, if it returns empty, pls try re-run the docker. I've tested it on Github Actions. Feel free to share your terminal output in case it still fails
I haven't used a docker before, and I pull it into my qnap nas, failed to run. So I given up. I wrote another wrap in springboot, which is only one jar to run, but the core is your AltWindowsAnisette.exe. It works fine, I used in my project for one day, and have processed about 300 times Authentication.
Could you please share this with me?
You don't need that.
Simply download the exe files in the alt-anisette-server repo, and run them would be sufficient ;)