{"_id":"shadowx-fca","_rev":"29-ff8feefbd25150b1a33fc97bbc17b562","name":"shadowx-fca","dist-tags":{"latest":"10.6.0"},"versions":{"8.0.0":{"name":"shadowx-fca","version":"8.0.0","keywords":["facebook","chat","api","bot","messenger","unofficial","signal-protocol","mqtt","facebook-chat-api"],"author":{"name":"Mueid Mursalin Rifat"},"license":"MIT","_id":"shadowx-fca@8.0.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"homepage":"https://github.com/mueidmursalinrifat/shadowx-fca#readme","bugs":{"url":"https://github.com/mueidmursalinrifat/shadowx-fca/issues"},"dist":{"shasum":"af0467939ab52486b2bba1d3bd58432503a00fe3","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-8.0.0.tgz","fileCount":174,"integrity":"sha512-JwueMmk5WdA6sj/8fZNlJ7FXUlkOffNU22m9YypfdUppYaeCTP74uicEz9QSnn26tNLp7312Qlspyz8QPj3ftQ==","signatures":[{"sig":"MEYCIQDGwWumdvIPmQz1wqY5f0ZF+8VnFi8C7QoXR0bTTUJCBQIhAPnjhSVtNxO73lFrGepbQzD23hWk/qYLcArLmRJysSxF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33966222},"main":"index.js","engines":{"node":">=16.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/mueidmursalinrifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.17.0","description":"SHADOWX-FCA - Ultimate Facebook Chat API for Node.js. Dev by Dev by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.3.1","dependencies":{"ws":"^8.18.1","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.8.4","chalk":"^4.1.2","koffi":"^3.0.2","npmlog":"^1.2.0","undici":"^8.4.0","cheerio":"^1.0.0-rc.10","request":"^2.88.2","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","form-data":"^4.0.0","sequelize":"^6.37.6","protobufjs":"^8.4.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","yumi-json-bigint":"^1.0.0","https-proxy-agent":"^7.0.6","@signalapp/libsignal-client":"0.70.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_8.0.0_1782678685928_0.5581785837010704","host":"s3://npm-registry-packages-npm-production"}},"9.0.0":{"name":"shadowx-fca","version":"9.0.0","keywords":["facebook","chat","api","bot","messenger","unofficial","fca","shadowx-fca","e2ee","e2eefca","e2eesendmessage"],"author":{"name":"Mueid Mursalin Rifat"},"license":"MIT","_id":"shadowx-fca@9.0.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"homepage":"https://github.com/mueidmursalinrifat/shadowx-fca#readme","bugs":{"url":"https://github.com/mueidmursalinrifat/shadowx-fca/issues"},"dist":{"shasum":"d349a003a90d94517d8e2b2eb8dec3f921dc31b4","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-9.0.0.tgz","fileCount":248,"integrity":"sha512-6ERffBxnksowYGb4CbcXowkMFsDvLdIZC5/H0LXE/jVMX58vZqzgJ+pJBfsE3B2GsRWx6lYOh+Nbx28ptoy5Hg==","signatures":[{"sig":"MEUCIQC0m/k6keNDajMMVcFvQ3OqNaOnRwwd0WzLMdoxZXlpPQIgHIci2M3N7uQKLaF+ZSuVT/1w20htz16RQ1uIre9YxJI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34930592},"main":"index.js","engines":{"node":">=16.0.0"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node index.js","e2eetest":"node e2eetest.js"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"overrides":{"request":{"form-data":"^4.0.0"}},"repository":{"url":"git+https://github.com/mueidmursalinrifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.17.0","description":"Unofficial Facebook Chat API for Node.js — E2EE with auto-reconnect + native binary fallback. Dev by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.3.1","dependencies":{"ws":"^8.18.1","mime":"^3.0.0","mqtt":"^4.3.8","axios":"^1.8.4","chalk":"^4.1.2","koffi":"^3.0.2","npmlog":"^1.2.0","cheerio":"^1.0.0-rc.10","request":"^2.53.0","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","form-data":"^4.0.0","sequelize":"^6.37.6","protobufjs":"^8.4.0","shadowx-fca":"^8.0.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","@signalapp/libsignal-client":"0.70.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_9.0.0_1782767026107_0.8397343728674433","host":"s3://npm-registry-packages-npm-production"}},"10.0.0":{"name":"shadowx-fca","version":"10.0.0","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},"license":"MIT","_id":"shadowx-fca@10.0.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"contributors":[{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},{"url":"Original","name":"DongDev"}],"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"dist":{"shasum":"e2eb7c0e9b085a35446a359c43832bcb949d56e9","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.0.0.tgz","fileCount":241,"integrity":"sha512-blKYocZaE3hyyz18lTy25DGfRzQfBiAic+9ioRey/UgToeZmm/D3EAL54l2emgsh82cHj2+ckbvaiqG72kUSIw==","signatures":[{"sig":"MEQCIBFlwLh1d+cXby6PGWHzVJW/oZfkB8pgbgU+3FGRAkRCAiALAXl2sHXijaw903crRrnhmmyN28j2aALI0YbzV2vCcQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2086096},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.0.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"}},"scripts":{"lint":"eslint .","test":"mocha"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.18.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.13.5","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","sequelize":"^6.37.8","protobufjs":"^8.4.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","axios-cookiejar-support":"^5.0.5","@signalapp/libsignal-client":"0.70.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.2.0","eslint":"^8.50.0"},"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_10.0.0_1784470042845_0.9326687455191967","host":"s3://npm-registry-packages-npm-production"}},"10.1.0":{"name":"shadowx-fca","version":"10.1.0","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},"license":"MIT","_id":"shadowx-fca@10.1.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"contributors":[{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},{"url":"Original","name":"DongDev"}],"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"dist":{"shasum":"a3540735e4702e0ca843ac6c72de3324ef5eb464","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.1.0.tgz","fileCount":257,"integrity":"sha512-82z10hPbRUTEZQyrxfulgP5/ZJZ+InbpQA7ySanPP70+Mo4TTl0/Jgmx0rZbdfTSuJUkWqBuqArE0cpgqWxjRw==","signatures":[{"sig":"MEUCIQCP2Gox7YBO3Cbpz4pc2o50Cnk+gcND5T0tft7cJfSH4QIgePoGkC6she2egIDdn2tY6cgAFWGE0M7SPjC4PwDatrs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2338070},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.0.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"}},"scripts":{"lint":"eslint .","test":"mocha"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.18.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.13.5","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","sequelize":"^6.37.8","protobufjs":"^8.4.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","axios-cookiejar-support":"^5.0.5","@signalapp/libsignal-client":"0.70.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.2.0","eslint":"^8.50.0"},"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_10.1.0_1785505167645_0.729457337837242","host":"s3://npm-registry-packages-npm-production"}},"10.2.0":{"name":"shadowx-fca","version":"10.2.0","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},"license":"MIT","_id":"shadowx-fca@10.2.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"contributors":[{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},{"url":"Original","name":"DongDev"}],"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"dist":{"shasum":"93e9325ac709b66d372156955140cbe95d0a0d84","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.2.0.tgz","fileCount":194,"integrity":"sha512-GxTeX8Khu+F7pmwRPYM+/8iuG7JCulYyCvdk2JMNffMsemI/WzjZs4TLiFq1E9qBPWlnJa4n6eoY89wT/JeUyA==","signatures":[{"sig":"MEQCIEA7gV5OfTPtt9erzAbgxGeCiu3qbxo9frdaFUerhHWdAiB29XlATJqUk+frB9kPUtmAtxEhy/RgKhGG4FXFk2NrGA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2004649},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.0.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"}},"scripts":{"lint":"eslint .","test":"mocha"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.18.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.13.5","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","request":"^2.88.2","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","sequelize":"^6.37.8","protobufjs":"^8.4.0","tough-cookie":"^6.0.2","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","axios-cookiejar-support":"^5.0.5","@signalapp/libsignal-client":"0.70.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.2.0","eslint":"^8.50.0"},"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_10.2.0_1786440720983_0.004896542615844712","host":"s3://npm-registry-packages-npm-production"}},"10.4.0":{"name":"shadowx-fca","version":"10.4.0","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},"license":"MIT","_id":"shadowx-fca@10.4.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"contributors":[{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},{"url":"Original","name":"DongDev"}],"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"dist":{"shasum":"eb6d4df776dbc38f835128e91157058d4746c787","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.4.0.tgz","fileCount":193,"integrity":"sha512-Gz6D9zD5GFEtpLmhNdI53EMWfwgniw3R3voElYhu0Q+Hpr3lCaM/a+NPYhzdA4TkjbncWBqaqWiyqzwwlLd+tw==","signatures":[{"sig":"MEUCIBvHZa1b6tAkpE0WEXSZwl2SHArOAWHkI0Y3fGB8sbp1AiEA0iW+D7rETpkR8huze35CQeJsSwyzyk0JIESiVnADP/8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1982420},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.0.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"}},"scripts":{"lint":"eslint .","test":"mocha"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.18.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.13.5","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","sequelize":"^6.37.8","protobufjs":"^8.4.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","axios-cookiejar-support":"^5.0.5","@signalapp/libsignal-client":"0.70.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.2.0","eslint":"^8.50.0"},"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_10.4.0_1786855467158_0.16033324547830663","host":"s3://npm-registry-packages-npm-production"}},"10.5.0":{"name":"shadowx-fca","version":"10.5.0","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},"license":"MIT","_id":"shadowx-fca@10.5.0","maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"contributors":[{"url":"https://github.com/MueidMursalinRifat","name":"MueidMursalinRifat"},{"url":"Original","name":"DongDev"}],"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"dist":{"shasum":"5af6ee9439eecb507618d0c1731a3e84b99fd43f","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.5.0.tgz","fileCount":194,"integrity":"sha512-bqXut3MiDgFcY0zDhtUWOxgiSqJTlzdi8pHFSTA7pi4HaXfqRXbaelOBQDb5jh4DCDCY6IV8k/UsuWJw9Pcwlw==","signatures":[{"sig":"MEUCIAs/dLw+R7Q+wLOKV/dvaByh8WUcu3gGeZ4J6+0SW1LaAiEAy15MutsHrziF0+gNOwTo2GiBMceeKaZ/pVmhZsTPLqU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2004593},"main":"index.js","types":"index.d.ts","engines":{"node":">=12.0.0"},"exports":{".":{"types":"./index.d.ts","default":"./index.js","require":"./index.js"}},"scripts":{"lint":"eslint .","test":"mocha"},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"repository":{"url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git","type":"git"},"_npmVersion":"11.18.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","directories":{},"_nodeVersion":"26.4.0","dependencies":{"ws":"^8.18.0","mime":"^3.0.0","mqtt":"^5.10.1","axios":"^1.13.5","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","sqlite3":"^5.1.7","bluebird":"^3.7.2","duplexify":"^4.1.3","sequelize":"^6.37.8","protobufjs":"^8.4.0","@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","totp-generator":"^1.0.0","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","axios-cookiejar-support":"^5.0.5","@signalapp/libsignal-client":"0.70.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"mocha":"^10.2.0","eslint":"^8.50.0"},"_npmOperationalInternal":{"tmp":"tmp/shadowx-fca_10.5.0_1786906611255_0.7670791889298969","host":"s3://npm-registry-packages-npm-production"}},"10.6.0":{"name":"shadowx-fca","version":"10.6.0","description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","main":"index.js","types":"index.d.ts","exports":{".":{"require":"./index.js","default":"./index.js","types":"./index.d.ts"}},"scripts":{"test":"mocha","lint":"eslint ."},"repository":{"type":"git","url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git"},"keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"author":{"name":"MueidMursalinRifat","url":"https://github.com/MueidMursalinRifat"},"contributors":[{"name":"MueidMursalinRifat","url":"https://github.com/MueidMursalinRifat"},{"name":"DongDev","url":"Original"}],"license":"MIT","bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","engines":{"node":">=12.0.0"},"dependencies":{"@noble/curves":"^2.2.0","@noble/hashes":"^2.2.0","@signalapp/libsignal-client":"0.70.0","axios":"^1.13.5","axios-cookiejar-support":"^5.0.5","bluebird":"^3.7.2","chalk":"^4.1.2","cheerio":"1.0.0-rc.12","duplexify":"^4.1.3","gradient-string":"^2.0.2","https-proxy-agent":"^4.0.0","mime":"^3.0.0","mqtt":"^5.10.1","protobufjs":"^8.4.0","request":"^2.88.2","sequelize":"^6.37.8","sqlite3":"^5.1.7","totp-generator":"^1.0.0","ws":"^8.18.0"},"devDependencies":{"eslint":"^8.50.0","mocha":"^10.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_id":"shadowx-fca@10.6.0","_nodeVersion":"26.4.0","_npmVersion":"11.19.0","dist":{"integrity":"sha512-lOKVTPrHBC3OYpnrcEb76ceCIj/Lb05n5BRWxWEF2zYq8EJpGHNs0XgoCr4bewa41zzgbI7pBVa4yD8lhi2P5A==","shasum":"ef02ed0c0b4fdfbe95ad7be2967b60d92a30df84","tarball":"https://registry.npmjs.org/shadowx-fca/-/shadowx-fca-10.6.0.tgz","fileCount":228,"unpackedSize":1887697,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFczwXlkAzbE3oWf9HYloFPW4kYntAuakvOYs+Jiz2vHAiEAgyG3Y1ANUBaG9xqBl9lB66NPSrJcHFewAqvbjVnNDGY="}]},"_npmUser":{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"},"directories":{},"maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/shadowx-fca_10.6.0_1788585665073_0.8418954970630999"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T20:31:25.869Z","modified":"2026-09-05T05:21:05.389Z","1.2.0":"2026-03-16T23:21:45.137Z","2.0.0":"2026-03-19T17:17:55.497Z","2.1.0":"2026-03-23T16:30:27.406Z","2.2.0":"2026-04-07T16:37:49.418Z","2.3.0":"2026-04-08T17:50:44.183Z","2.4.0":"2026-04-15T21:22:25.572Z","2.5.0":"2026-04-18T15:54:04.013Z","2.6.0":"2026-04-18T17:50:31.138Z","2.7.0":"2026-04-18T18:17:37.251Z","2.8.0":"2026-04-18T18:52:43.402Z","2.9.0":"2026-04-23T11:30:57.619Z","3.0.0":"2026-05-30T05:57:57.445Z","4.0.0":"2026-05-30T06:47:31.472Z","5.0.0":"2026-05-30T07:35:22.588Z","6.0.0":"2026-05-30T07:57:11.053Z","7.0.0":"2026-05-30T08:37:58.095Z","7.1.0":"2026-05-30T09:05:44.035Z","7.2.0":"2026-05-30T09:19:16.088Z","7.3.0":"2026-05-30T09:30:02.304Z","7.4.0":"2026-05-30T10:55:42.524Z","8.0.0":"2026-06-28T20:31:26.197Z","9.0.0":"2026-06-29T21:03:46.435Z","10.0.0":"2026-07-19T14:07:23.026Z","10.1.0":"2026-07-31T13:39:27.850Z","10.2.0":"2026-08-11T09:32:01.194Z","10.4.0":"2026-08-16T04:44:27.283Z","10.5.0":"2026-08-16T18:56:51.397Z","10.6.0":"2026-09-05T05:21:05.217Z"},"bugs":{"url":"https://github.com/MueidMursalinRifat/shadowx-fca/issues"},"author":{"name":"MueidMursalinRifat","url":"https://github.com/MueidMursalinRifat"},"license":"MIT","homepage":"https://github.com/MueidMursalinRifat/shadowx-fca#readme","keywords":["facebook","chat","api","messenger","bot","unofficial","fca","fca-mueidmursalinrifat","mueidmursalinrifat"],"repository":{"type":"git","url":"git+https://github.com/MueidMursalinRifat/shadowx-fca.git"},"description":"Facebook Chat API - Modified by Mueid Mursalin Rifat","contributors":[{"name":"MueidMursalinRifat","url":"https://github.com/MueidMursalinRifat"},{"name":"DongDev","url":"Original"}],"maintainers":[{"name":"mueidmursalinrifat","email":"mueidmursalinr@gmail.com"}],"readme":"<div align=\"center\">\n\n🚀 shadowx-fca\n\n🔥 The Ultimate Unofficial Facebook Messenger Bot API for Node.js\n⚡ SHADOWX Engine · 🔐 Signal Protocol E2EE · 🛡️ sessionGuard · 🌐 90+ API Methods · ⚡ Zero TypeScript\n✨ Features • 📦 Installation • ⚡ Quick Start • 🔐 E2EE • 🛡️ sessionGuard • 📡 sendBroadcast • 📖 API Reference\n\n</div>\n\n---\n\n🏆 features shadowx-fca\n\n· ✅ ⚡ SHADOWX Engine — Next-gen MQTT core with E2EE & sessionGuard integration\n· ✅ 🔐 Signal Protocol E2EE — Military-grade encryption for Facebook conversations\n· ✅ 🛡️ sessionGuard — Bulletproof appstate protection with corruption detection & auto-backup\n· ✅ 📡 sendBroadcast — Lightning-fast multi-thread broadcasting with smart rate limiting\n· ✅ 🔄 Fixed MQTT race conditions — Say goodbye to \"Connection refused: No subscription existed\"\n· ✅ 🛡️ isActiveClient() guard — Zero stale event processing from zombie connections\n· ✅ ⏱️ Extended connectTimeout — Rock-solid stability even on slow networks\n· ✅ 🔁 autoReconnect — Seamless reconnection on connection drops\n· ✅ 🐐 GoatBot compatible — Drop-in replacement, all API signatures preserved\n· ✅ 🌐 90+ Powerful API methods — Everything from messages to polls, stickers to E2EE\n\n---\n\n✨ Killer Features\n\n· ✅ Complete Messenger API — Messages, reactions, attachments, stickers, polls, pins & more\n· ✅ ⚡ SHADOWX MQTT — Ultra-stable connection with autoReconnect, jitter, & isActiveClient guard\n· ✅ 🔐 E2EE Ready — Full Signal Protocol support (connectE2EE, listenE2EE, e2ee.* methods)\n· ✅ 🛡️ sessionGuard — Automatic appstate preservation, corruption shield & .bak backup system\n· ✅ 📡 sendBroadcast — Parallel/sequential multi-thread messaging with intelligent rate limits\n· ✅ 🤖 MessengerBot — Discord.js/Telegraf-style elegance (.command, .hears, .launch)\n· ✅ 🎯 createFcaClient — Clean namespaced architecture (client.messages, client.threads etc.)\n· ✅ 🐐 GoatBot / Mirai Ready — Seamless drop-in replacement for existing bots\n\n---\n\n📦 Installation\n\n```bash\nnpm install shadowx-fca\n```\n\n💡 Requires Node.js >= 18 for maximum performance and security.\n\n---\n\n⚡ Quick Start\n\n🚀 Classic Setup (GoatBot Compatible)\n\n```javascript\nconst login = require(\"shadowx-fca\");\n\nlogin({ appState: require(\"./account.json\") }, { listenEvents: true }, (err, api) => {\n  if (err) throw err;\n\n  // 🛡️ Activate session protection\n  api.sessionGuard(\"./account.json\", {\n    interval: 3 * 60 * 1000,\n    debounce: 30 * 1000\n  });\n\n  // 🎧 Start listening\n  api.listenMqtt((err, event) => {\n    if (err) throw err;\n    if (event.type === \"message\") api.sendMessage(event.body, event.threadID);\n  });\n});\n```\n\n🔐 With E2EE Encryption\n\n```javascript\nlogin({ appState: require(\"./account.json\") }, { listenEvents: true }, async (err, api) => {\n  if (err) throw err;\n\n  // 🛡️ Protect your session\n  api.sessionGuard(\"./account.json\");\n  \n  // 🔐 Activate end-to-end encryption\n  await api.connectE2EE();\n\n  // 🎧 Listen for both regular & encrypted messages\n  api.listenE2EE((err, event) => {\n    if (err) throw err;\n    if (event.type === \"message\") {\n      if (event.isE2EE) {\n        api.e2ee.sendMessage(event.threadID, \"🔐 Got your encrypted message!\");\n      } else {\n        api.sendMessage(\"📨 Got it!\", event.threadID);\n      }\n    }\n  });\n});\n```\n\n🐐 GoatBot Integration\n\n```javascript\nconst login = require(\"shadowx-fca\");\n\nlogin({ appState }, options, async (err, api) => {\n  if (err) return;\n\n  // 🛡️ Session protection\n  api.sessionGuard(path.join(process.cwd(), \"account.txt\"), {\n    interval: 3 * 60 * 1000,\n    debounce: 30 * 1000\n  });\n\n  // 🔐 Optional: Activate E2EE\n  try { await api.connectE2EE(); } catch (e) {}\n\n  // 🚀 Launch your bot\n  api.listenMqtt(callback);\n});\n```\n\n---\n\n🔐 E2EE — Military-Grade Encrypted Conversations\n\nLeverages Facebook's native Signal Protocol infrastructure for true end-to-end encryption.\n\n🚀 Setup\n\n```javascript\nawait api.connectE2EE();\n// Auto-generates .shadowx/e2ee_device.json\n\nconsole.log(api.e2ee.isConnected()); // ✅ true\n```\n\n🎧 Unified Listener\n\n```javascript\napi.listenE2EE((err, event) => {\n  if (event.type === \"message\") {\n    if (event.isE2EE) {\n      api.e2ee.sendMessage(event.threadID, \"🔐 Encrypted reply incoming!\");\n    } else {\n      api.sendMessage(\"📨 Normal reply!\", event.threadID);\n    }\n  }\n});\n```\n\n🔧 E2EE Power Methods\n\n```javascript\nawait api.e2ee.sendMessage(threadID, \"🔒 Secret message!\");\nawait api.e2ee.sendMessage(threadID, { body: \"📸 Encrypted photo!\", attachment: fs.createReadStream(\"photo.jpg\") });\nawait api.e2ee.sendReaction(threadID, messageID, \"❤️\");\nawait api.e2ee.sendTyping(threadID, true);\nawait api.e2ee.unsendMessage(messageID, threadID);\nawait api.e2ee.editMessage(threadID, messageID, \"✏️ Updated securely!\");\napi.e2ee.isConnected(); // Check connection status\nawait api.e2ee.disconnect(); // Graceful shutdown\n```\n\n---\n\n🛡️ sessionGuard — Your Session's Bodyguard\n\nNever lose your session again! Protects against appstate corruption and silent logouts.\n\n```javascript\n// 🛡️ Basic protection\napi.sessionGuard(\"./account.json\");\n\n// ⚙️ Custom configuration\napi.sessionGuard(\"./account.json\", {\n  interval: 3 * 60 * 1000,  // Save every 3 minutes\n  debounce: 30 * 1000       // Wait 30s after last activity\n});\n```\n\n🎯 What It Does:\n\n· 💾 Auto-saves appstate every N minutes\n· ⚡ Smart saving after each successful sendMessage (debounced)\n· 🛡️ Corruption guard — never overwrites good data with corrupted state\n· 📦 Auto-backup — creates .bak before every overwrite\n· 🔄 Recovery ready — restore from backup instantly\n\n```javascript\napi.saveSession();           // 💾 Force immediate save\napi.restoreSessionBackup();  // 📦 Restore from .bak file\napi.stopSessionGuard();      // ⏹️ Stop the protection timer\n```\n\n---\n\n📡 sendBroadcast — Mass Messaging Made Easy\n\nSmart rate-limited broadcasting with multi-thread support.\n\n```javascript\nconst result = await api.sendBroadcast(\n  \"📢 Hello everyone!\",\n  [\"THREAD_1\", \"THREAD_2\", \"THREAD_3\"],\n  {\n    delay: 2000,     // ⏱️ 2s between batches\n    parallel: 2,     // 🔄 2 concurrent sends\n    onEach: (err, info, id) => {\n      console.log(err ? `❌ Failed: ${id}` : `✅ Sent: ${id}`);\n    }\n  }\n);\n\nconsole.log(`📊 ${result.sent.length}/${result.total} messages delivered`);\n```\n\n---\n\n🤖 MessengerBot — Elegant Bot Framework\n\nBuild sophisticated bots with Discord.js/Telegraf-style syntax.\n\n```javascript\nconst { createMessengerBot } = require(\"shadowx-fca\");\n\nconst bot = await createMessengerBot(\n  { appState: require(\"./account.json\") },\n  { commandPrefix: \"/\", stopOnSignals: true }\n);\n\n// 🎯 Command handling\nbot.command(\"ping\", async ctx => await ctx.replyAsync(\"🏓 Pong!\"));\n\n// 👂 Pattern matching\nbot.hears(/hello/i, async ctx => await ctx.replyAsync(\"👋 Hi there!\"));\n\n// 📡 Event listening\nbot.on(\"messageCreate\", event => console.log(`📨 ${event.body}`));\n\n// 🚀 Launch your bot\nawait bot.launch({ stopOnSignals: true });\n```\n\n---\n\n🎯 createFcaClient — Clean Architecture\n\nNamespaced API design for better code organization.\n\n```javascript\nconst { createFcaClient } = require(\"shadowx-fca\");\nconst client = createFcaClient(api);\n\n// 📨 Messaging\nawait client.messages.send(\"Hello!\", threadID);\nawait client.messages.react(\"❤️\", messageID, threadID);\n\n// 👥 Thread management\nawait client.threads.getInfo(threadID);\n\n// 👤 User operations\nawait client.users.getInfo(userID);\n\n// ⚙️ Account settings\nawait client.account.refreshDtsg();\n```\n\n---\n\n📖 API Reference\n\n💬 Messaging Arsenal\n\n```javascript\n// 📝 Text Messages\napi.sendMessage(\"Hello!\", threadID);\napi.sendMessage({ body: \"📸 Photo!\", attachment: fs.createReadStream(\"photo.jpg\") }, threadID);\napi.sendMessage({ body: \"Hey @John\", mentions: [{ id: \"uid\", tag: \"@John\", fromIndex: 4 }] }, threadID);\n\n// 🎨 Rich Media\napi.sendMessage({ sticker: \"369239263222822\" }, threadID);\napi.sendMessage({ location: { latitude: 23.8, longitude: 90.4, current: true } }, threadID);\napi.sendGif(\"https://media.giphy.com/xyz.gif\", threadID);\n\n// 📁 File Sharing\napi.sendLocation(23.8, 90.4, threadID);\napi.sendImage(\"./photo.jpg\", threadID, \"📸 Check this!\");\napi.sendVideo(\"./video.mp4\", threadID);\napi.sendAudio(\"./voice.ogg\", threadID);\napi.sendFile(\"./doc.pdf\", threadID);\n\n// 🔗 Links & Contacts\napi.shareLink(\"https://github.com\", threadID, \"🌟 Amazing repo!\");\napi.shareContact(\"🤝 Meet my friend!\", userID, threadID);\n\n// 📡 Broadcasting\napi.sendBroadcast(\"📢 Announcement!\", [\"tid1\", \"tid2\"], { delay: 2000 });\n```\n\n⚡ Message Actions\n\n```javascript\n// ✏️ Editing & Removal\napi.editMessage(\"✏️ Updated text\", messageID);\napi.unsendMessage(messageID);\napi.deleteMessage([messageID]);\n\n// 😍 Reactions\napi.setMessageReaction(\"😍\", messageID, threadID);\napi.setMessageReaction(\"\", messageID);  // Remove reaction\n\n// 📥 Retrieval\napi.getMessage(threadID, messageID);\napi.forwardAttachment(attachmentID, [userID]);\napi.uploadAttachment([fs.createReadStream(\"photo.jpg\")]);\n```\n\n👀 Read Receipts & Typing\n\n```javascript\napi.markAsRead(threadID);\napi.markAsReadAll();\napi.markAsDelivered(threadID, messageID);\napi.markAsSeen();\napi.sendTypingIndicator(threadID, true);\n```\n\n👥 Thread Management\n\n```javascript\n// 📊 Information\napi.getThreadInfo(threadID);\napi.getThreadList(10, null, [\"INBOX\"]);\napi.getThreadHistory(threadID, 20);\n\n// 🏗️ Creation & Deletion\napi.createGroup(\"🎉 New Group!\", [\"uid1\", \"uid2\"]);\napi.deleteThread(threadID);\n\n// ⚙️ Settings\napi.muteThread(threadID, 3600);\napi.changeArchivedStatus(threadID, true);\napi.handleMessageRequest(threadID, true);\napi.searchForThread(\"🔍 query\");\n```\n\n🎨 Thread Customization\n\n```javascript\n// 🏷️ Basic Customization\napi.setTitle(\"🌟 New Name\", threadID);\napi.changeThreadColor(\"#0084FF\", threadID);\napi.changeThreadEmoji(\"🔥\", threadID);\napi.changeNickname(\"👑 The Boss\", threadID, userID);\napi.changeGroupImage(fs.createReadStream(\"group.jpg\"), threadID);\n\n// 👑 Admin Controls\napi.changeAdminStatus(threadID, userID, true);\napi.addUserToGroup(userID, threadID);\napi.removeUserFromGroup(userID, threadID);\n\n// 📌 Pins & Polls\napi.createPoll(\"❓ Question?\", threadID, { \"Yes\": false, \"No\": false });\napi.pinMessage(messageID, threadID);\napi.unpinMessage(messageID, threadID);\n```\n\n👤 User Operations\n\n```javascript\n// 🔍 Information\napi.getUserInfo(userID);\napi.getUserID(\"John Doe\", callback);\napi.getUID(\"https://facebook.com/zuck\");\napi.getFriendsList();\napi.getAvatarUser(userID);\napi.getProfileInfo(userID);\napi.getPublicData(userID);\n\n// 🤝 Social Actions\napi.sendFriendRequest(userID);\napi.handleFriendRequest(userID, true);\napi.changeBlockedStatus(userID, true);\napi.followUser(userID);\napi.unfollowUser(userID);\napi.unfriend(userID);\n```\n\n🌐 Social Interactions\n\n```javascript\napi.reactToPost(postID, \"❤️\");\napi.reactToComment(commentID, \"😂\");\napi.postComment(postID, \"💬 Great post!\");\napi.sharePost(postID, \"📤 Check this out!\");\n```\n\n⚙️ Account & Configuration\n\n```javascript\n// 🔧 Account\napi.getCurrentUserID();\napi.getAppState();\napi.setOptions({ listenTyping: true });\napi.logout();\napi.refreshFb_dtsg();\n\n// 🧩 Extensions\napi.addExternalModule(\"myFunc\", (defaultFuncs, api, ctx) => {\n  return function(text, threadID) {\n    return api.sendMessage(\"[🤖 BOT] \" + text, threadID);\n  };\n});\n```\n\n🌐 HTTP Utilities\n\n```javascript\napi.httpGet(url, params, callback);\napi.httpPost(url, form, callback);\napi.httpPostFormData(url, form, callback);\napi.uploadImageToImgbb(imageUrl);\n```\n\n---\n\n📋 Login Options\n\n⚙️ Option 🎯 Type 🔧 Default 📝 Description\nselfListen boolean false 👂 Receive your own sent messages\nlistenEvents boolean true 📡 Receive thread/group events\nlistenTyping boolean false ⌨️ Receive typing indicator events\nupdatePresence boolean false 🟢 Receive online/offline presence\nautoMarkDelivery boolean false ✅ Auto-mark messages as delivered\nautoMarkRead boolean false 👁️ Auto-mark threads as read\nautoReconnect boolean true 🔁 Auto-reconnect MQTT on disconnect\nonline boolean false 🟢 Appear as online to others\nemitReady boolean false 🎯 Emit ready event on MQTT connect\nproxy string — 🌐 HTTP proxy URL\nuserAgent string Safari UA 🖥️ Override HTTP User-Agent\n\n---\n\n📄 License\n\nMIT License — Free to use, modify, and distribute!\n\nshadowx-fca crafted with ❤️ by MueidMursalinRifat\n\n⚡ SHADOWX Engine — MIT License\n\n🚫 Unauthorized copying or redistribution without proper credit is strictly prohibited.\n\n---\n\n<div align=\"center\">\n\n🌟 Crafted with passion by MueidMursalinRifat\n\n💡 Star us on GitHub • 🐛 Report issues • 🤝 Contribute\n\n</div>","readmeFilename":"README.md"}