nodejs-insta-private-api-mqt 1.3.83 → 1.3.84
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/dist-ts/dist/constants/constants.js +341 -0
- package/dist-ts/dist/constants/index.js +53 -0
- package/dist-ts/dist/core/client.js +437 -0
- package/dist-ts/dist/core/nav-chain.js +252 -0
- package/dist-ts/dist/core/repository.js +6 -0
- package/dist-ts/dist/core/request.js +358 -0
- package/dist-ts/dist/core/state.js +1428 -0
- package/dist-ts/dist/core/utils.js +723 -0
- package/dist-ts/dist/downloadMedia.js +336 -0
- package/dist-ts/dist/errors/index.js +37 -0
- package/dist-ts/dist/extend.js +157 -0
- package/dist-ts/dist/fbns/fbns.client.events.js +2 -0
- package/dist-ts/dist/fbns/fbns.client.js +237 -0
- package/dist-ts/dist/fbns/fbns.device-auth.js +59 -0
- package/dist-ts/dist/fbns/fbns.types.js +2 -0
- package/dist-ts/dist/fbns/fbns.utilities.js +78 -0
- package/dist-ts/dist/fbns/index.js +24 -0
- package/dist-ts/dist/index.js +137 -0
- package/dist-ts/dist/mqtt-shim.js +14 -0
- package/dist-ts/dist/mqttot/index.js +24 -0
- package/dist-ts/dist/mqttot/mqttot.client.js +322 -0
- package/dist-ts/dist/mqttot/mqttot.connect.request.packet.js +8 -0
- package/dist-ts/dist/mqttot/mqttot.connect.response.packet.js +23 -0
- package/dist-ts/dist/mqttot/mqttot.connection.js +68 -0
- package/dist-ts/dist/realtime/commands/commands.js +67 -0
- package/dist-ts/dist/realtime/commands/direct.commands.js +415 -0
- package/dist-ts/dist/realtime/commands/enhanced.direct.commands.js +1529 -0
- package/dist-ts/dist/realtime/commands/index.js +23 -0
- package/dist-ts/dist/realtime/delta-sync.manager.js +260 -0
- package/dist-ts/dist/realtime/features/dm-sender.js +94 -0
- package/dist-ts/dist/realtime/features/error-handler.js +167 -0
- package/dist-ts/dist/realtime/features/gap-handler.js +60 -0
- package/dist-ts/dist/realtime/features/persistent-logger.js +174 -0
- package/dist-ts/dist/realtime/features/presence.manager.js +68 -0
- package/dist-ts/dist/realtime/features/session-health-monitor.js +327 -0
- package/dist-ts/dist/realtime/index.js +21 -0
- package/dist-ts/dist/realtime/messages/app-presence.event.js +2 -0
- package/dist-ts/dist/realtime/messages/index.js +23 -0
- package/dist-ts/dist/realtime/messages/message-sync.message.js +42 -0
- package/dist-ts/dist/realtime/messages/realtime-sub.direct.data.js +2 -0
- package/dist-ts/dist/realtime/messages/thread-update.message.js +2 -0
- package/dist-ts/dist/realtime/mixins/index.js +23 -0
- package/dist-ts/dist/realtime/mixins/message-sync.mixin.js +585 -0
- package/dist-ts/dist/realtime/mixins/mixin.js +40 -0
- package/dist-ts/dist/realtime/mixins/presence-typing.mixin.js +29 -0
- package/dist-ts/dist/realtime/mixins/realtime-sub.mixin.js +171 -0
- package/dist-ts/dist/realtime/parsers/graphql-parser.js +43 -0
- package/dist-ts/dist/realtime/parsers/graphql.parser.js +22 -0
- package/dist-ts/dist/realtime/parsers/index.js +26 -0
- package/dist-ts/dist/realtime/parsers/iris-parser.js +43 -0
- package/dist-ts/dist/realtime/parsers/iris.parser.js +9 -0
- package/dist-ts/dist/realtime/parsers/json-parser.js +43 -0
- package/dist-ts/dist/realtime/parsers/json.parser.js +9 -0
- package/dist-ts/dist/realtime/parsers/parser.js +2 -0
- package/dist-ts/dist/realtime/parsers/region-hint-parser.js +43 -0
- package/dist-ts/dist/realtime/parsers/region-hint.parser.js +14 -0
- package/dist-ts/dist/realtime/parsers/skywalker-parser.js +43 -0
- package/dist-ts/dist/realtime/parsers/skywalker.parser.js +14 -0
- package/dist-ts/dist/realtime/parsers-advanced.js +138 -0
- package/dist-ts/dist/realtime/proto-parser.js +186 -0
- package/dist-ts/dist/realtime/protocols/iris.handshake.js +76 -0
- package/dist-ts/dist/realtime/protocols/skywalker.protocol.js +96 -0
- package/dist-ts/dist/realtime/realtime.client.events.js +2 -0
- package/dist-ts/dist/realtime/realtime.client.js +2117 -0
- package/dist-ts/dist/realtime/realtime.service.js +408 -0
- package/dist-ts/dist/realtime/reconnect.manager.js +72 -0
- package/dist-ts/dist/realtime/session.manager.js +106 -0
- package/dist-ts/dist/realtime/subscriptions/graphql.subscription.js +98 -0
- package/dist-ts/dist/realtime/subscriptions/index.js +22 -0
- package/dist-ts/dist/realtime/subscriptions/skywalker.subscription.js +12 -0
- package/dist-ts/dist/realtime/topic-map.js +57 -0
- package/dist-ts/dist/realtime/topic.js +76 -0
- package/dist-ts/dist/repositories/account.repository.js +1267 -0
- package/dist-ts/dist/repositories/bloks.repository.js +66 -0
- package/dist-ts/dist/repositories/captcha.repository.js +40 -0
- package/dist-ts/dist/repositories/challenge.repository.js +108 -0
- package/dist-ts/dist/repositories/clip.repository.js +134 -0
- package/dist-ts/dist/repositories/close-friends.repository.js +41 -0
- package/dist-ts/dist/repositories/collection.repository.js +64 -0
- package/dist-ts/dist/repositories/direct-thread.repository.js +423 -0
- package/dist-ts/dist/repositories/direct.repository.js +246 -0
- package/dist-ts/dist/repositories/explore.repository.js +60 -0
- package/dist-ts/dist/repositories/fbsearch.repository.js +124 -0
- package/dist-ts/dist/repositories/feed.repository.js +237 -0
- package/dist-ts/dist/repositories/friendship.repository.js +277 -0
- package/dist-ts/dist/repositories/fundraiser.repository.js +38 -0
- package/dist-ts/dist/repositories/hashtag.repository.js +80 -0
- package/dist-ts/dist/repositories/highlights.repository.js +100 -0
- package/dist-ts/dist/repositories/insights.repository.js +66 -0
- package/dist-ts/dist/repositories/location.repository.js +67 -0
- package/dist-ts/dist/repositories/media.repository.js +370 -0
- package/dist-ts/dist/repositories/multiple-accounts.repository.js +36 -0
- package/dist-ts/dist/repositories/news.repository.js +32 -0
- package/dist-ts/dist/repositories/note.repository.js +51 -0
- package/dist-ts/dist/repositories/notification.repository.js +77 -0
- package/dist-ts/dist/repositories/share.repository.js +34 -0
- package/dist-ts/dist/repositories/signup.repository.js +178 -0
- package/dist-ts/dist/repositories/story.repository.js +268 -0
- package/dist-ts/dist/repositories/timeline.repository.js +57 -0
- package/dist-ts/dist/repositories/totp.repository.js +124 -0
- package/dist-ts/dist/repositories/track.repository.js +50 -0
- package/dist-ts/dist/repositories/upload.repository.js +191 -0
- package/dist-ts/dist/repositories/user.repository.js +332 -0
- package/dist-ts/dist/sendmedia/index.js +24 -0
- package/dist-ts/dist/sendmedia/sendFile.js +56 -0
- package/dist-ts/dist/sendmedia/sendPhoto.js +132 -0
- package/dist-ts/dist/sendmedia/sendRavenPhoto.js +133 -0
- package/dist-ts/dist/sendmedia/sendRavenVideo.js +136 -0
- package/dist-ts/dist/sendmedia/uploadPhoto.js +89 -0
- package/dist-ts/dist/sendmedia/uploadfFile.js +108 -0
- package/dist-ts/dist/services/live.service.js +113 -0
- package/dist-ts/dist/services/search.service.js +91 -0
- package/dist-ts/dist/shared/index.js +98 -0
- package/dist-ts/dist/shared/shared.js +85 -0
- package/dist-ts/dist/thrift/index.js +23 -0
- package/dist-ts/dist/thrift/thrift.js +105 -0
- package/dist-ts/dist/thrift/thrift.reading.js +339 -0
- package/dist-ts/dist/thrift/thrift.writing.js +393 -0
- package/dist-ts/dist/types/index.js +276 -0
- package/dist-ts/dist/useMultiFileAuthState.js +1878 -0
- package/dist-ts/dist/utils/index.js +244 -0
- package/dist-ts/examples/listen-to-messages.js +73 -0
- package/package.json +1 -1
- package/src-ts/dist/realtime/protocols/proto-definitions.ts +80 -0
- package/src-ts/dist/utils/helper-1.ts +1 -0
- package/src-ts/dist/utils/helper-10.ts +1 -0
- package/src-ts/dist/utils/helper-11.ts +1 -0
- package/src-ts/dist/utils/helper-12.ts +1 -0
- package/src-ts/dist/utils/helper-13.ts +1 -0
- package/src-ts/dist/utils/helper-14.ts +1 -0
- package/src-ts/dist/utils/helper-15.ts +1 -0
- package/src-ts/dist/utils/helper-16.ts +1 -0
- package/src-ts/dist/utils/helper-17.ts +1 -0
- package/src-ts/dist/utils/helper-18.ts +1 -0
- package/src-ts/dist/utils/helper-19.ts +1 -0
- package/src-ts/dist/utils/helper-2.ts +1 -0
- package/src-ts/dist/utils/helper-20.ts +1 -0
- package/src-ts/dist/utils/helper-21.ts +1 -0
- package/src-ts/dist/utils/helper-22.ts +1 -0
- package/src-ts/dist/utils/helper-23.ts +1 -0
- package/src-ts/dist/utils/helper-24.ts +1 -0
- package/src-ts/dist/utils/helper-25.ts +1 -0
- package/src-ts/dist/utils/helper-26.ts +1 -0
- package/src-ts/dist/utils/helper-27.ts +1 -0
- package/src-ts/dist/utils/helper-28.ts +1 -0
- package/src-ts/dist/utils/helper-29.ts +1 -0
- package/src-ts/dist/utils/helper-3.ts +1 -0
- package/src-ts/dist/utils/helper-30.ts +1 -0
- package/src-ts/dist/utils/helper-4.ts +1 -0
- package/src-ts/dist/utils/helper-5.ts +1 -0
- package/src-ts/dist/utils/helper-6.ts +1 -0
- package/src-ts/dist/utils/helper-7.ts +1 -0
- package/src-ts/dist/utils/helper-8.ts +1 -0
- package/src-ts/dist/utils/helper-9.ts +1 -0
- package/src-ts/dist/utils/insta-mqtt-helper.ts +128 -0
- package/src-ts/examples/listen-to-messages.ts +86 -0
- package/dist/errors/index.d.ts +0 -16
- package/dist/errors/index.js.map +0 -1
- package/dist/fbns/fbns.client.d.ts +0 -32
- package/dist/fbns/fbns.client.events.d.ts +0 -41
- package/dist/fbns/fbns.client.events.js.map +0 -1
- package/dist/fbns/fbns.client.js.map +0 -1
- package/dist/fbns/fbns.device-auth.d.ts +0 -17
- package/dist/fbns/fbns.device-auth.js.map +0 -1
- package/dist/fbns/fbns.types.d.ts +0 -83
- package/dist/fbns/fbns.types.js.map +0 -1
- package/dist/fbns/fbns.utilities.d.ts +0 -2
- package/dist/fbns/fbns.utilities.js.map +0 -1
- package/dist/fbns/index.d.ts +0 -4
- package/dist/fbns/index.js.map +0 -1
- package/dist/mqtt-shim.d.ts +0 -96
- package/dist/mqttot/index.d.ts +0 -4
- package/dist/mqttot/index.js.map +0 -1
- package/dist/mqttot/mqttot.client.d.ts +0 -39
- package/dist/mqttot/mqttot.client.js.map +0 -1
- package/dist/mqttot/mqttot.connect.request.packet.d.ts +0 -7
- package/dist/mqttot/mqttot.connect.request.packet.js.map +0 -1
- package/dist/mqttot/mqttot.connect.response.packet.d.ts +0 -7
- package/dist/mqttot/mqttot.connect.response.packet.js.map +0 -1
- package/dist/mqttot/mqttot.connection.d.ts +0 -57
- package/dist/mqttot/mqttot.connection.js.map +0 -1
- package/dist/package.json +0 -59
- package/dist/realtime/commands/commands.d.ts +0 -15
- package/dist/realtime/commands/commands.js.map +0 -1
- package/dist/realtime/commands/direct.commands.d.ts +0 -75
- package/dist/realtime/commands/direct.commands.js.map +0 -1
- package/dist/realtime/commands/enhanced.direct.commands.js.bak +0 -967
- package/dist/realtime/commands/index.d.ts +0 -2
- package/dist/realtime/commands/index.js.map +0 -1
- package/dist/realtime/messages/app-presence.event.d.ts +0 -9
- package/dist/realtime/messages/app-presence.event.js.map +0 -1
- package/dist/realtime/messages/index.d.ts +0 -3
- package/dist/realtime/messages/index.js.map +0 -1
- package/dist/realtime/messages/message-sync.message.d.ts +0 -222
- package/dist/realtime/messages/message-sync.message.js.map +0 -1
- package/dist/realtime/messages/realtime-sub.direct.data.d.ts +0 -11
- package/dist/realtime/messages/realtime-sub.direct.data.js.map +0 -1
- package/dist/realtime/messages/thread-update.message.d.ts +0 -68
- package/dist/realtime/messages/thread-update.message.js.map +0 -1
- package/dist/realtime/mixins/index.d.ts +0 -3
- package/dist/realtime/mixins/index.js.map +0 -1
- package/dist/realtime/mixins/message-sync.mixin.d.ts +0 -8
- package/dist/realtime/mixins/message-sync.mixin.js.map +0 -1
- package/dist/realtime/mixins/mixin.d.ts +0 -19
- package/dist/realtime/mixins/mixin.js.map +0 -1
- package/dist/realtime/mixins/realtime-sub.mixin.d.ts +0 -8
- package/dist/realtime/mixins/realtime-sub.mixin.js.map +0 -1
- package/dist/realtime/parsers/graphql.parser.d.ts +0 -15
- package/dist/realtime/parsers/graphql.parser.js.map +0 -1
- package/dist/realtime/parsers/index.d.ts +0 -6
- package/dist/realtime/parsers/index.js.map +0 -1
- package/dist/realtime/parsers/iris.parser.d.ts +0 -17
- package/dist/realtime/parsers/iris.parser.js.map +0 -1
- package/dist/realtime/parsers/json.parser.d.ts +0 -6
- package/dist/realtime/parsers/json.parser.js.map +0 -1
- package/dist/realtime/parsers/parser.d.ts +0 -9
- package/dist/realtime/parsers/parser.js.map +0 -1
- package/dist/realtime/parsers/region-hint.parser.d.ts +0 -12
- package/dist/realtime/parsers/region-hint.parser.js.map +0 -1
- package/dist/realtime/parsers/skywalker.parser.d.ts +0 -12
- package/dist/realtime/parsers/skywalker.parser.js.map +0 -1
- package/dist/realtime/proto/common.proto +0 -38
- package/dist/realtime/proto/direct.proto +0 -65
- package/dist/realtime/proto/ig-messages.proto +0 -83
- package/dist/realtime/proto/iris.proto +0 -188
- package/dist/realtime/subscriptions/graphql.subscription.d.ts +0 -47
- package/dist/realtime/subscriptions/graphql.subscription.js.map +0 -1
- package/dist/realtime/subscriptions/index.d.ts +0 -2
- package/dist/realtime/subscriptions/index.js.map +0 -1
- package/dist/realtime/subscriptions/skywalker.subscription.d.ts +0 -4
- package/dist/realtime/subscriptions/skywalker.subscription.js.map +0 -1
- package/dist/thrift/index.d.ts +0 -3
- package/dist/thrift/index.js.map +0 -1
- package/dist/thrift/thrift.d.ts +0 -59
- package/dist/thrift/thrift.js.map +0 -1
- package/dist/thrift/thrift.reading.d.ts +0 -41
- package/dist/thrift/thrift.reading.js.map +0 -1
- package/dist/thrift/thrift.writing.d.ts +0 -44
- package/dist/thrift/thrift.writing.js.map +0 -1
- /package/{dist → dist-ts/dist}/realtime/protocols/proto-definitions.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-1.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-10.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-11.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-12.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-13.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-14.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-15.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-16.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-17.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-18.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-19.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-2.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-20.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-21.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-22.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-23.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-24.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-25.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-26.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-27.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-28.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-29.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-3.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-30.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-4.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-5.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-6.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-7.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-8.js +0 -0
- /package/{dist → dist-ts/dist}/utils/helper-9.js +0 -0
- /package/{dist → dist-ts/dist}/utils/insta-mqtt-helper.js +0 -0
- /package/{dist/constants/constants.js → src-ts/dist/constants/constants.ts} +0 -0
- /package/{dist/constants/index.js → src-ts/dist/constants/index.ts} +0 -0
- /package/{dist/core/client.js → src-ts/dist/core/client.ts} +0 -0
- /package/{dist/core/nav-chain.js → src-ts/dist/core/nav-chain.ts} +0 -0
- /package/{dist/core/repository.js → src-ts/dist/core/repository.ts} +0 -0
- /package/{dist/core/request.js → src-ts/dist/core/request.ts} +0 -0
- /package/{dist/core/state.js → src-ts/dist/core/state.ts} +0 -0
- /package/{dist/core/utils.js → src-ts/dist/core/utils.ts} +0 -0
- /package/{dist/downloadMedia.js → src-ts/dist/downloadMedia.ts} +0 -0
- /package/{dist/errors/index.js → src-ts/dist/errors/index.ts} +0 -0
- /package/{dist/extend.js → src-ts/dist/extend.ts} +0 -0
- /package/{dist/fbns/fbns.client.events.js → src-ts/dist/fbns/fbns.client.events.ts} +0 -0
- /package/{dist/fbns/fbns.client.js → src-ts/dist/fbns/fbns.client.ts} +0 -0
- /package/{dist/fbns/fbns.device-auth.js → src-ts/dist/fbns/fbns.device-auth.ts} +0 -0
- /package/{dist/fbns/fbns.types.js → src-ts/dist/fbns/fbns.types.ts} +0 -0
- /package/{dist/fbns/fbns.utilities.js → src-ts/dist/fbns/fbns.utilities.ts} +0 -0
- /package/{dist/fbns/index.js → src-ts/dist/fbns/index.ts} +0 -0
- /package/{dist/index.js → src-ts/dist/index.ts} +0 -0
- /package/{dist/mqtt-shim.js → src-ts/dist/mqtt-shim.ts} +0 -0
- /package/{dist/mqttot/index.js → src-ts/dist/mqttot/index.ts} +0 -0
- /package/{dist/mqttot/mqttot.client.js → src-ts/dist/mqttot/mqttot.client.ts} +0 -0
- /package/{dist/mqttot/mqttot.connect.request.packet.js → src-ts/dist/mqttot/mqttot.connect.request.packet.ts} +0 -0
- /package/{dist/mqttot/mqttot.connect.response.packet.js → src-ts/dist/mqttot/mqttot.connect.response.packet.ts} +0 -0
- /package/{dist/mqttot/mqttot.connection.js → src-ts/dist/mqttot/mqttot.connection.ts} +0 -0
- /package/{dist/realtime/commands/commands.js → src-ts/dist/realtime/commands/commands.ts} +0 -0
- /package/{dist/realtime/commands/direct.commands.js → src-ts/dist/realtime/commands/direct.commands.ts} +0 -0
- /package/{dist/realtime/commands/enhanced.direct.commands.js → src-ts/dist/realtime/commands/enhanced.direct.commands.ts} +0 -0
- /package/{dist/realtime/commands/index.js → src-ts/dist/realtime/commands/index.ts} +0 -0
- /package/{dist/realtime/delta-sync.manager.js → src-ts/dist/realtime/delta-sync.manager.ts} +0 -0
- /package/{dist/realtime/features/dm-sender.js → src-ts/dist/realtime/features/dm-sender.ts} +0 -0
- /package/{dist/realtime/features/error-handler.js → src-ts/dist/realtime/features/error-handler.ts} +0 -0
- /package/{dist/realtime/features/gap-handler.js → src-ts/dist/realtime/features/gap-handler.ts} +0 -0
- /package/{dist/realtime/features/persistent-logger.js → src-ts/dist/realtime/features/persistent-logger.ts} +0 -0
- /package/{dist/realtime/features/presence.manager.js → src-ts/dist/realtime/features/presence.manager.ts} +0 -0
- /package/{dist/realtime/features/session-health-monitor.js → src-ts/dist/realtime/features/session-health-monitor.ts} +0 -0
- /package/{dist/realtime/index.js → src-ts/dist/realtime/index.ts} +0 -0
- /package/{dist/realtime/messages/app-presence.event.js → src-ts/dist/realtime/messages/app-presence.event.ts} +0 -0
- /package/{dist/realtime/messages/index.js → src-ts/dist/realtime/messages/index.ts} +0 -0
- /package/{dist/realtime/messages/message-sync.message.js → src-ts/dist/realtime/messages/message-sync.message.ts} +0 -0
- /package/{dist/realtime/messages/realtime-sub.direct.data.js → src-ts/dist/realtime/messages/realtime-sub.direct.data.ts} +0 -0
- /package/{dist/realtime/messages/thread-update.message.js → src-ts/dist/realtime/messages/thread-update.message.ts} +0 -0
- /package/{dist/realtime/mixins/index.js → src-ts/dist/realtime/mixins/index.ts} +0 -0
- /package/{dist/realtime/mixins/message-sync.mixin.js → src-ts/dist/realtime/mixins/message-sync.mixin.ts} +0 -0
- /package/{dist/realtime/mixins/mixin.js → src-ts/dist/realtime/mixins/mixin.ts} +0 -0
- /package/{dist/realtime/mixins/presence-typing.mixin.js → src-ts/dist/realtime/mixins/presence-typing.mixin.ts} +0 -0
- /package/{dist/realtime/mixins/realtime-sub.mixin.js → src-ts/dist/realtime/mixins/realtime-sub.mixin.ts} +0 -0
- /package/{dist/realtime/parsers/graphql-parser.js → src-ts/dist/realtime/parsers/graphql-parser.ts} +0 -0
- /package/{dist/realtime/parsers/graphql.parser.js → src-ts/dist/realtime/parsers/graphql.parser.ts} +0 -0
- /package/{dist/realtime/parsers/index.js → src-ts/dist/realtime/parsers/index.ts} +0 -0
- /package/{dist/realtime/parsers/iris-parser.js → src-ts/dist/realtime/parsers/iris-parser.ts} +0 -0
- /package/{dist/realtime/parsers/iris.parser.js → src-ts/dist/realtime/parsers/iris.parser.ts} +0 -0
- /package/{dist/realtime/parsers/json-parser.js → src-ts/dist/realtime/parsers/json-parser.ts} +0 -0
- /package/{dist/realtime/parsers/json.parser.js → src-ts/dist/realtime/parsers/json.parser.ts} +0 -0
- /package/{dist/realtime/parsers/parser.js → src-ts/dist/realtime/parsers/parser.ts} +0 -0
- /package/{dist/realtime/parsers/region-hint-parser.js → src-ts/dist/realtime/parsers/region-hint-parser.ts} +0 -0
- /package/{dist/realtime/parsers/region-hint.parser.js → src-ts/dist/realtime/parsers/region-hint.parser.ts} +0 -0
- /package/{dist/realtime/parsers/skywalker-parser.js → src-ts/dist/realtime/parsers/skywalker-parser.ts} +0 -0
- /package/{dist/realtime/parsers/skywalker.parser.js → src-ts/dist/realtime/parsers/skywalker.parser.ts} +0 -0
- /package/{dist/realtime/parsers-advanced.js → src-ts/dist/realtime/parsers-advanced.ts} +0 -0
- /package/{dist/realtime/proto-parser.js → src-ts/dist/realtime/proto-parser.ts} +0 -0
- /package/{dist/realtime/protocols/iris.handshake.js → src-ts/dist/realtime/protocols/iris.handshake.ts} +0 -0
- /package/{dist/realtime/protocols/skywalker.protocol.js → src-ts/dist/realtime/protocols/skywalker.protocol.ts} +0 -0
- /package/{dist/realtime/realtime.client.events.js → src-ts/dist/realtime/realtime.client.events.ts} +0 -0
- /package/{dist/realtime/realtime.client.js → src-ts/dist/realtime/realtime.client.ts} +0 -0
- /package/{dist/realtime/realtime.service.js → src-ts/dist/realtime/realtime.service.ts} +0 -0
- /package/{dist/realtime/reconnect.manager.js → src-ts/dist/realtime/reconnect.manager.ts} +0 -0
- /package/{dist/realtime/session.manager.js → src-ts/dist/realtime/session.manager.ts} +0 -0
- /package/{dist/realtime/subscriptions/graphql.subscription.js → src-ts/dist/realtime/subscriptions/graphql.subscription.ts} +0 -0
- /package/{dist/realtime/subscriptions/index.js → src-ts/dist/realtime/subscriptions/index.ts} +0 -0
- /package/{dist/realtime/subscriptions/skywalker.subscription.js → src-ts/dist/realtime/subscriptions/skywalker.subscription.ts} +0 -0
- /package/{dist/realtime/topic-map.js → src-ts/dist/realtime/topic-map.ts} +0 -0
- /package/{dist/realtime/topic.js → src-ts/dist/realtime/topic.ts} +0 -0
- /package/{dist/repositories/account.repository.js → src-ts/dist/repositories/account.repository.ts} +0 -0
- /package/{dist/repositories/bloks.repository.js → src-ts/dist/repositories/bloks.repository.ts} +0 -0
- /package/{dist/repositories/captcha.repository.js → src-ts/dist/repositories/captcha.repository.ts} +0 -0
- /package/{dist/repositories/challenge.repository.js → src-ts/dist/repositories/challenge.repository.ts} +0 -0
- /package/{dist/repositories/clip.repository.js → src-ts/dist/repositories/clip.repository.ts} +0 -0
- /package/{dist/repositories/close-friends.repository.js → src-ts/dist/repositories/close-friends.repository.ts} +0 -0
- /package/{dist/repositories/collection.repository.js → src-ts/dist/repositories/collection.repository.ts} +0 -0
- /package/{dist/repositories/direct-thread.repository.js → src-ts/dist/repositories/direct-thread.repository.ts} +0 -0
- /package/{dist/repositories/direct.repository.js → src-ts/dist/repositories/direct.repository.ts} +0 -0
- /package/{dist/repositories/explore.repository.js → src-ts/dist/repositories/explore.repository.ts} +0 -0
- /package/{dist/repositories/fbsearch.repository.js → src-ts/dist/repositories/fbsearch.repository.ts} +0 -0
- /package/{dist/repositories/feed.repository.js → src-ts/dist/repositories/feed.repository.ts} +0 -0
- /package/{dist/repositories/friendship.repository.js → src-ts/dist/repositories/friendship.repository.ts} +0 -0
- /package/{dist/repositories/fundraiser.repository.js → src-ts/dist/repositories/fundraiser.repository.ts} +0 -0
- /package/{dist/repositories/hashtag.repository.js → src-ts/dist/repositories/hashtag.repository.ts} +0 -0
- /package/{dist/repositories/highlights.repository.js → src-ts/dist/repositories/highlights.repository.ts} +0 -0
- /package/{dist/repositories/insights.repository.js → src-ts/dist/repositories/insights.repository.ts} +0 -0
- /package/{dist/repositories/location.repository.js → src-ts/dist/repositories/location.repository.ts} +0 -0
- /package/{dist/repositories/media.repository.js → src-ts/dist/repositories/media.repository.ts} +0 -0
- /package/{dist/repositories/multiple-accounts.repository.js → src-ts/dist/repositories/multiple-accounts.repository.ts} +0 -0
- /package/{dist/repositories/news.repository.js → src-ts/dist/repositories/news.repository.ts} +0 -0
- /package/{dist/repositories/note.repository.js → src-ts/dist/repositories/note.repository.ts} +0 -0
- /package/{dist/repositories/notification.repository.js → src-ts/dist/repositories/notification.repository.ts} +0 -0
- /package/{dist/repositories/share.repository.js → src-ts/dist/repositories/share.repository.ts} +0 -0
- /package/{dist/repositories/signup.repository.js → src-ts/dist/repositories/signup.repository.ts} +0 -0
- /package/{dist/repositories/story.repository.js → src-ts/dist/repositories/story.repository.ts} +0 -0
- /package/{dist/repositories/timeline.repository.js → src-ts/dist/repositories/timeline.repository.ts} +0 -0
- /package/{dist/repositories/totp.repository.js → src-ts/dist/repositories/totp.repository.ts} +0 -0
- /package/{dist/repositories/track.repository.js → src-ts/dist/repositories/track.repository.ts} +0 -0
- /package/{dist/repositories/upload.repository.js → src-ts/dist/repositories/upload.repository.ts} +0 -0
- /package/{dist/repositories/user.repository.js → src-ts/dist/repositories/user.repository.ts} +0 -0
- /package/{dist/sendmedia/index.js → src-ts/dist/sendmedia/index.ts} +0 -0
- /package/{dist/sendmedia/sendFile.js → src-ts/dist/sendmedia/sendFile.ts} +0 -0
- /package/{dist/sendmedia/sendPhoto.js → src-ts/dist/sendmedia/sendPhoto.ts} +0 -0
- /package/{dist/sendmedia/sendRavenPhoto.js → src-ts/dist/sendmedia/sendRavenPhoto.ts} +0 -0
- /package/{dist/sendmedia/sendRavenVideo.js → src-ts/dist/sendmedia/sendRavenVideo.ts} +0 -0
- /package/{dist/sendmedia/uploadPhoto.js → src-ts/dist/sendmedia/uploadPhoto.ts} +0 -0
- /package/{dist/sendmedia/uploadfFile.js → src-ts/dist/sendmedia/uploadfFile.ts} +0 -0
- /package/{dist/services/live.service.js → src-ts/dist/services/live.service.ts} +0 -0
- /package/{dist/services/search.service.js → src-ts/dist/services/search.service.ts} +0 -0
- /package/{dist/shared/index.js → src-ts/dist/shared/index.ts} +0 -0
- /package/{dist/shared/shared.js → src-ts/dist/shared/shared.ts} +0 -0
- /package/{dist/thrift/index.js → src-ts/dist/thrift/index.ts} +0 -0
- /package/{dist/thrift/thrift.reading.js → src-ts/dist/thrift/thrift.reading.ts} +0 -0
- /package/{dist/thrift/thrift.js → src-ts/dist/thrift/thrift.ts} +0 -0
- /package/{dist/thrift/thrift.writing.js → src-ts/dist/thrift/thrift.writing.ts} +0 -0
- /package/{dist/types/index.js → src-ts/dist/types/index.ts} +0 -0
- /package/{dist/useMultiFileAuthState.js → src-ts/dist/useMultiFileAuthState.ts} +0 -0
- /package/{dist/utils/index.js → src-ts/dist/utils/index.ts} +0 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FbnsClient = void 0;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
const fbns_device_auth_1 = require("./fbns.device-auth");
|
|
6
|
+
const shared_1 = require("../shared");
|
|
7
|
+
const mqttot_1 = require("../mqttot");
|
|
8
|
+
const chance_1 = require("chance");
|
|
9
|
+
const mqtts_1 = require("../mqtt-shim");
|
|
10
|
+
const errors_1 = require("../errors");
|
|
11
|
+
const eventemitter3_1 = require("eventemitter3");
|
|
12
|
+
const fbns_utilities_1 = require("./fbns.utilities");
|
|
13
|
+
/**
|
|
14
|
+
* FbnsClient
|
|
15
|
+
*
|
|
16
|
+
* Lightweight wrapper around MQTToTClient to handle FBNS-specific connection
|
|
17
|
+
* payloads, registration, message handling and safe disconnect behavior.
|
|
18
|
+
*
|
|
19
|
+
* NOTE: This file contains a small but important robustness change:
|
|
20
|
+
* when receiving an empty CONNACK payload we no longer force a disconnect.
|
|
21
|
+
* Instagram sometimes returns a successful CONNACK with an empty payload;
|
|
22
|
+
* treating that as a fatal error causes unnecessary disconnect loops.
|
|
23
|
+
*/
|
|
24
|
+
class FbnsClient extends eventemitter3_1.EventEmitter {
|
|
25
|
+
get auth() {
|
|
26
|
+
return this._auth;
|
|
27
|
+
}
|
|
28
|
+
set auth(value) {
|
|
29
|
+
this._auth = value;
|
|
30
|
+
}
|
|
31
|
+
constructor(ig) {
|
|
32
|
+
super();
|
|
33
|
+
this.ig = ig;
|
|
34
|
+
this.fbnsDebug = (0, shared_1.debugChannel)('fbns');
|
|
35
|
+
this.safeDisconnect = false;
|
|
36
|
+
this._auth = new fbns_device_auth_1.FbnsDeviceAuth(this.ig);
|
|
37
|
+
}
|
|
38
|
+
buildConnection() {
|
|
39
|
+
this.fbnsDebug('Constructing connection');
|
|
40
|
+
this.conn = new mqttot_1.MQTToTConnection({
|
|
41
|
+
clientIdentifier: this._auth.clientId,
|
|
42
|
+
clientInfo: {
|
|
43
|
+
userId: BigInt(this._auth.userId),
|
|
44
|
+
userAgent: (0, shared_1.createFbnsUserAgent)(this.ig),
|
|
45
|
+
clientCapabilities: 183,
|
|
46
|
+
endpointCapabilities: 128,
|
|
47
|
+
publishFormat: 1,
|
|
48
|
+
noAutomaticForeground: true,
|
|
49
|
+
makeUserAvailableInForeground: false,
|
|
50
|
+
deviceId: this._auth.deviceId,
|
|
51
|
+
isInitiallyForeground: false,
|
|
52
|
+
networkType: 1,
|
|
53
|
+
networkSubtype: 0,
|
|
54
|
+
clientMqttSessionId: BigInt(Date.now()) & BigInt(0xffffffff),
|
|
55
|
+
subscribeTopics: [76, 80, 231],
|
|
56
|
+
clientType: 'device_auth',
|
|
57
|
+
appId: BigInt(567310203415052),
|
|
58
|
+
deviceSecret: this._auth.deviceSecret,
|
|
59
|
+
anotherUnknown: BigInt(-1),
|
|
60
|
+
clientStack: 3,
|
|
61
|
+
},
|
|
62
|
+
password: this._auth.password,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Connect to FBNS (Firebase/FBNS equivalent over Instagram MQTT)
|
|
67
|
+
*
|
|
68
|
+
* Options:
|
|
69
|
+
* - enableTrace
|
|
70
|
+
* - autoReconnect
|
|
71
|
+
* - socksOptions
|
|
72
|
+
* - additionalTlsOptions
|
|
73
|
+
*
|
|
74
|
+
* Important robustness changes:
|
|
75
|
+
* - Do not force disconnect on empty CONNACK payload; log and continue.
|
|
76
|
+
* - Use clean:false to prefer session resume on reconnect (less aggressive).
|
|
77
|
+
*/
|
|
78
|
+
async connect({ enableTrace, autoReconnect, socksOptions, additionalTlsOptions, } = {}) {
|
|
79
|
+
this.fbnsDebug('Connecting to FBNS...');
|
|
80
|
+
// Ensure auth info is up-to-date
|
|
81
|
+
this.auth.update();
|
|
82
|
+
this.client = new mqttot_1.MQTToTClient({
|
|
83
|
+
url: constants_1.FBNS.HOST_NAME_V6,
|
|
84
|
+
payloadProvider: () => {
|
|
85
|
+
this.buildConnection();
|
|
86
|
+
if (!this.conn) {
|
|
87
|
+
throw new errors_1.InvalidStateError("No connection created - can't build provider");
|
|
88
|
+
}
|
|
89
|
+
return (0, shared_1.compressDeflate)(this.conn.toThrift());
|
|
90
|
+
},
|
|
91
|
+
enableTrace,
|
|
92
|
+
autoReconnect: autoReconnect !== null && autoReconnect !== void 0 ? autoReconnect : true,
|
|
93
|
+
requirePayload: false,
|
|
94
|
+
socksOptions,
|
|
95
|
+
additionalOptions: additionalTlsOptions,
|
|
96
|
+
});
|
|
97
|
+
// Re-emit warnings/errors to outer listeners
|
|
98
|
+
this.client.on('warning', w => this.emit('warning', w));
|
|
99
|
+
this.client.on('error', e => this.emit('error', e));
|
|
100
|
+
// If disconnect happens and safeDisconnect is false, emit error to upper layer
|
|
101
|
+
this.client.on('disconnect', reason => this.safeDisconnect
|
|
102
|
+
? this.emit('disconnect', reason && JSON.stringify(reason))
|
|
103
|
+
: this.emit('error', new errors_1.ClientDisconnectedError(`MQTToTClient got disconnected. Reason: ${reason && JSON.stringify(reason)}`)));
|
|
104
|
+
// Listen for FBNS messages and transform them accordingly
|
|
105
|
+
this.client.listen(constants_1.FbnsTopics.FBNS_MESSAGE.id, msg => this.handleMessage(msg));
|
|
106
|
+
this.client.listen({
|
|
107
|
+
topic: constants_1.FbnsTopics.FBNS_EXP_LOGGING.id,
|
|
108
|
+
transformer: async (msg) => JSON.parse((await (0, shared_1.tryUnzipAsync)(msg.payload)).toString()),
|
|
109
|
+
}, msg => this.emit('logging', msg));
|
|
110
|
+
this.client.listen(constants_1.FbnsTopics.PP.id, msg => this.emit('pp', msg.payload.toString()));
|
|
111
|
+
// Handle connect event from the underlying mqtt client
|
|
112
|
+
this.client.on('connect', async (res) => {
|
|
113
|
+
var _a;
|
|
114
|
+
if (!this.client) {
|
|
115
|
+
throw new mqtts_1.IllegalStateError('No client registered but an event was received');
|
|
116
|
+
}
|
|
117
|
+
this.fbnsDebug('Connected to MQTT');
|
|
118
|
+
// IMPORTANT: Instagram sometimes returns a valid CONNACK with an empty payload.
|
|
119
|
+
// Historically this library treated that as an error and disconnected.
|
|
120
|
+
// That behavior causes unnecessary reconnect loops. Instead, log and continue.
|
|
121
|
+
if (!((_a = res.payload) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
122
|
+
this.fbnsDebug(`Received empty connect packet. Reason: ${res.errorName} (continuing without disconnect)`);
|
|
123
|
+
// Emit a warning but do not disconnect.
|
|
124
|
+
this.emit('warning', new errors_1.EmptyPacketError('Received empty connect packet (continuing).'));
|
|
125
|
+
// NOTE: we do not return here because some flows expect the registration step below.
|
|
126
|
+
// If you prefer to skip registration on empty payload, uncomment the next line:
|
|
127
|
+
// return;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
// If payload present, read auth as before
|
|
131
|
+
try {
|
|
132
|
+
const payload = res.payload.toString('utf8');
|
|
133
|
+
this.fbnsDebug(`Received auth: ${payload}`);
|
|
134
|
+
this._auth.read(payload);
|
|
135
|
+
this.emit('auth', this.auth);
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
this.fbnsDebug(`Failed to parse connect payload: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
|
|
139
|
+
this.emit('error', e);
|
|
140
|
+
// do not force disconnect here - let reconnect logic handle transient issues
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Continue with registration attempt if possible.
|
|
144
|
+
try {
|
|
145
|
+
await this.client.mqttotPublish({
|
|
146
|
+
topic: constants_1.FbnsTopics.FBNS_REG_REQ.id,
|
|
147
|
+
payload: Buffer.from(JSON.stringify({
|
|
148
|
+
pkg_name: constants_1.INSTAGRAM_PACKAGE_NAME,
|
|
149
|
+
appid: this.ig.state.fbAnalyticsApplicationId,
|
|
150
|
+
}), 'utf8'),
|
|
151
|
+
qosLevel: 1,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
// Log registration publish error but don't necessarily abort connection entirely here
|
|
156
|
+
this.fbnsDebug(`FBNS_REG_REQ publish failed: ${(e === null || e === void 0 ? void 0 : e.message) || e}`);
|
|
157
|
+
this.emit('warning', e);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
// Set up the register response listener BEFORE connecting
|
|
161
|
+
// because the response can arrive before connect() returns
|
|
162
|
+
const regRespPromise = (0, shared_1.listenOnce)(this.client, constants_1.FbnsTopics.FBNS_REG_RESP.id);
|
|
163
|
+
// Establish connection with conservative options (prefer session resume)
|
|
164
|
+
await this.client
|
|
165
|
+
.connect({
|
|
166
|
+
keepAlive: 60,
|
|
167
|
+
protocolLevel: 3,
|
|
168
|
+
// Use clean: false to allow session resume where the broker supports it.
|
|
169
|
+
// If you have issues with stale state, consider setting clean: true.
|
|
170
|
+
clean: false,
|
|
171
|
+
connectDelay: 60 * 1000,
|
|
172
|
+
})
|
|
173
|
+
.catch(e => {
|
|
174
|
+
this.fbnsDebug(`Connection failed: ${e}`);
|
|
175
|
+
throw e;
|
|
176
|
+
});
|
|
177
|
+
// Subscribe to FBNS message topic
|
|
178
|
+
await this.client.subscribe({ topic: constants_1.FbnsTopics.FBNS_MESSAGE.id });
|
|
179
|
+
// Wait for the register response (listener was set up before connect)
|
|
180
|
+
const msg = await regRespPromise;
|
|
181
|
+
const data = await (0, shared_1.tryUnzipAsync)(msg.payload);
|
|
182
|
+
const payload = data.toString('utf8');
|
|
183
|
+
this.fbnsDebug(`Received register response: ${payload}`);
|
|
184
|
+
const { token, error } = JSON.parse(payload);
|
|
185
|
+
if (error) {
|
|
186
|
+
this.emit('error', error);
|
|
187
|
+
throw error;
|
|
188
|
+
}
|
|
189
|
+
try {
|
|
190
|
+
await this.sendPushRegister(token);
|
|
191
|
+
}
|
|
192
|
+
catch (e) {
|
|
193
|
+
if (e instanceof Error) {
|
|
194
|
+
this.emit('error', e);
|
|
195
|
+
}
|
|
196
|
+
throw e;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
disconnect() {
|
|
200
|
+
this.safeDisconnect = true;
|
|
201
|
+
if (!this.client) {
|
|
202
|
+
return Promise.resolve();
|
|
203
|
+
}
|
|
204
|
+
return this.client.disconnect();
|
|
205
|
+
}
|
|
206
|
+
async handleMessage(msg) {
|
|
207
|
+
const payload = JSON.parse((await (0, shared_1.tryUnzipAsync)(msg.payload)).toString('utf8'));
|
|
208
|
+
if ((0, shared_1.notUndefined)(payload.fbpushnotif)) {
|
|
209
|
+
const notification = (0, fbns_utilities_1.createNotificationFromJson)(payload.fbpushnotif);
|
|
210
|
+
this.emit('push', notification);
|
|
211
|
+
if (notification.collapseKey)
|
|
212
|
+
this.emit(notification.collapseKey, notification);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
this.fbnsDebug(`Received a message without 'fbpushnotif': ${JSON.stringify(payload)}`);
|
|
216
|
+
this.emit('message', payload);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async sendPushRegister(token) {
|
|
220
|
+
const { body } = await this.ig.request.send({
|
|
221
|
+
url: `/api/v1/push/register/`,
|
|
222
|
+
method: 'POST',
|
|
223
|
+
form: {
|
|
224
|
+
device_type: 'android_mqtt',
|
|
225
|
+
is_main_push_channel: true,
|
|
226
|
+
device_sub_type: 2,
|
|
227
|
+
device_token: token,
|
|
228
|
+
guid: this.ig.state.uuid,
|
|
229
|
+
uuid: this.ig.state.uuid,
|
|
230
|
+
users: this.ig.state.cookieUserId,
|
|
231
|
+
family_device_id: new chance_1.Chance().guid({ version: 4 }),
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
return body;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
exports.FbnsClient = FbnsClient;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
5
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
6
|
+
else
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
8
|
+
if (d = decorators[i])
|
|
9
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.FbnsDeviceAuth = void 0;
|
|
14
|
+
const decorators_1 = require("instagram-private-api/dist/decorators");
|
|
15
|
+
const shared_1 = require("../shared");
|
|
16
|
+
class FbnsDeviceAuth {
|
|
17
|
+
constructor(ig) {
|
|
18
|
+
var _a;
|
|
19
|
+
this.authLog = (0, shared_1.debugChannel)('fbns', 'device-auth');
|
|
20
|
+
this.ig = ig;
|
|
21
|
+
this.clientId = ((_a = this.ig.state.phoneId) === null || _a === void 0 ? void 0 : _a.substr(0, 20)) || '';
|
|
22
|
+
this.deviceId = '';
|
|
23
|
+
this.userId = 0;
|
|
24
|
+
this.deviceSecret = '';
|
|
25
|
+
this.password = '';
|
|
26
|
+
}
|
|
27
|
+
update() {
|
|
28
|
+
var _a;
|
|
29
|
+
if (this.clientId === '') {
|
|
30
|
+
this.clientId = ((_a = this.ig.state.phoneId) === null || _a === void 0 ? void 0 : _a.substr(0, 20)) || '';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
read(jsonStr) {
|
|
34
|
+
this.authLog(`Reading auth json ${jsonStr !== null && jsonStr !== void 0 ? jsonStr : 'empty'}`);
|
|
35
|
+
if (!jsonStr)
|
|
36
|
+
return;
|
|
37
|
+
this.json = jsonStr;
|
|
38
|
+
const { ck, cs, di, ds, sr, rc } = JSON.parse(jsonStr);
|
|
39
|
+
this.userId = ck || this.userId;
|
|
40
|
+
this.password = cs || this.password;
|
|
41
|
+
if (di) {
|
|
42
|
+
this.deviceId = di;
|
|
43
|
+
this.clientId = this.deviceId.substr(0, 20);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
this.deviceId = '';
|
|
47
|
+
}
|
|
48
|
+
this.deviceSecret = ds || this.deviceSecret;
|
|
49
|
+
this.sr = sr || this.sr;
|
|
50
|
+
this.rc = rc || this.rc;
|
|
51
|
+
}
|
|
52
|
+
toString() {
|
|
53
|
+
return this.json || '';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.FbnsDeviceAuth = FbnsDeviceAuth;
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, decorators_1.Enumerable)(false)
|
|
59
|
+
], FbnsDeviceAuth.prototype, "ig", void 0);
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNotificationFromJson = void 0;
|
|
4
|
+
const shared_1 = require("../shared");
|
|
5
|
+
const querystring = require("querystring");
|
|
6
|
+
const URL = require("url");
|
|
7
|
+
function createNotificationFromJson(json) {
|
|
8
|
+
const data = JSON.parse(json);
|
|
9
|
+
const notification = Object.defineProperty({}, 'description', {
|
|
10
|
+
enumerable: false,
|
|
11
|
+
value: data,
|
|
12
|
+
});
|
|
13
|
+
if ((0, shared_1.notUndefined)(data.t)) {
|
|
14
|
+
notification.title = data.t;
|
|
15
|
+
}
|
|
16
|
+
if ((0, shared_1.notUndefined)(data.m)) {
|
|
17
|
+
notification.message = data.m;
|
|
18
|
+
}
|
|
19
|
+
if ((0, shared_1.notUndefined)(data.tt)) {
|
|
20
|
+
notification.tickerText = data.tt;
|
|
21
|
+
}
|
|
22
|
+
if ((0, shared_1.notUndefined)(data.ig)) {
|
|
23
|
+
notification.igAction = data.ig;
|
|
24
|
+
const url = URL.parse(data.ig);
|
|
25
|
+
if (url.pathname) {
|
|
26
|
+
notification.actionPath = url.pathname;
|
|
27
|
+
}
|
|
28
|
+
if (url.query) {
|
|
29
|
+
notification.actionParams = querystring.decode(url.query);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if ((0, shared_1.notUndefined)(data.collapse_key)) {
|
|
33
|
+
notification.collapseKey = data.collapse_key;
|
|
34
|
+
}
|
|
35
|
+
if ((0, shared_1.notUndefined)(data.i)) {
|
|
36
|
+
notification.optionalImage = data.i;
|
|
37
|
+
}
|
|
38
|
+
if ((0, shared_1.notUndefined)(data.a)) {
|
|
39
|
+
notification.optionalAvatarUrl = data.a;
|
|
40
|
+
}
|
|
41
|
+
if ((0, shared_1.notUndefined)(data.sound)) {
|
|
42
|
+
notification.sound = data.sound;
|
|
43
|
+
}
|
|
44
|
+
if ((0, shared_1.notUndefined)(data.pi)) {
|
|
45
|
+
notification.pushId = data.pi;
|
|
46
|
+
}
|
|
47
|
+
if ((0, shared_1.notUndefined)(data.c)) {
|
|
48
|
+
notification.pushCategory = data.c;
|
|
49
|
+
}
|
|
50
|
+
if ((0, shared_1.notUndefined)(data.u)) {
|
|
51
|
+
notification.intendedRecipientUserId = data.u;
|
|
52
|
+
}
|
|
53
|
+
if ((0, shared_1.notUndefined)(data.s) && data.s !== 'None') {
|
|
54
|
+
notification.sourceUserId = data.s;
|
|
55
|
+
}
|
|
56
|
+
if ((0, shared_1.notUndefined)(data.igo)) {
|
|
57
|
+
notification.igActionOverride = data.igo;
|
|
58
|
+
}
|
|
59
|
+
if ((0, shared_1.notUndefined)(data.bc)) {
|
|
60
|
+
const badgeCount = {};
|
|
61
|
+
const parsed = JSON.parse(data.bc);
|
|
62
|
+
if ((0, shared_1.notUndefined)(parsed.di)) {
|
|
63
|
+
badgeCount.direct = parsed.di;
|
|
64
|
+
}
|
|
65
|
+
if ((0, shared_1.notUndefined)(parsed.ds)) {
|
|
66
|
+
badgeCount.ds = parsed.ds;
|
|
67
|
+
}
|
|
68
|
+
if ((0, shared_1.notUndefined)(parsed.ac)) {
|
|
69
|
+
badgeCount.activities = parsed.ac;
|
|
70
|
+
}
|
|
71
|
+
notification.badgeCount = badgeCount;
|
|
72
|
+
}
|
|
73
|
+
if ((0, shared_1.notUndefined)(data.ia)) {
|
|
74
|
+
notification.inAppActors = data.ia;
|
|
75
|
+
}
|
|
76
|
+
return notification;
|
|
77
|
+
}
|
|
78
|
+
exports.createNotificationFromJson = createNotificationFromJson;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function (o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined)
|
|
4
|
+
k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function () { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function (o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined)
|
|
12
|
+
k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function (m, exports) {
|
|
16
|
+
for (var p in m)
|
|
17
|
+
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p))
|
|
18
|
+
__createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./fbns.client"), exports);
|
|
22
|
+
__exportStar(require("./fbns.device-auth"), exports);
|
|
23
|
+
__exportStar(require("./fbns.types"), exports);
|
|
24
|
+
__exportStar(require("./fbns.utilities"), exports);
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
const IgApiClient = require('./core/client');
|
|
2
|
+
const NavChainManager = require('./core/nav-chain');
|
|
3
|
+
const { IgApiClientError } = require('./errors');
|
|
4
|
+
const { APP_VERSION } = require('./constants/constants');
|
|
5
|
+
const { RealtimeClient, IrisHandshake, SkywalkerProtocol, PresenceManager, DMSender, ErrorHandler, GapHandler, EnhancedDirectCommands, PresenceTypingMixin } = require('./realtime');
|
|
6
|
+
const constants = require('./constants/constants');
|
|
7
|
+
const sendmedia = require('./sendmedia');
|
|
8
|
+
const { sendRavenPhoto, sendRavenPhotoOnce, sendRavenPhotoReplayable, sendRavenVideo, sendRavenVideoOnce, sendRavenVideoReplayable } = sendmedia;
|
|
9
|
+
const { useMultiFileAuthState, MultiFileAuthState, extractStateData, applyStateData } = require('./useMultiFileAuthState');
|
|
10
|
+
const { downloadContentFromMessage, downloadMediaBuffer, extractMediaUrls, hasMedia, getMediaType, isViewOnceMedia, MEDIA_TYPES } = require('./downloadMedia');
|
|
11
|
+
const { GraphQLSubscriptions, QueryIDs } = require('./realtime/subscriptions/graphql.subscription');
|
|
12
|
+
const { SkywalkerSubscriptions } = require('./realtime/subscriptions/skywalker.subscription');
|
|
13
|
+
let FbnsClient;
|
|
14
|
+
try {
|
|
15
|
+
FbnsClient = require('./fbns/fbns.client').FbnsClient;
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
FbnsClient = class FbnsClient {
|
|
19
|
+
constructor() { throw new Error('FbnsClient requires mqtt-shim dependency which is not installed. Install it with: npm install mqtt-shim'); }
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const { MQTToTClient, mqttotConnectFlow, INSTAGRAM_VERSION } = require('./mqttot/mqttot.client');
|
|
23
|
+
const { MQTToTConnection } = require('./mqttot/mqttot.connection');
|
|
24
|
+
const { IgApiClientExt, withFbns, withRealtime, withFbnsAndRealtime } = require('./extend');
|
|
25
|
+
const AccountRepository = require('./repositories/account.repository');
|
|
26
|
+
const UserRepository = require('./repositories/user.repository');
|
|
27
|
+
const MediaRepository = require('./repositories/media.repository');
|
|
28
|
+
const FeedRepository = require('./repositories/feed.repository');
|
|
29
|
+
const UploadRepository = require('./repositories/upload.repository');
|
|
30
|
+
const StoryRepository = require('./repositories/story.repository');
|
|
31
|
+
const DirectRepository = require('./repositories/direct.repository');
|
|
32
|
+
const DirectThreadRepository = require('./repositories/direct-thread.repository');
|
|
33
|
+
const FriendshipRepository = require('./repositories/friendship.repository');
|
|
34
|
+
const LocationRepository = require('./repositories/location.repository');
|
|
35
|
+
const HashtagRepository = require('./repositories/hashtag.repository');
|
|
36
|
+
const NewsRepository = require('./repositories/news.repository');
|
|
37
|
+
const CollectionRepository = require('./repositories/collection.repository');
|
|
38
|
+
const CloseFriendsRepository = require('./repositories/close-friends.repository');
|
|
39
|
+
const HighlightsRepository = require('./repositories/highlights.repository');
|
|
40
|
+
const ClipRepository = require('./repositories/clip.repository');
|
|
41
|
+
const TimelineRepository = require('./repositories/timeline.repository');
|
|
42
|
+
const InsightsRepository = require('./repositories/insights.repository');
|
|
43
|
+
const NoteRepository = require('./repositories/note.repository');
|
|
44
|
+
const NotificationRepository = require('./repositories/notification.repository');
|
|
45
|
+
const SignupRepository = require('./repositories/signup.repository');
|
|
46
|
+
const TOTPRepository = require('./repositories/totp.repository');
|
|
47
|
+
const BloksRepository = require('./repositories/bloks.repository');
|
|
48
|
+
const ChallengeRepository = require('./repositories/challenge.repository');
|
|
49
|
+
const ShareRepository = require('./repositories/share.repository');
|
|
50
|
+
const TrackRepository = require('./repositories/track.repository');
|
|
51
|
+
const ExploreRepository = require('./repositories/explore.repository');
|
|
52
|
+
const FBSearchRepository = require('./repositories/fbsearch.repository');
|
|
53
|
+
const FundraiserRepository = require('./repositories/fundraiser.repository');
|
|
54
|
+
const MultipleAccountsRepository = require('./repositories/multiple-accounts.repository');
|
|
55
|
+
const CaptchaRepository = require('./repositories/captcha.repository');
|
|
56
|
+
const { SessionHealthMonitor } = require('./realtime/features/session-health-monitor');
|
|
57
|
+
const { PersistentLogger } = require('./realtime/features/persistent-logger');
|
|
58
|
+
module.exports = {
|
|
59
|
+
IgApiClient,
|
|
60
|
+
NavChainManager,
|
|
61
|
+
IgApiClientError,
|
|
62
|
+
RealtimeClient,
|
|
63
|
+
IrisHandshake,
|
|
64
|
+
SkywalkerProtocol,
|
|
65
|
+
PresenceManager,
|
|
66
|
+
DMSender,
|
|
67
|
+
ErrorHandler,
|
|
68
|
+
GapHandler,
|
|
69
|
+
EnhancedDirectCommands,
|
|
70
|
+
PresenceTypingMixin,
|
|
71
|
+
Topics: constants.Topics,
|
|
72
|
+
REALTIME: constants.REALTIME,
|
|
73
|
+
sendmedia,
|
|
74
|
+
sendRavenPhoto,
|
|
75
|
+
sendRavenPhotoOnce,
|
|
76
|
+
sendRavenPhotoReplayable,
|
|
77
|
+
sendRavenVideo,
|
|
78
|
+
sendRavenVideoOnce,
|
|
79
|
+
sendRavenVideoReplayable,
|
|
80
|
+
useMultiFileAuthState,
|
|
81
|
+
MultiFileAuthState,
|
|
82
|
+
extractStateData,
|
|
83
|
+
applyStateData,
|
|
84
|
+
downloadContentFromMessage,
|
|
85
|
+
downloadMediaBuffer,
|
|
86
|
+
extractMediaUrls,
|
|
87
|
+
hasMedia,
|
|
88
|
+
getMediaType,
|
|
89
|
+
isViewOnceMedia,
|
|
90
|
+
MEDIA_TYPES,
|
|
91
|
+
GraphQLSubscriptions,
|
|
92
|
+
QueryIDs,
|
|
93
|
+
SkywalkerSubscriptions,
|
|
94
|
+
FbnsClient,
|
|
95
|
+
MQTToTClient,
|
|
96
|
+
mqttotConnectFlow,
|
|
97
|
+
MQTToTConnection,
|
|
98
|
+
INSTAGRAM_VERSION,
|
|
99
|
+
IgApiClientExt,
|
|
100
|
+
withFbns,
|
|
101
|
+
withRealtime,
|
|
102
|
+
withFbnsAndRealtime,
|
|
103
|
+
APP_VERSION,
|
|
104
|
+
SessionHealthMonitor,
|
|
105
|
+
PersistentLogger,
|
|
106
|
+
AccountRepository,
|
|
107
|
+
UserRepository,
|
|
108
|
+
MediaRepository,
|
|
109
|
+
FeedRepository,
|
|
110
|
+
UploadRepository,
|
|
111
|
+
StoryRepository,
|
|
112
|
+
DirectRepository,
|
|
113
|
+
DirectThreadRepository,
|
|
114
|
+
FriendshipRepository,
|
|
115
|
+
LocationRepository,
|
|
116
|
+
HashtagRepository,
|
|
117
|
+
NewsRepository,
|
|
118
|
+
CollectionRepository,
|
|
119
|
+
CloseFriendsRepository,
|
|
120
|
+
HighlightsRepository,
|
|
121
|
+
ClipRepository,
|
|
122
|
+
TimelineRepository,
|
|
123
|
+
InsightsRepository,
|
|
124
|
+
NoteRepository,
|
|
125
|
+
NotificationRepository,
|
|
126
|
+
SignupRepository,
|
|
127
|
+
TOTPRepository,
|
|
128
|
+
BloksRepository,
|
|
129
|
+
ChallengeRepository,
|
|
130
|
+
ShareRepository,
|
|
131
|
+
TrackRepository,
|
|
132
|
+
ExploreRepository,
|
|
133
|
+
FBSearchRepository,
|
|
134
|
+
FundraiserRepository,
|
|
135
|
+
MultipleAccountsRepository,
|
|
136
|
+
CaptchaRepository,
|
|
137
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const mqtts = require("mqtts");
|
|
4
|
+
exports.PacketType = mqtts.PacketType;
|
|
5
|
+
exports.ConnectResponsePacket = mqtts.ConnectResponsePacket;
|
|
6
|
+
exports.IllegalStateError = mqtts.IllegalStateError;
|
|
7
|
+
exports.MqttClient = mqtts.MqttClient;
|
|
8
|
+
exports.TlsTransport = mqtts.TlsTransport;
|
|
9
|
+
exports.SocksTlsTransport = mqtts.SocksTlsTransport;
|
|
10
|
+
exports.PacketStream = mqtts.PacketStream;
|
|
11
|
+
exports.DefaultPacketReadMap = mqtts.DefaultPacketReadMap;
|
|
12
|
+
exports.DefaultPacketWriteMap = mqtts.DefaultPacketWriteMap;
|
|
13
|
+
exports.isConnAck = mqtts.isConnAck;
|
|
14
|
+
exports.ConnectReturnCode = mqtts.ConnectReturnCode;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function (o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined)
|
|
4
|
+
k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function () { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function (o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined)
|
|
12
|
+
k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __exportStar = (this && this.__exportStar) || function (m, exports) {
|
|
16
|
+
for (var p in m)
|
|
17
|
+
if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p))
|
|
18
|
+
__createBinding(exports, m, p);
|
|
19
|
+
};
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
__exportStar(require("./mqttot.client"), exports);
|
|
22
|
+
__exportStar(require("./mqttot.connect.request.packet"), exports);
|
|
23
|
+
__exportStar(require("./mqttot.connect.response.packet"), exports);
|
|
24
|
+
__exportStar(require("./mqttot.connection"), exports);
|