feat: generate JDownloader crawljobs from the archives on disk
The manual flow is: paste a profile URL into JDownloader, paste the /reels URL separately (the profile page misses some reels), set the output folder by hand, repeat per profile. scripts/jd2-sync.ts emits one crawljob per source with the folder already pointed at the right directory, so folder-watch picks up the whole batch at once. Profiles and sidecars are derived with the same grouping logic the server uses, so output folders always match what the viewer expects to find. --download-base maps the path for a JDownloader running on another machine (Windows paths included), since it typically runs on a desktop against the share. Directories that aren't Instagram profiles are skipped: an archive root also collects tool output and exports from other services, and pointing a crawl at those spends requests on instagram.com to be told the profile doesn't exist — exactly the traffic worth not spending. Filtering is by username shape, plus --skip and a .jd2ignore file for names that look like usernames but aren't. Defaults are conservative: chunks=1, because multi-chunk ranged requests are the one CDN-side pattern that doesn't resemble a browser, and links park in the LinkGrabber for review rather than auto-starting. Only posts and reels are emitted; highlight URLs need a numeric id and story URLs expire, so those stay manual. Format verified against JDownloader's own explain.txt for the folderwatch extension, read from the daily SVN mirror rather than one of the decade-stale GitHub copies. Also refreshes CLAUDE.md, whose URL-state section still described the query parameters replaced in 1.4.0, and documents the mobile feed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011uBWhwV3wFQ5MBCcMHHem7
This commit is contained in:
co-authored by
Claude Opus 5
parent
0dc6a8372c
commit
843607f47e
+2
-1
@@ -12,7 +12,8 @@
|
||||
"clean": "rm -rf dist",
|
||||
"lint": "tsc --noEmit",
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest"
|
||||
"test:watch": "vitest",
|
||||
"jd2": "tsx scripts/jd2-sync.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tailwindcss/vite": "^4.1.14",
|
||||
|
||||
Reference in New Issue
Block a user