cloudxtreme / fun-dns Goto Github PK
View Code? Open in Web Editor NEWThis project forked from badlee/fun-dns
Little Javascript DNS Server for resolve internet's hostname only
License: GNU General Public License v3.0
This project forked from badlee/fun-dns
Little Javascript DNS Server for resolve internet's hostname only
License: GNU General Public License v3.0
_____ __ _ _____ _____ _____ _____ _____ _ _ __ _ | _ \ | \ | | / ___/ | ___| / _ \ | _ \ | ___| | | | | | \ | | | | | | | \| | | |___ | |__ | | | | | |_| | | |__ | | | | | \| | | | | | | |\ | \___ \ | __| | | | | | _ / | __| | | | | | |\ | | |_| | | | \ | ___| | | | | |_| | | | \ \ | | | |_| | | | \ | |_____/ |_| \_| /_____/ |_| \_____/ |_| \_\ |_| \_____/ |_| \_| version 0.1.12 Fun DNS server build on top of Nodejs How install Run $ sudo setup.sh OR $ wget -O /tmp/fun_dns.tar.gz https://github.com/downloads/badlee/fun-dns/fun_dns.v0.1.12.tar.gz $ sudo -s $ mkdir /opt/fun_dns $ cd /opt/fun_dns $ tar xvf /tmp/fun_dns.tar.gz $ ln -s /opt/fun_dns/fun_dns.daemon /etc/init.d/fun_dns $ update-rc.d fun_dns defaults $ #Start service $ service fun_dns start How define hostname edit 'config/conf.json', the syntaxe of this file respect json format { "hostname1" : { [property...] }, "hostname2" : { [property...] }, "hostname3" : { [property...] }, [...] "hostnameN" : { [property...] } } properties of a hostname "name" : { "ip" : "127.0.0.1", "description" : "je suis le serveur web local", "autority" : "dns.{name},admin@{name}", "mail" : { "ip" : "127.0.0.2", "name" : "mail.{name}", "priority" : 10 }, "nameserver" : [{ "ip" : "127.0.0.1", "name" : "ns1.{name}" }] } The hostname can have a short regex like syntaxe. * : this expression respect ".*" in regex; %w : this expression respect "[a-zA-Z0-9_]+" in regex; %h : this expression respect "[a-fA-F0-9]+" in regex; %d : this expression respect "[0-9]+" in regex; sample conf.json : { "server.web" : { "ip" : "192.168.1.3", "nameserver" : [{ "name" : "dns3.local.web" },{ "ip" : "192.168.1.2", "name" : "dns2.local.web" },{ "ip" : "192.168.1.1", "name" : "dns.local.web" }] }, "!*.lo" : { "ip" : "127.0.0.1", "autority" : "dns.{name},admin@{name}", "nameserver" : [{ "ip" : "127.0.0.1", "name" : "dns.{name}" },{ "ip" : "127.0.0.1", "name" : "dns2.{name}" }] } } Server confiurations(config/serv.ini) conf = configuration hostname file(if not defined is set to app://config/conf.json) host = your ip4 addresse to listen(if not defined listen all) port = port to listen(if not defined listen 53) Section nameserver = list of dns server used to found response when no response found on server(as a proxy, but it's eprouve the global performances) [nameserver] nameOfTheDnsServer1 = Ip_Address nameOfTheDnsServer2 = Ip_Address ... nameOfTheDnsServer3 = Ip_Address Section ttl = list of ttl in dns reponse (in secondes) [ttl] ip = ttl for any ip (A or AAAA) address (if not defined 77) ttl = ttl for any field different of ip (A or AAAA) (if not defined 600) refresh = time to refresh the zone (if not defined 1800) retry = time to retry when refresh (above) has expired (if not defined 900) expiration = ttl for DNS response (if not defined 604800) sample serv.ini: conf = app://config/lab.json port = 53 host = 192.168.1.1 spf = "v=spf1 +all" [ttl] ttl = 600 ip = 77 [nameserver] google.dns.a = 8.8.8.8 google.dns.b = 8.8.4.4 Command line option Usage: fun_dns [options] Options: --- -p|--port <value> port to listen. --- -h|--host <value> host to bind. --- -c|--conf <value> configuration file(hostname). --- -s|--servConf <value> configuration file(server). --- -v|--version Get the version of fun_dns --- -z|--zone <value> Lookup a zoneWalk --- -l|--log <value> path to log file
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.