惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
A
About on SuperTechFans
J
Java Code Geeks
量子位
博客园 - 三生石上(FineUI控件)
博客园 - Franky
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
Engineering at Meta
Engineering at Meta
雷峰网
雷峰网
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

Hacker News

GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Bonsai 1-bit WebGPU - a Hugging Face Space by webml-community Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line
GitHub - redraw/rapel: chunked resumable downloads in uns...
autorun · 2026-05-26 · via Hacker News

Chunked HTTP downloader with resume support.

A modern, cross-platform implementation with improved state management and progress tracking.

Installation

go build -o bin/rapel

Or install directly:

go install github.com/redraw/rapel@latest

Usage

Download a file with default settings (100MB chunks, 1 concurrent job):

rapel download https://example.com/file.bin

Download with custom chunk size and multiple concurrent downloads:

rapel download -c 50M --jobs 4 https://example.com/file.bin

Download through a proxy:

rapel download -x socks5h://127.0.0.1:9050 https://example.com/file.bin

Download and auto-merge:

rapel download --merge https://example.com/file.bin

Run command after each chunk completes:

rapel download --post-part 'rclone move {part} remote:bucket/' https://example.com/file.bin

Merge chunk files manually:

rapel merge                                    # Auto-detects output name
rapel merge --pattern 'file.*.part'           # Auto-detects as "file"
rapel merge -o output.bin --delete            # Explicit name, delete after merge

Features

  • Argument persistence: a .{prefix}-args.json file records the URL, chunk size, and total size so resumes can validate they're continuing the right download
  • Graceful shutdown: Ctrl+C is safe — resume reconstructs progress from the on-disk .tmp / .part files
  • Better progress display: Real-time speed, completion status with ANSI formatting
  • Cross-platform: Works on Linux (amd64, arm64, arm v6/v7), macOS (Intel/Apple Silicon), Windows, and FreeBSD
  • Raspberry Pi support: Native ARM v7 and v6 binaries for all Raspberry Pi models
  • Resume support: Automatically resumes interrupted downloads
  • Concurrent downloads: Download multiple chunks simultaneously
  • Post-part hooks: Run custom commands after each chunk completes (e.g., upload to cloud). Hooks are at-least-once: on resume, hooks may run again for already-completed chunks. Write hooks to be idempotent.
  • Smart merging: Auto-detects output filename and handles multiple download sessions

Options

Download command:

Flags must be specified BEFORE the URL argument.

-c SIZE              Chunk size (K, M, G suffix). Default: 100M
-x URL               Proxy URL (e.g., socks5h://127.0.0.1:9050)
-r N                 Retries per request. Default: 10
--no-head            Skip HEAD request (requires --size)
--size BYTES         Total size in bytes (required if --no-head)
--jobs N             Concurrent chunks. Default: 1
--force              Force re-download, ignoring any existing args file or chunk files
--merge              Merge chunks after download (auto-detects output name)
--post-part CMD      Command to run after each part completes
                     Placeholders: {part} {idx} {base}
--post-part-jobs N   Max concurrent post-part commands. Default: 0 (unlimited)

State files

  • .{prefix}-args.json — records the URL, total size, chunk size, and filename prefix used at start; written once at start, removed on success. Resuming with a different URL or size requires --force. Runtime flags (--jobs, --post-part, proxy, retries, etc.) are not persisted and can change between runs.
  • <prefix>.NNNNNN.tmp — chunk download in progress
  • <prefix>.NNNNNN.part — chunk fully downloaded

Merge command:

-o FILE        Output filename (auto-detected if not provided)
--pattern GLOB Pattern for chunk files. Default: *.part
--delete       Delete chunk files and args file after merging