#include "appleauth/iauth.h" #include "tier2/fileformats/xml.h" #include "http/http.h" IHTTPClientManager *g_pHttpClientMgr = NULL; class CAppleAuth: public IAppleAuth { public: virtual void Init() override; virtual void Shutdown() override; virtual EAppleAuthStatus SubmitLoginData( const char *szEmail, const char *szPassword ) override; virtual EAppleAuthStatus Submit2FA( const char *szCode ) override; IHTTPClient *m_pANIClient; IHTTPClient *m_pGrandSlamClient; CUtlString m_szProvisionStart = "/"; CUtlString m_szProvisionFinish = "/"; }; void CAppleAuth::Init() { CreateInterfaceFn fnHttpFactory = Sys_GetFactory("funnyhttp"); g_pHttpClientMgr = (IHTTPClientManager*)fnHttpFactory(HTTP_CLIENT_INTERFACE_VERSION, NULL); m_pANIClient = g_pHttpClientMgr->Connect("ani.sidestore.io", true, NULL); m_pGrandSlamClient = g_pHttpClientMgr->Connect("gsa.apple.com", true, NULL); { HTTPHeaderParam_t params[] = { {"X-Apple-I-Client-Time", "2026-1-1T12:00:00"}, {"X-Apple-Locale", "en_US"}, {"X-Apple-I-TimeZone", "Europe/Kyiv"}, {"X-Mme-Client-Info", " "}, {"User-Agent", "akd/1.0 CFNetwork/808.1.4"}, {"X-Apple-I-MD-LU", "user"}, {"X-Apple-I-MD-M", "0"}, {"X-Apple-I-SRL-NO", "0"}, {"X-Mme-Device-Id", "0"}, {"Content-Type", "text/x-xml-plist"}, {"Accept", "*/*"}, }; HTTPHeader_t header = { sizeof(params)/sizeof(HTTPHeaderParam_t), params, }; m_pGrandSlamClient->Get("/grandslam/GsService2/lookup", &header); HTTPResponse_t r = m_pGrandSlamClient->GetResponse(); if (r.m_uCode == 200) { V_printf("%s\n",r.m_message.GetMemory()); } } } void CAppleAuth::Shutdown() { } EAppleAuthStatus CAppleAuth::SubmitLoginData( const char *szEmail, const char *szPassword ) { } EAppleAuthStatus CAppleAuth::Submit2FA( const char *szCode ) { } static CAppleAuth s_appleAuth; EXPOSE_INTERFACE_GLOBALVAR(CAppleAuth, IAppleAuth, APPLE_AUTH_INTERFACE_VERSION, s_appleAuth);