NmcSocks is a SOCKS proxy that resolves Namecoin hostnames.
In addition, it can chain its connections into another SOCKS proxy, primarily to allow Tor/I2P interoperability.
It can also be used as a DNS server to resolve .bit domains specifically. See examples below.
It is designed to run side-by-side with namecoind, and its default settings will "just work" out of the box.
It also has a number of command line switches to fine tune its behavior.
get it
Binaries for linux32, osx32 and win32 are available at https://github.com/itsnotlupus/nmcsocks/downloads
The source is also accessible at https://github.com/itsnotlupus/nmcsocks
usage
Code: Select all
Start a NameCoin Socks 5 Proxy.
Usage: ./nmcsocks
Options:
--ip, -i IP Address for the proxy to listen on [default: "127.0.0.1"]
--port, -p Port for the proxy to listen on [default: 9055]
--chain, -c Proxy chain policy (always|never|auto) [default: "auto"]
--shost Socks Proxy host to chain into [default: "127.0.0.1"]
--sport Socks Proxy port to chain into [default: 9050]
--private Refuse to resolve NameCoin domains that would cause a DNS leak. Implies --chain=always
--tor Resolve Tor addresses preferably. Implies --private
--i2p Resolve I2P addresses preferably. Implies --private
--dns Start a DNS server to resolve Namecoin names
--dnsport Port for the DNS server to listen on [default: 9053]
--dnsip IP address for the DNS server to listen on [default: "127.0.0.1"]
--dir, -d Namecoin configuration directory
--help, -h Display this help message
--version, -v Show version number and exit
It will attempt to chain connections into another local socks proxy on port 9050.
If such a proxy doesn't exist, connections are made directly.
To run in strict "Tor" mode, where DNS leaks are prevented and "tor" fields in Namecoin records are given priority, use
Code: Select all
./nmcsocks --tor
Code: Select all
./nmcsocks --dns
Code: Select all
zone "bit" {
type forward;
forwarders { 127.0.0.1 port 9053;};
};
Code: Select all
dig gg.bit @127.0.0.1 -p 9053
Code: Select all
./nmcsocks -h
This proxy requires namecoin to be installed, configured and running.
You can get namecoin from https://github.com/vinced/namecoin
Optionally, you can get precompiled namecoin binaries from http://dot-bit.org/
If you are using the source version, you will also need:
- node ( http://nodejs.org/ )
- optimist and binary. Install them with
Code: Select all
npm install optimist binary
- ipv6 support
- support for the whole spec
Code: Select all
v0.1: initial version
v0.2: better draft spec support (delegate/import/alias stuff), infinite loop mitigation
v0.3: embedded DNS server to resolve .bit domains
v0.4: better DNS server support, various bug fixes