DNSPro is a smart DNS-based proxy solution designed specifically to bypass geographic restrictions and sanctions, allowing access to geo-blocked content and services without the need for a full VPN. It transparently routes traffic of selected domains through your own server using sniproxy, dnsmasq, and nginx.
β οΈ Note: This service is intended to bypass geo-blocking and sanctions only. It is not designed for circumventing national censorship or filtering systems.
Run these commands on a fresh Ubuntu (20.04/22.04) or AlmaLinux (8/9) server with root privileges:
wget -O dns-installer.sh https://raw.githubusercontent.com/MrAriaNet/DNSPro-SmartDNSProxy/main/dns-installer.sh
chmod +x dns-installer.sh
./dns-installer.shThe installer will:
- Detect your Linux distribution
- Install all necessary dependencies
- Compile and install
sniproxy - Configure
sniproxy,dnsmasq, andnginx - Enable and start all required services
To specify which domains should be proxied, create or edit a configuration file in /etc/dnsmasq.d/. For example:
address=/.example.com/your_server_ip- Replace
example.comwith the domain(s) you want to proxy - Replace
your_server_ipwith your server's public IP address
This tells dnsmasq to resolve those domains to your server IP, so traffic to those domains gets routed through your proxy.
Replace the default NGINX configuration with the projectβs custom config to correctly handle HTTP and HTTPS traffic:
curl -fsSL -o /etc/nginx/nginx.conf https://raw.githubusercontent.com/MrAriaNet/DNSPro-SmartDNSProxy/main/nginx/nginx.conf
systemctl restart nginxAfter making changes, restart the related services to apply new settings:
systemctl restart sniproxy
systemctl restart dnsmasq-
The proxy works only for TLS-enabled services that use SNI (Server Name Indication), e.g., HTTPS websites.
-
Ensure your firewall allows inbound traffic on ports 80 (HTTP) and 443 (HTTPS).
-
If you experience connectivity issues, try restarting the services above.
-
You can test your proxy with:
curl -v https://example.com --resolve example.com:443:your_server_ip
-
Logs for
sniproxyare available at/var/log/sniproxy.log(depending on systemd setup). -
For complex domain setups, add multiple
address=/.domain.com/iplines in/etc/dnsmasq.d/.
Developed and maintained by Aria Jahangiri Far
MIT License β Free to use, modify, and distribute.
This software is provided as-is. Use responsibly and in accordance with your local laws and regulations. The author is not responsible for any misuse or legal consequences.