feat: adopt @mozempk/ig-auth — faithful Chrome identity + shared session, migrate to ideapad
Build and publish docker image / Build and push image to Gitea's registry (push) Failing after 39s

Replace the bot-flagged Instagram path with the shared @mozempk/ig-auth library:
- instagram/threads now source cookies + the captured Chrome web fingerprint from
  a shared encrypted session store (owned by the ig-keeper), replayed via yt-dlp
  --user-agent and the web identity in threads.ts (was: truncated android UA +
  android app-id)
- remove the fixed 12h current_user heartbeat; IG health is now passive
  (download success/failure) + the keeper
- migrate off OVH: image at mozempk/generic-video-dl, ideapad compose on the proxy
  network with the shared ig-session volume, host vidl.sal.giize.com
- Dockerfile resolves the scoped package via a BuildKit secret (no token in layers)
- drop scripts/generate-cookies.ts (superseded by the library's capture)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Giancarmine Salucci
2026-06-13 17:07:57 +02:00
co-authored by Claude Opus 4.8
parent 6830c8b5a8
commit 99959b230e
17 changed files with 395 additions and 376 deletions
+17 -3
View File
@@ -8,6 +8,7 @@
"name": "generic-video-dl",
"version": "0.1.0",
"dependencies": {
"@mozempk/ig-auth": "^0.1.0",
"@node-rs/argon2": "^2.0.2",
"better-sqlite3": "^11.8.0",
"drizzle-orm": "^0.40.0",
@@ -1386,6 +1387,20 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@mozempk/ig-auth": {
"version": "0.1.0",
"resolved": "https://git.sal.giize.com/api/packages/mozempk/npm/%40mozempk%2Fig-auth/-/0.1.0/ig-auth-0.1.0.tgz",
"integrity": "sha512-VldAdv5DLk3+t2r5VPvI9m5woYnHGj4Re1v2YqW2s0QarDGETZkTy+9Zw6vLlgo06O1DJcPcdWAy7M02gV1JBQ==",
"license": "UNLICENSED",
"peerDependencies": {
"playwright": ">=1.40.0"
},
"peerDependenciesMeta": {
"playwright": {
"optional": true
}
}
},
"node_modules/@napi-rs/wasm-runtime": {
"version": "0.2.12",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz",
@@ -5392,7 +5407,7 @@
"version": "1.60.0",
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz",
"integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==",
"dev": true,
"devOptional": true,
"license": "Apache-2.0",
"dependencies": {
"playwright-core": "1.60.0"
@@ -5411,7 +5426,7 @@
"version": "1.60.0",
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz",
"integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==",
"dev": true,
"devOptional": true,
"license": "Apache-2.0",
"bin": {
"playwright-core": "cli.js"
@@ -5424,7 +5439,6 @@
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
"optional": true,