AxonASP Caddy Module: Run Classic ASP, VBScript, and Server-Side JavaScript Natively

Hey everyone, I’m Lucas. I wanted to share a project I’ve been pouring a lot of time into recently called AxonASP, and specifically, the new experimental Caddy module I built for it.

AxonASP is an open-source Classic ASP engine written entirely in Go. Usually, if you have to maintain or run legacy ASP, you’re stuck dealing with Windows and IIS, or wrestling with clunky FastCGI setups on Linux. I wanted to solve that, so I built a high-performance VM that parses and executes scripts with virtually zero-allocation overhead natively on Linux, macOS, and Windows.

I decided to integrate it directly into Caddy because of how clean the architecture is. With this module, there are no external worker daemons or Unix domain sockets to monitor. It acts as a standard HTTP handler middleware—intercepting ASP routes and running them right inside Caddy.

A few things I really want to highlight about what this does:

  • Direct JavaScript ASP Execution: While the engine has full backward compatibility with old-school VBScript and legacy Classic ASP objects (Request, Response, Server, Session, etc.), the really exciting part is its support for modern server-side JavaScript. You can run ES6+ compliant JS directly from Caddy without needing a heavy Node.js environment.
  • A New Approach for the Future: Looking ahead, the real vision behind combining Caddy and AxonASP is to seamlessly unite directly rendered JavaScript. It allows you to build out logic and render JS on the server side on the fly, right alongside Caddy’s fantastic static file serving.
  • The “Caddy” Benefits: By running natively inside Caddy, legacy apps immediately get the benefits of automatic HTTPS, native temporary storage alignment, and incredibly simple configuration.

Here is what the Caddyfile looks like to get an app running:

example.com {
    root * /var/www/myaspapp
    
    route {
        axonasp {
            site_name my_app_prod
            global_asa_path /var/www/myaspapp/global.asa
        }
        file_server
    }
}

You can build it right now using xcaddy (xcaddy build --with g3pix.com.br/axonasp/caddy).

The project is completely open source. I would love to get some feedback from the Caddy community—especially on how to ensure the module configuration and behavior align perfectly with Caddy’s best practices as the project grows.

The github repo is available at: GitHub - guimaraeslucas/axonasp: Run ASP Classic on Linux, macOS, BSD and Windows. Run applications with a blazing-fast, cross-platform VM. Execute VBScript and ES6+ JavaScript natively. Features seamless deployment via a native Caddy module, alongside FastCGI, CLI, HTA, and AI-ready MCP tools. · GitHub

Thanks for taking a look! Let me know what you think.