Show HN: Rapel – chunked resumable downloads in unstable networks

autorun1 pts0 comments

GitHub - redraw/rapel: chunked resumable downloads in unstable networks · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

redraw

rapel

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>3 Commits<br>3 Commits

.github/workflows

.github/workflows

cmd

cmd

internal

internal

scripts

scripts

.gitignore

.gitignore

CLAUDE.md

CLAUDE.md

Makefile

Makefile

README.md

README.md

go.mod

go.mod

go.sum

go.sum

main.go

main.go

View all files

Repository files navigation

rapel

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 https://example.com/file.bin -c 50M --jobs 4

Download through a proxy:

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

Download and auto-merge:

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

Run command after each chunk completes:

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

Merge chunk files manually:

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

Features

JSON state management : Single .rapel-state.json file tracks all chunk metadata

Graceful shutdown : Ctrl+C saves progress and allows resume

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)

Smart merging : Auto-detects output filename and handles multiple download sessions

Options

Download command:

-c SIZE Chunk size (K, M, G suffix). Default: 100M<br>-x URL Proxy URL (e.g., socks5h://127.0.0.1:9050)<br>-r N Retries per request. Default: 10<br>--no-head Skip HEAD request (requires --size)<br>--size BYTES Total size in bytes (required if --no-head)<br>--jobs N Concurrent chunks. Default: 1<br>--force Force re-download even if state exists<br>--merge Merge chunks after download (auto-detects output name)<br>--post-part CMD Command to run after each part completes<br>Placeholders: {part} {idx} {base}

Merge command:

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

About

chunked resumable downloads in unstable networks

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Releases

v1.0.1

Latest

Jan 6, 2026

+ 1 release

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Go<br>84.1%

Shell<br>13.4%

Makefile<br>2.5%

You can’t perform that action at this time.

rapel download file merge chunk part

Related Articles