MCPcopy Index your code
hub / github.com/ddserver/ddserver

github.com/ddserver/ddserver @0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2 ↗ · + Follow
284 symbols 897 edges 42 files 86 documented · 30%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ddserver - A dynamic DNS service

About

ddserver is a server-side application for dynamic DNS.

It allows you to specify hostnames (subdomains) inside a dynamic DNS zone, and to update the IPv4 address of those hostnames using the dyndns2 update protocol (http://www.noip.com/integrate). This enables you to access hosts with dynamic IP addresses by a static domain name, even if the IP address changes.

Features

  • Nice and intuitive Web-UI
  • Automatic / Semi-automatic registration or manual user management
  • Administrators can add and manage zones
  • Users can add and manage hostnames
  • Re-captcha support
  • IP-address update using the dyndns2 protocol
  • Update multiple hostnames at once
  • Works with most homerouters, ddclient or even wget
  • Manual IP-address updates via Web-UI
  • Support for multiple domains
  • Configurable number of hosts per user
  • Strong encryption of all passwords (host and user)
  • Supports distributed installation
  • Separate packages for Web-UI, updater and DNS-backend
  • Redundancy support

Mode of operation

ddserver is written in Python (2.7) using the Bottle Web Framework and comes with a clean HTML5 frontend using the Bootstrap3 CSS framework.

All user and hostname information is stored in a MySQL database. For name resolution ddserver depends on PowerDNS as the DNS server.

The individual parts of ddserver, which may run on one server, or distributed on different machines, are

  • ddserver-bundle is the bundled version of
  • ddserver-interface: A nice-looking webinterface for adding hostnames or zones and managing users.
  • ddserver-updater: The implementation of the dyndns2 update protocol.
  • ddserver-recursor answers DNS queries. It runs as a pipe-backend for the PowerDNS server.

License

ddserver is free software and can be redistributed and/or modified under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Core symbols most depended-on inside this repo

extend
called by 56
ddserver/utils/deps.py
cursor
called by 39
ddserver/db.py
error
called by 36
ddserver/interface/message.py
success
called by 24
ddserver/interface/message.py
declare
called by 14
ddserver/config.py
send
called by 10
ddserver/recursor/__main__.py
save
called by 10
ddserver/interface/session.py
to_user
called by 4
ddserver/mail.py

Shape

Function 157
Method 62
Route 41
Class 24

Languages

Python78%
TypeScript22%

Modules by API surface

ddserver/resources/web/js/jquery.min.js42 symbols
ddserver/interface/validation.py22 symbols
ddserver/utils/txtprot.py19 symbols
ddserver/resources/web/js/Chart.min.js16 symbols
ddserver/interface/pages/admin/users.py16 symbols
ddserver/interface/user.py12 symbols
ddserver/interface/pages/admin/suffixes.py12 symbols
ddserver/interface/pages/signup.py11 symbols
ddserver/utils/deps.py10 symbols
ddserver/interface/session.py10 symbols
ddserver/interface/pages/lostpasswd.py10 symbols
ddserver/config.py10 symbols

For agents

$ claude mcp add ddserver \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact