CYBER
Go to file
mia 7c2002ccad Update 'views/register.tt' 2019-02-23 05:49:25 +01:00
bin (Optionally) check zones with nsd before they are written, to ensure safety 2017-09-14 17:15:02 +01:00
dbupdate Collect WHOIS name on account page 2017-10-04 09:02:11 +01:00
doc Move docs to separate dir 2017-09-27 19:58:53 +01:00
environments initial commit 2017-07-14 18:29:52 +01:00
lib Collect WHOIS name on account page 2017-10-04 09:02:11 +01:00
public Update 'public/js/admin_domains.js' 2019-02-23 05:43:10 +01:00
t initial commit 2017-07-14 18:29:52 +01:00
views Update 'views/register.tt' 2019-02-23 05:49:25 +01:00
whoissrv WHOIS server: display registrant name, if it has been entered 2017-10-04 09:14:52 +01:00
.dancer initial commit 2017-07-14 18:29:52 +01:00
.gitignore misc improvements, basic authentication system (no session support yet) 2017-07-15 19:24:05 +01:00
LICENSE Apply licence (GPLv2) 2017-08-19 23:14:20 +01:00
Makefile.PL initial commit 2017-07-14 18:29:52 +01:00
README.md Initial version of WHOIS server 2017-09-10 20:40:15 +01:00
app.psgi Indentation cleanup (switch to tabs) 2017-08-19 23:45:25 +01:00
config.yml (Optionally) check zones with nsd before they are written, to ensure safety 2017-09-14 17:15:02 +01:00
cpanfile (Optionally) check zones with nsd before they are written, to ensure safety 2017-09-14 17:15:02 +01:00
schema.sql Collect WHOIS name on account page 2017-10-04 09:02:11 +01:00

README.md

cyberman

A web-ui for registering domains, written in modern Perl 5 with Dancer.

issue tracker | detailed documentation

Current state

Cyberman was designed to serve .cyb, however it can easily be configured to work with other TLDs. In addition to the default 'cyberpunk' stylesheet, there is a more generic 'light' stylesheet available.

Features

  • Lightweight (~50M) server-side application, no database server required
  • Lightweight, intuitive web UI
  • Produces zone files which can be used by most DNS daemons

Prerequisites

You need a recent Perl 5 version (5.14 or later should do) and some Perl modules. The best way to get these is to install cpanminus (cpan App::cpanminus, curl https://cpanmin.us | perl - app::cpanminus, or better still, use your package manager) and then run cpanm --installdeps . in the repo directory.

You also need SQLite3. To set up the database:

cd /path/to/cyberman
sqlite3 db.sqlite
(sqlite prompt) .read schema.sql
(sqlite prompt) .q

Getting started

Once you've got all that, just run plackup to start a development server. You should probably inspect and alter config.yml first.

Production!

You can deploy cyberman however you want, using Plack. Just make sure you pass -E production - this disables detailed error pages which could be a security risk, and tones down the logging.

WHOIS server

The WHOIS server is written in Perl 6 (what do you think I am, a luddite?!) so you need to install that first, along with Panda, a package manager. Then, install the dependencies for the WHOIS server: cat whoissrv/DEPENDENCIES | xargs -n 1 panda install. Edit the values in the whoissrv section of config.yml and then start the server as root.

The WHOIS server is not supported on Windows at this time.

Questions, fan mail, etc

Feel free to join #cyb on irc.cyberia.is!

License

Cyberman: Web UI for domain registration
Copyright (C) 2017 "Al Beano" <albino@autistici.org>

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program (see LICENSE file); if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.