Skip to content

Latest commit

 

History

151 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

legacyproxy-banner

legacyProxy is a MITM proxy that fixes some websites & apps on legacy iOS devices.

Currently it fixes Reddit, Google Search, Wikipedia image loading, GitHub and the IMDb app. Tested on iOS 3 (iPhone 3G), iOS 5 (iPhone 4S), iOS 6 (iPhone 4S) and iOS 8 (iPod touch 5). It works with every browser that uses WebKit on iOS (Chrome, Opera Mini, Safari, etc).

IMG_0040 IMG_0038 IMG_0037 IMG_0035

(click the screenshots for zoom)

Layout Patches

legacyProxy adapts the CSS and HTML of the websites you visit in real time, so it fixes the layout a bit on old Safari/WebKit. It isn't perfect, but most sites look better thanks to this.

Website Fixes

Reddit

Uses a custom frontend that looks like old Reddit and gets the data from the Reddit API using the website token. The token is updated every 24 hours automatically so Reddit doesn't stop working in the device.

Google Search

Scrapes Google Search results and builds the results page from a local HTML template. The CSS applied is like the modern Google search. Google looks better on iOS 5+.
Note: if Google Search doesn't work, uncheck "Chrome Headless" in the proxy settings.

Wikipedia

Rewrites Wikimedia image URLs through the proxy and removes the unsupported srcset, loading, and decoding attributes from Wikipedia pages so images load correctly on legacy iOS Safari. Wikipedia works correctly on every version I've tested.

GitHub

Injects custom CSS and JS into GitHub pages. Repo headers, navigation, file listings, README files and sidebars use a simple single-column layout that doesn't depend on modern CSS grid or flexbox support.
GitHub works better on iOS 6+.

App Fixes

Reddit

Fixes iReddit, Alien Blue and the modern Reddit app. Uses the Reddit token for the API calls and fixes some other stuff. Login not tested.

IMG_0221 IMG_0219 IMG_0220

IMDb App

Most things work but there are some blank sections in the homepage. Tested with IMDb 5.9.1.

Requirements

  • Python 3
  • Linux or macOS (Windows support soon)

Usage

How to run

  • Make a venv inside the proxy folder: python -m venv .venv
  • Activate it: source .venv/bin/activate (.venv/Scripts/activate on Windows)
  • Install libraries: pip install -r requirements.txt
  • Install Chrome: patchright install chrome
  • Start the proxy: python main.py

Configure Device

There is no jailbreak needed (but it's recommended). You just need to do it like this:
Go to Settings -> Wi-Fi -> The button next to the selected network -> Go to the bottom -> HTTP Proxy:

  • Set it to Manual
  • Server: Your PC's IP address
  • Port: 8080
  • Authentication: OFF

Then open Safari, go to mitm.it and install the iOS certificate.

That's it! You can now use Google, Reddit, GitHub and more on your old iDevice!

TODO

To-do for website & app fixing. I will not be fixing websites that already work well with an app, such as YouTube, Instagram, etc.

  • Google Search
    • Modern homepage
    • Web search
    • Image search
  • Reddit
    • Browse Reddit
  • Wikipedia
    • Image loading
    • Fix CSS
    • Fix JavaScript
  • GitHub
    • Repo page
    • Releases/Tags
    • Issue pages
    • PRs page
    • User page
    • Home page
  • IMDb App
  • Stack Overflow

About

MITM proxy that fixes some websites & apps on legacy iOS devices.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages