No description
  • Pascal 63.8%
  • Lua 35.8%
  • Python 0.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-25 23:38:26 -04:00
.github/ISSUE_TEMPLATE Update config.yml 2025-04-02 21:11:27 +07:00
baseunits Added: Cookies to prepare http if set in settings 2026-08-25 19:35:54 +08:00
dist fmd2 bug fixes 2026-08-25 23:38:26 -04:00
docs RawDEX: No longer use template (#3219) 2026-08-25 11:56:20 +07:00
images Fixed: Cover loading gif in dark theme (Credit to @jesuscc1993) #2608 2026-02-02 19:19:27 +08:00
languages fmd2 bug fixes 2026-08-25 23:38:26 -04:00
licenses libzstd: Add library support (#2877) 2026-03-26 21:11:56 +07:00
lua RawDEX: No longer use template (#3219) 2026-08-25 11:56:20 +07:00
mangadownloader fmd2 bug fixes 2026-08-25 23:38:26 -04:00
scripts Added virtualtreeview 2024-09-30 21:54:57 +07:00
updater Fixed: Use clauses causing circular dependencies 2026-08-16 03:05:30 +08:00
updaterslim Fixed: Use clauses causing circular dependencies 2026-08-16 03:05:30 +08:00
utils/userdataconverter Fixed: Use clauses causing circular dependencies 2026-08-16 03:05:30 +08:00
wiki/images/cloudflare-workarounds supported websites page moved back to wiki. 2019-08-02 15:21:18 +02:00
.gitattributes update .gitattributes 2015-08-10 03:37:56 +08:00
.gitignore added missing 7za 2020-04-03 20:41:37 +08:00
.gitmodules remove BESEN and add duktape 2018-12-04 10:01:01 +03:00
changelog.txt Release: 2.0.34.5 2025-03-17 21:40:24 +07:00
git2revision.bat move version to about tab 2020-02-28 18:13:53 +08:00
latest_version.json Release: 2.0.34.5 2025-03-17 21:40:24 +07:00
license.txt license file 2018-01-07 08:10:49 +08:00
make_release_win.bat make_release_win: always use build-all flag 2020-09-28 07:35:24 +08:00
README.md Update README.md 2026-05-03 13:47:13 +07:00
readme.rtf Revert "protobuf: Remove library support (#2878)" 2026-07-22 13:34:56 +07:00

Logo

Free Manga Downloader 2 (FMD2)

This is an active fork of the Free Manga Downloader which is a free open source application written in Object Pascal for managing and downloading manga from various websites. The source code was released under the GPLv2 license.

Supported Websites
Discord

Download

Latest release
Download latest release (Win32) Download latest release (Win64)

Project Samples

image image image

Features

  • Pure native code - No need to install .NET framework or Java VM.
  • Supported hundreds of manga websites.
  • Download all mangas at once.
  • Multi-tasking and multi-connections.
  • Drag'n'drop to add download task or favorites (via drop box or directly to download/favorite list) with multiple links and html selection supported.
  • Filter - Provides option to search manga by genre, author, status, etc.
  • Favorites - Keep track of your favorite manga and auto download new chapters.
  • Compress/convert downloaded chapters to ZIP/CBZ/PDF/EPUB.
  • Proxy support (HTTP/SOCK4/SOCK5).

Build instructions

In order to build FMD2 from the source code, you must install the latest stable version of Lazarus and Free Pascal Compiler:
Lazarus

To compile FMD2, some packages and components are needed. You can download and install them by either the built-in Online Package Manager (OPM) or GitHub repository.
The following packages and components are used for building FMD2:

  • Synapse
  • InternetTools (Install and rebuild IDE)
  • LCL Extensions (Should be installed by default, if not then install it)
  • DCPCrypt (Install and rebuild IDE)
  • RichMemo
  • MultiLog
  • VirtualTreeViewV5 (Install and rebuild IDE)
  • MetaDarkStyle (Install and rebuild IDE)
  • Lazarus_CustomControls (Install and rebuild IDE)

Important

By default, InternetTools uses FLRE and PUCU for its regex engine. Just copy the FLRE.pas and PUCU.pas to InternetTools\data folder. You can use Sorokin's RegExpr engine that comes with lazarus by adjusting the defines. But it's not recommended since the author of InternetTools prefer FLRE and doesn't always check the Sorokin's RegExpr compatibility when making an update.

Tip

After everything is installed, open the file md.lpi by using Lazarus IDE.
To compile and build the source code of FMD2, select Run -> Build. If everything is ok, the binary file should be in FMD2_source_code_folder/bin.
Try to Clean up and build within lazarus if it still fail to compile.

Some other external 3rd party tools and libraries are used as well:

  • 7-Zip
  • Duktape
  • WebP (libwebp)
  • Lua
  • OpenSSL
  • SQLite
  • PCRE2
  • Brotli
  • Zstd

These tools and libraries are not part of the source. You have to either download pre-compiled binaries, compile them yourself or just copy them from the latest FMD2 releases.

Tip

Some useful arguments that can be used in FMD2:

Argument Description
--lua-dofile Trigger FMD2 to always load lua modules from file. Only use it when developing a module. It might slowing down FMD2.
--no-commit-queue Disable commit queue for databases. The same as --max-commit-queue=0 --max-flush-queue=0. It might slowing down FMD2 with large databases due to intense disk write.
--max-commit-queue=16 Override max number of commit before writing to disk.
--max-flush-queue=256 Override max number of update before commiting to database engine.
--max-big-flush-queue=16384 Override max number of update before commiting to database. Internally used when making large update to databases in one go. Be careful when reducing the number it might slowing down FMD2 significantly.
--backup-interval=10 Override backup databases interval (minutes).

Localization

Translations are stored inside languages folder with .po extension.
In order to translate FMD2 to your native language, you can copy fmd.po and rename it to fmd.xx.po where xx stand for two-letter language code.
Additionally, you can add country code at the end of language code. For reference you can look at List of ISO 639 language codes and ISO 3166-1. For example, id_ID will be recognized as Bahasa Indonesia (Indonesia).
To translate the content of the file, you need to use translation tools like Poedit.
Once you have finished translating all of its content, you can launch FMD2 and it will automatically detect your new languages upon startup.