Browse Source

Help / FAQ page

Sebastian Lohff 2 years ago
parent
commit
a9863ed5c2
6 changed files with 188 additions and 0 deletions
  1. 19
    0
      bin/markdown-to-html
  2. 3
    0
      dnmgmt/urls.py
  3. 22
    0
      static/style.css
  4. 1
    0
      templates/base.html
  5. 128
    0
      templates/help/faq.md
  6. 15
    0
      templates/help/help.html

+ 19
- 0
bin/markdown-to-html View File

@@ -0,0 +1,19 @@
1
+#!/usr/bin/env python3
2
+# -*- coding: utf-8 -*-
3
+
4
+import markdown
5
+from markdown.extensions.toc import TocExtension
6
+
7
+import os
8
+
9
+BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
10
+
11
+files = [
12
+	("templates/help/faq.md", "templates/help/faq.html"),
13
+]
14
+
15
+for srcFile, dstFile in files:
16
+	srcFile = os.path.join(BASE_DIR, srcFile)
17
+	dstFile = os.path.join(BASE_DIR, dstFile)
18
+	markdown.markdownFromFile(open(srcFile, "rb"), open(dstFile, "wb"), extensions=[TocExtension(baselevel=1, permalink=True)])
19
+

+ 3
- 0
dnmgmt/urls.py View File

