lazy-downloader
v1.0.2
Published
All-in-one media downloader CLI (Node.js)
Readme
Dự án lazy Downloader 1.0.0
lazy-downloader là CLI Node.js để parse URL và tải media trực tiếp từ nhiều nền tảng.
Install
npm install -g lazy-downloader
npx playwright install chromiumCLI
lazy-down "URL" -P downloads --all -o "%(title)s_%(idx)s.%(ext)s"Options (tóm tắt)
-P, --paths: thư mục lưu-o, --outtmpl: output template--all: tải tất cả media--headful: mở browser UI--no-unlock: tắt unlock--timeout: timeout giây--write-json: ghi JSON cạnh file--quiet: tắt progress--upload-url: upload file lên endpoint thay vì trả local path--upload-field: tên field multipart (mặc địnhfile)--upload-token: Bearer token cho endpoint upload--remove-local-after-upload: xóa file local sau khi upload thành công--only-url: chỉ lấy URL media, không lưu file local
Upload Mode
lazy-down "URL" \
--upload-url "http://localhost:8787/upload" \
--upload-field "file" \
--remove-local-after-uploadKhi bật upload mode, paths[] trong JSON sẽ là URL trả về từ server upload.
Only URL Mode
lazy-down "URL" --only-url --allMode này không tải file xuống máy và không ghi vào thư mục paths.
Library (Node.js)
import { DownloadWorker } from "lazy-downloader";
const w = new DownloadWorker({ allMedias: true, outtmpl: "%(title)s_%(idx)s.%(ext)s" });
const res = await w.download("URL", "downloads");
console.log(res.paths);Progress Hooks
Hook nhận object trạng thái.
import { DownloadWorker } from "lazy-downloader";
const hook = (d) => {
if (d.status === "downloading") {
console.log(d.filename, d.downloaded_bytes, d.total_bytes);
} else if (d.status === "finished") {
console.log("done", d.filename);
}
};
const w = new DownloadWorker({ progressHooks: [hook] });
await w.download("URL", "downloads");Docs
License
MIT
