Skip to content

defektive/xodbox

Repository files navigation

title linkTitle menu
xodbox
Docs
main
weight
20

Network interaction listening post
Docs :: Releases :: Code
Go Tests

Purpose

Quickly determine if an application reaches out to remote network based services. Easily create custom responses to test how applications consume data from network sources.


Features

Multiple listening protocols:

  • HTTP/HTTPS
  • DNS (WIP not finished)
  • FTP
  • SMTP
  • SMB
  • IMAP
  • POP3
  • SSH

Installation

Download a release from GitHub or use Go Install:

go install github.com/defektive/xodbox@latest

Configuration

./xodbox config -e > xodbox.yaml

Handler Configuration

Configuration information for each Handler is documented alongside it's code in the handlers directory.

Notifier Configuration

Configuration information for each Notifier is documented alongside it's code in the notifiers directory.


Server Usage

./xodbox

All the magic happens through configuration files in the handlers and notifiers.

Client Usage

When a client makes a connection to xodbox, the logic to respond will be processed by a Handler. Handlers are responsible for seeding their own default data.


Quick Start Guides

Linux

This little snippet will:

  • Download and extract latest release from GitHub.
  • Generate a new config file.
  • create the static and payload directories used by the config file.
wget -q $(wget -q -O - https://api.github.com/repos/defektive/xodbox/releases/latest | grep -o "https:.*Linux_x86_64\.tar\.gz")
tar -xzvf xodbox*.tar.gz
./xodbox config -e | sed 's/^#\(\s*\(payload\|static\)_dir\)/ \1/g' > xodbox.yaml
mkdir -p static payloads/httpx

Bare metal

./xodbox serve 

Docker

Currently, we do not have any prebuilt Docker containers. However, you can just run a release with an Alpine container.

docker run \
  --rm \
  --expose 80 \
  -v `pwd`:/app \
  --workdir /app \
  -d alpine \
  ./xodbox serve

Feedback

I have an issue or feature request

Sweet! Open an issue to start the conversation.


Wait... I want the old node version

Really? ok we made a tag just for you.

https://github.com/defektive/xodbox/releases/tag/legacy-nodejs