MangaDex@Cloud
This is a Deno based reference implementation of the MangaDex@Home client. Instead of using a local disk for caching (as the official client does), this variant allows the usage of a cloud CDN (e.g. CloudFlare). As a result this client does not need a large and fast hard drive, but in exchange it requires higher bandwidth for all the outgoing requests to fetch the images from the CDN.
Cloud CDN
In order to use this client, a cloud CDN such as CloudFlare is required. It is possible to use the official image servers directly, but this would obviously defeat the purpose of caching at all. The basic idea is to setup a domain such as cdn.mangadex-network.cf and configure it for any cloud CDN provider as CNAME for s2.mangadex.org or s5.mangadex.org.
TIP: At the time of writing, free domains are available at freenom
Runtime
To join the MangaDex@Home network, you need to be a registered user with a Client Key to operate a MangaDex@Home client. To run the application you need to install the following additional software:
Run Online
The application can be directly launched from the repositiory. The related packages will be downloaded into deno's cache.
deno run --allow-net --allow-read --allow-write --unstable 'https://raw.githubusercontent.com/mangadex-network/mangadex-at-cloud/master/src/App.ts' --key=xxxxxxxx --port=44300 --cache=https://cdn.mangadex-network.cf --size=512
TIP: The master
part in the url may be replaced by any specific version tag, e.g. v0.0.1-aplpha1
Run Locally
For convenience the application can be downloaded and wrapped into a named shell script.
deno install --allow-net --allow-read --allow-write --unstable --name mdath 'https://raw.githubusercontent.com/mangadex-network/mangadex-at-cloud/master/src/App.ts'
TIP: The master
part in the url may be replaced by any specific version tag, e.g. v0.0.1-aplpha1
You may optionally add the deno directory to the environment path or create a symlink
ln -s /home/user/.deno/bin/mdath /usl/local/bin/mdath
To run the application use the name of the shell script
mdath --key=xxxxxxxx --port=44300 --cache=https://cdn.mangadex-network.cf --size=512
TIP: Use the --help
option to show all commandline arguments
Development
To start development you need to install the following additional software:
Clone Repository:
git clone 'https://github.com/mangadex-network/mangadex-at-cloud'
Run:
cd mangadex-at-cloud
deno run --allow-all --unstable './src/App.ts' --key=xxxxxxxx --port=44300 --cache=https://cdn.mangadex-network.cf --size=512
Bundle:
deno bundle './src/App.ts' [options ... ?]