# CHANDL 4chan thread media downloader. This program will download all images, gifs, webms, etc in a specific thread via CLI. ### Quick Start 1. Clone this repository 2. Create and activate virtual environment 3. install requirements.txt 4. `python3 chandl.py ` 5. ln -s full/path/to/chandl.py /usr/local/bin/chandl 6. chmod +x /usr/local/bin/chandl 1. NOTE: This will create a log file in your bin folder, and a data directory if you do not specify a specific path! ### Arch Installation 1. Clone Repository 2. pacman -S python-beautifulsoup4 python-requests ### Explanation of Arguments 1. `board` - the board the thread is on like `gif` , `pol` , `wsg` 2. `thread_id` - the id of the thread 3. `-o`, `--output-path` - the path you want to download the media to, if empty it will default to downloading to a folder named `data/` in thebase directory of the repo 4. `-q`, `--quiet` - do not display logging in terminal 5. `-d`, `--delete-logs` - delete the log file for the specific thread, this will allow you to re-download all media in the thread ### Why I needed another 4chan-image-downloader 1. [inb4404](https://github.com/Exceen/4chan-downloader) was the inspiration for this code, but it was clear that it needed to be improved upon. 1. inb4404 code is not clean or modular, it is a functional piece of code that is difficult to read 2. inb4404 has a weird methodology for logging which files were downloaded, it essentially downloads the files twice, one in a temp folder that is used to keep track of what it has downloaded and one in your destination folder 3. inb4404 has a great feature that allows you to keep polling the thread for new images, which I do not have implemented in my code in this version 4. inb4404 also has a great thread watcher feature which I have not adopted, and probably will not because Exceen has already accomplished that and I do not have a use for it. 2. [4chan-bulk-download](https://github.com/hache0099/4chan-bulk-download) 1. very clean code 2. lacks important functionality like a flag for selecting output directory and polling a thread for new images 3. [mariot](https://github.com/mariot/chan-downloader) 1. This looks like the best current option, but I do not know RUST and I am not interested in learning it.