HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
shadowsocks
ChinaDNS
C2016–2016
shadowsocks / ChinaDNS

ChinaDNS

Protect yourself against DNS poisoning in China.

2Distinct people
2Mentions
0Explicit recommenders
3.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Protect yourself against DNS poisoning in China.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by day2 dated mentions

Observed mentions: 2016-05-16 11:32:06 UTC to 2016-06-06 01:48:33 UTC.

012016-05-16 00:00:00 UTC to 2016-05-17 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMay 162016-05-17 00:00:00 UTC to 2016-05-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-18 00:00:00 UTC to 2016-05-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-19 00:00:00 UTC to 2016-05-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-20 00:00:00 UTC to 2016-05-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-21 00:00:00 UTC to 2016-05-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-22 00:00:00 UTC to 2016-05-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-23 00:00:00 UTC to 2016-05-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-24 00:00:00 UTC to 2016-05-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-25 00:00:00 UTC to 2016-05-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-26 00:00:00 UTC to 2016-05-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsMay 262016-05-27 00:00:00 UTC to 2016-05-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-28 00:00:00 UTC to 2016-05-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-29 00:00:00 UTC to 2016-05-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-30 00:00:00 UTC to 2016-05-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-05-31 00:00:00 UTC to 2016-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-01 00:00:00 UTC to 2016-06-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-02 00:00:00 UTC to 2016-06-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-03 00:00:00 UTC to 2016-06-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-04 00:00:00 UTC to 2016-06-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-05 00:00:00 UTC to 2016-06-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-06-06 00:00:00 UTC to 2016-06-07 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJun 6

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
May 162016-05-16 00:00:00 UTC2016-05-17 00:00:00 UTC101
May 172016-05-17 00:00:00 UTC2016-05-18 00:00:00 UTC000
May 182016-05-18 00:00:00 UTC2016-05-19 00:00:00 UTC000
May 192016-05-19 00:00:00 UTC2016-05-20 00:00:00 UTC000
May 202016-05-20 00:00:00 UTC2016-05-21 00:00:00 UTC000
May 212016-05-21 00:00:00 UTC2016-05-22 00:00:00 UTC000
May 222016-05-22 00:00:00 UTC2016-05-23 00:00:00 UTC000
May 232016-05-23 00:00:00 UTC2016-05-24 00:00:00 UTC000
May 242016-05-24 00:00:00 UTC2016-05-25 00:00:00 UTC000
May 252016-05-25 00:00:00 UTC2016-05-26 00:00:00 UTC000
May 262016-05-26 00:00:00 UTC2016-05-27 00:00:00 UTC000
May 272016-05-27 00:00:00 UTC2016-05-28 00:00:00 UTC000
May 282016-05-28 00:00:00 UTC2016-05-29 00:00:00 UTC000
May 292016-05-29 00:00:00 UTC2016-05-30 00:00:00 UTC000
May 302016-05-30 00:00:00 UTC2016-05-31 00:00:00 UTC000
May 312016-05-31 00:00:00 UTC2016-06-01 00:00:00 UTC000
Jun 12016-06-01 00:00:00 UTC2016-06-02 00:00:00 UTC000
Jun 22016-06-02 00:00:00 UTC2016-06-03 00:00:00 UTC000
Jun 32016-06-03 00:00:00 UTC2016-06-04 00:00:00 UTC000
Jun 42016-06-04 00:00:00 UTC2016-06-05 00:00:00 UTC000
Jun 52016-06-05 00:00:00 UTC2016-06-06 00:00:00 UTC000
Jun 62016-06-06 00:00:00 UTC2016-06-07 00:00:00 UTC101

What Hacker News says

2 sources
> To be clear, this won't actually let you get to any blocked server, since there are IP layer blocks in place too, but at least DNS will be correct. :) (Actually, detecting such blocks could allow someone to build a middlebox which used VPN only when needed and otherwise used normal upstream. Hm...) That's more or less what ChinaDNS/Shadowsocks does[1], though I think the DNS list is maintained by hand, not automatically generated (?). [1]: https://github.com/shadowsocks/ChinaDNS
In [dns-operations] Quick DNS Report from Behind the Great Firewall of China
I have found using ShadowSocks [0] to work best for me here in China. VPNs create one connection for all traffic (which is easier for China's GFW to detect/block/slow down). ShadowSocks creates a new TCP/UDP connection for each connection that it proxies. My setup: Cheap VPS server in Hong Kong [1] (5USD/month, 512 RAM, 2Mbit port) running the ShadowSocks server (libev version). I have upgrade the port to 20Mbits for an extra 10USD/month. The port could be upgrade to 50Mbits for 25USD/month. For DNS I use ChinaDNS [2] to automatically filter out bad DNS results from China's censorship. It works by sending DNS queries to all multiple DNS server at the same time (give it a few local DNS servers and foreign DNS servers). The foreign DNS connections are tunneled through ShadowSocks. ShadowSocks can work as a Socks5 proxy, tunnel or tran
Read the rest
sparent proxy [3]. Socks5 is the easiest to use and can even do DNS lookups on the server. I use the transparent proxy [3] option, since it allows selecting which traffic should go over the proxy. The socks5 option will try to proxy localhost & lan conections to the proxy server. An optimized list of subnets can be generated using bestroutetb [4]. I load the subnets for China (can private LAN) into an ipset hash and use iptables rules to exclude those subnets from going over the proxy. ChinaDNS [2] and bestroutetb [4] could be used for VPNs too. This could be used when trying to access different services (US, UK, etc..) that don't allow access from outside their country. Use one VPN for US and another for UK, then use bestroutetb [4] to build subnet lists for each country route traffic over the correct VPN. 0. https://shadowsocks.org/ 1. http://www.36cloud.com/ 2. https://github.com/shadowsocks/ChinaDNS 3. https://github.com/shadowsocks/shadowsocks-libev/blob/master... 4. https://github.com/ashi009/bestroutetb edit: fix formatting and port prices.
In How I got through Docker's censorship

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.