# Columbus Server | API first subdomain discovery service, blazingly fast subdomain enumeration service with advanced features

**URL:** <https://onehack.st/t/columbus-server-api-first-subdomain-discovery-service-blazingly-fast-subdomain-enumeration-service-with-advanced-features/253567>\
**Category:** Tools & Scripts\
**Tags:** tools, business\
**Created:** [August 12, 2023, 8:35pm UTC](https://onehack.st/t/columbus-server-api-first-subdomain-discovery-service-blazingly-fast-subdomain-enumeration-service-with-advanced-features/253567 "2023-08-12T20:35:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![TheStrength](https://onehack.st/user_avatar/onehack.st/thestrength/32/46753_2.png) [@TheStrength](https://onehack.st/u/TheStrength)\
**Post date:** [August 12, 2023, 8:35pm UTC](https://onehack.st/t/columbus-server-api-first-subdomain-discovery-service-blazingly-fast-subdomain-enumeration-service-with-advanced-features/253567/1 "2023-08-12T20:35:49Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/b/6/b66b2ec43f28609871f646ff65128070ff7257a0.png)

# Columbus server

Columbus Project is an API first subdomain discovery service, blazingly fast subdomain enumeration service with advanced features.

_Columbus returned 638 subdomains of [tesla.com](http://tesla.com) in 0.231 sec._

## Usage

By default Columbus returns only the subdomains in a JSON string array:

curl ‘[https://columbus.elmasy.com/lookup/github.com](https://columbus.elmasy.com/lookup/github.com)’

But we think of the bash lovers, so if you don’t want to mess with JSON and a newline separated list is your wish, then include the `Accept: text/plain` header.

DOMAIN=“[github.com](http://github.com)” curl -s -H “Accept: text/plain” “[https://columbus.elmasy.com/lookup/$DOMAIN](https://columbus.elmasy.com/lookup/$DOMAIN)” | \ while read SUB do if [[“$SUB” == “”]] then HOST=“$DOMAIN” else HOST=“${SUB}.${DOMAIN}” fi echo “$HOST” done

**For more, check the [features](https://columbus.elmasy.com/tools) or the [API documentation](https://columbus.elmasy.com/swagger/index.html).**

## Entries

Currently, entries are got from [Certificate Transparency](https://certificate.transparency.dev/).

## Command Line

```auto
Usage of columbus-server:
  -check
    	Check for updates.
  -config string
    	Path to the config file.
  -version
    	Print version informations.

```

`-check`: Check the lates version on GitHub. Prints `up-to-date` and returns `0` if no update required. Prints the latest tag (eg.: `v0.9.1`) and returns `1` if new release available. In case of error, prints the error message and returns `2`.

## Build

git clone [https://github.com/elmasy-com/columbus-server](https://github.com/elmasy-com/columbus-server) make build

## Install

Create a new user:

adduser --system --no-create-home --disabled-login columbus-server

Create a new group:

addgroup --system columbus

Add the new user to the new group:

usermod -aG columbus columbus-server

Copy the binary to `/usr/bin/columbus-server`.

Make it executable:

chmod +x /usr/bin/columbus-server

Create a directory:

mkdir /etc/columbus

Copy the config file to `/etc/columbus/server.conf`.

Set the permission to 0600.

chmod -R 0600 /etc/columbus

Set the owner of the config file:

chown -R columbus-server:columbus /etc/columbus

Install the service file (eg.: `/etc/systemd/system/columbus-server.service`).

cp columbus-server.service /etc/systemd/system/

Reload systemd:

systemctl daemon-reload

Start columbus:

```auto
systemctl start columbus-server

```

If you want to columbus start automatically:

```auto
systemctl enable columbus-server

```

## GitHub:

> **[GitHub - elmasy-com/columbus-server](https://github.com/elmasy-com/columbus-server)**
>
> Contribute to elmasy-com/columbus-server development by creating an account on GitHub.
