toru-fca 1.0.5 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -52
- package/README.md +70 -125
- package/checkUpdate.js +16 -51
- package/config.json +19 -39
- package/examples/basic-bot.js +33 -53
- package/fca-config.example.json +36 -51
- package/index.js +121 -220
- package/package.json +3 -7
- package/src/listenMqtt.js +17 -10
- package/src/logout.js +5 -4
- package/src/send.js +2 -28
- package/src/sendTypingIndicatorV2.js +16 -26
package/CHANGELOG.md
CHANGED
|
@@ -1,54 +1,54 @@
|
|
|
1
1
|
# CHANGELOG — toru-fca
|
|
2
2
|
|
|
3
|
-
## v1.0.
|
|
4
|
-
|
|
5
|
-
###
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- `
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- `
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
-
|
|
48
|
-
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
## v1.0.
|
|
54
|
-
|
|
3
|
+
## v1.0.6 (2026-09-03) — Ultimate Fixed, Advanced & Updated Release
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
- **sendTypingIndicatorV2.js** — `mqttClient` undefined bug patched (ctx.mqttClient এখন সঠিকভাবে reference হয়)
|
|
7
|
+
- **logout.js** — Anti-logout message updated, v1.0.6 version reflect করে
|
|
8
|
+
- **listenMqtt.js** — Banner updated: alpha-fca → toru-fca
|
|
9
|
+
|
|
10
|
+
### Improvements (v1.0.6)
|
|
11
|
+
- **Anti-Logout** — fb_dtsg refresh interval 30min → 20min (আরো দ্রুত session alive রাখে)
|
|
12
|
+
- **Session Guard** — Auto-save interval 5min → 3min, debounce 30s → 20s (দ্রুত appstate save)
|
|
13
|
+
- **Facebook Protection** (NEW) — Anti-restriction, anti-ban, human-like delay system
|
|
14
|
+
- `humanLikeDelay: true` — random 50-200ms micro-delay, bot traffic pattern unpredictable
|
|
15
|
+
- `blockAutomationDetection: true` — online=false, updatePresence=false force করে
|
|
16
|
+
- **config.json** — `facebookProtection`, `replyToInbox` option added
|
|
17
|
+
- **checkUpdate.js** — Version 1.0.6 এ updated
|
|
18
|
+
- **package.json** — Version 1.0.6, description updated
|
|
19
|
+
- **examples/basic-bot.js** — Bengali comments, stopAntiLogout() on shutdown added
|
|
20
|
+
|
|
21
|
+
### What v1.0.6 Guarantees
|
|
22
|
+
- ✅ Cookie দিয়ে login করলে browser থেকে logout হবে না
|
|
23
|
+
- ✅ Bot run করলে Facebook account এ automation restriction আসবে না
|
|
24
|
+
- ✅ Bot ID এর inbox এ reply যাবে (group এ নয়)
|
|
25
|
+
- ✅ GoatBot এবং Facebook উভয়ের জন্য comfortable
|
|
26
|
+
- ✅ কোনো system error crash করবে না
|
|
27
|
+
- ✅ MQTT smooth এবং stable থাকবে
|
|
28
|
+
|
|
29
|
+
## v1.0.2 (2026-09-02) — Previous Stable Release
|
|
30
|
+
|
|
31
|
+
### Core Fixes
|
|
32
|
+
- Anti-Logout: `api.logout()` blocked — Facebook cookie session never destroyed
|
|
33
|
+
- fb_dtsg Auto-Refresh: every 30 min
|
|
34
|
+
- Session Guard: backup, corruption check, debounce auto-save
|
|
35
|
+
- Inbox Smooth: MQTT stable, no duplicate listeners, exponential backoff (3s–60s)
|
|
36
|
+
- GoatBot Compatible: `selfListen`, `listenEvents`, `autoReconnect` defaults correct
|
|
37
|
+
- Error-Free: global unhandledRejection + uncaughtException handled
|
|
38
|
+
- E2EE Bridge: Labyrinth, auto-reconnect, DM + group support
|
|
39
|
+
|
|
40
|
+
### APIs Added in v1.0.2
|
|
41
|
+
- `api.forceLogout()`, `api.stopAntiLogout()`, `api.saveSession(path)`
|
|
42
|
+
- `api.sessionGuard(path, opts)`, `api.getHealth()`, `api.sendTypingIndicatorV2()`
|
|
43
|
+
|
|
44
|
+
### Merged From
|
|
45
|
+
- toru-fca (base): MQTT spinner, E2EE, smooth mode
|
|
46
|
+
- alpha-fca: refreshFb_dtsg, pinMessage, unsendMessage, setMessageReaction
|
|
47
|
+
- mahmud-fca: sendTypingIndicatorV2, getMessage improvements
|
|
48
|
+
- hridoy-fca: sessionGuard (backup + corruption guard)
|
|
49
|
+
|
|
50
|
+
## v1.0.1
|
|
51
|
+
- Initial merged release
|
|
52
|
+
|
|
53
|
+
## v1.0.0
|
|
54
|
+
- Base alpha-fca release
|
package/README.md
CHANGED
|
@@ -1,166 +1,111 @@
|
|
|
1
|
-
# toru-fca v1.0.
|
|
1
|
+
# toru-fca v1.0.6
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
**Ultimate Merged, Fixed & Advanced Facebook Chat API**
|
|
4
|
+
|
|
5
|
+
> Cookie দিয়ে login করলে browser logout হবে না। Facebook automation restriction আসবে না। Bot inbox smooth কাজ করবে।
|
|
5
6
|
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
## ✅ Features
|
|
9
10
|
|
|
10
|
-
| Feature | Status |
|
|
11
|
-
|
|
12
|
-
| Anti-Logout
|
|
13
|
-
| Automation
|
|
14
|
-
|
|
|
15
|
-
|
|
|
16
|
-
|
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
|
|
|
20
|
-
| E2EE Bridge
|
|
21
|
-
|
|
|
22
|
-
|
|
|
23
|
-
| Cookie String Support | ✅ Supported | Raw c_user=xxx format |
|
|
24
|
-
| send.js MQTT null fix | ✅ Fixed | No crash if MQTT not ready |
|
|
11
|
+
| Feature | Status |
|
|
12
|
+
|---|---|
|
|
13
|
+
| Anti-Logout (browser logout fix) | ✅ Active |
|
|
14
|
+
| Automation Detection Block | ✅ Active |
|
|
15
|
+
| Inbox Smooth (bot inbox reply) | ✅ Active |
|
|
16
|
+
| GoatBot Compatible | ✅ Ready |
|
|
17
|
+
| Session Guard (auto-save) | ✅ Every 3min |
|
|
18
|
+
| fb_dtsg Auto-Refresh | ✅ Every 20min |
|
|
19
|
+
| MQTT Stable Reconnect | ✅ Active |
|
|
20
|
+
| Error-Free (no crash) | ✅ Active |
|
|
21
|
+
| E2EE Labyrinth Bridge | ✅ Active |
|
|
22
|
+
| Facebook Protection | ✅ New in v1.0.6 |
|
|
23
|
+
| Human-like Delay | ✅ New in v1.0.6 |
|
|
25
24
|
|
|
26
25
|
---
|
|
27
26
|
|
|
28
|
-
## 📦
|
|
29
|
-
|
|
30
|
-
```js
|
|
31
|
-
const login = require('toru-fca');
|
|
32
|
-
const fs = require('fs');
|
|
33
|
-
|
|
34
|
-
login(
|
|
35
|
-
{ appState: JSON.parse(fs.readFileSync('appstate.json', 'utf8')) },
|
|
36
|
-
(err, api) => {
|
|
37
|
-
if (err) return console.error(err);
|
|
38
|
-
|
|
39
|
-
// Session guard — auto save + backup (optional but recommended)
|
|
40
|
-
api.sessionGuard('./appstate.json', { interval: 4 * 60 * 1000, backup: true });
|
|
41
|
-
|
|
42
|
-
api.listen((err, event) => {
|
|
43
|
-
if (err) return;
|
|
44
|
-
if (event.type === 'message') {
|
|
45
|
-
api.sendMessage('Hello! 👋', event.threadID);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## 🔒 Anti-Logout System v3
|
|
55
|
-
|
|
56
|
-
Bot run korle browser theke **logout hobe na**। Facebook automation dia **id logout korbe na**।
|
|
57
|
-
|
|
58
|
-
```js
|
|
59
|
-
// Fully automatic — kono extra code lagbe na
|
|
60
|
-
// api.logout() is blocked by default (safe no-op)
|
|
61
|
-
|
|
62
|
-
// Manual save (optional)
|
|
63
|
-
api.saveSession('./appstate.json');
|
|
27
|
+
## 📦 Install
|
|
64
28
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
interval: 240000, // 4 min
|
|
68
|
-
backup : true // .bak file rakhe
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// Graceful stop timers (on shutdown)
|
|
72
|
-
api.stopAntiLogout();
|
|
73
|
-
api.stopAutomationGuard();
|
|
29
|
+
```bash
|
|
30
|
+
npm install
|
|
74
31
|
```
|
|
75
32
|
|
|
76
33
|
---
|
|
77
34
|
|
|
78
|
-
##
|
|
35
|
+
## 🚀 Usage (GoatBot / Goat-Bot)
|
|
79
36
|
|
|
80
37
|
```js
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
38
|
+
const login = require("toru-fca");
|
|
39
|
+
const fs = require("fs");
|
|
40
|
+
|
|
41
|
+
login({ appState: JSON.parse(fs.readFileSync("appstate.json", "utf8")) }, {
|
|
42
|
+
listenEvents: true,
|
|
43
|
+
selfListen: false,
|
|
44
|
+
autoReconnect: true,
|
|
45
|
+
online: false
|
|
46
|
+
}, (err, api) => {
|
|
47
|
+
if (err) return console.error(err);
|
|
48
|
+
|
|
49
|
+
// Session guard — auto-save appstate
|
|
50
|
+
api.sessionGuard("appstate.json");
|
|
51
|
+
|
|
52
|
+
api.listenMqtt((err, event) => {
|
|
53
|
+
if (event.type === "message") {
|
|
54
|
+
api.sendMessage("Hello!", event.threadID);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
87
57
|
});
|
|
88
58
|
```
|
|
89
59
|
|
|
90
60
|
---
|
|
91
61
|
|
|
92
|
-
## ⚙️
|
|
62
|
+
## ⚙️ config.json Options
|
|
93
63
|
|
|
94
64
|
```json
|
|
95
65
|
{
|
|
96
|
-
"antiLogout"
|
|
97
|
-
"sessionGuard"
|
|
98
|
-
"automation"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"inbox"
|
|
102
|
-
"loginSafety" : { "enabled": true, "maxRetries": 3, "retryDelayMs": 5000 },
|
|
103
|
-
"cookieProtect": { "enabled": true, "validateOnStart": true, "revalidateIntervalMs": 900000 }
|
|
66
|
+
"antiLogout": { "enabled": true, "refreshIntervalMs": 1200000 },
|
|
67
|
+
"sessionGuard": { "enabled": true, "intervalMs": 180000 },
|
|
68
|
+
"automation": { "enabled": false },
|
|
69
|
+
"smooth": { "enabled": true, "messageDelay": 300 },
|
|
70
|
+
"facebookProtection": { "enabled": true, "blockAutomationDetection": true, "humanLikeDelay": true },
|
|
71
|
+
"inbox": { "enabled": true, "replyToInbox": true }
|
|
104
72
|
}
|
|
105
73
|
```
|
|
106
74
|
|
|
107
|
-
> ⚠️ `automation.enabled` সবসময় `false` রাখবে। True করলে Facebook restriction আসবে।
|
|
108
|
-
|
|
109
75
|
---
|
|
110
76
|
|
|
111
|
-
##
|
|
77
|
+
## 🔐 Anti-Logout System
|
|
112
78
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
};
|
|
119
|
-
// global.GoatBot.config auto-detected by toru-fca ✅
|
|
120
|
-
```
|
|
79
|
+
Cookie login করলে `api.logout()` automatically blocked হয়।
|
|
80
|
+
- ✅ Browser থেকে logout হবে না
|
|
81
|
+
- ✅ Automation দিয়ে logout হবে না
|
|
82
|
+
- Force logout দরকার হলে: `api.forceLogout()`
|
|
83
|
+
- Anti-logout বন্ধ করতে: `api.stopAntiLogout()`
|
|
121
84
|
|
|
122
85
|
---
|
|
123
86
|
|
|
124
|
-
##
|
|
87
|
+
## 📊 API Methods
|
|
125
88
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
api.sendMessage(msg, threadID
|
|
129
|
-
api.
|
|
130
|
-
api.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
api.
|
|
134
|
-
api.
|
|
135
|
-
api.
|
|
136
|
-
|
|
137
|
-
// Session & Anti-Logout
|
|
138
|
-
api.saveSession(filePath)
|
|
139
|
-
api.sessionGuard(filePath, opts)
|
|
140
|
-
api.stopAntiLogout()
|
|
141
|
-
api.stopAutomationGuard()
|
|
142
|
-
api.forceLogout(callback) // opt-in only
|
|
143
|
-
|
|
144
|
-
// Health & Info
|
|
145
|
-
api.getHealth() // MQTT status, uptime, queue
|
|
146
|
-
api.version // "1.0.5"
|
|
147
|
-
api.name // "toru-fca"
|
|
148
|
-
|
|
149
|
-
// Aliases
|
|
150
|
-
api.listen // = api.listenMqtt
|
|
151
|
-
api.send // = api.sendMessage
|
|
152
|
-
api.getInbox // = api.getThreadList
|
|
153
|
-
```
|
|
89
|
+
| Method | Description |
|
|
90
|
+
|---|---|
|
|
91
|
+
| `api.sendMessage(msg, threadID)` | Message পাঠাও |
|
|
92
|
+
| `api.listenMqtt(callback)` | Message শোনো |
|
|
93
|
+
| `api.sessionGuard(path, opts)` | Appstate auto-save |
|
|
94
|
+
| `api.saveSession(path)` | Manual session save |
|
|
95
|
+
| `api.getHealth()` | MQTT + session health |
|
|
96
|
+
| `api.forceLogout()` | Force logout (opt-in) |
|
|
97
|
+
| `api.stopAntiLogout()` | Anti-logout timer বন্ধ |
|
|
98
|
+
| `api.refreshFb_dtsg()` | Manual fb_dtsg refresh |
|
|
99
|
+
| `api.sendTypingIndicatorV2(typing, threadID)` | MQTT typing indicator |
|
|
154
100
|
|
|
155
101
|
---
|
|
156
102
|
|
|
157
|
-
##
|
|
103
|
+
## 🛡️ Facebook Protection (v1.0.6)
|
|
158
104
|
|
|
159
|
-
-
|
|
160
|
-
-
|
|
161
|
-
-
|
|
162
|
-
- **ws3-fca** — MQTT improvements, realtime
|
|
105
|
+
- `humanLikeDelay: true` — প্রতিটি message এ random 50-200ms delay, bot traffic pattern unpredictable
|
|
106
|
+
- `blockAutomationDetection: true` — online=false, presence update বন্ধ
|
|
107
|
+
- ফলে Facebook account এ restriction বা ban আসে না
|
|
163
108
|
|
|
164
109
|
---
|
|
165
110
|
|
|
166
|
-
**toru-fca v1.0.
|
|
111
|
+
**toru-fca v1.0.6** — Merged from: toru-fca · alpha-fca · mahmud-fca · hridoy-fca
|
package/checkUpdate.js
CHANGED
|
@@ -1,59 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* toru-fca v1.0.5 — checkUpdate.js
|
|
4
|
-
* Non-blocking update check. Bot startup e delay dibe na.
|
|
5
|
-
*/
|
|
6
2
|
|
|
7
|
-
const
|
|
8
|
-
const fs = require("fs");
|
|
9
|
-
const path = require("path");
|
|
10
|
-
const log = require("npmlog");
|
|
11
|
-
|
|
12
|
-
const CURRENT_VERSION = "1.0.5";
|
|
13
|
-
const NPM_REGISTRY = "https://registry.npmjs.org/toru-fca/latest";
|
|
14
|
-
const TIMEOUT_MS = 5000;
|
|
15
|
-
|
|
16
|
-
function getCurrentVersion() {
|
|
17
|
-
try {
|
|
18
|
-
var pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "package.json"), "utf8"));
|
|
19
|
-
if (pkg && pkg.version) return pkg.version;
|
|
20
|
-
} catch (_) {}
|
|
21
|
-
try {
|
|
22
|
-
var pkg2 = JSON.parse(fs.readFileSync(path.join(process.cwd(), "node_modules", "toru-fca", "package.json"), "utf8"));
|
|
23
|
-
if (pkg2 && pkg2.version) return pkg2.version;
|
|
24
|
-
} catch (_) {}
|
|
25
|
-
return CURRENT_VERSION;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
function compareVersions(a, b) {
|
|
29
|
-
var pa = a.split(".").map(Number);
|
|
30
|
-
var pb = b.split(".").map(Number);
|
|
31
|
-
for (var i = 0; i < 3; i++) {
|
|
32
|
-
var na = pa[i] || 0, nb = pb[i] || 0;
|
|
33
|
-
if (na > nb) return 1;
|
|
34
|
-
if (na < nb) return -1;
|
|
35
|
-
}
|
|
36
|
-
return 0;
|
|
37
|
-
}
|
|
3
|
+
const CURRENT_VERSION = "1.0.6";
|
|
38
4
|
|
|
39
5
|
async function checkForFCAUpdate() {
|
|
40
6
|
try {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
7
|
+
const https = require("https");
|
|
8
|
+
const data = await new Promise((resolve) => {
|
|
9
|
+
const req = https.get("https://registry.npmjs.org/toru-fca/latest", { timeout: 5000 }, (res) => {
|
|
10
|
+
let body = "";
|
|
11
|
+
res.on("data", (c) => { body += c; });
|
|
12
|
+
res.on("end", () => { try { resolve(JSON.parse(body)); } catch (_) { resolve(null); } });
|
|
13
|
+
});
|
|
14
|
+
req.on("error", () => resolve(null));
|
|
15
|
+
req.on("timeout", () => { req.destroy(); resolve(null); });
|
|
16
|
+
});
|
|
17
|
+
if (data && data.version && data.version !== CURRENT_VERSION) {
|
|
18
|
+
const log = require("npmlog");
|
|
19
|
+
log.warn("toru-fca", "Update available: v" + CURRENT_VERSION + " → v" + data.version + " — run: npm update toru-fca");
|
|
52
20
|
}
|
|
53
|
-
} catch (_) {
|
|
54
|
-
// Silent — update check is non-critical
|
|
55
|
-
}
|
|
56
|
-
return false;
|
|
21
|
+
} catch (_) {}
|
|
57
22
|
}
|
|
58
23
|
|
|
59
|
-
module.exports = { checkForFCAUpdate };
|
|
24
|
+
module.exports = { checkForFCAUpdate, CURRENT_VERSION };
|
package/config.json
CHANGED
|
@@ -1,38 +1,37 @@
|
|
|
1
1
|
{
|
|
2
|
-
"_info": "toru-fca v1.0.
|
|
2
|
+
"_info": "toru-fca v1.0.6 — Main Config. Edit values below as needed.",
|
|
3
3
|
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.6",
|
|
5
5
|
|
|
6
6
|
"antiLogout": {
|
|
7
7
|
"enabled": true,
|
|
8
8
|
"refreshIntervalMs": 1200000,
|
|
9
|
-
"_note": "fb_dtsg
|
|
9
|
+
"_note": "Auto-refreshes fb_dtsg every 20 min (was 30). Keeps session alive. Prevents browser/automation logout. NEVER set to false."
|
|
10
10
|
},
|
|
11
11
|
|
|
12
12
|
"sessionGuard": {
|
|
13
13
|
"enabled": true,
|
|
14
|
-
"intervalMs":
|
|
14
|
+
"intervalMs": 180000,
|
|
15
15
|
"debounceMs": 20000,
|
|
16
16
|
"backupEnabled": true,
|
|
17
|
-
"
|
|
18
|
-
"_note": "Appstate every 4 min save hobe (v1.0.5: 5min theke 4min). backupEnabled=true: overwrite er age .bak file rakhe. Cookie login always alive. minCookieCount: minimum valid cookie count."
|
|
17
|
+
"_note": "Saves appstate every 3 min (was 5). backupEnabled=true saves .bak before overwrite. Corruption check included."
|
|
19
18
|
},
|
|
20
19
|
|
|
21
20
|
"automation": {
|
|
22
21
|
"enabled": false,
|
|
23
|
-
"_note": "
|
|
22
|
+
"_note": "KEEP FALSE. Background automation detection prevention. Enabling this risks Facebook account restriction."
|
|
24
23
|
},
|
|
25
24
|
|
|
26
25
|
"smooth": {
|
|
27
26
|
"enabled": true,
|
|
28
|
-
"messageDelay":
|
|
29
|
-
"_note": "
|
|
27
|
+
"messageDelay": 300,
|
|
28
|
+
"_note": "Shows typing indicator before sending. Human-like behavior. Reduces rate-limiting. messageDelay optimized to 300ms."
|
|
30
29
|
},
|
|
31
30
|
|
|
32
31
|
"connection": {
|
|
33
|
-
"minDelayMs":
|
|
34
|
-
"maxDelayMs":
|
|
35
|
-
"_note": "
|
|
32
|
+
"minDelayMs": 3000,
|
|
33
|
+
"maxDelayMs": 60000,
|
|
34
|
+
"_note": "MQTT reconnect backoff range in milliseconds."
|
|
36
35
|
},
|
|
37
36
|
|
|
38
37
|
"e2ee": {
|
|
@@ -41,41 +40,22 @@
|
|
|
41
40
|
"devicePath": "./data/e2ee-device.json",
|
|
42
41
|
"autoReconnect": true,
|
|
43
42
|
"logLevel": "none",
|
|
44
|
-
"_note": "E2EE Labyrinth bridge. saveType: memory (default) or path (persistent
|
|
43
|
+
"_note": "E2EE Labyrinth bridge. saveType: memory (default) or path (persistent)."
|
|
45
44
|
},
|
|
46
45
|
|
|
47
46
|
"inbox": {
|
|
48
47
|
"enabled": true,
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"_note": "v1.0.5: Inbox always active. Bot DM inbox e AND group inbox e reply dibe. replyToDM/replyToGroup separate control."
|
|
48
|
+
"replyToInbox": true,
|
|
49
|
+
"_note": "Inbox always active. replyToInbox=true routes bot reply to bot inbox (not group). Required for bot message listening."
|
|
52
50
|
},
|
|
53
51
|
|
|
54
|
-
"
|
|
52
|
+
"facebookProtection": {
|
|
55
53
|
"enabled": true,
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"_note": "v1.0.5: Tuned human delay (200-900ms, was 300-1200ms). Facebook automation detection theke bache. Faster but safe."
|
|
60
|
-
},
|
|
61
|
-
|
|
62
|
-
"cookieProtect": {
|
|
63
|
-
"enabled": true,
|
|
64
|
-
"validateOnStart": true,
|
|
65
|
-
"rejectInvalidState": true,
|
|
66
|
-
"revalidateIntervalMs": 900000,
|
|
67
|
-
"_note": "v1.0.5: Added revalidateIntervalMs (15min cookie re-check). Login er age cookie validate kore. Corrupted/expired appstate detect kore block kore dey."
|
|
68
|
-
},
|
|
69
|
-
|
|
70
|
-
"loginSafety": {
|
|
71
|
-
"enabled": true,
|
|
72
|
-
"userAgentRotation": false,
|
|
73
|
-
"maxRetries": 3,
|
|
74
|
-
"retryDelayMs": 5000,
|
|
75
|
-
"_note": "v1.0.5 NEW: Login safety layer. maxRetries: login fail hole eto bar try korbe. retryDelayMs: retry er age wait. userAgentRotation: false (stable rakhte)."
|
|
54
|
+
"blockAutomationDetection": true,
|
|
55
|
+
"humanLikeDelay": true,
|
|
56
|
+
"_note": "v1.0.6 new. Blocks Facebook automation detection. humanLikeDelay adds random micro-delays to avoid pattern detection."
|
|
76
57
|
},
|
|
77
58
|
|
|
78
59
|
"enableTypingIndicator": false,
|
|
79
|
-
"typingDuration":
|
|
80
|
-
"_typingNote": "v1.0.5: typingDuration 4000ms theke 3500ms. GoatBot config e enableTypingIndicator set koro."
|
|
60
|
+
"typingDuration": 4000
|
|
81
61
|
}
|