You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,8 @@ Powerful, real-time OSINT suite for tracking every activity on Instagram - from
22
22
23
23
#### Python from PyPI
24
24
25
+
New to Python or unsure what is installed? Follow the [Python install walkthrough](https://misiektoja.github.io/instagram_monitor/installation/#new-to-python-install-everything) first.
26
+
25
27
```sh
26
28
pip install instagram_monitor
27
29
```
@@ -142,17 +144,18 @@ Use [Quick Install & Run](#-quick-install-run) above for first-time setup. The t
142
144
| I want to... | Run this |
143
145
| --- | --- |
144
146
| Try public monitoring without a login |`instagram_monitor <target_insta_user>`|
145
-
| Start targets saved in `TARGET_USERNAMES`|`instagram_monitor --config-file instagram_monitor.conf`|
147
+
| Monitor a target with a logged in session (see stories, reels and follower details) | Import a [browser session](https://misiektoja.github.io/instagram_monitor/configuration/#option-3-session-login-using-browser-cookies-recommended) then run `instagram_monitor -u <your_insta_user> <target_insta_user>`|
148
+
| Monitor targets saved in `TARGET_USERNAMES`|`instagram_monitor --config-file instagram_monitor.conf`|
146
149
| Start a browser control panel without targets |`instagram_monitor --web-dashboard`|
147
-
| Monitor several accounts |`instagram_monitor target_1 target_2` or `instagram_monitor --targets target_1,target_2`|
150
+
| Monitor several accounts without login |`instagram_monitor target_1 target_2` or `instagram_monitor --targets target_1,target_2`|
148
151
| Check the selected login, connectivity and targets |`instagram_monitor --doctor`|
149
-
| See stories, reels and follower details | Import a [browser session](https://misiektoja.github.io/instagram_monitor/configuration/#option-3-session-login-using-browser-cookies-recommended) then run `instagram_monitor -u <your_insta_user> <target_insta_user>`|
152
+
150
153
151
154
Running the tool with no arguments offers the wizard if you have not saved any targets or enabled the Web Dashboard. If targets are already saved, it starts monitoring them.
152
155
153
156
For browser choices, saved targets, configuration backups and setup recovery, see the [full Setup & First Run guide](https://misiektoja.github.io/instagram_monitor/setup-and-first-run/).
154
157
155
-
For container operation, browser profiles, email alerts, Discord, ntfy and advanced settings, see [Configuration](https://misiektoja.github.io/instagram_monitor/configuration/) and [Usage](https://misiektoja.github.io/instagram_monitor/usage/). Keep private webhook URLs in `.env` or enter them through the setup wizard. See [Webhook Notifications](https://misiektoja.github.io/instagram_monitor/usage/#webhook-notifications) for complete setup and testing instructions.
158
+
For container operation, browser profiles, email alerts, Discord, ntfy and advanced settings, see [Configuration](https://misiektoja.github.io/instagram_monitor/configuration/) and [Usage](https://misiektoja.github.io/instagram_monitor/usage/). Keep private webhook URLs in `.env`by using `instagram_monitor --set-webhook-url`or enter them through the setup wizard. See [Webhook Notifications](https://misiektoja.github.io/instagram_monitor/usage/#webhook-notifications) for complete setup and testing instructions.
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,29 @@
1
1
# instagram_monitor release notes
2
2
3
+
This is a high-level summary of the most important changes.
4
+
5
+
# Changes in 3.8 (30 Jul 2026)
6
+
7
+
Version **3.8** strengthens **Discord and ntfy webhook delivery**, adds safer **private URL setup**, improves **proxy IP detection** and brings better notification controls.
8
+
9
+
**Features and improvements**:
10
+
11
+
-**IMPROVE:** Added ordered **proxy IP lookup fallback endpoints** with backward-compatible single-URL configuration, IPv4 and IPv6 validation plus documented privacy controls (thanks [@tomballgithub](https://github.com/tomballgithub), from [#113](https://github.com/misiektoja/instagram_monitor/pull/113))
12
+
-**NEW:** Added private **webhook URL setup** through `--set-webhook-url` with hidden entry and complete HTTPS destination validation
13
+
-**IMPROVE:** Added stricter **webhook request validation** for destinations, avatars, templates, transforms and expanded headers plus Discord mention suppression
14
+
-**IMPROVE:** Added **bounded webhook delivery** with isolated requests, capped rate-limit delays, one retry for temporary failures and automatic provider correction across CLI, Doctor and Web Dashboard flows
15
+
-**IMPROVE:** Added **native ntfy image attachments** with a 5 MiB limit and automatic text-only fallback when image preparation or upload fails
16
+
-**IMPROVE:** Made the **status, follower and error webhook controls** enable webhook delivery for the current run
17
+
-**IMPROVE:** Split the startup notification summary into compact **email and webhook rows** across concise, verbose and logged views
18
+
19
+
**Bug fixes**:
20
+
21
+
-**BUGFIX:** Stopped startup summaries and Web Dashboard setting-change logs from writing private webhook URLs to logs
22
+
-**BUGFIX:** Kept long ntfy messages below its 4 KB attachment boundary, added a visible truncation explanation and preserved complete UTF-8 characters
23
+
-**BUGFIX:** Restored green `On` and red `Off` status cues in compact notification rows without coloring category text
24
+
-**BUGFIX:** Made `SIGHUP` apply rotated proxy credentials to active Instaloader sessions and redetect Discord or ntfy when the private webhook destination changes
25
+
-**BUGFIX:** Made proxy IP failover try every configured endpoint before the long retry delay, reject invalid successful responses without crashing and preserve custom endpoint lists in generated configuration
Copy file name to clipboardExpand all lines: docs/configuration.md
+28-4Lines changed: 28 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -42,6 +42,22 @@ If the same setting appears in more than one place, the item later in this list
42
42
43
43
The `.env` and process environment layer applies only to `SESSION_PASSWORD`, `SMTP_PASSWORD`, `WEBHOOK_URL`, `PROXY_URL` and `NTFY_ACCESS_TOKEN`. For these keys, a value in the selected `.env` file replaces a value that was already exported in the shell. Use `--config-file PATH` and `--env-file PATH` if you do not want automatic file discovery.
44
44
45
+
### Proxy IP Lookup Endpoints
46
+
47
+
When proxy routing is enabled, Instagram Monitor checks the proxy exit address through `IP_ADDRESS_URL`. The setting accepts one complete HTTP or HTTPS URL or an ordered non-empty list:
48
+
49
+
```ini
50
+
IP_ADDRESS_URL = [
51
+
"https://checkip.amazonaws.com",
52
+
"https://api.ipify.org?format=json",
53
+
"https://api.my-ip.io/v2/ip.json",
54
+
]
55
+
```
56
+
57
+
Each retry cycle tries every configured endpoint in order before the long retry delay. A response is accepted only when a recognized JSON field or plain-text body contains a valid IPv4 or IPv6 address. Empty lists, incomplete URLs and URLs with embedded credentials are rejected with an unavailable status instead of crashing monitoring.
58
+
59
+
Each public lookup service can observe the proxy exit IP. Set one trusted endpoint or a self-hosted service if you do not want fallback requests sent to multiple providers. These lookup requests do not include Instagram session credentials.
60
+
45
61
Save one or more monitoring targets through setup or set `TARGET_USERNAMES` yourself:
46
62
47
63
```ini
@@ -175,10 +191,10 @@ Every supported browser can have several profiles with separate cookies. Use one
175
191
176
192
-**Pick by name** with `--browser-profile`. Use the Firefox profile name (e.g. `default-release`) or the Chromium profile directory (e.g. `Default`, `Profile 1`):
A `.env` file is a plain text file that holds private values separately from regular configuration. Store `SESSION_PASSWORD`, `SMTP_PASSWORD`, `WEBHOOK_URL`, `NTFY_ACCESS_TOKEN` and `PROXY_URL` there. Do not commit this file or share it.
242
258
259
+
The recommended way to save a Discord or ntfy destination is:
260
+
261
+
```sh
262
+
instagram_monitor --set-webhook-url
263
+
```
264
+
265
+
Paste the complete HTTPS URL at the hidden prompt. Instagram Monitor validates it then updates only `WEBHOOK_URL`in`.env` without displaying the value. Standard Discord and public `ntfy.sh` URLs selectthe matching request format automatically. Configure `WEBHOOK_PROVIDER`in`instagram_monitor.conf`for a self-hosted or compatible endpoint. Use `--env-file PATH` with this command to selectanother dotenv destination.
266
+
243
267
You can use operating system environment variables instead of a file. Set them with `export` on Linux, Unix, macOS or WSL:
Copy file name to clipboardExpand all lines: docs/index.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,8 @@ Powerful, real-time OSINT suite for tracking every activity on Instagram - from
22
22
23
23
#### Python from PyPI
24
24
25
+
New to Python or unsure what is installed? Follow the [Python install walkthrough](https://misiektoja.github.io/instagram_monitor/installation/#new-to-python-install-everything) first.
0 commit comments