title | linkTitle | menu | ||||
---|---|---|---|---|---|---|
xodbox |
Docs |
|
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.
Multiple listening protocols:
- HTTP/HTTPS
- DNS (WIP not finished)
- FTP
- SMTP
- SMB
- IMAP
- POP3
- SSH
Download a release from GitHub or use Go Install:
go install github.com/defektive/xodbox@latest
./xodbox config -e > xodbox.yaml
Configuration information for each Handler is documented alongside it's code in the handlers directory.
Configuration information for each Notifier is documented alongside it's code in the notifiers directory.
./xodbox
All the magic happens through configuration files in the handlers and notifiers.
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.
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
./xodbox serve
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
Sweet! Open an issue to start the conversation.
Really? ok we made a tag just for you.
https://github.com/defektive/xodbox/releases/tag/legacy-nodejs