Distraction-Free Instagram
A patching toolkit that removes addictive features from Instagram while keeping essential functionality.
I built this project for myself as an alternative to DFInstagram which hasn't been maintained for a long time and was difficult to update. I'm sharing it so others can do the same for themselves.
This project is entirely free and open-source. Feel free to fork, copy, enhance, or submit pull requests - do whatever you want with it!
You have two options:
- Ready-to-install APK - Grab the latest patched APK from the Releases page and install it directly
- DIY Patching - Use the toolkit below to patch any Instagram version yourself
| Feature | Status | How |
|---|---|---|
| Feed Posts | β Blocked | Network-level blocking |
| Explore Content | β Blocked | Network-level blocking |
| Reels Content | β Redirected | Redirects to DMs |
| Feature | Status |
|---|---|
| Stories | β Works |
| Direct Messages | β Works |
| Profile | β Works |
| Reels in DMs | β Works |
| Search | β Works |
| Notifications | β Works |
sudo apt install apktool android-sdk-build-tools openjdk-17-jdk python3brew install apktool android-commandlinetools openjdk python3
sdkmanager "build-tools;34.0.0"-
Download an Instagram APK from APKMirror (arm64-v8a recommended)
-
Run the patcher:
./patch.sh instagram.apk
-
Install the patched APK:
adb install -r feurstagram_patched.apk
-
Cleanup build artifacts:
./cleanup.sh
Feurstagram/
βββ patch.sh # Main patching script
βββ cleanup.sh # Removes build artifacts
βββ apply_network_patch.py # Network hook patch logic
βββ feurstagram.keystore # Signing keystore (password: android)
βββ patches/
βββ FeurConfig.smali # Configuration class
βββ FeurHooks.smali # Network blocking hooks
The patched APK needs to be signed before installation. The patcher uses a keystore file for signing.
If feurstagram.keystore doesn't exist, create one:
keytool -genkey -v -keystore feurstagram.keystore -alias feurstagram \
-keyalg RSA -keysize 2048 -validity 10000 \
-storepass android -keypass android \
-dname "CN=Feurstagram, OU=Feurstagram, O=Feurstagram, L=Unknown, ST=Unknown, C=XX"| Property | Value |
|---|---|
| Filename | feurstagram.keystore |
| Alias | feurstagram |
| Password | android |
| Algorithm | RSA 2048-bit |
| Validity | 10,000 days |
Note: If you reinstall the app, you must use the same keystore to preserve your data. Signing with a different keystore requires uninstalling the previous version first.
View logs to see what's being blocked:
adb logcat -s "Feurstagram:D"Intercepts fragment loading in the main tab host. When Instagram tries to load fragment_clips (Reels), it redirects to fragment_direct_tab (DMs).
Hooks into TigonServiceLayer (a named, non-obfuscated class) and blocks requests to /feed/timeline/ and /discover/topical_explore.
I'll update this project to support new Instagram versions as they are released. When a new version comes out, I'll apply the necessary patches and release an updated APK.
-
TigonServiceLayer is a named class (doesn't change).
-
Apply the same patches.
This is a personal project I'm sharing with the community. Contributions are welcome!
- π΄ Fork it - Make your own version
- π§ Pull requests - Improvements and fixes are appreciated
- π Copy it - Use the code however you want
- β¨ Enhance it - Build something even better
If you find this project useful and want to support its development, you can send a donation via Bitcoin:
BTC: bc1qa0xyd9n0fy0hhk2mzg5g5zy8l7lc0t728f0jnq
Your support is greatly appreciated! π
This project is released under the Unlicense - you can do whatever you want with it. See LICENSE for details.


