-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.html
156 lines (137 loc) · 4.96 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>NTP Pool DNS Mapper</title>
<link rel="stylesheet" href="https://st.ntppool.org/cdn/libs/pure/0.5.0/pure-min.css">
<link rel="canonical" href="https://www.mapper.ntppool.org/">
<style>
.content {
margin: 0 auto;
padding: 0 2em;
max-width: 800px;
margin-bottom: 50px;
line-height: 1.6em;
}
code.example {
display: block;
background-color: #F9F9F9;
border: 1px dashed #2F6FAB;
color: black;
line-height: 1.1em;
padding: 1em;
}
</style>
</head>
<body>
<div class="content">
<h2>NTP Pool DNS Mapper</h2>
<h3>What is this?</h3>
<p>The NTP Pool DNS Mapper tries mapping user IP addresses to their DNS
servers (and vice-versa). It also tracks which servers support EDNS-SUBNET
and how well that actually matches the client IP (as seen by the HTTP server).
You can see a demo at <a href="http://mist.ntppool.org">mist.ntppool.org</a>.
</p>
<p>
It's done to research how to improve the DNS system used by the
<a href="http://www.ntppool.org/">NTP Pool</a> and potentially other
similar applications.
</p>
<h3>How can I help?</h3>
<p>
Thank you for asking! The easiest way to help is to help get more data.
</p>
<p>
If you have a website you can have your users help by adding one of
the following two code snippets to your site.
</p>
<p>
1) Insert a simple image tag just before the </body> tag.
This will "run" on every page load and make two http requests.
<code class="example">
<img src="//www.mapper.ntppool.org/none">
</code>
</p>
<p>
2) Insert a small javascript just before the </body> tag and
after any other scripts on your page. This requires javascript on the
end-user, but has the advantage of being cached and then only do a
single HTTP request for the "probe". The probe runs 3 seconds after
the page has loaded.
This is the better implementation if your users typically stay on
your site for more than a single pageview or two.
<code class="example">
<script src="//www.mapper.ntppool.org/mapper.js"></script>
</code>
</p>
<p>
As an alternative you can copy the javascript from mapper.js into
another script running on your site.
</p>
<p>
If your site gets more than 15 million requests a month, please <a
href="#contact">send a note</a> before adding the integration. The
service is running both on HTTP and HTTPS.
</p>
<h3>API</h3>
<p>
Because it works with a simple HTTP request (sometimes plus a redirect)
you can use it to query your public IP address and the public IP of the
DNS server you used.
<code class="example">
$ curl -fsL www.mapper.ntppool.org/json
{"DNS":"192.0.2.1","EDNS":"","HTTP":"198.51.100.2"}
</code>
</p>
<p>
If called from a webpage you can use <a href="http://en.wikipedia.org/wiki/JSONP">
jsonp</a> via the url
<code class="example">
www.mapper.ntppool.org/jsonp?jsonp=functionName
</code>
You can see an example of this on the <a href="http://mist.ntppool.org/">demo site</a>.
</p>
<p>
When called on the hostname "www" the first response will be a redirect. You
can see <a href="/mapper.js">mapper.js</a> for an example of how to avoid this.
It is important that each request URL is unique.
</p>
<p>
If you use the API, please <a href="#contact">send me a note</a>.
</p>
<h3 id="privacy">Privacy</h3>
<p>
The system logs the client IP address, the DNS server IP and information
about the servers support for the EDNS-SUBNET extension. The country, region
and AS number for the IP addresses is also logged.
For each set of client and server IP address it also logs a time stamp
for the first and most recent time the combination has been seen.
Other (meta) data may be added in the future, but the goal of the project
will remain to explore the relationship between DNS and client IPs; not
in to track users or site behavior.
</p>
<p>
The user-agent, http referrer or other headers are not logged persistently.
They may be logged temporarily for debugging purposes.
</p>
<p>
The system does not read or set any cookies. See above how the system uses
an ephemeral unique identifier to track requests.
</p>
<p>
The data-set is not currently publically available and changing that will be
carefully considered, but it's a possibility for the future. If you have
a use case for the data that can help make the internet work better, get in
touch.
</p>
<h3>Terms of service</h3>
<p>
The service is provided with absolutely no warranty or claims of suitability
for anything. It is run on a best efforts basis.
</p>
<h3 id="contact">Contact</h3>
Email <a href="http://www.askask.com/contact/">Ask Bjørn Hansen</a>.
</div>
<script src="/mapper.js"></script>
</body>
</html>