Bring Apple's dead social network iTunes Ping back to life, inside a real, running copy of iTunes 10.6.3 on Windows. Pick your name and picture, hit one button, open iTunes, and Ping is there again.
Made by Zachary Staines for the Legendary Tech Club.
Free and open source (MIT). Do whatever you want with it: use it, fork it, change it, ship it, sell it. No permission needed, no strings attached.
Ping was a server-driven website that iTunes rendered inside its Store. Apple shut it down in 2012. This app runs a tiny local server that re-serves a faithful Ping, and routes iTunes' Store traffic to it.
To route iTunes' encrypted Store traffic to the local server, the app installs a local root certificate and points your Windows system proxy at itself while it is running.
- While the certificate is installed, this app can decrypt this machine's HTTPS/TLS traffic. That is how the interception works.
- The app runs entirely on your machine and does not send your data anywhere.
- Turn Ping off removes the proxy. Remove certificate (a button in the app) rips the certificate back out. Both fully restore your machine.
- All source is in this repo. Read it before you run it. You are encouraged to.
If that trade-off is not for you, that is completely fair. Do not run it.
- Windows 7 SP1, 8, 10, or 11 (64-bit). The app is built with Python 3.8 so it runs on the same vintage of Windows that iTunes 10.6.3 does.
- iTunes 10.6.3 for Windows. Apple still hosts it: https://support.apple.com/kb/DL1614
- Windows 8/10/11: nothing else needed.
- Windows 7: see the one-time updates below (a normally-updated Win7 already has them).
The app is a Python 3.8 program, and Python 3.8 needs Windows updates that a bare, unpatched Windows 7 SP1 lacks. Without them the app fails to start with ImportError: DLL load failed while importing _socket: The parameter is incorrect. Most Windows 7 machines that have had updates since 2011 already have these; you only need this on a fresh/minimal SP1 image.
Install from the Microsoft Update Catalog, in this order, rebooting after each:
- KB3020369 (servicing stack update):
Update for Windows 7 for x64-based Systems (KB3020369). - KB3125574 (SP1 Convenience Rollup):
Update for Windows 7 for x64-based Systems (KB3125574). This is what actually supplies the DLL-loading fix (the old standalone KB2533623 was folded into rollups). It is ~500 MB and slow to install; if it hangs on "Searching for updates on this computer," disconnect the network or stop the Windows Update service during the install.
If, after those, you get a different error mentioning a missing api-ms-win-crt-* DLL, also install the Universal C Runtime (KB2999226).
- Download
PingRevival.exefrom the Releases page (or from the latest Actions build artifact). - Double-click it. Windows SmartScreen may warn about an "unknown publisher" (the app is not code-signed). You can inspect the source here and choose to run it, or run from source (below). On Windows 7, make sure you have done the one-time updates above first.
- Type your name, choose a picture.
- Click Turn Ping on.
- Open iTunes, then iTunes Store, then Ping.
- Done playing? Turn Ping off, then Remove certificate.
Prefer not to open iTunes? Click Preview in browser to see your Ping page directly.
git clone https://github.com/Legendary-Tech-Club/PingRevival
cd PingRevival
python -m pip install -r app/requirements.txt
python -m app.pingrevival
Before you run that pip install: it downloads and executes third-party Python packages from PyPI onto your machine. Package registries like PyPI have been used for real supply-chain attacks (typosquatting, compromised maintainer accounts, malicious releases), so treat any pip install the same way you'd treat installing software from an unknown source. Do your own research on the packages first: check app/requirements.txt and app/requirements-dev.txt for the exact pinned versions, look them up on pypi.org and their own repos, and scan them with your antivirus/security tooling of choice before installing, especially since this is a fresh checkout of someone else's code. This applies to any pip install you run, not just this project's.
| Change | Made when | Undone by |
|---|---|---|
| Local root certificate (per-user store) | Turn Ping on | Remove certificate |
| System proxy set to 127.0.0.1:8080 | Turn Ping on | Turn Ping off |
Local server + data in %USERPROFILE%\PingRevival\ |
Turn Ping on | delete the folder |
Every machine change is tracked in %USERPROFILE%\PingRevival\state.json and is reversible from the app, even after a restart.
The .exe is built by GitHub Actions on windows-latest (.github/workflows/build-windows.yml). Locally on Windows (same pip install caution as above applies):
pip install -r app/requirements-dev.txt
pytest
pyinstaller app/build/pingrevival.spec
The result is dist/PingRevival.exe.
MIT (see LICENSE). This code is free and open source. You can use, copy, modify, distribute, sublicense, and sell it, for any purpose, without asking. The only condition MIT keeps is that the copyright/license notice travels with copies of the source. Want it, fork it, remix it, build your own thing on top of it. Go for it.
Disclaimer: a fan preservation project, not affiliated with or endorsed by Apple. iTunes and Ping are trademarks of Apple Inc.; album artwork is served from Apple's public CDN. The MIT license covers this project's own code, not Apple's trademarks or content.