{"repo":"ChosoMeister/Smart-DNS","free":true,"listed":false,"github":"https://github.com/ChosoMeister/Smart-DNS","clone":"git clone https://github.com/ChosoMeister/Smart-DNS.git","description":"Lightweight Shecan-like Smart DNS with Python DNS whitelisting, Nginx transparent proxy, and Docker support.","language":"Python","stars":23,"topics":["bypass","developer-tools","dns","dns-proxy","dns-server","dnslib","docker","domain-whitelisting","iran","networking"],"license":"MIT","category":"networking-infra","readme_excerpt":"Smart DNS A minimal implementation of a Shecan-like service. It combines a lightweight DNS server written in Python with an Nginx based transparent proxy. Whitelisted domains resolve to your public IP while all other lookups are resolved normally. Repository Structure File Description ------ ------------- dns.py DNS server using dnslib. It serves a fixed IP for domains listed in the whitelist and falls back to real DNS resolution for others. domains Default whitelist. Borrowed from fod. nginx.conf Nginx configuration that redirects HTTP to HTTPS and forwards TCP traffic on port 443 based on SNI. entrypoint.sh Start script that launches Nginx and the DNS server. Dockerfile Build instructions for the container image. Requirements - Docker/Podman (recommended) - Python 3 with dnslib if running the DNS server outside of a container Usage 1. Ensure ports 53/udp , 80 , and 443 are free. Disable systemd-resolved if necessary. 2. Build the image (optional if using the published one): 3. Run the container, replacing YOUR PUBLIC IP with the address you want whitelisted domains to resolve to: Environment Variables - PUB IP : IP address returned for whitelisted domains. - DNS ALLOW ALL=YES : Ignore the whitelist and respond with PUB IP for every domain. Running the DNS server manually Use --ip ENV to read the IP from the PUB IP environment variable, or supply the IP directly. Set --whitelist ALL (or DNS ALLOW ALL=YES ) to allow every domain. Testing Verify functionality with dig : FAQ Wh","default_branch":null,"files":null,"tree":[],"storefront":"/r/ChosoMeister","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ChosoMeister/Smart-DNS/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}