axonasp

module
v2.3.17-pgs.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 26, 2026 License: MPL-2.0

README ΒΆ

❖ AxonASP 2.3: The Ultimate Classic ASP Engine for the Modern Web

G3Pix AxonASP Logo

Run Classic ASP on Linux, Windows, and macOS natively with extreme performance.

Version 2.3 Go Version Platforms License

Welcome to AxonASP 2.3, the definitive high-performance runtime for executing Microsoft Classic ASP, VBScript, and JavaScript in GoLang. If you are looking for how to run Classic ASP on Linux or modernize legacy applications within a Docker container, AxonASP provides a robust, zero-allocation VM architecture tailored for modern infrastructure.

πŸš€ Why AxonASP?

AxonASP is built from the ground up for speed, low memory usage, and containerized deployments.

  • Run Classic ASP on Linux & Cross-Platform: Say goodbye to IIS dependencies. AxonASP runs natively on Windows, Linux, and macOS, either as a standalone web server, via FastCGI, or directly from the CLI.
  • Modern JavaScript (ES6+) Implementation: We support fully compliant ECMAScript 6+ alongside VBScript. Unlike Node.js, AxonASP executes JavaScript directly through our AST-based engine without forcing a Promise-based paradigm for everything.
    • Memory Efficiency: A pure JavaScript API running on AxonASP uses only 18MB in idle mode (compared to 30MB for Node.js). During execution, parsing and serving JSON takes just 30MB versus 50MB in Node.js.
    • Partial Node.js Module Compatibility: Easily organize and import JavaScript code using CommonJS/ES6 module syntax directly in your ASP environment.
  • High Performance & Active Caching: AxonASP is heavily optimized to run ASP pages and components swiftly with minimal CPU and memory footprints. With our active caching architecture, 2000 requests per minute on simple pages consume only about 100MB of memory.
  • Zero AST for VBScript: Our VBScript compiler is single-pass, emitting bytecode directly to a stack-based VM to achieve extreme processing speeds.
  • AI-Ready: Includes a built-in Model Context Protocol (MCP) server, allowing AI agents to connect directly to the runtime, analyze your environment, and autonomously author ASP pages.

⚑ Built-in G3 Libraries

AxonASP extends standard ASP with native Go libraries, giving you enterprise power with zero overhead:

  • G3JSON, G3DB, G3HTTP: Effortlessly handle JSON, connect to databases (SQLite, MySQL, PostgreSQL, MS SQL, Oracle), and fetch external APIs.
  • G3CRYPTO, G3MAIL, G3IMAGE: Generate secure hashes, send SMTP emails, and process images on the fly.
  • G3ZIP, G3TAR, G3ZLIB, G3ZSTD: Full compression suite built right in.
  • And much more... Over 60 custom Axon functions are available to extend ASP's capabilities.

For a full list of libraries and documentation on how to use them, please read our extensive manual at ./www/manual/ and explore our website at https://g3pix.com.br/axonasp, where you will find pages running in AxonASP 2.3 and also our WASM Playground.

🎨 AxonLive with Visual Application Builder

AxonLive is a high-performance Reactive Component Framework built directly into the AxonASP Virtual Machine. It empowers developers to create dynamic, stateful, and highly responsive web applications using Classic ASP (VBScript or Server-Side JavaScript) without requiring full page reloads.

Advantages of G3AxonLive
  • Zero Page Reloads: All UI interactions (button clicks, form submissions, timers) are sent to the server asynchronously. The server responds with targeted JSON patches, swapping only the modified DOM elements.
  • Strict Backend Control: All business logic, validation, and state mutation happen exclusively on the server. The client browser merely acts as a dumb terminal rendering the HTML patches, significantly reducing the attack surface.
  • Authenticated Session Binding: The /g3al endpoint binds every async event to the authenticated ASPSESSIONID cookie. Client-provided session identifiers are not used as an authority for page routing.
  • Zero Additional Wrappers: AxonLive is implemented directly inside the axonvm engine as a native procedural controller (G3AXONLIVE), providing bare-metal performance and zero garbage collection overhead.
  • Granular DOM Manipulation: Push targeted instructions to modify styles, attributes, classes, or trigger external redirects natively from ASP.
  • WASM + AxonLive: Run performance-critical VBScript directly in the browser using AxonASP WebAssembly, opening incredible possibilities for offline-capable web applications.

