Seji64/SniDust 是一个托管在 GitHub 上的开源项目,主要使用 Shell 编写,采用 GNU General Public License v3.0 许可证,目前获得 286 个 Star、50 次 Fork。
仓库全名
Seji64/SniDust
README 摘要
SniDust SmartDNS Proxy to hide your GeoLocation. SniDust is a powerful tool based on DnsDist and Nginx, designed to proxy DNS requests and spoof your origin IP to bypass geo-restrictions for various services. Supported Services SniDust is optimized for services such as: Zattoo Yallo.tv Netflix Hulu Amazon Prime SRF.ch (Live TV) Prerequisites You will need a VPS or a Root Server with Docker installed. Usage 1…
SmartDNS Proxy to hide your GeoLocation.
SniDust is a powerful tool based on DnsDist and Nginx, designed to proxy DNS requests and spoof your origin IP to bypass geo-restrictions for various services.
Check the container logs to ensure everything is running correctly:
docker logs snidust
You should see messages indicating that the webserver is launched and the upstream DNS servers (Google, Cloudflare) are marked as ‘up’.
5. Client Configuration
Change the DNS server settings on your client device to the Public IP of your server (10.111.123.8). Your GeoLocation is now hidden!
Configuration & Environment Variables
Core Settings
Variable
Default
Description
ALLOWED_CLIENTS
127.0.0.1
Comma-separated list of allowed IPs or DynDNS domains.
ALLOWED_CLIENTS_FILE
(empty)
Path to a file containing the ACL (allows reloading without restart).
EXTERNAL_IP
(empty)
The public IP of the server to be used for spoofing.
SPOOF_ALL_DOMAINS
false
If true, all DNS queries are spoofed regardless of the domain list.
INSTALL_DEFAULT_DOMAINS
true
Whether to install the default domain lists provided by the repo.
DYNDNS_CRON_SCHEDULE
*/15 * * * *
Schedule for DynDNS updates.
DNSDist Performance & Security
Variable
Default
Description
DNSDIST_RATE_LIMIT_DISABLE
false
Set to true to disable rate limiting.
DNSDIST_RATE_LIMIT_WARN
800
Warning threshold in queries per second (qps).
DNSDIST_RATE_LIMIT_BLOCK
1000
Blocking threshold in qps.
DNSDIST_RATE_LIMIT_BLOCK_DURATION
360
Duration (seconds) for which a client is blocked.
DNSDIST_RATE_LIMIT_EVAL_WINDOW
60
Evaluation window in seconds.
DNSDIST_PACKAGE_CACHE_ENABLED
false
Enables packet caching to reduce latency.
DNSDIST_PACKAGE_CACHE_SIZE
50000
Maximum number of entries in the packet cache.
DNSDIST_UPSTREAM_POOL_NAME
upstream
Name of the upstream pool. Change this if using a custom pool.
DNSDIST_UPSTREAM_CHECK_INTERVAL
10
Interval (seconds) for checking upstream server health.
DNSDIST_ENABLE_WEBSERVER
false
If true, enables the DnsDist webserver on 127.0.0.1:8083. Add -p 8083:8083 to reach it; the password and API key are generated automatically if not set.
DNSDIST_DEBUG
false
If true, logs every DNS query to /tmp/dnsdist.log.
Advanced Setups
DNS over TLS (DoT)
For examples on how to set up DoT, refer to docker-compose.dot.yml and docker-compose.acme.sh-dot.yml in the repository.
Custom Upstream DNS Servers
To use your own upstream DNS servers instead of the defaults (Google/Cloudflare):
If you encounter an error stating that port 53 is occupied, it is likely due to another service (like Pi-hole) or systemd-resolved on Linux.
Follow this Guide to free up the port.
评论