diff options
author | dvn <git@dvn.me> | 2018-08-01 12:52:33 +0200 |
---|---|---|
committer | dvn <git@dvn.me> | 2018-08-01 12:52:33 +0200 |
commit | 227562cb27929112f543947204336e87da489132 (patch) | |
tree | 6b865afca7e3df4da1d331ea15636432f799ac4c /README.md | |
parent | 5bd70d462b4b50afd729eb234e0c2b6a02388bea (diff) | |
download | gnunet-227562cb27929112f543947204336e87da489132.tar.gz gnunet-227562cb27929112f543947204336e87da489132.zip |
README.md: Create a Markdown README document
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 000000000..85b1103d6 --- /dev/null +++ b/README.md | |||
@@ -0,0 +1,160 @@ | |||
1 | <center><a href="https://gnunet.org"><img src="contrib/branding/logo/gnunet-logo-dark-text.svg" alt="GNUnet"width="200px"/></a></center> | ||
2 | > GNUnet is a *new* network protocol stack for building secure, distributed, and privacy-preserving applications. | ||
3 | |||
4 | * [Install](#how-to-install-gnunet) | ||
5 | * [From Source](#from-source) | ||
6 | * [Using Docker](#docker) | ||
7 | * [Using GNUnet](#using-gnunet) | ||
8 | * [License](#license) | ||
9 | |||
10 | How to Install GNUnet | ||
11 | --------------------- | ||
12 | |||
13 | ### 1. From Source | ||
14 | |||
15 | **Dependencies** | ||
16 | |||
17 | Install these packages. Some of them may need to be installed from source depending on your OS. | ||
18 | |||
19 | ``` | ||
20 | - libmicrohttpd >= 0.9.42 | ||
21 | - libgcrypt >= 1.6 | ||
22 | - libgnurl >= 7.35.0 (recommended, available from https://gnunet.org/gnurl) | ||
23 | - libcurl >= 7.35.0 (alternative to libgnurl) | ||
24 | - libunistring >= 0.9.2 | ||
25 | - gnutls >= 3.2.12 (highly recommended: a gnutls linked against libunbound) | ||
26 | - libidn >= 1.0 | ||
27 | - libextractor >= 0.6.1 (highly recommended) | ||
28 | - openssl >= 1.0 (binary, used to generate X.509 certificate) | ||
29 | - libltdl >= 2.2 (part of GNU libtool) | ||
30 | - sqlite >= 3.8 (default database, required) | ||
31 | - mysql >= 5.1 (alternative to sqlite) | ||
32 | - postgres >= 9.5 (alternative to sqlite) | ||
33 | - Texinfo >= 5.2 [*1] | ||
34 | - which (for the bootstrap script) | ||
35 | - gettext | ||
36 | - zlib | ||
37 | - pkg-config | ||
38 | ``` | ||
39 | |||
40 | |||
41 | You can also install the dependencies with the [GNU Guix package manager:](https://https://www.gnu.org/software/guix/) by using the provided environment file: | ||
42 | |||
43 | ```shell | ||
44 | guix package -l guix-env.scm | ||
45 | ``` | ||
46 | |||
47 | |||
48 | **Using GNU Make** | ||
49 | |||
50 | ```shell | ||
51 | ./bootstrap # Run this to generate the configure files. | ||
52 | ./configure # See the various flags avalable to you. | ||
53 | make | ||
54 | make install | ||
55 | ``` | ||
56 | |||
57 | **Using the [GNU Guix package manager:](https://https://www.gnu.org/software/guix/) ** | ||
58 | |||
59 | ```shell | ||
60 | # To build, run tests, and install: | ||
61 | guix package -f guix-env.scm | ||
62 | |||
63 | # To skip the testing phase: | ||
64 | guix package -f guix-env.scm:notest | ||
65 | ``` | ||
66 | |||
67 | |||
68 | ### 2. Docker | ||
69 | |||
70 | ``` | ||
71 | cd docker | ||
72 | docker build -t gnunet . | ||
73 | ``` | ||
74 | |||
75 | |||
76 | |||
77 | ## Using GNUnet | ||
78 | |||
79 | There are many possible ways to use the subsystems of GNUnet, we will provide a few examples in this section. | ||
80 | |||
81 | |||
82 | <center> <a href="contrib/gnunet-arch-full.svg"><img src="contrib/gnunet-arch-full.svg" alt="GNUnet Modular Architecture" width="400px" border="1px"/></a></center> | ||
83 | |||
84 | >***GNUnet is composed of over 30 modular subsystems*** | ||
85 | |||
86 | |||
87 | |||
88 | ### GNS | ||
89 | |||
90 | *coming soon* | ||
91 | |||
92 | ### Cadet | ||
93 | |||
94 | #### Examples | ||
95 | |||
96 | Open a Cadet connection: | ||
97 | |||
98 | ```shell | ||
99 | # Node 1 | ||
100 | cadet -o <shared secret> | ||
101 | ``` | ||
102 | |||
103 | Conect to peer: | ||
104 | |||
105 | ```shell | ||
106 | # Node 2 | ||
107 | cadet <peer-id of Node 1> <shared secret> | ||
108 | ``` | ||
109 | |||
110 | #### Sharing Files | ||
111 | |||
112 | With the cli tool, you can also share files: | ||
113 | |||
114 | ```shell | ||
115 | # Node 1 | ||
116 | cadet -o <shared secret> > filename | ||
117 | ``` | ||
118 | |||
119 | ```shell | ||
120 | # Node 2 | ||
121 | cadet <peer-id of Node 1> <shared secret> | ||
122 | ``` | ||
123 | |||
124 | |||
125 | VPN | ||
126 | --- | ||
127 | |||
128 | Running a Hostlist Server | ||
129 | -------------------------- | ||
130 | |||
131 | GNUnet Configuration | ||
132 | -------------------------- | ||
133 | ### Examples | ||
134 | |||
135 | ```yaml | ||
136 | [transport] | ||
137 | OPTIONS = -L DEBUG | ||
138 | PLUGINS = tcp | ||
139 | #PLUGINS = udp | ||
140 | |||
141 | [transport-tcp] | ||
142 | OPTIONS = -L DEBUG | ||
143 | BINDTO = 192.168.0.2 | ||
144 | ``` | ||
145 | |||
146 | TODO: *explain what this does and add more* | ||
147 | |||
148 | |||
149 | Philosophy | ||
150 | ------------------------- | ||
151 | |||
152 | |||
153 | Related Projects | ||
154 | ------------------------- | ||
155 | |||
156 | |||
157 | |||
158 | <a href="https://pep.foundation"><img src="https://pep.foundation/static/media/uploads/peplogo.svg" alt="pep.foundation" width="50px"/></a> <a href="https://secushare.org"><img src="https://secushare.org/img/secushare-0444.png" alt="Secushare" width="50px"/></a> | ||
159 | |||
160 | \ No newline at end of file | ||