MCPcopy Index your code
hub / github.com/brianml31/InstaMoon

github.com/brianml31/InstaMoon @v11.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v11.0 ↗ · + Follow
875 symbols 2,117 edges 127 files 268 documented · 31%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<img src="https://github.com/brianml31/InstaMoon/blob/InstaMoon/assets/InstaMoon_Logo.png" alt="InstaMoon_Logo" height="250" />

InstaMoon 🌙

InstaMoon is a modding framework for Instagram focused on enhancing the user experience by enabling custom features and improvements.

A powerful modding framework

Created with ❤️ by brianml31


🏗️ Framework Architecture

<img src="https://github.com/brianml31/InstaMoon/blob/InstaMoon/assets/instamoon_architecture.png"
alt="InstaMoon Framework Architecture"
width="800"/>

[!WARNING]
This project is strictly for personal use and is not affiliated, endorsed, or certified by Instagram in any way. Use at your own risk.

Note: If you use any of the materials in this repository, please give proper credit by mentioning Instamoon. A simple mention or link is appreciated!


Recommended Instagram version: 415.0.0.0.43 alpha

Features

👻 Ghost Mode

  • Hide (Seen) in stories
  • Hide (Seen) in DM
  • Hide (Typing) in DM
  • Hide (You took a screenshot) in DM
  • Hide (Opened) in media
  • Hide (Replayed) in media
  • Hide (Seen) in live videos

⚙️ Other options

  • Disable ads
  • Disable analytics
  • Disable video autoplay
  • Disable 'Like' with double tap
  • Hide suggested reels
  • Remove empty bottom space

🅰️ App font

  • Set a custom font for the app

‍💻 Developer options

  • Open developer mode
  • Export dev settings
  • Import dev settings (.json)
  • Import dev settings (.igmoon)
  • Save mapping file
  • Import mapping file
  • Reset dev settings

🌙 Dark mode

Screenshots

<img src="https://github.com/brianml31/InstaMoon/blob/InstaMoon/assets/instamoon_1.png" width="200">
<img src="https://github.com/brianml31/InstaMoon/blob/InstaMoon/assets/instamoon_2.png" width="200" style="margin-right:10px;">
<img src="https://github.com/brianml31/InstaMoon/blob/InstaMoon/assets/instamoon_3.png" width="200" style="margin-right:10px;">

How to use

Steps to Follow:

  1. Compile the project using Android Studio to generate the APK.
  2. Decompile the generated APK to extract:
    • Smali code
  3. Merge the extracted files with the original Instagram APK, making sure to include:
    • Smali classes (especially the InstagramInjectionManager class)
  4. Modify Instagram’s AndroidManifest.xml:

    • Add the following permission: xml <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
    • Declare the required activity: xml <activity android:theme="@android:style/Theme.DeviceDefault.Dialog" android:name="com.brianml31.instamoon.permissions.StoragePermissionActivity" />
  5. Insert the required function calls from the InjectionHooks class into Instagram.


Special Thanks

Extension points exported contracts — how you extend this code

ActivityLifecycleCallbacksCompat (Interface)
Equivalent of ActivityLifecycleCallbacks to be used with {@link ApplicationHelper#registerActivityLifecycleCallb [6 implementers]
ACRA/src/main/java/org/acra/jraf/android/util/activitylifecyclecallbackscompat/ActivityLifecycleCallbacksCompat.java
UniRandomAccessFile (Interface)
The UniRandomAccessFile is designed to emulate RandomAccessFile interface for UniFile [2 implementers]
UniFile/src/main/java/com/hippo/unifile/UniRandomAccessFile.java
IWVersionManager (Interface)
(no doc) [2 implementers]
WVersionManager/src/main/java/com/winsontan520/IWVersionManager.java
ReportSender (Interface)
A simple interface for defining various crash report senders. You can reuse HttpSender to send reports to your c [7 implementers]
ACRA/src/main/java/org/acra/sender/ReportSender.java
UriHandler (Interface)
A UriHandler is to get UniFile from custom uri for extensions [1 implementers]
UniFile/src/main/java/com/hippo/unifile/UriHandler.java
OnReceiveListener (Interface)
(no doc) [1 implementers]
WVersionManager/src/main/java/com/winsontan520/OnReceiveListener.java
ACRALog (Interface)
Responsible for providing ACRA classes with a platform neutral way of logging. One reason for using this mechani [2 implementers]
ACRA/src/main/java/org/acra/log/ACRALog.java
FilenameFilter (Interface)
An interface for filtering UniFile objects based on their names or the directory they reside in. @see UniFile @ [1 implementers]
UniFile/src/main/java/com/hippo/unifile/FilenameFilter.java

Core symbols most depended-on inside this repo

getConfig
called by 68
ACRA/src/main/java/org/acra/ACRA.java
get
called by 60
ACRA/src/main/java/org/acra/jraf/android/util/activitylifecyclecallbackscompat/MainLifecycleDispatcher.java
d
called by 50
ACRA/src/main/java/org/acra/log/ACRALog.java
toString
called by 48
ACRA/src/main/java/org/acra/util/BoundedLinkedList.java
e
called by 41
ACRA/src/main/java/org/acra/log/ACRALog.java
getName
called by 39
UniFile/src/main/java/com/hippo/unifile/RawFile.java
w
called by 39
ACRA/src/main/java/org/acra/log/ACRALog.java
toString
called by 39
ACRA/src/main/java/org/acra/collector/ConfigurationCollector.java

Shape

Method 749
Class 112
Interface 8
Enum 6

Languages

Java87%
Kotlin13%

Modules by API surface

ACRA/src/main/java/org/acra/ACRAConfiguration.java87 symbols
WVersionManager/src/main/java/com/winsontan520/WVersionManager.java47 symbols
UniFile/src/main/java/com/hippo/unifile/UniFile.java38 symbols
ACRA/src/main/java/org/acra/ErrorReporter.java36 symbols
WVersionManager/src/main/java/com/winsontan520/IWVersionManager.java24 symbols
UniFile/src/main/java/com/hippo/unifile/RawFile.java23 symbols
UniFile/src/main/java/com/hippo/unifile/TreeDocumentFile.java22 symbols
UniFile/src/main/java/com/hippo/unifile/SingleDocumentFile.java22 symbols
UniFile/src/main/java/com/hippo/unifile/ResourceFile.java22 symbols
UniFile/src/main/java/com/hippo/unifile/MediaFile.java22 symbols
UniFile/src/main/java/com/hippo/unifile/AssetFile.java22 symbols
UniFile/src/main/java/com/hippo/unifile/DocumentsContractApi19.java17 symbols

For agents

$ claude mcp add InstaMoon \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact