{"id":51454911,"url":"https://github.com/Rev4N1/GPhotosUnlimited","last_synced_at":"2026-07-24T16:01:12.794Z","repository":{"id":254200197,"uuid":"845794491","full_name":"Rev4N1/GPhotosUnlimited","owner":"Rev4N1","description":"Unlimited Google Photos Magisk Module works with Zygisk","archived":false,"fork":false,"pushed_at":"2026-06-30T23:19:06.000Z","size":7167,"stargazers_count":244,"open_issues_count":0,"forks_count":19,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-07-01T01:10:43.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rev4N1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"Rev4N1","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.paypal.me/Rev4N1"}},"created_at":"2024-08-22T00:07:26.000Z","updated_at":"2026-06-30T23:19:10.000Z","dependencies_parsed_at":"2024-10-26T13:53:32.729Z","dependency_job_id":"7b91a2ed-d62c-4dcb-8c98-cc7063c17e26","html_url":"https://github.com/Rev4N1/GPhotosUnlimited","commit_stats":null,"previous_names":["rev4n1/gphotos-unlimited","rev4n1/gphotosunlimited"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/Rev4N1/GPhotosUnlimited","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rev4N1%2FGPhotosUnlimited","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rev4N1%2FGPhotosUnlimited/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rev4N1%2FGPhotosUnlimited/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rev4N1%2FGPhotosUnlimited/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rev4N1","download_url":"https://codeload.github.com/Rev4N1/GPhotosUnlimited/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rev4N1%2FGPhotosUnlimited/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35847531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-24T02:00:07.870Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-06T00:00:29.230Z","updated_at":"2026-07-24T16:01:12.781Z","avatar_url":"https://github.com/Rev4N1.png","language":"C++","funding_links":["https://github.com/sponsors/Rev4N1","https://www.paypal.me/Rev4N1"],"categories":["App Patches and Mods"],"sub_categories":["Non-Social App Mods"],"readme":"# Google Photos Unlimited\nA Zygisk module which gives unlimited Google Photos storage.\n\nTo use this module you must have one of the following (latest versions):\n\n- [Magisk](https://github.com/topjohnwu/Magisk) with Zygisk enabled\n- [KernelSU](https://github.com/tiann/KernelSU) with [Zygisk Next](https://github.com/Dr-TSNG/ZygiskNext) or [ReZygisk](https://github.com/PerformanC/ReZygisk) module installed\n- [KernelSU Next](https://github.com/KernelSU-Next/KernelSU-Next) with [Zygisk Next](https://github.com/Dr-TSNG/ZygiskNext) or [ReZygisk](https://github.com/PerformanC/ReZygisk) module installed\n- [APatch](https://github.com/bmax121/APatch) with [Zygisk Next](https://github.com/Dr-TSNG/ZygiskNext) or [ReZygisk](https://github.com/PerformanC/ReZygisk) module installed\n\n\u003e [!IMPORTANT]\n\u003e **KernelSU Next 3.0.0+ users:** Starting with version 3.0.0, KernelSU Next removed its built-in module mount system (see [KernelSU-Next#1078](https://github.com/KernelSU-Next/KernelSU-Next/issues/1078)). Without a mount system, this module's `/system` files — including the `pixel_2016_exclusive.xml` that grants the unlimited-storage entitlement — are **not applied**, so the spoof will be incomplete (Google Photos may show the spoofed Pixel model but still not grant unlimited storage).\n\u003e\n\u003e To restore mounting, install a metamount module such as [Magic Mount (magic_mount_rs)](https://github.com/KernelSU-Modules-Repo/magic_mount_rs), then reboot. After that, clear Google Photos data so it re-checks eligibility.\n\u003e\n\u003e This does not affect Magisk, classic KernelSU (GKI), or APatch, which retain their own mount systems.\n\n## About module\n\nIt injects a classes.dex file to modify fields in the android.os.Build class. Also, it creates a hook in the native code to modify system properties. These are spoofed only into Google Photos.\n\n## Verifying unlimited storage\n\nAfter installing (and rebooting), open Google Photos and confirm it reports unlimited / original-quality backup.\n\n\u003e [!NOTE]\n\u003e Recent Google Photos versions no longer surface the unlimited-storage status on the home screen. To check it, go to **Photos → Profile / Settings → Backup**, where the storage tier (e.g. \"Original quality\" / unlimited) is now shown.\n\nIf it isn't working, clear Google Photos app data and reboot, then check again.\n\n## About 'custom.app_replace_list.txt' file\n\nYou can customize the included default [app_replace_list.txt](https://raw.githubusercontent.com/Rev4N1/GPhotos-Unlimited/main/module/app_replace_list.txt) from the module directory (/data/adb/modules/unlimitedphotos) then rename it to custom.app_replace_list.txt to systemlessly replace any additional conflicting custom ROM spoof injection app paths to disable them.\n\n## Troubleshooting\n\nMake sure Google Photos (com.google.android.apps.photos) is NOT on the Magisk DenyList if Enforce DenyList is enabled since this interferes with the module; the module does prevent this using scripts but it only happens once during each reboot.\n\n### Failing to work (on KernelSU/APatch)\n\n- Disable Zygisk Next\n- Reboot\n- Enable Zygisk Next\n- Reboot again\n\n### Read module logs\n\nYou can read module logs using one of these commands directly after boot:\n\n`adb shell \"logcat | grep 'FGP/'\"` or `su -c \"logcat | grep 'FGP/'\"`\n\nAdd a \"verboseLogs\" entry with a value of \"0\", \"1\", \"2\", \"3\" or \"100\" to your custom.fgp.json to enable higher logging levels; \"100\" will dump all Build fields, and all the system properties that Photos is checking.\n\n## About spoofing Advanced Settings\n\nThe advanced spoofing options add granular control over what exactly gets spoofed, allowing one to disable the parts that may conflict with other kinds of spoofing modules. See more in the Details area below.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eDetails\u003c/strong\u003e\u003c/summary\u003e\n\n- Other than for the \"verboseLogs\" entry (see above), they are all 0 (disabled) or 1 (enabled).\n\n- The \"spoofBuild\" entry (default 1) controls spoofing the Build Fields from the fingerprint; the \"spoofProps\" entry (default 0) controls spoofing the System Properties from the fingerprint; the \"spoofProvider\" entry (default 0) controls spoofing the Keystore Provider, and the \"spoofSignature\" entry (default 0) controls spoofing the ROM Signature.\n\n\u003c/details\u003e\n \n\n## Credits\n\nModule scripts were adapted from those of osm0sis's Play Integrity Fork (PIFork) module, please see the commit history of [osm0sis's Play Integrity Fork](https://github.com/osm0sis/PlayIntegrityFork) for proper attribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRev4N1%2FGPhotosUnlimited","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRev4N1%2FGPhotosUnlimited","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRev4N1%2FGPhotosUnlimited/lists"}