CYBER
Go to file
Al Beano 4be5a07e86 Don't keep updating the SOA every minute, it's not nice 2017-09-09 23:21:04 +01:00
bin Don't keep updating the SOA every minute, it's not nice 2017-09-09 23:21:04 +01:00
dbupdate Don't keep updating the SOA every minute, it's not nice 2017-09-09 23:21:04 +01:00
environments initial commit 2017-07-14 18:29:52 +01:00
lib Don't keep updating the SOA every minute, it's not nice 2017-09-09 23:21:04 +01:00
public Basic admin panel with support for viewing users and domains 2017-09-08 23:31:36 +01:00
t initial commit 2017-07-14 18:29:52 +01:00
views Basic admin panel with support for viewing users and domains 2017-09-08 23:31:36 +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.freebsd Update documentation for FreeBSD 2017-08-23 17:52:28 +01:00
README.md Update README 2017-08-21 19:09:01 +01:00
app.psgi Indentation cleanup (switch to tabs) 2017-08-19 23:45:25 +01:00
config.yml Add stylesheet selector to account page 2017-08-21 18:44:40 +01:00
cpanfile Separate record sanitisation tests 2017-08-19 23:56:21 +01:00
schema.sql Don't keep updating the SOA every minute, it's not nice 2017-09-09 23:21:04 +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.

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.