README.md 2.6 KB
Newer Older
vindarel's avatar
vindarel committed
1 2 3
open-nic
========

vince's avatar
vince committed
4
Use OpenNIC DNS right now
vince's avatar
vince committed
5

vindarel's avatar
vindarel committed
6 7
Current status as of 1st nov 13:
- works fine on Debian
vindarel's avatar
vindarel committed
8
- does not work on Mint/Ubuntu (runs as intented but for some reason it has no effect -see below)
vindarel's avatar
vindarel committed
9

vince's avatar
vince committed
10
What is OpenNIC and why should I use it ?
vince's avatar
vince committed
11
=================
vince's avatar
vince committed
12 13 14 15

The OpenNIC project is an alternative DNS provider. Users of the
OpenNIC DNS servers are able to resolve all existing ICANN top-level
domains (TLD) as well as their own.
vince's avatar
vince committed
16 17 18

You should use it if you're concerned about censorship, if you don't
want your internet provider to know every site you visit, if you want
vince's avatar
vince committed
19 20
to support independant projects, and maybe if you want to access
.geek, .indy, .free, .ing… websites, that are only served by OpenNIC.
vince's avatar
vince committed
21 22

http://www.opennicproject.org/
vince's avatar
vince committed
23

vince's avatar
vince committed
24 25 26 27 28 29
https://en.wikipedia.org/wiki/OpenNIC


How to use this script
======================

vince's avatar
vince committed
30 31 32
The scripts depends on the **resolvconf** package (by default in
Mint/Ubuntu) and the **BeautifulSoup4** python library (by default ?).
To install the dependencies:
33 34 35 36

     sudo apt-get install resolvconf
     sudo apt-get install python-pip && sudo pip install BeautifulSoup4

vindarel's avatar
vindarel committed
37
Download the script and call:
38

vince's avatar
vince committed
39
     sudo python opennic-set.py
vince's avatar
vince committed
40

vindarel's avatar
vindarel committed
41 42 43 44
Or run:

    wget https://raw.github.com/vindarel/open-nic/master/opennic-set.py && sudo python opennic-set.py

vince's avatar
vince committed
45 46 47 48
Now you will keep using the same DNS providers for all the usual
websites, but you will also be able to access OpenNIC's TLDs. If you
would like to always use OpenNIC's servers, then you have to copy
`/etc/resolvconf/resolv.conf.d/tail` to `…/head`.
49

vince's avatar
vince committed
50 51
You should now be able to access this website:
http://wiki.opennic.glue/SponsoredTLDs). You can also test with:
52 53 54

     python opennic-set.py --test

vince's avatar
vince committed
55 56 57
What the script does
===========

58
More precisely, the script does the following:
vince's avatar
vince committed
59 60 61 62 63
- it retrieves which are the nearest OpenNIC DNS servers from your
  location thanks to the project's homepage (if their site isn't
  reachable it takes 3 servers by default)
- it adds them to the configuration file used by resolvconf (`/etc/resolvconf/resolv.conf.d/tail`) (a backup is made)
- it runs `resolvconf -u` to update the configuration (you can see changes in `/etc/resolv.conf`)
64
- it tests wether we can access opennic's TLDs.
vince's avatar
vince committed
65

vindarel's avatar
vindarel committed
66 67 68 69 70 71 72 73 74 75 76
Every remark welcomed.

Known issues
============

It runs as expected in Mint/Ubunt but has no effect. The bug is reproductible:
- add the line
nameserver 185.19.105.6 # openNic
at the beginning of `/etc/resolvconf/resolv.conf.d/head`
- execute sudo resolvconf -u
- you *should* be able to access the url given above, but you can't. With Debian it's ok.
vince's avatar
vince committed
77

78 79 80
More info
=========
- on network conf: http://www.linux-france.org/prj/edu/archinet/systeme/ch03s02.html