Releases: cunnie/sslip.io
Remove all traces of ns-aws, ns-azure
- remove all traces of deprecated nameservers,
ns-aws.sslip.io
andns-azure.sslip.io
dig @ns-gce.sslip.io txt metrics.status.sslip.io +short
returns a reasonable"Answer > 0:..."
instead of weird octal characters caused by a presumptuous use of≥
;dig
does not interpret UTF-8:
Old, bad:
"Answer \226\137\165 1: 67974722 (651.9/s)"
New, good:
"Answer > 0: 67974722 (651.9/s)"
Minor Bugfixes and Tweaks
- Placate linter
- Deprecate custom
listLocalIPCIDRs()
; we can use Golang's builtinnet.InterfaceAddrs()
instead - Better terminology: "Answered Queries" → "Answer ≥ 1". The earlier variant implied that we don't respond to every query. We respond to every query, but not every response has a record in the answer section
- ns.sslip.io's A & AAAA records match sslip.io's NS records
`ns-hetzner.sslip.io` replaces NS `ns-azure.sslip.io`
The torrent of traffic I'm receiving has caused my AWS bill to spike from $9 to $148, all of the increase due to bandwidth charges.
To remediate, I'm replacing ns-azure
with ns-hetzner
. The previous release replaced ns-aws
with ns-ovh
.
ns-hetzner
has both IPv4 and IPv6 addresses. It appears that Google's 8.8.8.8 DNS service favors IPv6-based nameservers.
`ns-aws.sslip.io` is no longer an NS for `sslip.io`
The torrent of traffic I'm receiving has caused my AWS bill to spike from $9 to $148, all of the increase due to bandwidth charges.
I'm still maintaining ns-aws; the VM still continue to run, and continue to serve web traffic, and maintain its hostname and IP addresses; however, it will no longer be in the list of NS records for sslip.io.
There are much less expensive hosting providers. OVH is my current favorite.
Join the Public Suffix List
TXT _psl.sslip.io
record attests ownership for the Public Suffix List
We want to place sslip.io on the Public Suffix List so we don't need to pester Let's Encrypt for rate limit increases.
According to https://publicsuffix.org/submit/:
owners of privately-registered domains who themselves issue subdomains to mutually-untrusting parties may wish to be added to the PRIVATE section of the list.
References:
Rotate order of NS Records
We rotate the order that the NS records (ns-aws, ns-azure, ns-gce, ns-ovh) are returned in the hope that this will take the load off ns-aws, whose costs have jumped from $12.66 → $20.63 → $38.51 → $62.30 in the last four months due to bandwidth charges exceeding 10 TB.
Pre-release snapshot of NS usage:
ns-aws.sslip.io
"Queries: 237744377 (1800.6/s)"
"Answered Queries: 63040894 (477.5/s)"
ns-azure.sslip.io
"Queries: 42610823 (323.4/s)"
"Answered Queries: 14660603 (111.3/s)"
ns-gce.sslip.io
"Queries: 59734371 (454.1/s)"
"Answered Queries: 17636444 (134.1/s)"
ns-ovh.sslip.io
"Queries: 135897332 (1034.4/s)"
"Answered Queries: 36010164 (274.1/s)"
Full Changelog: 3.2.0...3.2.1
Introduce new nameserver, ns-ovh.sslip.io
Introducing ns-ovh.sslip.io:
- located in Warsaw, Poland
- IPv4: 51.75.53.19
- IPv6: 2001:41d0:602:2313::1
The raison d'être of this is to take the load off ns-aws, which jumped from $12.66 → $20.63 → $38.51 → $62.30 in the last four months due to bandwidth charges exceeding 100 GB.
Dismantling DNS-backed key-value store, k-v.io
- I'm no longer engaged on setting up k-v.io; I thought it'd be cool to have a DNS-backed etcd implementation, but now I don't care anymore.
- There were technical challenges, too: Specifically, updating values did not play well with DNS caching — you'd get the old value after updating.
- If the service became popular, I'd quickly run out of disk space on my tiny cloud VMs.
- The service would most likely be used by people doing data exfiltration via DNS. I already have enough problems with sslip.io scammers — the last thing I want is to sign up for dealing with k-v.io scammers.
What's Changed
- Blocking 6 major website mirrors by @Morty-Feldman in #38
- Blocking 2 websites that attempt to mirror N4G by @Morty-Feldman in #39
- Blocking 6 mirrored websites by @Morty-Feldman in #40
- Blocking 23 more mirror websites by @Morty-Feldman in #41
- Blocking 10 more mirrored domains by @Morty-Feldman in #42
- Blocking 29 mirror websites by @Morty-Feldman in #43
- Blocking 80 more website mirrors by @Morty-Feldman in #44
- Blocking 27 more mirrored domains by @Morty-Feldman in #45
- Blocking 42 mirror websites by @Morty-Feldman in #46
- Blocking 12 mirror websites by @Morty-Feldman in #47
- Blocking 28 mirror websites by @Morty-Feldman in #48
- Blocking 16 mirror sites by @Morty-Feldman in #49
- Blocking 13 mirror sites by @Morty-Feldman in #50
- Blocking 7 mirror sites by @Morty-Feldman in #51
- Blocking 9 mirror sites by @Morty-Feldman in #52
- Remove th-ab.de from blocklist by @thannaske in #53
- Warn developers to not index their sites by @cunnie in #54
- Blocking 3 mirror IP addresses by @Morty-Feldman in #55
- Blocking 24 mirror sites by @Morty-Feldman in #59
- Blocking 53 mirror sites by @Morty-Feldman in #60
- Blocking 45 mirror sites by @Morty-Feldman in #61
- Blocking 11 mirror sites by @Morty-Feldman in #62
- Blocking 12 mirror sites by @Morty-Feldman in #63
- Blocked 23 mirror sites by @Morty-Feldman in #64
- Blocked 12 mirror sites by @Morty-Feldman in #65
- Blocking 13 mirror sites by @Morty-Feldman in #66
- Blocked 12 mirror websites by @Morty-Feldman in #67
- Blocking 9 mirror websites by @Morty-Feldman in #68
- Blocking 16 mirror sites by @Morty-Feldman in #69
- Blocking 17 mirror sites by @Morty-Feldman in #70
- Blocking 13 mirror sites by @Morty-Feldman in #71
- Blocking 17 mirrored websites by @Morty-Feldman in #72
- Blocking 11 mirror sites by @Morty-Feldman in #73
- Blocking 15 mirror sites by @Morty-Feldman in #74
- Blocking 11 website mirrors by @Morty-Feldman in #75
- Blocking 17 mirror sites by @Morty-Feldman in #76
- Blocking 14 mirror websites by @Morty-Feldman in #77
New Contributors
- @Morty-Feldman made their first contribution in #38
- @thannaske made their first contribution in #53
- @cunnie made their first contribution in #54
Full Changelog: 3.1.0...3.2.0
Shorten TTL for publicly-accessible A & AAAA records
If we have IPs that we need to block, I want them to time-out within the hour. TTL: 604800 → 3600 (1 week → 1 hour)
Enable TCP Binding
sslip.io-dns-server
now binds to TCP as well as UDP. Although DNS queries typically pass over UDP, TCP offers better protection against cache-poisoning attacks.
If the server is unable to bind to UDP, it'll exit, but if it's unable to bind to TCP, it'll continue running.
Disable DNS-backed key-value store
- No one was using the DNS-backed key-value store
- The removal of the
etcd
library dropped the executable size by over half from 17MB to 7MB - I didn't want users who've deployed it internally to be "surprised" by unexpected key-value features
- Key-value-over-DNS has a seamy side to it: "data exfiltration". I know there are legitimate uses for it, but I've come to believe that a Key-value-over-HTTP solution is preferable because it's not only more legitimate but also because it eliminates the DNS caching problem.