EthanArbuckle / Apollo-CustomApiCredentials

Tweak to use your own reddit API credentials in Apollo
GNU General Public License v3.0
769 stars 142 forks source link

Apollo version 0.15.12 Disables all functionality except changing app icon once ios date passes June 30th #8

Closed Barusu-rem closed 1 year ago

Barusu-rem commented 1 year ago

Apollo disables functionality if the ios date and time is set past June 30th (you can only buy wall papers or change icons). Versions 0.15.11 and lower are unaffected.

Is it possible to patch out the hardcoded shutdown (or would it be easier to tell people to use older versions of apollo)?

IMG_884F2EA71EB7-1

paradoxally commented 1 year ago

People should use 1.5.11 because it won't show that screen. Everything premium is unlocked on that version, so the issue with restoring purchases not working is unaffected.

1.5.12 is for people who need to migrate their Pixel Pal to the standalone app or decline refunds. It may be possible to patch out that screen, but we don't know what changes Christian has added behind the hood. He may have disabled the API layer past a certain date even with a new key.

Also, make sure you disable automatic app updates in the App Store or it will keep pushing you automatically to 1.5.12.

koassount commented 1 year ago

Yeah, just get an IPA with an older version. But what I don't understand yet is:

What are people using this "patched" version of Apollo with their own API key going to do when the Apollo backend dies? The app currently doesn't directly communicate with the Reddit backend but with https://apolloreq.com/api/req_v2 and https://apollogur.download/api and so on... How is this going to help anyone when the dev shuts down his servers?

paradoxally commented 1 year ago

@koassount

What we need to figure out is if those endpoints are absolutely necessary for the app to work properly. They could be just for logging or caching of images, requests, etc. I'm not entirely sure.

If they are app-breaking, I don't think there's much you can do unless the published backend code handles those endpoints. Theoretically, you could self-host it and replace the base URL Apollo points to. But that's not exactly a trivial task.

koassount commented 1 year ago

@koassount

What we need to figure out is if those endpoints are absolutely necessary for the app to work properly. They could be just for logging or caching of images, requests, etc. I'm not entirely sure.

If they are app-breaking, I don't think there's much you can do unless the published backend code handles those endpoints. Theoretically, you could self-host it and replace the base URL Apollo points to. But that's not exactly a trivial task.

There is not a single request going directly to Reddit from the Apollo app... so yeah... I've never seen anyone actually post a video/log of the traffic so I made a short one and posted it -> https://github.com/EthanArbuckle/Apollo-CustomApiCredentials/issues/7#issuecomment-1614826429

Rihcus commented 1 year ago

@koassount What we need to figure out is if those endpoints are absolutely necessary for the app to work properly. They could be just for logging or caching of images, requests, etc. I'm not entirely sure. If they are app-breaking, I don't think there's much you can do unless the published backend code handles those endpoints. Theoretically, you could self-host it and replace the base URL Apollo points to. But that's not exactly a trivial task.

There is not a single request going directly to Reddit from the Apollo app... so yeah... I've never seen anyone actually post a video/log of the traffic so I made a short one and posted it -> #7 (comment)

https://imgur.com/a/oYnk1x0

oath.reddit.com seems to be used. Apollo req actually responds with connection errors

A2IUvWo

koassount commented 1 year ago

@koassount What we need to figure out is if those endpoints are absolutely necessary for the app to work properly. They could be just for logging or caching of images, requests, etc. I'm not entirely sure. If they are app-breaking, I don't think there's much you can do unless the published backend code handles those endpoints. Theoretically, you could self-host it and replace the base URL Apollo points to. But that's not exactly a trivial task.

There is not a single request going directly to Reddit from the Apollo app... so yeah... I've never seen anyone actually post a video/log of the traffic so I made a short one and posted it -> #7 (comment)

https://imgur.com/a/oYnk1x0

oath.reddit.com seems to be used. Apollo req actually responds with connection errors

A2IUvWo

Yeah just tested it with the Apollo APIs directed at localhost in my hosts file and it works fine.

paradoxally commented 1 year ago

@koassount

I noticed in the screenshot that the calls to Apollo's servers are POST requests, so the app is likely sending some info back to Christian (possibly logging?).

Is it possible to see the request body the app sends to Apollo's servers? @Rihcus

koassount commented 1 year ago

@koassount

I noticed in the screenshot that the calls to Apollo's servers are POST requests, so the app is likely sending some info back to Christian (possibly logging?).

Is it possible to see the request body the app sends to Apollo's servers? @Rihcus

Yeah, you're correct. It's just some logs and the App works fine even if the official (Apollo) APIs are blocked.

request body:

{
    "anonID": "C3B4D9ED-A52B-5C31-BADD-2417A5D6F7288",
    "endpoint": "api/info",
    "rateUse": "unset",
    "state": "free"
}

or

{
    "anonID": "C3B4D9ED-A52B-5C31-BADD-2417A5D6F7288",
    "endpoint": "message/inbox",
    "rateUse": "unset",
    "state": "free"
}

Dumb mistake on my part. 👍

Barusu-rem commented 1 year ago

Not sure if allowed to link this but I linked decryped versions of apollo versions 0.15.11 and 0.15.9 https://github.com/Barusu-rem/apollo-decrypt-legacy-version/releases/tag/production

EthanArbuckle commented 1 year ago

this repo now contains a v1.15.11 build

Rihcus commented 1 year ago

@koassount

I noticed in the screenshot that the calls to Apollo's servers are POST requests, so the app is likely sending some info back to Christian (possibly logging?).

Is it possible to see the request body the app sends to Apollo's servers? @Rihcus

Just want confirm apollo is currently proper shutdown (logging into the unmodded main app leads to crashing) while in contrast the modded app works normal.