-
Notifications
You must be signed in to change notification settings - Fork 14
Other Imageboard APIs
An Application Programming Interface (API) is a simple method of transmitting basic data between server and client, without all the HTML extras.
Most APIs use JSON and AJAX output.
APIs are critical to the BASC-Archiver, since it relies on wrappers to add support for an imageboard.
The Bibliotheca Anonoma StoryCorps mandates that all JSON in the chan.arc follow 4chan API conventions. Thus, any content from 420chan or Fuuka must be converted to the 4chan API standard.
If the 4chan API starts to change their variables (which I doubt they will do), we will need to define our own...
Note: chan.arc's still in pretty heavy development. We are actually defining our own specifications with it, for the JSON and the various files inside the folder (not all following 4chan's JSON API). Once I have something I think is decent I'll promote chan.arc to version 1.0
and in BASC-Archiver we can put things in proper places according to the chan.arc specs (using the chan_arc Py library). Most of the JSON chan.arc makes/specifies provides similar information to what comes out of 4chan's APIs of course, but I am making it a bunch more extensible and useful for when we throw other imageboards and other archiving sites in there. Might be good to hold off on creating a rigid standard for this right at the second, leave BASC-Archiver mostly focused on 4chan for now and write some other imageboard classes once the chan.arc stuff is properly sorted out and written up.
Before the advent of the 4chan API, threads were saved by using the "right-click save as" function in most browsers. This saved a direct snapshot of 4chan's HTML output.
We need to convert this HTML output back into 4chan API, for the chan.arc
standard. Perhaps we will need to invent a tool called BASC Anakronos to do this.
The 4chan API was one of Moot's most important reforms. The API eased the load on 4chan's servers by allowing mobile apps to obtain thread data in a more robust way, instead of having to update it every few seconds.
py420chan, based on BASC-py4chan.
The new FoolFuuka based 4chan archivers use a unique API that predates the 4chan API. Thus, it uses many different tags.
One of the most popular imageboard engines of the past, and possibly the most poorly designed, and is riddled with security holes. It has no API.
We need to create some sort of BeautifulSoup wrapper over this.
7chan were the initial developers of KusabaX, and still use it to this day. However, Kusaba is notoriously poorly designed, and 7chan's KusabaX does not have an API to this day.
However the devs are open to the idea, as one of the admins suggested to the Chanu developer that they could have an API made just for them.
Tinyboard was an imageboard engine developed by SaveTheInternet of 4chon. It became a popular engine as an alternative to the aging KusabaX.
Ctrl-S has developed a BeautifulSoup parser to archive this site. Hopefully it can be extended to work across all Tinyboard chans.
Vichan is an imageboard engine that significantly overhaul of Tinyboard's source code, which was designed by 4chon's admin SaveTheInternet.
One of Vichan's major innovations was the introduction of an API similar to the 4chan API.
py8chan - Based on BASC-py4chan.
8chan currently uses Infinity, which is a fork of Vichan that inherits it's API and adds user board creation and multiple images in a single post.
8chan is developing a brand new Lumen framework that dispenses with ancient tradition and brings in modern systems to increase efficiency. Hopefully, they will keep their API the same.
Most of the other chans don't support an API, since they predate the idea. We will have to use BeautifulSoup to parse the HTML directly.