You can use the AxonLive Builder available in the www/axonlive/builder/ directory to seamlessly create and manage reactive components.

πŸš€ Quick Deployment & Execution

AxonASP is ready for modern CI/CD pipelines and containerization. Official multi-architecture Docker images (linux/amd64, linux/arm64) are published to GitHub Container Registry (ghcr.io).

Docker Deployment

AxonASP provides two official Docker container variants:

1. Standalone AxonASP Server Container

Runs the native AxonASP HTTP engine (axonasp-http), FastCGI server (axonasp-fastcgi), and MCP server (axonasp-mcp).

  • Image: ghcr.io/guimaraeslucas/axonasp:latest (or versioned tag :v2.3.0)
  • Default Ports: 8801 (HTTP), 9000 (FastCGI), 8000 (MCP)
# Pull the standalone image
docker pull ghcr.io/guimaraeslucas/axonasp:latest

# Run standalone server with web root mounted
docker run -d \
  --name axonasp \
  -p 8801:8801 \
  -v $(pwd)/www:/opt/axonasp/www \
  --restart unless-stopped \
  ghcr.io/guimaraeslucas/axonasp:latest
2. Caddy Server Container (AxonASP Caddy Edition)

Bundles the Caddy Web Server with the native AxonASP Go module compiled directly in. Provides zero-process ASP execution, automatic TLS (HTTPS), and native Caddyfile routing. Avoid all the complexity of reverse proxying, FPM and TLS certificate management.

  • Image: ghcr.io/guimaraeslucas/axonasp:caddy (or versioned tag :caddy-v2.3.0)
  • Default Port: 8801 (or 80/443 with custom Caddyfile)
# Pull the Caddy edition image
docker pull ghcr.io/guimaraeslucas/axonasp:caddy

# Run Caddy server with web root mounted
docker run -d \
  --name axonasp-caddy \
  -p 8801:8801 \
  -v $(pwd)/www:/opt/axonasp/www \
  --restart unless-stopped \
  ghcr.io/guimaraeslucas/axonasp:caddy

You can also supply a custom Caddyfile:

docker run -d \
  --name axonasp-caddy \
  -p 80:80 \
  -p 443:443 \
  -v $(pwd)/www:/opt/axonasp/www \
  -v $(pwd)/Caddyfile:/opt/axonasp/Caddyfile \
  --restart unless-stopped \
  ghcr.io/guimaraeslucas/axonasp:caddy
Local Development with Docker Compose

Run the local development stack with hot-reloading:

docker compose up -d
Building from Source

Prerequisites: GoLang 1.26+ (if building from source)

Use the provided build scripts to compile AxonASP for your target architecture:

Linux / macOS:

./build.sh --platform "linux" --architecture "amd64"

Windows:

.\build.ps1 -Platform "windows" -Architecture "amd64"

You can optionally disable specific libraries (e.g., lib_g3crypto_disabled) to create leaner binaries. See the manual for details.

Deployment Architecture

Deploy AxonASP via its built-in HTTP server (Reverse Proxy Mode), via FastCGI (axonasp-fastcgi), or integrated natively inside Caddy Server (ghcr.io/guimaraeslucas/axonasp:caddy). It integrates flawlessly with Nginx, Apache, and Caddy allowing you to serve Classic ASP applications in modern web environments.

See our full documentation in www/manual/md/ for examples and complete API details.

πŸŒ™ Nightly Releases

Nightly releases are made available thanks to @jeffreyheping at the following address: https://github.com/jeffreyheping/axonasp/releases. These builds are automatically generated once a day and reflect the most recent content from the repository. They are intended for testing and preview purposes only and must not be used in production environments. For the latest stable release, please refer to the official AxonASP releases https://github.com/guimaraeslucas/axonasp/releases.