@@ -15,6 +15,7 @@ Including another URLconf
15 15
 """
16 16
 from django.conf.urls import url, include
17 17
 from django.contrib import admin
18
+from django.views.generic import TemplateView
18 19
 
19 20
 import dncore.urls
20 21
 import dncore.views
@@ -34,4 +35,6 @@ urlpatterns = [
34 35
 	url(r'^rrequests/', include(rrequests.urls, namespace='rrequests')),
35 36
 	url(r'^domains/', include(domains.urls, namespace='domains')),
36 37
 	url(r'^api/', include(api.urls, namespace='api')),
38
+
39
+	url(r'^help/$', TemplateView.as_view(template_name='help/help.html'), name='help'),
37 40
 ]

+ 22
- 0
static/style.css View File

@@ -34,3 +34,25 @@ body {
34 34
 .asteriskField {
35 35
     display: none;
36 36
 }
37
+
38
+.headerlink {
39
+	opacity: 0;
40
+	padding-left: 10px;
41
+	font-size: 0.8em;
42
+	-webkit-transition: opacity 200ms ease-in-out;
43
+	transition: opacity 200ms ease-in-out;
44
+}
45
+
46
+.headerlink:hover {
47
+	opacity: 1;
48
+}
49
+
50
+
51
+h1:hover > a.headerlink,
52
+h2:hover > a.headerlink,
53
+h3:hover > a.headerlink,
54
+h4:hover > a.headerlink,
55
+h5:hover > a.headerlink,
56
+h6:hover > a.headerlink {
57
+	opacity: 1;
58
+}

+ 1
- 0
templates/base.html View File

@@ -58,6 +58,7 @@
58 58
 					<li><a href="{% url "domains:overview" %}">Domains</a></li>
59 59
 				</ul>
60 60
 			</li>
61
+            <li{% if request.resolver_match.url_name == 'help' %} class="active"{%endif%}><a href="{% url "help" %}">Help</a></li>
61 62
           </ul>
62 63
           <ul class="nav navbar-nav navbar-right">
63 64
 {% if user.is_staff %}

+ 128
- 0
templates/help/faq.md View File

@@ -0,0 +1,128 @@
1
+[TOC]
2
+
3
+### Generic
4
+#### What is the purpose of the WHOIS database / interface?
5
+The DarkNet WHOIS database is used to manage number and name resources used within the DarkNet.
6
+This includes AS numbers, IPv4/IPv6 networks and DNS domains. With an account you can manage
7
+your own resources: You can name them, add a description, or perform other actions like change
8
+the origin ASses for an AS number.
9
+
10
+You can also use the interface to look up resources and get more information on them.
11
+
12
+
13
+#### How does the workflow look like with this interface?
14
+*Step 1:* Register an account
15
+
16
+The first thing you need is an account in the WHOIS interface. If you do not already have one, you can register
17
+one.
18
+
19
+*Step 2:* Create a maintainer and a contact
20
+
21
+Resources inside the Darknet are protected by maintainer (MNT) objects. If you have access to a maintainer object
22
+you have access to all objects the maintainer protects.
23
+Contact information for a resource is stored in a contact object.
24
+You need both to manage resources inside the WHOIS database. If you don't have a maintainer and a contact yet
25
+they can be created on the Whois DB overview.
26
+
27
+*Step 3:* Request resources
28
+
29
+Now you have everything to request resources. Write a resource request to get an AS number and an IPv4 network. If
30
+this is your first time use of the WHOIS interface some of your resources have probably already created for you.
31
+You can request transfer of these resources to your maintainer via a resource request.
32
+
33
+*Step 4 (optional):* Create a domain
34
+
35
+If you want to have a domain you can register one via the webinterface. Note that for a domain to work you will need
36
+to setup a DNS server yourself to which it will be delegated.
37
+
38
+If you had a domain before this WHOIS interface you can request it to be transfered to your account either via a
39
+resource request or irc. If you want to register your domain yourself you can also request deletion.
40
+
41
+
42
+
43
+### Whois DB
44
+
45
+#### What is a Maintainer, what is an Admin C?
46
+A Maintainer is an object used for access management. Most objects in the WHOIS database can have one or more maintainers
47
+that guard access to your objects. If you have a maintainer that is referenced inside an objects mnt\_by or mnt\_lower
48
+section you are able to edit or delete the object.
49
+
50
+Objects can have multiple maintainers. Maintainers can be shared amongst multiple users (each user needs to be referenced
51
+in the auth field, this field is only visible to owners of a maintainer).
52
+A user can have multiple maintainers.
53
+
54
+A contact is an object used for contacting an owner of a resource. *Admin C* stands for administrative contact.
55
+
56
+#### Which objects can be created next to ASNumber and InetNum?
57
+
58
+* Contact: Used for contacting the owner of this resource
59
+* Maintainer: Used for access management to other objects
60
+* ASBlock: A range of AS numbers that can be delegated
61
+* ASNumber: Represents one as number inside the darknet. Each ASNumber objects belongs to an ASBlock
62
+* InetNum: An IPv4/IPv6 subnet that can be routed darknet-wide.
63
+
64
+#### What objects can I search for using the WHOIS interface search?
65
+* Handles: At least the first three characters of the handles have to match for an object to be found
66
+* IP addresses: An IP address finds all objects this addres is part of, but only matched to the closest
67
+/24 for IPv4 and /56 for IPv6. This means that searching for 10.100.1.1 will find you 10.100.1.0/24 but not 10.0.0.0/8.
68
+* AS Numbers, e.g. 65000 or as65000. Will also find the smallest containing AS block.
69
+* Domains
70
+
71
+#### Is there a console interface?
72
+Yes, there is a whoisd running on port 43 on the same server as the webinterface. It can be used with the ```whois``` tool or ```netcat```/```telnet```.
73
+
74
+```$ whois -h $host MAIN16-ASB```
75
+
76
+The whoisd and is rfc3912 compatible.
77
+
78
+#### What is the difference between mnt by and mnt lower?
79
+The mnt_by can edit the whole objects, mnt_lower can only edit parts of the object. For an InetNum object
80
+the prefix is not editable by the lower mnt, for ASBlocks this applies to the AS range, for ASNumbers to
81
+the number.
82
+
83
+This is especially useful if you want to delegate resources you control to other users but only want them
84
+to change the name and admin_c of the object, not the actual resource it holds.
85
+
86
+### Domains
87
+#### Which DNS relevant objects exist?
88
+* Domain: A single domain, needs to be unique, looks like *whois.dn.*
89
+* Nameserver: A nameserver. Every domain needs one to work.
90
+* ReverseZone: A delegation for the reverse zone of one of your IP networks.
91
+
92
+#### What do I get my domain to work?
93
+The DarkNet WHOIS interface does not store any records for you, it only delegates the ```NS```,
94
+therefore you need to run your own nameserver. If your nameservers run under the same domain you
95
+are trying to register you will need [glue records](#what-are-glue-records).
96
+
97
+#### Do I need to apply for domains?
98
+No, you don't need to apply for domains. Everyone can create their own domains without approval.
99
+The current policy is first come first serve but might change, depending upon the project.
100
+
101
+If you own a domain that existed prior to this WHOIS database it might have been already created but
102
+you won't have any access to it. Create a resource request to ```DARK1-MNT``` to request transfer to your account.
103
+
104
+#### Does that mean I could mass-spam domains?
105
+Yes.
106
+
107
+#### Does that mean I should mass-spam domains?
108
+No.
109
+
110
+#### What are glue records?
111
+When your nameserver is below its own domain (e.g. ```ns1.noot.dn.``` is under ```noot.dn```) a resolver cannot
112
+now the ```A```/```AAAA``` records of ```ns1.noot.dn.``` without knowing the ```A```/```AAAA``` record of ```ns1.noot.dn.```.
113
+This recursive dependency is solved by using glue records. With glue records you can tell the TLD
114
+nameserver (dn. in this case) where to find your nameserver.
115
+
116
+#### Why can I only enter glue records for domains under my control?
117
+With a glue record you set a record inside the dn. zone (the afore-mentioned glue record) and this is
118
+restricted to the domain owner.
119
+
120
+#### How is reverse zone access managed?
121
+Each ReverseZone object belongs to an InetNum object from which the access rights are inherited. Meaning
122
+whoever controls the InetNum object (mnt-by or mnt-lower) can edit the ReverseZone object.
123
+
124
+### MISC
125
+#### I found a bug.
126
+Nice! Join IRC and report it (or find some other way to contact seba).
127
+
128
+

+ 15
- 0
templates/help/help.html View File

@@ -0,0 +1,15 @@
1
+{% extends "base.html" %}
2
+
3
+{% block content %}
4
+<h1>Help</h1>
5
+<p>
6
+Welcome to the DarkNet WHOIS interface. This interface will help you to get an overview over all
7
+number resources used inside this network. You can manage your resources, search for others and
8
+request new ones.
9
+</p>
10
+
11
+<h2>FAQ</h2>
12
+{% include "help/faq.html" %}
13
+
14
+{% endblock %}
15
+

Loading…
Cancel
Save