mirror of
https://github.com/Ujwal223/FocusGram.git
synced 2026-04-01 09:00:19 +02:00
176 lines
6.6 KiB
Markdown
176 lines
6.6 KiB
Markdown
<div align="center">
|
||
|
||
<img src="assets/images/focusgram.png" alt="FocusGram" width="96" height="96" />
|
||
|
||
# FocusGram
|
||
|
||
**Use social media on your terms.**
|
||
|
||
[](LICENSE)
|
||
[](https://flutter.dev)
|
||
[](https://github.com/ujwal223/focusgram/releases)
|
||
|
||
<a href='https://focusgram.en.uptodown.com/android' title='Download FocusGram'>
|
||
<img src='https://stc.utdstc.com/img/mediakit/download-gio-small.png' alt='Download FocusGram on Uptodown'>
|
||
</a>
|
||
|
||
[Download APK](https://github.com/ujwal223/focusgram/releases) · [View Changelog](CHANGELOG.md) · [Report a Bug](https://github.com/ujwal223/focusgram/issues/new)
|
||
|
||
</div>
|
||
|
||
---
|
||
|
||
Most people don't want to quit Instagram. They want to check their messages, post a story, and leave — without losing an hour to Reels they never meant to watch.
|
||
|
||
FocusGram is an Android app that loads the Instagram website with the distracting parts removed. No private APIs. No data collection. No accounts. Just a cleaner way to use a platform you already use.
|
||
|
||
> FocusGram is free and always will be. If it's saved you some time, show your support by buying me a momo 👉👈.
|
||
>
|
||
> [](https://buymemomo.com/ujwal)
|
||
|
||
<img width="1920" height="1080" alt="FocusGram App Screenshots" src="https://github.com/user-attachments/assets/cffd4012-4cf3-4ba8-aa1a-883e1f85478e" />
|
||
|
||
---
|
||
|
||
## What it does
|
||
|
||
**Focus tools**
|
||
|
||
- Block Reels entirely, or allow them in timed sessions (1–15 min) with daily limits and cooldowns
|
||
- Autoplay blocker — videos won't play until you tap them
|
||
- Minimal Mode — strips everything down to Feed and DMs
|
||
|
||
**Content filtering**
|
||
|
||
- Hide the Explore tab, Reels tab, or Shop tab individually
|
||
- Disable Explore and blur posts entirely
|
||
- Disable Reels entirely
|
||
|
||
**Habit tools**
|
||
|
||
- Screen Time Dashboard — daily usage, 7-day chart, weekly average
|
||
- Grayscale Mode — reduces the visual pull of colour; can be scheduled by time of day
|
||
- Session intentions — optionally set a reason before opening the app
|
||
|
||
**The app itself**
|
||
|
||
- Feels (almost) like a native app, not a browser
|
||
- No blank loading screen — content loads in the background before you get there
|
||
- Instant updates via pull-to-refresh
|
||
- Dark mode follows your system
|
||
|
||
---
|
||
|
||
## Installation
|
||
|
||
### Direct download
|
||
1. Go to the [Releases](https://github.com/ujwal223/focusgram/releases) page
|
||
2. Download `focusgram-release.apk`
|
||
3. Open the file and allow "Install from unknown sources" if prompted
|
||
|
||
### Uptodown
|
||
1. Go to the [FocusGram on Uptodown](https://focusgram.en.uptodown.com/android) page
|
||
2. Click "Get the Latest Version"
|
||
3. Click "Download"
|
||
4. Open the file and allow "Install from unknown sources" if prompted
|
||
|
||
---
|
||
|
||
## Privacy
|
||
|
||
FocusGram has no access to your Instagram account credentials. It loads `instagram.com` inside a standard Android WebView — your login goes directly to Meta's servers, the same as any mobile browser.
|
||
|
||
- No analytics
|
||
- No crash reporting
|
||
- No third-party SDKs
|
||
- No data leaves your device
|
||
|
||
---
|
||
|
||
## Frequently asked questions
|
||
|
||
**Will this get my account banned?**
|
||
Unlikely. FocusGram's traffic is indistinguishable from someone using Instagram in Chrome. It does not use Instagram's private API, does not automate any actions, and does not intercept credentials.
|
||
|
||
**Is this a mod of Instagram's app?**
|
||
No. FocusGram is a separate app that loads `instagram.com` in a WebView. It does not modify Instagram's APK or use any of Meta's proprietary code.
|
||
|
||
**Why is it free?**
|
||
Because it should be. FocusGram is built and maintained by [Ujwal Chapagain](https://github.com/Ujwal223) and released under AGPL-3.0.
|
||
|
||
---
|
||
|
||
## Building from source
|
||
|
||
<details>
|
||
<summary>Technical details and build instructions</summary>
|
||
|
||
### Requirements
|
||
- Flutter stable channel (3.38+)
|
||
- Android SDK
|
||
- NDK 28.2.12676356
|
||
- Android SDK cmdline tools 20
|
||
- Android build tools 34 and 35
|
||
- JDK 17 (Eclipse Adoptium 17.0.17+)
|
||
|
||
### Build
|
||
```bash
|
||
flutter pub get
|
||
flutter build apk --release
|
||
```
|
||
|
||
### Architecture
|
||
FocusGram uses a standard Android System WebView to load `instagram.com`. All features are implemented client-side via:
|
||
- JavaScript injection (autoplay blocking, metadata extraction, SPA navigation monitoring)
|
||
- CSS injection (element hiding, grayscale, scroll behaviour)
|
||
- URL interception via NavigationDelegate (Reels blocking, Explore blocking)
|
||
|
||
Nothing is modified server-side. The app never reads, intercepts, or stores Instagram content beyond what is explicitly listed
|
||
|
||
### Permissions
|
||
|
||
| Permission | Reason |
|
||
|---|---|
|
||
| `INTERNET` | Load instagram.com |
|
||
| `RECEIVE_BOOT_COMPLETED` | Keep session timers accurate after device restart |
|
||
| `WAKE_LOCK` | Keep device awake during active Focus sessions |
|
||
| `FOREGROUND_SERVICE` | Run background service for session tracking |
|
||
|
||
### Stack
|
||
|
||
| | |
|
||
|---|---|
|
||
| Framework | Flutter (Dart) |
|
||
| WebView | flutter_inappwebview (Apache 2.0) |
|
||
| Storage | shared_preferences |
|
||
| License | AGPL-3.0 |
|
||
|
||
</details>
|
||
|
||
---
|
||
|
||
## Legal disclaimer
|
||
|
||
FocusGram is an independent, free, and open-source productivity tool licensed under AGPL-3.0. It is not affiliated with, endorsed by, or associated with Meta Platforms, Inc. or Instagram in any way.
|
||
|
||
**How it works:** FocusGram embeds a standard Android System WebView that loads `instagram.com` — the same website accessible in any mobile browser. All user-facing features are implemented exclusively via client-side modifications and are never transmitted to or processed by Meta's servers.
|
||
|
||
**What we do not do:**
|
||
- Use Instagram's or Meta's private APIs
|
||
- Intercept, read, log, or store user credentials, session data, or any content
|
||
- Modify any server-side Meta or Instagram services
|
||
- Scrape, harvest, or collect any user data
|
||
- Claim ownership of any Meta or Instagram trademarks, logos, or intellectual property — any branding visible within the app is served directly from `instagram.com` and remains the property of Meta Platforms, Inc.
|
||
|
||
Using FocusGram is functionally equivalent to accessing Instagram through a mobile web browser with a content blocker extension. By using FocusGram, you acknowledge that you remain bound by Instagram's own Terms of Service.
|
||
|
||
For legal concerns, contact `notujwal@proton.me` before taking any other action.
|
||
|
||
---
|
||
|
||
## License
|
||
|
||
Copyright © 2025 Ujwal Chapagain
|
||
|
||
Licensed under the [GNU Affero General Public License v3.0](LICENSE). You are free to use, modify, and distribute this software under the same terms.
|