License πŸ“

This project is licensed under the MPL 2.0 License - see the LICENSE.txt file for details.

Contributing to AxonASP 🀝

While not mandatory, we warmly encourage you to contribute to the AxonASP project. If you develop new components or libraries, please consider sharing your implementation with the community; your contributions help maintain, improve, and expand our ecosystem.

If you find bugs, security vulnerabilities, or have suggestions for new features, please report them via GitHub Issues. We welcome your feedback and will do our best to address your concerns promptly.

As an open-source project, AxonASP relies on community support to remain active. Maintenance and infrastructure costs are currently funded personally by the lead developer. Your supportβ€”whether through code contributions, bug reports, security patches, or financial donationsβ€”is vital to our continued growth.

  • Please see CONTRIBUTING.md for details on how to contribute.
  • Please see SECURITY.md for information on reporting security vulnerabilities.

Thanks goes to these wonderful people:

Andrew Urquhart
Andrew Urquhart

πŸ› πŸ’» πŸ’΅
ikadmm
ikadmm

πŸ› πŸ’»
dmitriy-bty
dmitriy-bty

πŸ’» πŸ›
Jeffrey He
Jeffrey He

πŸ› πŸ’»
mlaadd
mlaadd

πŸ› πŸ’»
Jelle Luteijn
Jelle Luteijn

πŸ›

Built with ❀️ by G3Pix
Making Classic ASP modern, fast, and cross-platform


AxonASP is an independent software project developed by G3pix and is not affiliated with, endorsed by, or sponsored by Microsoft Corporation. Trademarks such as "Microsoft," "Active Server Pages," "ASP," "VBScript," "JScript" are registered trademarks of Microsoft Corporation. The names and aliases of other third-party libraries, software, products, and services mentioned in this project are the property of their respective owners. The use of these names is solely for descriptive purposes/compatibility and does not imply any endorsement or affiliation with the trademark holders or use of their original source code.

The names and aliases of other third-party libraries, software, products, and services mentioned in this project are the property of their respective owners. The use of these names is solely for descriptive purposes/compatibility and does not imply any endorsement or affiliation with the trademark holders or use of their original source code.

Directories ΒΆ

Path Synopsis
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
asp
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
Package main provides the G3AxonLive HTTP communication endpoint for the AxonASP FastCGI server.
Package main provides the G3AxonLive HTTP communication endpoint for the AxonASP FastCGI server.
Package main implements the AxonASP FPM (FastCGI Process Manager) supervisor.
Package main implements the AxonASP FPM (FastCGI Process Manager) supervisor.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
ast
Package ast declares types representing a JavaScript AST.
Package ast declares types representing a JavaScript AST.
file
Package file encapsulates the file abstractions used by the ast & parser.
Package file encapsulates the file abstractions used by the ast & parser.
ftoa
Package ftoa provides ECMAScript-compliant floating point number conversion to string.
Package ftoa provides ECMAScript-compliant floating point number conversion to string.
ftoa/internal/fast
Package fast contains code ported from V8 (https://github.com/v8/v8/blob/master/src/numbers/fast-dtoa.cc)
Package fast contains code ported from V8 (https://github.com/v8/v8/blob/master/src/numbers/fast-dtoa.cc)
parser
Package parser implements a parser for JavaScript.
Package parser implements a parser for JavaScript.
token
Package token defines constants representing the lexical tokens of JavaScript (ECMA5).
Package token defines constants representing the lexical tokens of JavaScript (ECMA5).
unistring
Package unistring contains an implementation of a hybrid ASCII/UTF-16 string.
Package unistring contains an implementation of a hybrid ASCII/UTF-16 string.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
Package main provides the G3AxonLive HTTP communication endpoint for the AxonASP HTTP server.
Package main provides the G3AxonLive HTTP communication endpoint for the AxonASP HTTP server.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
ast
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.
* AxonASP Server * Copyright (C) 2026 G3pix Ltda.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL