nodejs-insta-private-api-mqt 1.3.70
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/LICENSE +21 -0
- package/README.md +3677 -0
- package/dist/constants/constants.js +342 -0
- package/dist/constants/index.js +58 -0
- package/dist/core/client.js +419 -0
- package/dist/core/nav-chain.js +282 -0
- package/dist/core/repository.js +7 -0
- package/dist/core/request.js +390 -0
- package/dist/core/state.js +1473 -0
- package/dist/core/utils.js +786 -0
- package/dist/downloadMedia.js +381 -0
- package/dist/errors/index.d.ts +16 -0
- package/dist/errors/index.js +38 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/extend.js +167 -0
- package/dist/fbns/fbns.client.d.ts +32 -0
- package/dist/fbns/fbns.client.events.d.ts +41 -0
- package/dist/fbns/fbns.client.events.js +3 -0
- package/dist/fbns/fbns.client.events.js.map +1 -0
- package/dist/fbns/fbns.client.js +252 -0
- package/dist/fbns/fbns.client.js.map +1 -0
- package/dist/fbns/fbns.device-auth.d.ts +17 -0
- package/dist/fbns/fbns.device-auth.js +54 -0
- package/dist/fbns/fbns.device-auth.js.map +1 -0
- package/dist/fbns/fbns.types.d.ts +83 -0
- package/dist/fbns/fbns.types.js +3 -0
- package/dist/fbns/fbns.types.js.map +1 -0
- package/dist/fbns/fbns.utilities.d.ts +2 -0
- package/dist/fbns/fbns.utilities.js +79 -0
- package/dist/fbns/fbns.utilities.js.map +1 -0
- package/dist/fbns/index.d.ts +4 -0
- package/dist/fbns/index.js +21 -0
- package/dist/fbns/index.js.map +1 -0
- package/dist/index.js +139 -0
- package/dist/mqtt-shim.d.ts +96 -0
- package/dist/mqtt-shim.js +15 -0
- package/dist/mqttot/index.d.ts +4 -0
- package/dist/mqttot/index.js +21 -0
- package/dist/mqttot/index.js.map +1 -0
- package/dist/mqttot/mqttot.client.d.ts +39 -0
- package/dist/mqttot/mqttot.client.js +318 -0
- package/dist/mqttot/mqttot.client.js.map +1 -0
- package/dist/mqttot/mqttot.connect.request.packet.d.ts +7 -0
- package/dist/mqttot/mqttot.connect.request.packet.js +9 -0
- package/dist/mqttot/mqttot.connect.request.packet.js.map +1 -0
- package/dist/mqttot/mqttot.connect.response.packet.d.ts +7 -0
- package/dist/mqttot/mqttot.connect.response.packet.js +24 -0
- package/dist/mqttot/mqttot.connect.response.packet.js.map +1 -0
- package/dist/mqttot/mqttot.connection.d.ts +57 -0
- package/dist/mqttot/mqttot.connection.js +79 -0
- package/dist/mqttot/mqttot.connection.js.map +1 -0
- package/dist/package.json +59 -0
- package/dist/realtime/commands/commands.d.ts +15 -0
- package/dist/realtime/commands/commands.js +71 -0
- package/dist/realtime/commands/commands.js.map +1 -0
- package/dist/realtime/commands/direct.commands.d.ts +75 -0
- package/dist/realtime/commands/direct.commands.js +417 -0
- package/dist/realtime/commands/direct.commands.js.map +1 -0
- package/dist/realtime/commands/enhanced.direct.commands.js +1731 -0
- package/dist/realtime/commands/enhanced.direct.commands.js.bak +967 -0
- package/dist/realtime/commands/index.d.ts +2 -0
- package/dist/realtime/commands/index.js +20 -0
- package/dist/realtime/commands/index.js.map +1 -0
- package/dist/realtime/delta-sync.manager.js +293 -0
- package/dist/realtime/features/dm-sender.js +88 -0
- package/dist/realtime/features/error-handler.js +185 -0
- package/dist/realtime/features/gap-handler.js +61 -0
- package/dist/realtime/features/persistent-logger.js +186 -0
- package/dist/realtime/features/presence.manager.js +66 -0
- package/dist/realtime/features/session-health-monitor.js +345 -0
- package/dist/realtime/index.js +30 -0
- package/dist/realtime/messages/app-presence.event.d.ts +9 -0
- package/dist/realtime/messages/app-presence.event.js +3 -0
- package/dist/realtime/messages/app-presence.event.js.map +1 -0
- package/dist/realtime/messages/index.d.ts +3 -0
- package/dist/realtime/messages/index.js +20 -0
- package/dist/realtime/messages/index.js.map +1 -0
- package/dist/realtime/messages/message-sync.message.d.ts +222 -0
- package/dist/realtime/messages/message-sync.message.js +43 -0
- package/dist/realtime/messages/message-sync.message.js.map +1 -0
- package/dist/realtime/messages/realtime-sub.direct.data.d.ts +11 -0
- package/dist/realtime/messages/realtime-sub.direct.data.js +3 -0
- package/dist/realtime/messages/realtime-sub.direct.data.js.map +1 -0
- package/dist/realtime/messages/thread-update.message.d.ts +68 -0
- package/dist/realtime/messages/thread-update.message.js +3 -0
- package/dist/realtime/messages/thread-update.message.js.map +1 -0
- package/dist/realtime/mixins/index.d.ts +3 -0
- package/dist/realtime/mixins/index.js +20 -0
- package/dist/realtime/mixins/index.js.map +1 -0
- package/dist/realtime/mixins/message-sync.mixin.d.ts +8 -0
- package/dist/realtime/mixins/message-sync.mixin.js +596 -0
- package/dist/realtime/mixins/message-sync.mixin.js.map +1 -0
- package/dist/realtime/mixins/mixin.d.ts +19 -0
- package/dist/realtime/mixins/mixin.js +41 -0
- package/dist/realtime/mixins/mixin.js.map +1 -0
- package/dist/realtime/mixins/presence-typing.mixin.js +33 -0
- package/dist/realtime/mixins/realtime-sub.mixin.d.ts +8 -0
- package/dist/realtime/mixins/realtime-sub.mixin.js +181 -0
- package/dist/realtime/mixins/realtime-sub.mixin.js.map +1 -0
- package/dist/realtime/parsers/graphql-parser.js +43 -0
- package/dist/realtime/parsers/graphql.parser.d.ts +15 -0
- package/dist/realtime/parsers/graphql.parser.js +22 -0
- package/dist/realtime/parsers/graphql.parser.js.map +1 -0
- package/dist/realtime/parsers/index.d.ts +6 -0
- package/dist/realtime/parsers/index.js +23 -0
- package/dist/realtime/parsers/index.js.map +1 -0
- package/dist/realtime/parsers/iris-parser.js +43 -0
- package/dist/realtime/parsers/iris.parser.d.ts +17 -0
- package/dist/realtime/parsers/iris.parser.js +10 -0
- package/dist/realtime/parsers/iris.parser.js.map +1 -0
- package/dist/realtime/parsers/json-parser.js +43 -0
- package/dist/realtime/parsers/json.parser.d.ts +6 -0
- package/dist/realtime/parsers/json.parser.js +10 -0
- package/dist/realtime/parsers/json.parser.js.map +1 -0
- package/dist/realtime/parsers/parser.d.ts +9 -0
- package/dist/realtime/parsers/parser.js +3 -0
- package/dist/realtime/parsers/parser.js.map +1 -0
- package/dist/realtime/parsers/region-hint-parser.js +43 -0
- package/dist/realtime/parsers/region-hint.parser.d.ts +12 -0
- package/dist/realtime/parsers/region-hint.parser.js +15 -0
- package/dist/realtime/parsers/region-hint.parser.js.map +1 -0
- package/dist/realtime/parsers/skywalker-parser.js +43 -0
- package/dist/realtime/parsers/skywalker.parser.d.ts +12 -0
- package/dist/realtime/parsers/skywalker.parser.js +15 -0
- package/dist/realtime/parsers/skywalker.parser.js.map +1 -0
- package/dist/realtime/parsers-advanced.js +158 -0
- package/dist/realtime/proto/common.proto +38 -0
- package/dist/realtime/proto/direct.proto +65 -0
- package/dist/realtime/proto/ig-messages.proto +83 -0
- package/dist/realtime/proto/iris.proto +188 -0
- package/dist/realtime/proto-parser.js +195 -0
- package/dist/realtime/protocols/iris.handshake.js +74 -0
- package/dist/realtime/protocols/proto-definitions.js +80 -0
- package/dist/realtime/protocols/skywalker.protocol.js +91 -0
- package/dist/realtime/realtime.client.events.js +3 -0
- package/dist/realtime/realtime.client.js +1915 -0
- package/dist/realtime/realtime.service.js +462 -0
- package/dist/realtime/reconnect.manager.js +88 -0
- package/dist/realtime/session.manager.js +121 -0
- package/dist/realtime/subscriptions/graphql.subscription.d.ts +47 -0
- package/dist/realtime/subscriptions/graphql.subscription.js +99 -0
- package/dist/realtime/subscriptions/graphql.subscription.js.map +1 -0
- package/dist/realtime/subscriptions/index.d.ts +2 -0
- package/dist/realtime/subscriptions/index.js +19 -0
- package/dist/realtime/subscriptions/index.js.map +1 -0
- package/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
- package/dist/realtime/subscriptions/skywalker.subscription.js +13 -0
- package/dist/realtime/subscriptions/skywalker.subscription.js.map +1 -0
- package/dist/realtime/topic-map.js +71 -0
- package/dist/realtime/topic.js +80 -0
- package/dist/repositories/account.repository.js +575 -0
- package/dist/repositories/bloks.repository.js +70 -0
- package/dist/repositories/captcha.repository.js +44 -0
- package/dist/repositories/challenge.repository.js +120 -0
- package/dist/repositories/clip.repository.js +165 -0
- package/dist/repositories/close-friends.repository.js +46 -0
- package/dist/repositories/collection.repository.js +68 -0
- package/dist/repositories/direct-thread.repository.js +446 -0
- package/dist/repositories/direct.repository.js +232 -0
- package/dist/repositories/explore.repository.js +70 -0
- package/dist/repositories/fbsearch.repository.js +140 -0
- package/dist/repositories/feed.repository.js +245 -0
- package/dist/repositories/friendship.repository.js +296 -0
- package/dist/repositories/fundraiser.repository.js +49 -0
- package/dist/repositories/hashtag.repository.js +99 -0
- package/dist/repositories/highlights.repository.js +121 -0
- package/dist/repositories/insights.repository.js +82 -0
- package/dist/repositories/location.repository.js +84 -0
- package/dist/repositories/media.repository.js +395 -0
- package/dist/repositories/multiple-accounts.repository.js +41 -0
- package/dist/repositories/news.repository.js +35 -0
- package/dist/repositories/note.repository.js +57 -0
- package/dist/repositories/notification.repository.js +79 -0
- package/dist/repositories/share.repository.js +35 -0
- package/dist/repositories/signup.repository.js +218 -0
- package/dist/repositories/story.repository.js +290 -0
- package/dist/repositories/timeline.repository.js +60 -0
- package/dist/repositories/totp.repository.js +139 -0
- package/dist/repositories/track.repository.js +53 -0
- package/dist/repositories/upload.repository.js +204 -0
- package/dist/repositories/user.repository.js +360 -0
- package/dist/sendmedia/index.js +27 -0
- package/dist/sendmedia/sendFile.js +72 -0
- package/dist/sendmedia/sendPhoto.js +142 -0
- package/dist/sendmedia/sendRavenPhoto.js +153 -0
- package/dist/sendmedia/sendRavenVideo.js +158 -0
- package/dist/sendmedia/uploadPhoto.js +107 -0
- package/dist/sendmedia/uploadfFile.js +130 -0
- package/dist/services/live.service.js +139 -0
- package/dist/services/search.service.js +115 -0
- package/dist/shared/index.js +96 -0
- package/dist/shared/shared.js +86 -0
- package/dist/thrift/index.d.ts +3 -0
- package/dist/thrift/index.js +20 -0
- package/dist/thrift/index.js.map +1 -0
- package/dist/thrift/thrift.d.ts +59 -0
- package/dist/thrift/thrift.js +101 -0
- package/dist/thrift/thrift.js.map +1 -0
- package/dist/thrift/thrift.reading.d.ts +41 -0
- package/dist/thrift/thrift.reading.js +327 -0
- package/dist/thrift/thrift.reading.js.map +1 -0
- package/dist/thrift/thrift.writing.d.ts +44 -0
- package/dist/thrift/thrift.writing.js +342 -0
- package/dist/thrift/thrift.writing.js.map +1 -0
- package/dist/types/index.js +285 -0
- package/dist/useMultiFileAuthState.js +1768 -0
- package/dist/utils/helper-1.js +1 -0
- package/dist/utils/helper-10.js +1 -0
- package/dist/utils/helper-11.js +1 -0
- package/dist/utils/helper-12.js +1 -0
- package/dist/utils/helper-13.js +1 -0
- package/dist/utils/helper-14.js +1 -0
- package/dist/utils/helper-15.js +1 -0
- package/dist/utils/helper-16.js +1 -0
- package/dist/utils/helper-17.js +1 -0
- package/dist/utils/helper-18.js +1 -0
- package/dist/utils/helper-19.js +1 -0
- package/dist/utils/helper-2.js +1 -0
- package/dist/utils/helper-20.js +1 -0
- package/dist/utils/helper-21.js +1 -0
- package/dist/utils/helper-22.js +1 -0
- package/dist/utils/helper-23.js +1 -0
- package/dist/utils/helper-24.js +1 -0
- package/dist/utils/helper-25.js +1 -0
- package/dist/utils/helper-26.js +1 -0
- package/dist/utils/helper-27.js +1 -0
- package/dist/utils/helper-28.js +1 -0
- package/dist/utils/helper-29.js +1 -0
- package/dist/utils/helper-3.js +1 -0
- package/dist/utils/helper-30.js +1 -0
- package/dist/utils/helper-4.js +1 -0
- package/dist/utils/helper-5.js +1 -0
- package/dist/utils/helper-6.js +1 -0
- package/dist/utils/helper-7.js +1 -0
- package/dist/utils/helper-8.js +1 -0
- package/dist/utils/helper-9.js +1 -0
- package/dist/utils/index.js +280 -0
- package/dist/utils/insta-mqtt-helper.js +128 -0
- package/examples/listen-to-messages.js +86 -0
- package/package.json +82 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GraphQLSubscriptions = exports.QueryIDs = void 0;
|
|
4
|
+
const Chance = require("chance");
|
|
5
|
+
// src: com.instagram.realtimeclient.RealtimeSubscription
|
|
6
|
+
exports.QueryIDs = {
|
|
7
|
+
appPresence: '17846944882223835',
|
|
8
|
+
asyncAdSub: '17911191835112000',
|
|
9
|
+
clientConfigUpdate: '17849856529644700',
|
|
10
|
+
directStatus: '17854499065530643',
|
|
11
|
+
directTyping: '17867973967082385',
|
|
12
|
+
liveWave: '17882305414154951',
|
|
13
|
+
interactivityActivateQuestion: '18005526940184517',
|
|
14
|
+
interactivityRealtimeQuestionSubmissionsStatus: '18027779584026952',
|
|
15
|
+
interactivitySub: '17907616480241689',
|
|
16
|
+
liveRealtimeComments: '17855344750227125',
|
|
17
|
+
liveTypingIndicator: '17926314067024917',
|
|
18
|
+
mediaFeedback: '17877917527113814',
|
|
19
|
+
reactNativeOTA: '17861494672288167',
|
|
20
|
+
videoCallCoWatchControl: '17878679623388956',
|
|
21
|
+
videoCallInAlert: '17878679623388956',
|
|
22
|
+
videoCallPrototypePublish: '18031704190010162',
|
|
23
|
+
zeroProvision: '17913953740109069',
|
|
24
|
+
};
|
|
25
|
+
class GraphQLSubscriptions {
|
|
26
|
+
static formatSubscriptionString(queryId, inputParams, clientLogged) {
|
|
27
|
+
return `1/graphqlsubscriptions/${queryId}/${JSON.stringify({
|
|
28
|
+
input_data: inputParams,
|
|
29
|
+
...(clientLogged ? { '%options': { client_logged: clientLogged } } : {}),
|
|
30
|
+
})}`;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.GraphQLSubscriptions = GraphQLSubscriptions;
|
|
34
|
+
GraphQLSubscriptions.getAppPresenceSubscription = (options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.appPresence, {
|
|
35
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
36
|
+
}, options.clientLogged);
|
|
37
|
+
GraphQLSubscriptions.getAsyncAdSubscription = (userId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.asyncAdSub, {
|
|
38
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
39
|
+
user_id: userId,
|
|
40
|
+
}, options.clientLogged);
|
|
41
|
+
GraphQLSubscriptions.getClientConfigUpdateSubscription = (options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.clientConfigUpdate, {
|
|
42
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
43
|
+
}, options.clientLogged);
|
|
44
|
+
GraphQLSubscriptions.getDirectStatusSubscription = (options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.directStatus, {
|
|
45
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
46
|
+
}, options.clientLogged);
|
|
47
|
+
GraphQLSubscriptions.getDirectTypingSubscription = (userId, clientLogged) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.directTyping, {
|
|
48
|
+
user_id: userId,
|
|
49
|
+
}, clientLogged);
|
|
50
|
+
GraphQLSubscriptions.getIgLiveWaveSubscription = (broadcastId, receiverId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.liveWave, {
|
|
51
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
52
|
+
broadcast_id: broadcastId,
|
|
53
|
+
receiver_id: receiverId,
|
|
54
|
+
}, options.clientLogged);
|
|
55
|
+
GraphQLSubscriptions.getInteractivityActivateQuestionSubscription = (broadcastId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.interactivityActivateQuestion, {
|
|
56
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
57
|
+
broadcast_id: broadcastId,
|
|
58
|
+
}, options.clientLogged);
|
|
59
|
+
GraphQLSubscriptions.getInteractivityRealtimeQuestionSubmissionsStatusSubscription = (broadcastId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.interactivityRealtimeQuestionSubmissionsStatus, {
|
|
60
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
61
|
+
broadcast_id: broadcastId,
|
|
62
|
+
}, options.clientLogged);
|
|
63
|
+
GraphQLSubscriptions.getInteractivitySubscription = (broadcastId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.interactivitySub, {
|
|
64
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
65
|
+
broadcast_id: broadcastId,
|
|
66
|
+
}, options.clientLogged);
|
|
67
|
+
GraphQLSubscriptions.getLiveRealtimeCommentsSubscription = (broadcastId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.liveRealtimeComments, {
|
|
68
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
69
|
+
broadcast_id: broadcastId,
|
|
70
|
+
}, options.clientLogged);
|
|
71
|
+
GraphQLSubscriptions.getLiveTypingIndicatorSubscription = (broadcastId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.liveTypingIndicator, {
|
|
72
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
73
|
+
broadcast_id: broadcastId,
|
|
74
|
+
}, options.clientLogged);
|
|
75
|
+
GraphQLSubscriptions.getMediaFeedbackSubscription = (feedbackId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.mediaFeedback, {
|
|
76
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
77
|
+
feedback_id: feedbackId,
|
|
78
|
+
}, options.clientLogged);
|
|
79
|
+
GraphQLSubscriptions.getReactNativeOTAUpdateSubscription = (buildNumber, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.reactNativeOTA, {
|
|
80
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
81
|
+
build_number: buildNumber,
|
|
82
|
+
}, options.clientLogged);
|
|
83
|
+
GraphQLSubscriptions.getVideoCallCoWatchControlSubscription = (videoCallId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.videoCallCoWatchControl, {
|
|
84
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
85
|
+
video_call_id: videoCallId,
|
|
86
|
+
}, options.clientLogged);
|
|
87
|
+
GraphQLSubscriptions.getVideoCallInCallAlertSubscription = (videoCallId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.videoCallInAlert, {
|
|
88
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
89
|
+
video_call_id: videoCallId,
|
|
90
|
+
}, options.clientLogged);
|
|
91
|
+
GraphQLSubscriptions.getVideoCallPrototypePublishSubscription = (videoCallId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.videoCallPrototypePublish, {
|
|
92
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
93
|
+
video_call_id: videoCallId,
|
|
94
|
+
}, options.clientLogged);
|
|
95
|
+
GraphQLSubscriptions.getZeroProvisionSubscription = (deviceId, options = {}) => GraphQLSubscriptions.formatSubscriptionString(exports.QueryIDs.zeroProvision, {
|
|
96
|
+
client_subscription_id: options.subscriptionId || new Chance().guid({ version: 4 }),
|
|
97
|
+
device_id: deviceId,
|
|
98
|
+
}, options.clientLogged);
|
|
99
|
+
//# sourceMappingURL=graphql.subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.subscription.js","sourceRoot":"","sources":["../../../src/realtime/subscriptions/graphql.subscription.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./graphql.subscription"), exports);
|
|
18
|
+
__exportStar(require("./skywalker.subscription"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/realtime/subscriptions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,2DAAyC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkywalkerSubscriptions = void 0;
|
|
4
|
+
class SkywalkerSubscriptions {
|
|
5
|
+
static directSub(userId) {
|
|
6
|
+
return `ig/u/v1/${userId}`;
|
|
7
|
+
}
|
|
8
|
+
static liveSub(userId) {
|
|
9
|
+
return `ig/live_notification_subscribe/${userId}`;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.SkywalkerSubscriptions = SkywalkerSubscriptions;
|
|
13
|
+
//# sourceMappingURL=skywalker.subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skywalker.subscription.js","sourceRoot":"","sources":["../../../src/realtime/subscriptions/skywalker.subscription.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAsB;IACzB,MAAM,CAAC,SAAS,CAAC,MAAgC;QACrD,OAAO,WAAW,MAAM,EAAE,CAAC;IAC9B,CAAC;IACM,MAAM,CAAC,OAAO,CAAC,MAAgC;QACnD,OAAO,kCAAkC,MAAM,EAAE,CAAC;IACrD,CAAC;CACH;AAPD,wDAOC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Topic Mapping - Maps Instagram MQTT topics to handlers
|
|
3
|
+
* Topic IDs from Instagram MQTT broker
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const TOPICS = {
|
|
7
|
+
// Direct Messages
|
|
8
|
+
IRIS: { id: 88, path: '/ig/u/v1', type: 'iris', qos: 1 },
|
|
9
|
+
|
|
10
|
+
// Typing Indicators & Presence
|
|
11
|
+
GRAPHQL: { id: 135, path: '/ig/gqls', type: 'graphql', qos: 1 },
|
|
12
|
+
|
|
13
|
+
// Message Sync Deltas
|
|
14
|
+
MESSAGE_SYNC: { id: 149, path: '/ig/s/delta', type: 'delta', qos: 1 },
|
|
15
|
+
|
|
16
|
+
// Presence Status
|
|
17
|
+
PRESENCE: { id: 150, path: '/ig/s/presence', type: 'presence', qos: 1 },
|
|
18
|
+
|
|
19
|
+
// Feed Updates
|
|
20
|
+
FEED: { id: 133, path: '/ig/s/feed', type: 'feed', qos: 1 },
|
|
21
|
+
|
|
22
|
+
// Live Events
|
|
23
|
+
LIVE: { id: 146, path: '/ig/s/live', type: 'live', qos: 1 },
|
|
24
|
+
|
|
25
|
+
// Region Hint
|
|
26
|
+
REGION_HINT: { id: 202, path: '/t_region_hint', type: 'region', qos: 0 }
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// For quick ID lookup
|
|
30
|
+
const ID_TO_TOPIC = {};
|
|
31
|
+
Object.values(TOPICS).forEach(topic => {
|
|
32
|
+
ID_TO_TOPIC[topic.id] = topic;
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
// Parser mapping
|
|
36
|
+
const TOPIC_PARSERS = {
|
|
37
|
+
iris: 'parseIris',
|
|
38
|
+
graphql: 'parseGraphQL',
|
|
39
|
+
delta: 'parseDelta',
|
|
40
|
+
presence: 'parsePresence',
|
|
41
|
+
feed: 'parseFeed',
|
|
42
|
+
live: 'parseLive',
|
|
43
|
+
region: 'parseRegionHint'
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
function getTopicById(id) {
|
|
47
|
+
return ID_TO_TOPIC[id];
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function getTopicByPath(path) {
|
|
51
|
+
return Object.values(TOPICS).find(t => t.path === path);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function getParserForTopic(topicType) {
|
|
55
|
+
return TOPIC_PARSERS[topicType] || null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
function getSubscriptionList() {
|
|
59
|
+
// Return IDs for MQTT subscription
|
|
60
|
+
return Object.values(TOPICS).map(t => t.id);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
module.exports = {
|
|
64
|
+
TOPICS,
|
|
65
|
+
ID_TO_TOPIC,
|
|
66
|
+
TOPIC_PARSERS,
|
|
67
|
+
getTopicById,
|
|
68
|
+
getTopicByPath,
|
|
69
|
+
getParserForTopic,
|
|
70
|
+
getSubscriptionList
|
|
71
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const { RegionHintParser, GraphqlParser, IrisParser, JsonParser, SkywalkerParser } = require('./parsers');
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Instagram Realtime Topics Configuration
|
|
5
|
+
*
|
|
6
|
+
* Defines all available topics for Instagram's realtime MQTT system
|
|
7
|
+
* using the correct endpoint: edge-mqtt.facebook.com
|
|
8
|
+
*/
|
|
9
|
+
const Topics = {
|
|
10
|
+
GRAPHQL: {
|
|
11
|
+
id: '9',
|
|
12
|
+
path: '/graphql',
|
|
13
|
+
parser: new GraphqlParser()
|
|
14
|
+
},
|
|
15
|
+
PUBSUB: {
|
|
16
|
+
id: '88',
|
|
17
|
+
path: '/pubsub',
|
|
18
|
+
parser: new SkywalkerParser()
|
|
19
|
+
},
|
|
20
|
+
SEND_MESSAGE_RESPONSE: {
|
|
21
|
+
id: '133',
|
|
22
|
+
path: '/ig_send_message_response',
|
|
23
|
+
parser: new JsonParser()
|
|
24
|
+
},
|
|
25
|
+
IRIS_SUB: {
|
|
26
|
+
id: '134',
|
|
27
|
+
path: '/ig_sub_iris',
|
|
28
|
+
parser: null
|
|
29
|
+
},
|
|
30
|
+
IRIS_SUB_RESPONSE: {
|
|
31
|
+
id: '135',
|
|
32
|
+
path: '/ig_sub_iris_response',
|
|
33
|
+
parser: new JsonParser()
|
|
34
|
+
},
|
|
35
|
+
MESSAGE_SYNC: {
|
|
36
|
+
id: '146',
|
|
37
|
+
path: '/ig_message_sync',
|
|
38
|
+
parser: new IrisParser(),
|
|
39
|
+
noParse: true
|
|
40
|
+
},
|
|
41
|
+
REALTIME_SUB: {
|
|
42
|
+
id: '149',
|
|
43
|
+
path: '/ig_realtime_sub',
|
|
44
|
+
parser: new GraphqlParser(),
|
|
45
|
+
noParse: true
|
|
46
|
+
},
|
|
47
|
+
REGION_HINT: {
|
|
48
|
+
id: '150',
|
|
49
|
+
path: '/t_region_hint',
|
|
50
|
+
parser: new RegionHintParser()
|
|
51
|
+
},
|
|
52
|
+
FOREGROUND_STATE: {
|
|
53
|
+
id: '102',
|
|
54
|
+
path: '/t_fs',
|
|
55
|
+
parser: null
|
|
56
|
+
},
|
|
57
|
+
SEND_MESSAGE: {
|
|
58
|
+
id: '132',
|
|
59
|
+
path: '/ig_send_message',
|
|
60
|
+
parser: null
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Array of all topics for easy iteration
|
|
66
|
+
*/
|
|
67
|
+
const RealtimeTopicsArray = Object.values(Topics);
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Realtime configuration
|
|
71
|
+
*/
|
|
72
|
+
const REALTIME = {
|
|
73
|
+
HOST_NAME_V6: 'edge-mqtt.facebook.com' // Main realtime endpoint
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
module.exports = {
|
|
77
|
+
Topics,
|
|
78
|
+
RealtimeTopicsArray,
|
|
79
|
+
REALTIME
|
|
80
|
+
};
|