npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

yarmd

v1.0.5

Published

Yet Another Recursive Multi-thread Downloader (A wrapper script around aria2, Nginx autoindex required)

Downloads

15

Readme

yarmd - Yet Another Recursive Multi-thread Downloader

A recursive downloader parsing Nginx's autoindex page, and depends on aria2 for multi-thread downloading and easy interrupting / resuming.

Motivation

Recently I've set up a PT (Private Tracker) seedbox on one of my servers for better downloading / uploading speed than my local computer.

It works really well, but one problem bothers me a lot - that I could not find a great recursive downloader (wget supports recursive mode but it can only download with single connection.). This is really something when I pulled a large torrent that is made up of a directory and want to download them back to my PC.

Thus, I wrote this script.

Usage

Usage: yarmd [-h] [-n count] [-d directory] URL

Yet Another Recursive Multi-thread Downloader. This program downloads recursively from an Nginx server with autoindex enabled.
If you want to resume a previous download, just make sure the parameters remain the same.
Please note that this program ONLY supports servers with NGINX autoindex, and it requires Aria2 to work!

Options:
  -n, --threads    The number of threads while downloading a file.                                                                        [default: 3]
  -d, --directory  Directory to download into. YARMD will create a new directory in that directory named with the directory to download.  [default: "$PWD"]
  -h, --help       Print help information                                                                                                 [default: false]

Why Aria2?

Because aria2 has done all the stuff (except recursive download) greatly. Rewriting the download logic by myself can only bring more problems. Thus, we just call aria2c for every single file.