tangled
alpha
login
or
join now
marcomaroni.it
/
instagram-to-bluesky
9
fork
atom
Import Instagram archive to a Bluesky account
9
fork
atom
overview
issues
pulls
pipelines
Basic import for reels
Phyks (Lucas Verney)
1 year ago
3769cb5b
9fa205ff
+213
-3
5 changed files
expand all
collapse all
unified
split
src
instagram-to-bluesky.ts
transfer
test_image
reels.json
test_images
reels.json
test_mixed_media
reels.json
test_video
reels.json
+11
-3
src/instagram-to-bluesky.ts
···
153
153
154
154
// Decide where to fetch post data to process from.
155
155
let postsJsonPath: string;
156
156
+
let reelsJsonPath: string;
156
157
if (config.isTestModeEnabled()) {
157
158
postsJsonPath = path.join(archivalFolder, "posts.json");
159
159
+
reelsJsonPath = path.join(archivalFolder, "reels.json");
158
160
logger.info(
159
161
`--- TEST mode is enabled, using content from ${archivalFolder} ---`
160
162
);
···
163
165
archivalFolder,
164
166
"your_instagram_activity/content/posts_1.json"
165
167
);
168
168
+
reelsJsonPath = path.join(
169
169
+
archivalFolder,
170
170
+
"your_instagram_activity/content/reels.json"
171
171
+
);
166
172
}
167
173
168
174
// Read instagram posts JSON file as raw buffer data.
169
175
const instaPostsFileBuffer: Buffer = FS.readFileSync(postsJsonPath);
176
176
+
const instaReelsFileBuffer: Buffer = FS.readFileSync(reelsJsonPath);
170
177
171
178
// Decode raw JSON data into an object.
172
172
-
const allInstaPosts: InstagramExportedPost[] = decodeUTF8(
173
173
-
JSON.parse(instaPostsFileBuffer.toString())
174
174
-
);
179
179
+
const allInstaPosts: InstagramExportedPost[] = decodeUTF8([].concat(
180
180
+
JSON.parse(instaPostsFileBuffer.toString()),
181
181
+
JSON.parse(instaReelsFileBuffer.toString())['ig_reels_media']
182
182
+
));
175
183
176
184
// Initialize counters for posts and media.
177
185
let importedPosts = 0;
+4
transfer/test_image/reels.json
···
1
1
+
{
2
2
+
"ig_reels_media": [
3
3
+
]
4
4
+
}
+4
transfer/test_images/reels.json
···
1
1
+
{
2
2
+
"ig_reels_media": [
3
3
+
]
4
4
+
}
+168
transfer/test_mixed_media/reels.json
···
1
1
+
{
2
2
+
"ig_reels_media": [
3
3
+
{
4
4
+
"media": [
5
5
+
{
6
6
+
"uri": "media/posts/202407/450124567_850539960325047_1014258811537594829_n_17926160567808540.webp",
7
7
+
"creation_timestamp": 1720384529,
8
8
+
"media_metadata": {
9
9
+
"camera_metadata": {
10
10
+
"has_camera_metadata": false
11
11
+
}
12
12
+
},
13
13
+
"title": "",
14
14
+
"cross_post_source": {
15
15
+
"source_app": "FB"
16
16
+
},
17
17
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450124567_850539960325047_1014258811537594829_n.webp?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYC3h7V2vj_WxEU8cILUYqlu-1OWp6-Mfl4fpGGA4r7Zyg&oe=67AD75C8"
18
18
+
},
19
19
+
{
20
20
+
"uri": "media/posts/202407/450384793_3757102844577409_7210819267977332845_n_18030137863939663.jpg",
21
21
+
"creation_timestamp": 1720384529,
22
22
+
"media_metadata": {
23
23
+
"camera_metadata": {
24
24
+
"has_camera_metadata": false
25
25
+
}
26
26
+
},
27
27
+
"title": "",
28
28
+
"cross_post_source": {
29
29
+
"source_app": "FB"
30
30
+
},
31
31
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450384793_3757102844577409_7210819267977332845_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYA2W6Y05DojX0yG14var-pEjvM_JNfVQkWXSXzEN2pudg&oe=67AD7784"
32
32
+
},
33
33
+
{
34
34
+
"uri": "media/posts/202407/449873973_1204391817570870_1300270201787719920_n_18016994726159185.jpg",
35
35
+
"creation_timestamp": 1720384529,
36
36
+
"media_metadata": {
37
37
+
"camera_metadata": {
38
38
+
"has_camera_metadata": false
39
39
+
}
40
40
+
},
41
41
+
"title": "",
42
42
+
"cross_post_source": {
43
43
+
"source_app": "FB"
44
44
+
},
45
45
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/449873973_1204391817570870_1300270201787719920_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYDZ3SL6EljwbgS14K_VBIultlrr3UTQijPyL0QztC-eCA&oe=67AD458F"
46
46
+
},
47
47
+
{
48
48
+
"uri": "media/posts/202407/450090938_1457101201604063_7774123883513094186_n_17892332634027265.jpg",
49
49
+
"creation_timestamp": 1720384529,
50
50
+
"media_metadata": {
51
51
+
"camera_metadata": {
52
52
+
"has_camera_metadata": false
53
53
+
}
54
54
+
},
55
55
+
"title": "",
56
56
+
"cross_post_source": {
57
57
+
"source_app": "FB"
58
58
+
},
59
59
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450090938_1457101201604063_7774123883513094186_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYBYShzWgogdpcaSZ2-Ofg4hEV5BW2p_Hc9VJLpQnkvZpA&oe=67AD50C8"
60
60
+
},
61
61
+
{
62
62
+
"uri": "media/posts/202407/450103288_491061823396353_3794282564229224546_n_18040222816930131.jpg",
63
63
+
"creation_timestamp": 1720384529,
64
64
+
"media_metadata": {
65
65
+
"camera_metadata": {
66
66
+
"has_camera_metadata": false
67
67
+
}
68
68
+
},
69
69
+
"title": "",
70
70
+
"cross_post_source": {
71
71
+
"source_app": "FB"
72
72
+
},
73
73
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450103288_491061823396353_3794282564229224546_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYCOdBK8UghG9aijfw_KydgQwACdRlMOgT2udj2MDo2UpQ&oe=67AD61FD"
74
74
+
},
75
75
+
{
76
76
+
"uri": "media/posts/202407/AQNVWvxnmXorzrSI0J0eosdRGdRUnJ57Bnf2vKtZQymssIG7TF3Lj9IUeX3CPTLjOBbPKmQ45twXxXFJ6t4VMp_17995561811639023.mp4",
77
77
+
"creation_timestamp": 1720384529,
78
78
+
"media_metadata": {
79
79
+
"camera_metadata": {
80
80
+
"has_camera_metadata": false
81
81
+
}
82
82
+
},
83
83
+
"title": "",
84
84
+
"cross_post_source": {
85
85
+
"source_app": "FB"
86
86
+
},
87
87
+
"dubbing_info": [
88
88
+
89
89
+
],
90
90
+
"media_variants": [
91
91
+
92
92
+
],
93
93
+
"backup_uri": "https://interncache-ldc.fbcdn.net/o1/v/t16/f2/m69/AQNVWvxnm-XorzrSI0J0eosdRGdRUnJ57Bnf2vKtZQymssIG7TF3Lj9IUeX3-CPTLjOBbPKmQ45twXxXFJ6t4VMp?efg=eyJ1cmxnZW4iOiJvaWxfY3BwX3VybGdlbi9PaWxWVFNVcmwiLCJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLmNhcm91c2VsX2l0ZW0udW5rbm93bi1DOS43MjAuZGFzaF9iYXNlbGluZV8xX3YxIn0&vs=943936170818949_83658459&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HS21IMlJxWHpaZHp2Qm9FQUNUWHJYZ281aTh3YmtZTEFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dNMkUxQnBnVGJYN1U4VUJBSTdQQ29EenRaMEtia1lMQUFBRhUCAsgBACgAGAAbAYgHdXNlX29pbAExFQAAJuaPvO7Xmes%2FFQIoAkMzLBc%2F9G6XjU%2FfOxgSZGFzaF9iYXNlbGluZV8xX3YxEQB17gcA&ccb=9-4&oh=00_AYDv0yCACPligcyEsXHlOvSCRJLx6Sw-hhpVcUjI7ujdNg&oe=67A965C8&_nc_sid=1d576d"
94
94
+
},
95
95
+
{
96
96
+
"uri": "media/posts/202407/450098780_1665263484252935_8355389668902118342_n_18079198510496264.jpg",
97
97
+
"creation_timestamp": 1720384529,
98
98
+
"media_metadata": {
99
99
+
"camera_metadata": {
100
100
+
"has_camera_metadata": false
101
101
+
}
102
102
+
},
103
103
+
"title": "",
104
104
+
"cross_post_source": {
105
105
+
"source_app": "FB"
106
106
+
},
107
107
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450098780_1665263484252935_8355389668902118342_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYCeaMVOEXFnbMaLBwXHvF40WzKm8psBN7dGyom7Q-3qhA&oe=67AD4D66"
108
108
+
},
109
109
+
{
110
110
+
"uri": "media/posts/202407/AQOWGsXWS2dp_tAxcY2DOAqT1BrX_NAdDEqRo0__OIFqZD6yT3QwYttrPi5KZE255dYkwRx1QgrGDE4YbZoxND7_18233190331273141.mp4",
111
111
+
"creation_timestamp": 1720384529,
112
112
+
"media_metadata": {
113
113
+
"camera_metadata": {
114
114
+
"has_camera_metadata": false
115
115
+
}
116
116
+
},
117
117
+
"title": "",
118
118
+
"cross_post_source": {
119
119
+
"source_app": "FB"
120
120
+
},
121
121
+
"dubbing_info": [
122
122
+
123
123
+
],
124
124
+
"media_variants": [
125
125
+
126
126
+
],
127
127
+
"backup_uri": "https://interncache-ldc.fbcdn.net/o1/v/t16/f2/m69/AQOWGsXWS2dp_tAxcY2DOAqT1BrX_NAdDEqRo0__OIFqZD6yT3QwYttrPi5KZE255dYkwRx1QgrGDE4YbZoxND7-?efg=eyJ1cmxnZW4iOiJvaWxfY3BwX3VybGdlbi9PaWxWVFNVcmwiLCJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLmNhcm91c2VsX2l0ZW0udW5rbm93bi1DOS43MjAuZGFzaF9iYXNlbGluZV8xX3YxIn0&vs=835407334819922_1041113555&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HQml6MlJybzRFRGk2WjRHQUhPRDVTbWcxemhsYmtZTEFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dCQzF6UnFMSmpjN1NtWUJBSGozdl90YVh0RmJia1lMQUFBRhUCAsgBACgAGAAbAYgHdXNlX29pbAExFQAAJsS3gLrxwbU%2FFQIoAkMzLBdANcHKwIMSbxgSZGFzaF9iYXNlbGluZV8xX3YxEQB17gcA&ccb=9-4&oh=00_AYAkTmzdaP3Se5uFcj743XTT7PdHIyORVe0wkvqldEQQMg&oe=67A960F0&_nc_sid=1d576d"
128
128
+
},
129
129
+
{
130
130
+
"uri": "media/posts/202407/450386863_2125611097838429_8053143681447061885_n_18064275982571079.jpg",
131
131
+
"creation_timestamp": 1720384529,
132
132
+
"media_metadata": {
133
133
+
"camera_metadata": {
134
134
+
"has_camera_metadata": false
135
135
+
}
136
136
+
},
137
137
+
"title": "",
138
138
+
"cross_post_source": {
139
139
+
"source_app": "FB"
140
140
+
},
141
141
+
"backup_uri": "https://interncache-ldc.fbcdn.net/v/t51.29350-15/450386863_2125611097838429_8053143681447061885_n.jpg?stp=dst-jpg_e35_tt6&ccb=1-7&_nc_sid=18de74&efg=eyJ1cmxnZW4iOiJwaHBfdXJsZ2VuX2NsaWVudC9tZXRhX3VuaXZlcnNlL2VudGl0eS9pbnN0YWdyYW0vYmVzdF9pbWFnZSJ9&_nc_zt=23&_nc_gid=At21s-bxBp9qaCqtNlpqmQH&oh=00_AYCfUJgmGskU-nLNIAwDvWVAZfLd2S7eMdbj85_O28TTKg&oe=67AD41C9"
142
142
+
},
143
143
+
{
144
144
+
"uri": "media/posts/202407/AQNf9UEV2xsOnDpeX9XC1nhKWFDTpknsIjhce1DvwiqgOQMM2LBtQb2WZM1G04ahrdYkJlkqjmACABV4tAGSycJ_18008063708546486.mp4",
145
145
+
"creation_timestamp": 1720384529,
146
146
+
"media_metadata": {
147
147
+
"camera_metadata": {
148
148
+
"has_camera_metadata": false
149
149
+
}
150
150
+
},
151
151
+
"title": "",
152
152
+
"cross_post_source": {
153
153
+
"source_app": "FB"
154
154
+
},
155
155
+
"dubbing_info": [
156
156
+
157
157
+
],
158
158
+
"media_variants": [
159
159
+
160
160
+
],
161
161
+
"backup_uri": "https://interncache-ldc.fbcdn.net/o1/v/t16/f2/m69/AQNf-9UEV2xsOnDpeX9XC1nhKWFDTpknsIjhce1DvwiqgOQMM2LBtQb2WZM1G04ahrdYkJlkqjmACABV4tAGSycJ?efg=eyJ1cmxnZW4iOiJvaWxfY3BwX3VybGdlbi9PaWxWVFNVcmwiLCJ2ZW5jb2RlX3RhZyI6InZ0c192b2RfdXJsZ2VuLmNhcm91c2VsX2l0ZW0udW5rbm93bi1DOS43MjAuZGFzaF9iYXNlbGluZV8xX3YxIn0&vs=994522832060125_1361240656&_nc_vs=HBksFQIYOnBhc3N0aHJvdWdoX2V2ZXJzdG9yZS9HR0VmMlJyQkMtaTNKS1lOQUV6WVBCbDNhUDBwYmtZTEFBQUYVAALIAQAVAhg6cGFzc3Rocm91Z2hfZXZlcnN0b3JlL0dNcEQxQnItUjdTRkYwNEZBRlZITE1LQ3RRQjlia1lMQUFBRhUCAsgBACgAGAAbAYgHdXNlX29pbAExFQAAJubvx43dy6xAFQIoAkMzLBdAHUGJN0vGqBgSZGFzaF9iYXNlbGluZV8xX3YxEQB17gcA&ccb=9-4&oh=00_AYB3p0WxwiC7anVKohkB8zenurZNxspxhWEBGdx8NARyTg&oe=67A97CE5&_nc_sid=1d576d"
162
162
+
}
163
163
+
],
164
164
+
"title": "What an incredible weekend day trip to celebrate Momma Olga's birthday.",
165
165
+
"creation_timestamp": 1720384531
166
166
+
}
167
167
+
]
168
168
+
}
+26
transfer/test_video/reels.json
···
1
1
+
{
2
2
+
"ig_reels_media": [
3
3
+
{
4
4
+
"media": [
5
5
+
{
6
6
+
"uri": "AQPTSNLZ6iUA4HKv1fhGWroYyhb2Ccrm9A9xbXRR3sWTzEz_LSfVjCbA2OuODLVHivWjGmHSfLtjOh7aSdseiCpCC3OwLC4lkXLcByU_17898982279059393.mp4",
7
7
+
"creation_timestamp": 1458732736,
8
8
+
"media_metadata": {
9
9
+
"video_metadata": {
10
10
+
"exif_data": [
11
11
+
{
12
12
+
"latitude": 53.141186112,
13
13
+
"longitude": 11.038734576
14
14
+
}
15
15
+
]
16
16
+
}
17
17
+
},
18
18
+
"title": "Pokemon test video",
19
19
+
"cross_post_source": {
20
20
+
"source_app": "FB"
21
21
+
}
22
22
+
}
23
23
+
]
24
24
+
}
25
25
+
]
26
26
+
}