Skip to main content
Ayase Quart supports multiple archive downloaders that use the Asagi database schema. Choose the downloader that best fits your needs.

Supported archive downloaders

Ayase Quart is compatible with: Hayden offers the best performance and built-in schema generation for MySQL deployments.
1

Build Hayden on Windows

Double click Hayden-master/build.cmd to create a build-output folder with zipped builds.
2

Transfer to Linux server

Place the Linux build on your server and extract it.
3

Install .NET runtime

Check if Hayden works and install the .NET runtime if needed:
sudo ./Hayden
If it fails, install the .NET 8.0 runtime:
sudo apt install -y dotnet-runtime-8.0
4

Create database

Create the MySQL database (Hayden will generate schemas automatically):
CREATE DATABASE hayden_asagi CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
5

Configure Hayden

Create a config.json file with your settings:
{
    "source" : {
        "type" : "4chan",
        "boards" : {
            "g": {
                "AnyFilter": "docker",
                "AnyBlacklist": "sql|javascript|terraform"
            },
        },
        "apiDelay" : 5.5,
        "boardScrapeDelay" : 300
    },
    "readArchive": false,
    "proxies" : [],
    "consumer" : {
        "type" : "Asagi",
        "databaseType": "MySQL",
        "connectionString" : "Server=localhost;Port=3306;Database=hayden_asagi;Uid=USERNAME;Pwd=PASSWORD;",
        "downloadLocation" : "/path/to/image/download/directory",
        "fullImagesEnabled" : true,
        "thumbnailsEnabled" : true
    }
}
Replace USERNAME, PASSWORD, and /path/to/image/download/directory with your actual values.
6

Start scraping

Launch Hayden with your configuration:
sudo ./Hayden scrape /path/to/config.json

Neofuuka setup

Neofuuka is a good alternative if you can’t compile Hayden or don’t need ultra-low memory consumption.
Use Neofuuka Plus Filters if you need thread filtering support.
1

Clone repository

Clone the Neofuuka repository:
git clone https://github.com/bibanon/neofuuka-scraper
cd neofuuka-scraper
2

Initialize database schema

Unlike Hayden, Neofuuka doesn’t create schemas automatically. Use the Ayase Quart database initializer:
cd /path/to/ayase-quart
python db_scripts/init_database.py
This creates the database specified in your configuration with all necessary tables, triggers, and indexes.
3

Configure and run

Follow the Neofuuka documentation to configure and start the scraper.

Configure Ayase Quart

After setting up your archive downloader, configure Ayase Quart to connect to the database.

MySQL configuration

Edit config.toml:
[db]
db_type = 'mysql'

[db.mysql]
host = '127.0.0.1'
port = 3306
db = 'hayden_asagi'
user = 'asagi'
password = 'asagi'
minsize = 1
maxsize = 50

SQLite configuration

Edit config.toml:
[db]
db_type = 'sqlite'

[db.sqlite]
database = 'path/to/file.db'
SQLite 3.35.0 or higher is required for moderation tools. Check your version:
python -c "import sqlite3; print(sqlite3.sqlite_version)"

Troubleshooting

MySQL access denied error

If you encounter Access denied for user 'myuser'@'localhost' (using password: YES), this is a common issue with conflicting user profiles. Fix it with:
DROP User 'myuser'@'localhost';
DROP User 'myuser'@'%';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON * . * TO 'myuser'@'%';
Then restart MySQL:
sudo systemctl restart mysql
sudo systemctl status mysql

Verify scraper is working

Check for recent posts in your database:
-- Replace 'ck' with your board shortname
-- 5 represents the hour offset from UTC
SELECT 'ck' as board, timestamp, thread_num, num, comment, media_id
FROM ck 
WHERE timestamp > UNIX_TIMESTAMP() - 50*60*5
ORDER BY timestamp DESC
LIMIT 12;

Next steps

Configure boards

Set up which boards to display in Ayase Quart

Search setup

Add full-text search capabilities

Build docs developers (and LLMs) love