All Projects → mili-tan → Arashidns.aoi

mili-tan / Arashidns.aoi

Licence: mpl-2.0
Simple DNS over HTTPS Server

Projects that are alternatives of or similar to Arashidns.aoi

Pdns
PowerDNS Authoritative, PowerDNS Recursor, dnsdist
Stars: ✭ 2,575 (+6180.49%)
Mutual labels:  hacktoberfest, dns
Dns Tool
A set of browser-based DNS tools for DigitalOcean Community.
Stars: ✭ 50 (+21.95%)
Mutual labels:  hacktoberfest, dns
Passer
Passive service locator, a python sniffer that identifies servers, clients, names and much more
Stars: ✭ 144 (+251.22%)
Mutual labels:  hacktoberfest, dns
Vinyldns
DNS Governance for streamlining DNS operations and enabling safe and secure DNS self-service
Stars: ✭ 293 (+614.63%)
Mutual labels:  hacktoberfest, dns
Docker Pi Hole
Pi-hole in a docker container
Stars: ✭ 4,288 (+10358.54%)
Mutual labels:  hacktoberfest, dns
Awesome Checker Services
✅ List of links to the various checkers out there on the web for sites, domains, security etc.
Stars: ✭ 662 (+1514.63%)
Mutual labels:  hacktoberfest, dns
Auroradns.gui
纯净抗污染,简单轻量级
Stars: ✭ 494 (+1104.88%)
Mutual labels:  hacktoberfest, dns
Ftl
The Pi-hole FTL engine
Stars: ✭ 776 (+1792.68%)
Mutual labels:  hacktoberfest, dns
Dbdpg
Perl Postgres driver DBD::Pg aka dbdpg
Stars: ✭ 38 (-7.32%)
Mutual labels:  hacktoberfest
Linuxbrew Core
🍻🐧 Core formulae for the Homebrew package manager on Linux
Stars: ✭ 999 (+2336.59%)
Mutual labels:  hacktoberfest
Mg
Minimal UI library based on relm (GTK+), written in Rust.
Stars: ✭ 38 (-7.32%)
Mutual labels:  hacktoberfest
Pyflakes
A simple program which checks Python source files for errors
Stars: ✭ 991 (+2317.07%)
Mutual labels:  hacktoberfest
Hacktoberfest2020
Repository to let enthusiasts create issues and pull requests for the Open Source event
Stars: ✭ 40 (-2.44%)
Mutual labels:  hacktoberfest
Statzone
DNS zone file analyzer targeted at TLD zones
Stars: ✭ 38 (-7.32%)
Mutual labels:  dns
Toktok
Typo/error resilient, human-readable token generator
Stars: ✭ 40 (-2.44%)
Mutual labels:  hacktoberfest
Mvp
PowerShell Module to interact with the Microsoft MVP API
Stars: ✭ 38 (-7.32%)
Mutual labels:  hacktoberfest
Entity Command
Manage WordPress comments, menus, options, posts, sites, terms, and users.
Stars: ✭ 38 (-7.32%)
Mutual labels:  hacktoberfest
Dnsbrute
DNS Sub-domain brute forcer, in Python + gevent
Stars: ✭ 40 (-2.44%)
Mutual labels:  dns
Fuzzy C Means
A simple python implementation of Fuzzy C-means algorithm.
Stars: ✭ 40 (-2.44%)
Mutual labels:  hacktoberfest
Fbchat
Facebook Chat (Messenger) for Python
Stars: ✭ 995 (+2326.83%)
Mutual labels:  hacktoberfest

中文简体 Readme English Readme

GitHub-action license GitHub-release Github All Releases FOSSA Status


QuickStart

Host your DNS over HTTPS Server just by running ./Arashi.Aoi --upstream 127.0.0.1.

If you get Permission denied, run chmod +x ./Arashi.Aoi to grant execution permission.

OR using Docker. docker run milkey/arashidns.aoi

It is that easy. Use --help / -? to discover more parameters and get help information.

Introduction

Parameters

Parameter Explanation Example
-? / --help Show help information
-l / --listen Set the server listening address and port 127.0.0.1:2020
-u / --upstream Set the upstream origin DNS server IP address 8.8.8.8
-t / --timeout Set timeout for query to the upstream DNS server (ms) 500
-r / --retries Set number of retries for query to upstream DNS server 5
-p / --perfix Set your DNS over HTTPS server query prefix "/dns-query"
-c / --cache Local query cache settings full / flexible / none
--log Console log output settings full / dns-query / none
--tcp Set enable upstream DNS query using TCP only
--noecs Set force disable active EDNS Client Subnet
-s / --https Set enable HTTPS (Self-Signed Certificate by default, Not Recommended)
-pfx / --pfxfile Set your pfx certificate file path (with optional password) "./cert.pfx"
-pass / --pfxpass Set your pfx certificate password "passw0rd "
-pem / --pemfile Set your pem certificate file path "./cert.pem"
-key / --keyfile Set your pem certificate key file path "./cert.key"

Environment Variables

Usually you only need to set them when running in a container (such as Docker).

And generally only ARASHI_VAR and PORT need to be set.

Variables Explanation Example
PORT Set the server listening port 2020
ARASHI_ANY Set the server listening any address true
ARASHI_VAR Set start-up parameters (see above) -u 127.0.0.1 -r 3
ARASHI_RUNNING_IN_CONTAINER Manual setting is required only if the container is not identified true

Run in Background

Windows
  • Just double-click it, or run ./Arashi.Aoi.exe in Command Prompt or Powershell, and click the Minimize button.
  • Use nssm to register ArashiDNS.Aoi as a service. It as a service will restart in the unexpected failure.
Linux
  • Run nohup ./Arashi.Aoi --upstream 127.0.0.1 & or use screen. Despite being a dirty approach, it just works.
  • Use supervisor, pm2, monit, gosuv, or systemd as process daemon and keeping ArashiDNS.Aoi running.

Protocol Compatibility

Google DNS over HTTPS Json API

When the ct parameter's application is not dns-message , and with a valid name parameter. ArashiDNS.Aoi provides Google JSON API for DNS over HTTPS (DoH) compatible protocol. Parameters are the same, but cd , do , random_padding are not implemented, they will be ignored.

IETF RFC-8484 DNS over HTTPS

ArashiDNS.Aoi provides complete IETF DNS-over-HTTPS (RFC 8484) Compatibility. The GET request needs to contain valid dns parameters.

Features

IPv6 Support

Full IPv6 support is available, but in many cases IPv4 is still preferred. You may need to force AAAA lookups or ipv6 server listening addresses.

EDNS-Client-Subnet

EDNS-Client-Subnet is enabled by default. Your upstream origin DNS server also needs to support EDNS-Client-Subnet for it to work. If your server is hosted in ECS or behind CDN, The request need to include X-Forwarded-For or X-Real-IP.

If you wish to disable it, please enter EDNS-Client-Subnet IP 0.0.0.0 in your client.

Feedback

  • As a beginner, I seek your kind understanding of the issues in the project.
  • If you have bug reports or feature request, please feel free to send issues.
  • PRs of new feature implementations or bug fixes are greatly appreciated.
  • I am not a native English speaker, so please forgive my typo and grammatical errors. Communication in Chinese is preferred if possible.

Acknowledgements

ReSharper is a really amazing tool that made my development several times more efficient.

Thanks to JetBrains for providing the ReSharper open source license for this project.

Credits

ArashiDNS was born out of open source softwares and the people who support it.

Check out Credits for a list of our collaborators and other open source softwares used.

License

Copyright (c) 2020 Milkey Tan. Code released under the Mozilla Public License 2.0.

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].