This is a command line utility to resolve DNS requests via a SOCKS tunnel like Tor or a HTTP proxy.

Features

  • Provides anonymous DNS for any Windows application in combination with Tor
  • This way you can force Opera or Internet Explorer (examples) to use Tor for all communication
  • Can also be compiled and used on Linux or other *nix variants (also Mac OS X)

Project Samples

Project Activity

See All Activity >

Categories

DNS, Internet

License

BSD License

Follow DNS2SOCKS

DNS2SOCKS Web Site

Other Useful Business Software
Top-rated email security solutions Icon
Top-rated email security solutions

Offering corporate-grade email encryption and data protection to small & medium-sized businesses (as well as individual users)

NeoCertified has remained the price performance leader in secure email for over 20 years, offering Secure Email Solutions that will help you meet all of your needs compliance needs including HIPAA / SEC / FINRA / FERPA & more!
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
2
0
0
1
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5

User Reviews

  • I compiled dns2socks on tomato base router, version 1.7 worked fine, but version 1.8 always failed: gcc -pthread -Wall -O2 -o dns2socks DNS2SOCKS.c [optware][asus:/tmp/mnt/sda2/compile/dns2socks]$ ./dns2socks /l:/var/log/dns2socks.log /q 127.0.0.1:7777 8.8.8.8:53 0.0.0.0:5252 DNS2SOCKS V1.8 (free software, use parameter /? to display help) Invalid address '127.0.0.1' and port '7777' specified for SOCKS server! I see the source: if(iRet) { //only for the DNS server also support name if(&g_sDnsSrvAddr==psAddr) { size_t uLen=strlen(szIpAndPort); if(uLen<256 && uLen) { ((struct sockaddr_in6*)&g_sDnsSrvAddr)->sin6_port=htons((uint16_t)atoi(szPort)); if(((struct sockaddr_in6*)&g_sDnsSrvAddr)->sin6_port) { g_sDnsSrvAddr.ss_family=AF_UNSPEC; //this marks usage of name *(char**)&((struct sockaddr_in6*)&g_sDnsSrvAddr)->sin6_addr=szIpAndPort; //use sin6_addr for pointer to name (128 bit -> large enough, alignment should also be fine) ((struct sockaddr_in6*)&g_sDnsSrvAddr)->sin6_flowinfo=(uint8_t)uLen; //use sin6_flowinfo for length return 1; //o.k. } } } OutputFatal("\nInvalid address '%s' and port '%s' specified for %s!\n", szIpAndPort, szPort, szParamName); return 0; //error } Are those means: if &g_sDnsSrvAddr!=psAddr, always return failed? Sorry i am a C language newbie.
  • Not actively supported and not working out of the box. Getting the message "Server actively refused connection" (by which I think it's the TOR SOCK server that's refusing). Set-up as follows: Windows 8.1 (fully updated). Latest TOR bundle (up and running ok). Latest DNS2SOCKS (version matching TOR bundle). Having configured the NIC for 127.0.0.1 preferred DNS, started the TOR bundle, started DNS2SOCKS, saw the requests listed in DNS2SOCKS console along with matching actively refused messages. It's unfortunate that DNS2SOCKS doesn't support IP6 - Yet?...
  • A very useful tool.
Read more reviews >

Additional Project Details

Operating Systems

Linux, Mac, Windows

Languages

English

Intended Audience

Advanced End Users, End Users/Desktop, Security Professionals

User Interface

Command-line

Programming Language

C

Related Categories

C DNS Software, C Internet Software

Registered

2012-01-06