Giter Club home page Giter Club logo

pax0r-ddns's Introduction

Pax0r DynamicDNS

Simple application to setup DDNS service on your host in internet. Designed for personal use so right now it does not support multiple users. My main reason was to create a DynamicDNS service for my local Home Assistant instalation, as a replacement for DuckDNS. DNS server uses dnslib and HTTP server runs on sanic.

Deploying

From bare source

  1. Create config.yaml file using config.example.yaml as reference
  2. Simply run python -m pax0r_ddns_server

Docker

  1. Create config.yaml file using config.example.yaml as reference
  2. Build image : docker build -t pax0r .
  3. Run from image : docker run --publish 8000:8000 --publish 53:53 pax0r

Usage

  1. Set DNS NS record for domain you want to control to the the server where you are running DDNS service
  2. Post with empty body to http://<your-server>/<domain>. IP of the posting client will be used as dynamic IP for given domain
  3. DNS server run by this script should answer with your dynamic IP

TODO:

  • Persistent backends
  • Separate daemon for http and dns (right now it's single process with two threads)
  • Client applications
  • Rewrite DNSServer to work on asyncio

pax0r-ddns's People

Contributors

bit-man avatar pax0r avatar

Watchers

 avatar  avatar

pax0r-ddns's Issues

Rewrite DNSServer to asyncio

DNSServer provided by dnslib is not async and we run it in the seperate thread. As for http we are using sanic it would be nice to rewrite it to asyncio as well.

OpenWRT client

Create a OpenWRT package with client application and some GUI for LuCI. GUI should allow to set our dynamic domain and address of DDNS service.

Create Pipfile

Create pipfile with requirements for the project (sanic and dnslib for now)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.