All Projects → scotow → mego

scotow / mego

Licence: MIT License
A simple megadl wrapper with auto-retry and download list

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to mego

mega-link-downloader-bot
A telegram bot to download mega.nz links. (made with pyrogram).
Stars: ✭ 180 (+1100%)
Mutual labels:  mega, megatools
bashy
Extremely fast and simple git prompt for bash and zsh
Stars: ✭ 43 (+186.67%)
Mutual labels:  command
sqrs
🚌SQRS is a JavaScript library for implementing CQRS pattern.
Stars: ✭ 23 (+53.33%)
Mutual labels:  command
teks
Easily get custom go template based outputs to your command-line tool. Like in docker/kubernetes
Stars: ✭ 41 (+173.33%)
Mutual labels:  command
command help
ℹ️ Extract help text from builtin commands and man pages
Stars: ✭ 54 (+260%)
Mutual labels:  command
slam-mirrorbot
Aria/qBittorrent Telegram mirror/leech bot.
Stars: ✭ 1,072 (+7046.67%)
Mutual labels:  mega
cli
Aplus Framework CLI Library
Stars: ✭ 104 (+593.33%)
Mutual labels:  command
ffmpeg-commander
🛠️ FFmpeg Command Generator Web UI
Stars: ✭ 136 (+806.67%)
Mutual labels:  command
Functions
Create your own commands with ease! For PocketMine, a Minecraft PE server software
Stars: ✭ 17 (+13.33%)
Mutual labels:  command
nimjson
nimjson generates nim object definitions from json documents.
Stars: ✭ 37 (+146.67%)
Mutual labels:  command
discord.ts
🤖 Create your discord bot by using TypeScript and decorators!
Stars: ✭ 315 (+2000%)
Mutual labels:  command
linux-command
➥ Linux 命令查询工具跨平台桌面版
Stars: ✭ 133 (+786.67%)
Mutual labels:  command
hoard
cli command organizer written in rust
Stars: ✭ 71 (+373.33%)
Mutual labels:  command
crack-pro
NEW FACEBOOK COINING TOOL
Stars: ✭ 77 (+413.33%)
Mutual labels:  command
slim-command
Useful commands for slim application
Stars: ✭ 13 (-13.33%)
Mutual labels:  command
vscode-terminals
An extension for setting-up multiple terminals at once, or just running some commands.
Stars: ✭ 83 (+453.33%)
Mutual labels:  command
caddy-exec
Caddy v2 module for running one-off commands
Stars: ✭ 48 (+220%)
Mutual labels:  command
vintage
[UNMAINTED] command-line tool to check for outdated Swift Package Manager dependencies
Stars: ✭ 33 (+120%)
Mutual labels:  command
droxy
Create commands on your machine that proxy docker run / exec calls
Stars: ✭ 12 (-20%)
Mutual labels:  command
allot
Parse placeholder and wildcard text commands
Stars: ✭ 51 (+240%)
Mutual labels:  command

mego 💾

Mego is a simple megatools command wrapper, allowing you to use the megatools dl command with a download list of links and adds an auto-try tool.

Ideas

Megatools is a collection of programs for accessing Mega.nz services from a command line of your desktop or server.

Auto-retry

While using the megatools dl command to download a bunch of large files, I often found myself being blocked by Mega because I exceeded the bandwidth limit (aka. error 509).

Indeed, Mega allows users to download a few (apparently not fixed) number of GB per day (once again, apparently not fixed).

By default megatools dl only retries 3 times when this error occurred, preventing the download of file during the night or while being away from the computer. To fix this problem, mego checks the error code returned by megatools dl, and retry if the command failed.

List of files

Another problem that I found while using megatools dl is the lack of options to download multiple files at once, and keeping track of the completed ones.

To solve this problem, mego accepts as arguments a path of file(s) containing a list of Mega download links. mego will open the file and start downloading the files listed in it. Once the download of the file successfully terminated, mego will add a # before the link and write it in the file, preventing the next execution to re-download the file. mego will also mark invalid links it found with the #- string.

Compatibility

Because this script is a wrapper around the megatools command, it heavily depends on the outputs of the command. If you have problems using this script, be sure to use the version 1.11.0 (04.04.20) of megatools. You can download the latest version here or use the megatools.PKGBUILD file available in this repo.

Usage

Usage of mego:

  mego [-c COMMAND_PATH] [-s SPEED] [-p] [-r INTERVAL] LINK... LINK_PATH...

Application Options:
  -s, --speed-limit=SPEED       Speed limit passed to megatools dl as --limit-speed (default: 0)
  -p, --pipe-outputs            Pipe megatools's stdout and stderr
  -r, --retry=INTERVAL          Interval between two retries (default: 15min)
  -c, --command=COMMAND_PATH    Path to the megatools command (default: megatools)

NB: The whole content of a list file is read and kept in memory. Every time a file is downloaded, the content of the list file will be overwritten. So please do not use a list file as a queue during execution.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].