askgod

module
v0.0.0-...-fa07753 Latest Latest
Warning

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

Go to latest
Published: May 3, 2026 License: Apache-2.0

README

Askgod

Askgod is the NorthSec CTF backend that handles flags.

Installation

1. (optional) Install go

https://go.dev/doc/install

go --version  # Should output `go version go<version> linux/amd64`
go install github.com/go-delve/delve/cmd/dlv@latest  # Install delve (go debugger)

You should have a pop up if you opened the root directory in VS Code.

3. Build askgod-server and start a postgresql instance using docker compose:
docker compose up -d
4. Add seed data
./seed_data.sh

--------

Compile binary

From the root directory:

make linux

This will create two executables in ./bin/linux: askgod and askgod-server.

Launch the askgod-server
./bin/linux/askgod-server ./askgod.yaml.example

MCP Server

The askgod server supports an MCP server at <askgod_server_address>/mcp. This MCP server allows users to submit flags. The MCP Server is disabled by default, but can be enabled by setting mcp: true in the config.

Directories

Path Synopsis
Package api is used for user facing API structs.
Package api is used for user facing API structs.
cmd
askgod command
Package main is the Askgod client.
Package main is the Askgod client.
askgod-server command
Package main is the Askgod server itself.
Package main is the Askgod server itself.
internal
config
Package config handles parsing and providing access to the daemon configuration
Package config handles parsing and providing access to the daemon configuration
daemon
Package daemon provides all the internal daemon glue
Package daemon provides all the internal daemon glue
database
Package database provides the database access functions
Package database provides the database access functions
mcp
Package mcp implements an MCP server using Streamable HTTP transport.
Package mcp implements an MCP server using Streamable HTTP transport.
rest
Package rest contains the REST API handlers
Package rest contains the REST API handlers
utils
Package utils provides useful shared functions
Package utils provides useful shared functions

Jump to

Keyboard shortcuts

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