Repository navigation
Usage
Every download is a card with its name, the number of episodes, a status (Running, Paused, Password needed, Failed, Canceled or Done), a bar for the Debrid-Link creation and a bar for the download (size, speed and time left). Below them are the folder it is saved to and the buttons:
| Button | Shown when | What it does |
|---|---|---|
| Unpack | an episode is downloaded and waits | Unpacks it. On the card it reads Unpack all when several wait. |
| Enter password | an episode waits for a password | Asks for it and tries it on every waiting episode. |
| Retry | an episode failed or was canceled | Starts those episodes again. Parts that arrived are kept. |
| Pause | links or parts are being fetched | Stops requests and downloads. What arrived stays on disk. An unpacking cannot be paused: it goes on, and Cancel unpacking stops it. |
| Resume | the download is paused | Carries on from there. |
| Cancel unpacking | an episode is being unpacked | Stops the unpacking and puts the episode back to Downloaded, where Unpack starts it again from the beginning. The archive stays. |
| Cancel | running, paused or password needed | Ends the download for good, after asking. Files on disk stay. |
| Remove | always | Drops it from the list after asking (stops it if it runs). Files stay. |
| Show details | always | Opens a row per episode, its parts and the activity log. |
Show details lists every episode with its own bar and stage. A click on N parts shows the files of that episode with their state (Waiting for link, Creating link, Link ready, Downloading, Downloaded or Failed) and how much has arrived. Below the episodes, the activity log keeps the latest messages. Finished files and problems also show up as notes in the corner. If the server cannot be reached, an amber strip under the top bar says so on every page.
With more than one episode, every row also has its own buttons: Unpack, Retry, Pause or Resume, Cancel and Remove, as far as they apply to its state. They act on that one episode, and the rest of the download carries on. Cancel and Remove ask first. Resume on the card also carries on an episode that was paused on its own. Removing the last episode removes the whole download. Finished files stay on disk.
The page is laid out for a phone as well as for a desktop, and its buttons are large enough for a finger. What differs from the description above:
- The buttons of a download share its width, and the switch Unpack when downloaded is a row of its own.
- In the details, an episode keeps its name and state on the first line. The second line has N parts on the left and the buttons of the episode on the right. The first of them, a box with an arrow, is the setting Unpack when downloaded of that episode: it is lit while the episode is unpacked once it is downloaded.
- A part is one line: its file name, cut in the middle so that the end (
.part2.rar) stays readable, the share that has arrived, and a symbol for its state: a clock (Waiting for link), two arrows in a circle (Creating link), a chain link (Link ready), an arrow in a circle (Downloading), a check mark (Downloaded) or an exclamation mark (Failed). - When the phone has been asleep, the list is read again as soon as the page is shown again, so it is current at once.
New download takes:
| Field | Applies to | What to enter |
|---|---|---|
| Type | both | Season for several episodes, Movie for one release (a single episode counts as one). |
| Name | both | Becomes the folder, and the file name of a film. |
| Season format | Season | The text in front of the episode number, e.g. Frieren.S01E. Found automatically. |
| Season | Season | The number of the folder (01). Read from the format, editable. |
| Links | both | One per line, in any order. |
| Password | both | Optional. Tried before the default passwords. |
| Unpack when downloaded | both | On by default. Off: see Downloading without unpacking. |
While you type, the page checks the links and shows which episodes and parts it found before you start. Only http
and https links count. Duplicates and empty lines are dropped, and .html at the end of a link is not part of the
file name. The part number comes from part1, part01 or an old-style ending such as .r00. For a Season with a
format, the number after it decides which episode a link belongs to. A Movie puts all links into one release.
A download only starts when every link can be assigned. If one cannot, the page says which. It also refuses a second download into a folder that is still being filled.
Limits that keep names inside what file systems allow:
| Field | Limit | Why |
|---|---|---|
| Name | 251 bytes in UTF-8 | A file name may have 255 bytes, and .mkv or .nfo needs 4 of them. |
| Season format | 255 characters | The length of a file name. |
| Links | 1,000,000 characters | About 7,700 links of the usual length (960 episodes with 8 parts). Split larger lists. |
| Password | 127 characters | The longest password RAR allows. |
Plain letters are one byte each, accented ones two, and most Japanese characters three. The page counts for you and warns before you start.
Switch off Unpack when downloaded in the form, and every episode of that download ends at Downloaded once its archive parts are on disk. The download is then done as far as the network goes: nothing is unpacked, and nothing has to be unpacked for it to count as finished downloading.
- The switch Unpack when downloaded is on the card of every download, and on every row when there are several episodes. It can be turned on or off as long as the archive parts of that episode have not all arrived, also while the download is paused or has failed: turned off, the episode rests as Downloaded once its last part is on disk, turned on, it is unpacked right then. On the card, it changes every episode that has not been downloaded yet. Once an episode is downloaded, the switch is gone and Unpack takes its place, and from the moment an episode is being unpacked, or waits for a password, nothing can be changed any more. An episode that has all its parts and only waits for a free unpacking place still counts as not unpacked yet: if it is switched off meanwhile, it rests as Downloaded when its turn comes. A failed or canceled episode keeps the switch as well, and Retry follows whatever it says then.
- Cancel unpacking also sets the episode to off. It would otherwise start again by itself after a restart, and the switch shows what will happen: Unpack starts it, and it is set to on again with it.
- Unpack on an episode, or Unpack all on the card, starts the unpacking whenever you like. It uses the same unpacking slots as everything else, so with many episodes some of them wait for a free one. If no known password opens an archive, the episode asks for one as usual.
- The archives stay in
archives/, and.anilink.jsonstays too, until every episode has been unpacked. A restart of the container does not change that: the download comes back as Downloaded and nothing is unpacked by itself. - A second download into the same folder is refused while some of its episodes wait to be unpacked.
- A download that waits at Downloaded is written in a form that versions before 3.1 do not know. If you go back to such a version, it skips that download at the start. The files stay on disk.
- Retry works as before: a failed episode downloads again and then waits to be unpacked like the others.
A season goes into Name/Season, with the season as two digits:
downloads/
└── Frieren/
└── 01/
├── 1.mkv ← episode 1
├── 1.nfo
├── 1.txt ← its info.txt, when the archive had one
├── 2.mkv
├── Downloads.txt ← all links, in order
├── .anilink.json ← the state, until everything is done
├── archives/ ← the archive of an episode goes as soon as it is unpacked
└── output/ ← what is being unpacked, and gone again when nothing is left
A film goes directly into a folder of its own and is named after the film:
downloads/
└── Some Film/
├── Some Film.mkv
├── Some Film.nfo
├── Some Film.txt
└── Downloads.txt
Inside archives/ and output/, a season has a folder per episode (1, 2, …), a film has its files right there.
Characters that file systems do not allow (\ / : * ? " < > |) become - in the folder name. Each archive must hold
exactly one .mkv or .mp4; its .nfo is taken along when there is one, and so is a file named info.txt (in any
case, like Info.TXT), which is named after the episode or the film like the .nfo. Files ending in .md5,
.download, .url or .uri are deleted without a notice, and so is an image (.jpg, .jpeg, .png or .webp)
that has the same name as the video, apart from the extension (upper and lower case do not matter), such as a cover
Some Film.jpg next to Some Film.mkv. Any other text file, any image with another name, and an info.txt that
exists twice in one archive count as unexpected files: see below.
What is deleted, and when:
-
An episode that is unpacked and sorted loses its archive and its folder in
output/at once. It does not wait for the other episodes, so after unpacking some of them by hand,archives/holds only the archives of the rest. -
An unpacking that is canceled, or that fails loses what 7-Zip had written to
output/. The archive stays, and Unpack or Retry starts from the beginning. -
The archive and the
output/folder of the same episode exist together in one case only: the archive held something that the program did not expect, such as a second video or other files next to the one it looks for. Then both are kept, so that nothing is lost, andarchives/andoutput/stay until you delete them.
For every archive, the passwords are tried in this order: the one that already worked for the download, the ones you
typed (the latest first), then the defaults from .env. Only if none of them opens the archive, the download shows
Enter password, and the unpacking is tried again with what you enter. A password that worked is remembered for the
rest of that download.
The state of every unfinished download is kept in a .anilink.json next to its files, including the links Debrid-Link
created. After a restart, the container carries on where it was: finished parts are not fetched again, half
downloaded ones are continued, and no link is asked for twice. Progress is written to that file every two seconds and
when the container stops, so after a crash at most the last two seconds are done again.
A paused download stays paused until you resume it.