This is the official development and support thread for ChannelChanger. Please request help, post bugs, or offer suggestions here.
What is ChannelChanger?
A cross-platform, multi-site scraper and importer. It allows anyone to back up a board and then import it to their own website.
https://gitgud.io/Codexx/channel_changer
What do I need to run this?
Python 3.8+ and most of the dependencies listed in requirements.txt. A basic set-up guide is provided in the readme.
This software was developed and tested exclusively on Linux. I intend to support both OSX and WIndows. If you use either of these platforms and encounter any issues, please let me know.
Can I scrape a board from [site] with this?
Probably.
There is explicit support for LynxChan, Vichan, and JSChan websites. Some vichan sites may have issues with thumbnails because their APIs do not expose thumbnail extensions; I have added an override but you may need to run two scrapes of boards on some sites to get all of the thumbnails.
Vichan's API matches 4chan's with some extensions, so the scraper might work on other sites which clone the 4chan API, but this is untested.
Many vichan sites have customized frontends, such as OpenIB, Lainchan, or Kissue. I've tested and confirmed these work, but can't always guarantee full compatibility with each of these, especially if they decide to alter the API or where files are stored.
LynxChan sites should work fine, since the direct path for both the thumbnail and the file are in the JSON.
JSChan works, but its API is presumably unstable. if it changes, please alert me and I will make the necessary tweaks.
Can I import these boards to my own website?
Sure, but for the moment only importing LynxChan boards from LynxChan or Vichan sites has any support.
Importing is currently undergoing a heavy refactor. Once it is done, it will be possible to import from any board to a LynxChan website.
Imports to other imageboard engines are planned.
Can I view the board offline?
Easily? No, but I am looking into an option to do this.
You will have a local copy of the threads and files, but the data is not modified for local viewing.
I will continue to iterate and refactor. The code is a bit of a mess at the moment, but I plan to simplify it and make it PEP8-compliant soon.
It's very likely there's still some big kinks to work out. Your feedback is incredibly valuable!