1 usage
Foster Hangdaan edited this page 2024-05-29 21:10:43 -04:00

Usage

This document contains instructions and examples for using the vimm-dl command.

Secure by Default

Before starting, it is important to note that vimm-dl uses the Deno runtime and is secure by default. In other words, vimm-dl is sandboxed and cannot access your system without your permission. This design is intentional and helps protect you from any unforeseen vulnerabilities within the code.

vimm-dl will prompt you for any permission it needs during runtime. At a minimum, vimm-dl requires write permission to the destination folder where the games will be saved. Here is an example prompt asking for write access to the /home/vimm/Downloads directory:

┌ ⚠️  Deno requests write access to "/home/vimm/Downloads".
├ Requested by `Deno.permissions.request()` API.
├ Run again with --allow-write to bypass this prompt.
└ Allow? [y/n/A] (y = yes, allow; n = no, deny; A = allow all write permissions) >

When you encounter a prompt like this, just review the request and choose if it should be allowed. Denying a permission will cause the the program to exit without proceeding further.

NOTE: To disable the sandboxing, you must compile your own binary with all permissions allowed. If this is what you would like, then I suggest checking out the Allowing All Permissions section of the Compiling from Source page.

Basic Usage

Download games from The Vault by supplying one or more URLs to vimm-dl. A table will be displayed which contains information about the games to be downloaded. You will then be prompted to proceed with the downloads which gives you an opportunity to review the table.

Download a game and save it in the ~/Downloads folder:

vimm-dl https://vimm.net/vault/5953 --destination ~/Downloads

Download multiple games by providing more than one URL:

vimm-dl https://vimm.net/vault/5953 https://vimm.net/vault/5359 --destination ~/Downloads

Supply URLs from a Text File

You can instruct vimm-dl to read URLs from a text file with the --file option. The --file option takes a path to a text file containing a newline-separated list of IDs.

For example, here is a text file called vimm-dl.txt which contains the following:

https://vimm.net/vault/5953
https://vimm.net/vault/5359
https://vimm.net/vault/2344

You can tell vimm-dl to read the URLs from this file like so:

vimm-dl --file ./vimm-dl.txt --destination ~/Downloads

If the --file option has been provided, vimm-dl will prioritize reading from the file and ignore any URLs provided on the command line. So, https://vimm.net/vault/7271 in the following command will be ignored:

vimm-dl https://vimm.net/vault/7271 --file ./vimm-dl.txt --destination ~/Downloads

Shell Completions

vimm-dl can generate shell completions with the completions subcommand. The subcommand will output completions for the specified shell to stdout.

For example, you generate completions for FISH and redirect the output straight to its completions directory:

vimm-dl completions fish > ~/.config/fish/completions/vimm-dl.fish

Display the help menu for more information and to list the supported shell environments:

vimm-dl completions --help

Display the Help Menu

The help menu provides the complete list of options and other helpful information. Use the --help option to display the menu:

vimm-dl --help