All Projects → operasoftware → Dns Ui

operasoftware / Dns Ui

Licence: apache-2.0
Opera's LDAP-authenticated PowerDNS user interface

Projects that are alternatives of or similar to Dns Ui

Kanji Koohii
A web application to help Japanese language learners remember the kanji.
Stars: ✭ 137 (-35.07%)
Mutual labels:  web-application
Jsmind
Javascript version of mind mapping
Stars: ✭ 2,254 (+968.25%)
Mutual labels:  web-application
Mern Marketplace
A MERN stack based online marketplace application [Full-Stack React Projects]
Stars: ✭ 194 (-8.06%)
Mutual labels:  web-application
Spring
Spring integration for Vaadin
Stars: ✭ 141 (-33.18%)
Mutual labels:  web-application
Cachet
📛 An open source status page system for everyone.
Stars: ✭ 12,478 (+5813.74%)
Mutual labels:  web-application
Sharry
Sharry is a self-hosted file sharing web application.
Stars: ✭ 170 (-19.43%)
Mutual labels:  web-application
Klik Socialmediawebsite
Complete PHP-based Login/Registration system, Profile system, Chat room, Forum system and Blog/Polls/Event Management System.
Stars: ✭ 129 (-38.86%)
Mutual labels:  web-application
Statusfy
A Marvelous Open Source Status Page System
Stars: ✭ 2,577 (+1121.33%)
Mutual labels:  web-application
Kotlin Full Stack Application Demo
Full-stack demo application written with Kotlin MPP
Stars: ✭ 165 (-21.8%)
Mutual labels:  web-application
Crate
👕 👖 📦 A sample web and mobile application built with Node, Express, React, React Native, Redux and GraphQL. Very basic replica of stitchfix.com / krate.in (allows users to get monthly subscription of trendy clothes and accessories).
Stars: ✭ 2,281 (+981.04%)
Mutual labels:  web-application
Web Methodology
Methodology for high-quality web application security testing - https://github.com/tprynn/web-methodology/wiki
Stars: ✭ 142 (-32.7%)
Mutual labels:  web-application
Docker Traefik
Script to setup Traefik reverse-proxy in Docker with Compose
Stars: ✭ 153 (-27.49%)
Mutual labels:  web-application
Android Advancedwebview
Enhanced WebView component for Android that works as intended out of the box
Stars: ✭ 2,186 (+936.02%)
Mutual labels:  web-application
Hledger
A reliable, user-friendly Plain Text Accounting tool with command line, terminal and web interfaces.
Stars: ✭ 1,887 (+794.31%)
Mutual labels:  web-application
Appweb
Appweb Community Edition Embedded Web Server
Stars: ✭ 196 (-7.11%)
Mutual labels:  web-application
Whatwaf
Detect and bypass web application firewalls and protection systems
Stars: ✭ 1,881 (+791.47%)
Mutual labels:  web-application
Revel
A high productivity, full-stack web framework for the Go language.
Stars: ✭ 12,463 (+5806.64%)
Mutual labels:  web-application
Berserker
A list of useful payloads for Web Application Security and Pentest/CTF
Stars: ✭ 212 (+0.47%)
Mutual labels:  web-application
Obscurify
Find out more about your music taste and compare it to others' with Obscurify
Stars: ✭ 200 (-5.21%)
Mutual labels:  web-application
Writefreely
A clean, Markdown-based publishing platform made for writers. Write together, and build a community.
Stars: ✭ 2,479 (+1074.88%)
Mutual labels:  web-application

Opera DNS UI

A tool to manage a PowerDNS authoritative server in a corporate LDAP-driven environment.

Features

  • Connects to PowerDNS via its JSON API.
  • Allows login managed by LDAP server.
  • Create zones; add, edit and delete records.
  • Grant multiple users access to administer a zone.
  • Lower access level that allows to view a zone and request changes.
  • Provides its own JSON API for making changes to DNS records.
  • Keeps a changelog of all DNS changes done through it.
  • (Optionally) export all zones as bind-format zone files and store changes in git.

Demo

You can view the DNS UI in action on the demonstration server.

Use one of the following sets of username / password credentials to log in:

  • testuser / testuser - normal user with admin access granted to a few domains
  • testadmin / testadmin - admin user

All data on this demonstration server is reset nightly at 00:00 UTC.

Compatibility

The current version is only compatible with PowerDNS 4.0.4 and higher. Previous 4.0.x versions suffer from a critical API bug related to TTL values.

As another option, you can use PowerDNS 3 with Opera DNS UI v0.1.3, but the 0.1 version of the DNS UI will not receive any new features or non-critical fixes.

Requirements

  • Apache 2.2.18+ / nginx
  • PHP 5.6+
  • PHP intl (Internationalization Functions) extension
  • PHP JSON extension
  • PHP CURL extension
  • PHP Multibyte String extension
  • PHP LDAP extension
  • PHP PDO_PGSQL extension
  • PostgreSQL database
  • PowerDNS authoritative server 4.0.4+

Installation

  1. Configure PowerDNS:

    webserver=yes
    webserver-address=...
    webserver-allow-from=...
    webserver-port=...
    api=yes
    api-key=...
    
  2. Clone this repo to somewhere outside of your default web server document root.

  3. Create a postgresql user and database.

    createuser -P dnsui-user
    createdb -O dnsui-user dnsui-db
    
  4. Add the following directives to your web server configuration (eg. virtual host config):

    • Apache:

      DocumentRoot /path/to/dnsui/public_html
      DirectoryIndex init.php
      FallbackResource /init.php
      AllowEncodedSlashes NoDecode
      

      Full Apache virtualhost example

    • nginx:

      root /path/to/dnsui/public_html;
      index init.php;
      location / {
          try_files $uri $uri/ @php;
      }
      location @php {
          rewrite ^/(.*)$ /init.php/$1 last;
      }
      location /init.php {
          fastcgi_pass unix:/run/php/php7.0-fpm.sock ;
          include /etc/nginx/snippets/fastcgi-php.conf;
      }
      

      Full nginx server example

  5. Set up an authentication module for your virtual host (eg. authnz_ldap for Apache).

  6. Copy the file config/config-sample.ini to config/config.ini and edit the settings as required.

  7. Set scripts/ldap_update.php to run on a regular cron job.

Usage

Anyone in the LDAP group defined under admin_group_cn in config/config.ini will be able to add and modify all zones. They will also be able to grant access under "User access" for any zone to any number of users.

API

By going to the URL /api/v2 with your web browser you can see documentation of the rest API, including all of the available API methods. See this on the demo server.

Screenshots

Editing multiple records in one batch

Editing multiple records in one batch

Comprehensive changelog of all changes

Comprehensive changelog of all changes

License

Copyright 2013-2018 Opera Software

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].