AsmBB Web Forum Engine

repository·master·Indexed 41 days ago

https://github.com/johnfound/asmbb

A high-performance, lightweight web forum engine written in x86 assembly using FlatAssembler (FASM). It utilizes SQLite with the SQLeet extension for storage and communicates via the FastCGI interface. Designed for efficiency on low-resource x86 Linux servers, it supports encrypted databases and minimal dependencies.

Tokens
2.8K
Snippets
15
Records
19
Agent score
100%

What's inside AsmBB

  1. What is AsmBB?

    master

    AsmBB is a high-performance, lightweight web forum engine written entirely in x86 assembly language using FlatAssembler (FASM). It is designed to run efficiently on low-resource hardware (like cheap VPS or shared hosting) while handling high traffic volumes without latency.

    Key features include:

    • High Performance: Minimal resource footprint due to assembly implementation.
    • Security: Minimal dependencies and aggressive testing reduce the attack surface. It also supports encrypted databases to protect forum data during server breaches.
    • Storage: Uses SQLite with the SQLeet extension as the backend storage.
    • Interface: Communicates with web servers via the FastCGI interface.
  2. System requirements for AsmBB

    master

    To run AsmBB, your environment must meet the following requirements:

    • Architecture: x86 Linux server (supports both 32-bit and 64-bit).
    • Dependencies: No specialized preinstalled libraries are required.
    • Web Server: Must support the FastCGI interface. Tested compatible servers include:
      • Nginx
      • Apache
      • Lighttpd
      • Hiawatha
      • RWASA
    • Database: SQLite with the SQLeet extension.
  3. Create block quotes and spoilers

    master

    Block quotes

    Defined using the ;quote keyword followed by an optional label. Block quotes can contain other formatting elements and can be nested.

    Syntax:

    ;quote LABEL
    QUOTE TEXT

    Spoilers

    Spoilers hide content that can be expanded by the reader. They can contain nested elements.

    Syntax:

    ;spoiler SPOILER TITLE
    SPOILER CONTENT
    ;quote QUOTE LABEL
    QUOTE TEXT
    
    ;spoiler SPOILER TITLE
    SPOILER CONTENT
  4. Use label-based and inline links

    master

    AsmBB supports two types of linking:

    Define a label and its URL at the start of a line (or anywhere), then reference the label in your text using square brackets.

    Definition: [Label Name] URL Usage: Visit [Label Name] for details. Custom Text: Visit the [Label Name][Custom Text].

    Specify the URL directly in the text using square brackets. You can optionally provide custom text in a second set of brackets.

    Usage: Visit [https://example.com] for details. Custom Text: Visit the [https://example.com][custom text].

    [AsmBB site] https://board.asm32.info/
    Visit [AsmBB site] for details.
    Visit the [AsmBB site][fastest forum in the world].
    
    Visit [https://board.asm32.info] for details.
    Visit the [https://board.asm32.info][fastest forum in the world].
  5. Apply inline formatting in AsmBB

    master

    You can format text by enclosing it with specific symbols:

    • Bold: *Bold text*
    • Italic: /Italic text/
    • Underlined: _Underlined text_
    • -Strikethrough-: -Strikedthrough-
    • Monospaced: `Monospaced inline text`

    Formats can be combined, for example: _*/Combined formats/*_

    `*Bold text*`
    `/Italic text/`
    `_Underlined text_`
    `-Strikedthrough-`
    ` `Monospaced inline text` `
    `_*/The formats can be combined/*_`
  6. Create tables

    master

    Tables are started with the ;table keyword. Rows are separated by ;------ (preceded by an empty line). Every paragraph within a row becomes a separate cell.

    • Headers: To create a header row, start the paragraph in the cell with the # symbol.
    • Content: Cells can contain inline formatting, images, and links.

    Syntax:

    ;table
    # Header 1
    # Header 2
    
    ;-----------------
    Cell 1,1
    
    Cell 1,2
    ;-----------------
    Cell 2,1
    ;-----------------
    ;table
    # Header 0,0
    
    # Header 0,1
    
    # Header 0,2
    
    ;-----------------
    Cell with [https://board.asm32.info][link] 1,0
    
    Cell with inline /*formatting*/ 1,1
    
    Cell 1,2
    
    ;-----------------
    Cell with inline image: [?;-)] 2,1
    
    Cell with block image: [!;-)] 2,2
    
    ;-----------------
    ;-----------------
  7. Use inline BBCode formatting

    master

    Apply basic text styling within paragraphs using the following tags. Note that all tags are enclosed in square brackets [TAG]CONTENT[/TAG].

    [b]Bold text[/b]
    [i]Italic text[/i]
    [u]Underlined text[/u]
    [s]Strikedthrough[/s]
    [c]Monospaced inline text[/c]
    [size=22px]Different size of the text[/size]
    [color=red]Different color of the text[/color]
  8. Create headers in AsmBB

    master

    Headers are created by starting a line with the # symbol, followed by whitespace and the header text. Each header must be followed by an empty line. The number of # symbols determines the header level (1 to 6).

    Example levels:

    • # H1 header
    • ## H2 header
    • ### H3 header
    • #### H4 header
    • ##### H5 header
    • ###### H6 header
    # H1 header
    
    ## H2 header
    
    ### H3 header