dex_chan - 4chan and any chan board mass-image downloader

This app allows you to download all images from any 4chan-similar board.
It's universal downloader that uses included boards.xml file, which allow you to specify any internet-public site and any chan.
Boards.xml may be edited by You if you need any other chan to support. Deleting file will download default from my server.
Supports autoupdate for boards file.


  • Mass image-videos-files download from all topics
  • Flexible support - read below and edit boards.xml file if your favourite chan is not supported
  • Multithreaded downloader
  • "Inteligent" queue

Language: English mixed with Polish

Have fun!

Boards changelog

  • 201711302230 - added board_skip_1 option (won't append "1" into first board page URL)
  • 201505092200 - fixed 4chan patterns,
  • 201211302330 - first initial version, + 7chan support

How to update boards definition? Just delete boards.xml and restart application.


  • It's written in C# .NET 3.5, may require latest M$ Windows updates and redistributed packages
  • It requires internet connection


Current Version: 1.3

More to read:

Boards.xml quick tutorial

Open boards.xml, best is learn by example, so look at 4chan definition:

    <!-- Below is first-page board link look, eg.:
        (first page may sometimes not work, but if you try /g/3 (as 3rd page) so you know that is good)
            @BOARD@ and @PAGE are required to specify. -->
    <!-- If you're getting 404 ("no topics found") after first board page ( URL) setting 
        this into `true` won't add "1" in that case -->
    <!-- Below is link to thread, eg.:
        looks similar? g - @BOARD@ and 57704107 is @TID@ - thread id
    ... -->
    <!-- Below is url to target image (not thumbinal), eg.:
        so `g` is @BOARD@; `14801` is @FILE@ - so easy.
    <!-- Now more complex... below is regexp which allows app to recognize what is what in board
        MATCHED must be in first () - that may be little difficult, sorry for that
        <!-- Link to topic (often it's "Reply" pattern) - it resolves to @TID@ -->
        <reply><![CDATA[<a href=\"thread/([0-9]{2,15})/?[a-zA-Z0-9-]+?\".?(class=\"replylink\")?>Reply</a>]]></reply>
        <!-- Resolves to @FILE@ - only filename - 1480199776841.jpg from our above example
            IMPORTANT: first match must resolves to filename and second match to extension
            so: 1480199776841.jpg -> 1: (1480199776841) 2: (jpg)
            dunno why i did that in past ;)
        <image><![CDATA[<a class=\"fileThumb\" href=\"//i\.4cdn\.org/[a-zA-Z0-9]+/([0-9]+)\.([a-zA-Z0-9]{2,5})\" target=\"_blank\">]]></image>
    <!-- Below is boards on that chan
        Values are injected into @BOARD@ variable.
        <!-- ... -->
    <!-- That's all - easy as fuck, is it? -->


2017-11-30 / v1.3
  • + Added fake UserAgent (required at least with 4chan)
  • + Added option to skip appending '1' at first board page
  • + Added link to this homepage ;)
  • * Some improvements
2016-11-27 / v1.2
  • + Fully english version
  • + Better support about new versions of app
  • * Updated project links
  • ! MS VS 2013 Compilation
2012-12-01 / v1.1
  • + Support for boards.xml!
  • + Version information
  • * Better stability
  • * Bugfixes
2012-06-24 / v1.0
  • + First initial version
  • + Supports only 4chan

Updated by Komorek, Kamil over 2 years ago ยท 5 revisions