Thoughts of defense and attack
Sorry for some digression, but it may be important.
We are all well aware of the gloomy trends of recent years in the sphere of "regulating" the Internet. The most amazing thing is that this “intrusion” into the runet happened with a huge delay, and therefore its inconsistency is completely obvious to everyone who is at least a little familiar with reality.
')
At the time of the invasion, the natural self-regulation of the network was already at a very decent level. Even then, the largest and most interesting resources did not allow any dubious content on their pages; even then software content filters for children existed, which could well be used by parents and educational institutions. "Regulate", in fact, it was already nothing. And what remained in this situation?
Normal bullying. Roskomnadzor and others like him resemble a school hooligan-repetitioner in the class of respectable students. Constantly waving a cudgel and threatening someone, this “traffic controller” destroys with such difficulty the created structures designed to make our lives better and more interesting. Instead, it offers so dubious schemes that cause complete disorientation and doubt in the mental abilities of the raging hooligan.
Nevertheless, we missed one important point. This character seems insane, we even laugh at him, but he successfully achieves his goals. How?
Please note that in recent times, many software solutions have begun to seem “incomplete” to us if they do not satisfy certain criteria of privacy and anonymity. This is especially true of communications, instant messengers. But in reality this is nothing but an attempt to hide, to hide, so as not to catch the insolent bully. And in this sense, he fully achieved his goal, since unconditional domination is almost achieved and we hid in fear in our secret “burrows” and shelters.
Privacy and anonymity are important properties of many products that can be used as a kind of “shield” against hooligan actions. These properties can also provide jobs for journalists, trade secrets and many such things. But if we started using these properties of software as the main way to counter legal vandalism, it means that we have already lost. We were frightened by the "bully" and hide in fear from him. The answer to the "bully" should be fundamentally different. And we, experts and technicians, can provide it.
The answer may lie in the development of a publicly accessible way of disseminating information that the “bully” cannot control. In theory, we know that decentralized distributed systems have this property — it is difficult to block what is impossible to “catch” due to the absence of a specific center that defines functionality. This is an attack, but not a defense.
And please note that privacy and anonymity for decentralized systems is not at all a necessary condition. These properties can be completely "screwed" optionally if desired.
ZeroNet instead of DNS
So, we stopped on the need for a decentralized "answer." I can be told that such systems exist, for example, I2P. But this network is frankly redundant for the general public. No one will argue that for solving individual issues and for professional purposes, it is ideal and will always occupy its important niche.
Nevertheless, privacy, anonymity, security, decentralization, isolation from the common Web, presented in one package, make it slow and limited in capabilities. That is why it is unsuitable for mass use. And who will undertake the task of “dragging” everything from a regular web to I2P? You need something simpler and more accessible.
I met ZeroNet
here and
here . For which, taking this opportunity, I express my deep gratitude to the author of these articles. However, the role of an alternative decentralized network ZeroNet is also not yet suitable because of its dampness. Although the project is very interesting and works faster and more reliably than I2P. According to my subjective feelings.
But let's discuss this in what way: what are the most effective ways to block resources now? By IP address and domain name. And these methods work only thanks to the reliance on the centralized nature of the Internet. So maybe you should not immediately try to create this parallel "decentralized Internet"? Maybe for a start it is worth making a decentralized system of inputs to resources? Peculiar "decentralized DNS". And the resources themselves and leave in the usual Web without any changes. This can be an interesting and very effective solution. And ZeroNet is perfect for this!
Practical implementation
And now we come to the moment for which this article was written. First of all, we need to install a ZeroNet client on our computer, which we will do, using the instructions
posted on GitHub .
Suppose that the installation was successful and now you can freely surf on ZeroNet, but this is not the main goal, since we need to create a decentralized entrance to a regular site. In order not to engage in the creation of the theory of the "spherical horse in a vacuum," we take a completely real site for these experiments and try to make the entrance to it decentralized. Normal links to this resource will not be to best meet the conditions of Geektimes on advertising. The ZeroNet links are designed to demonstrate how to work with a real site, up to the registration of a decentralized domain name.
First of all, you should visit the ZeroNet help -
Create new ZeroNet site (creating ZeroNet sites) and create an empty ZeroNet site in accordance with the instructions. The matter is quite simple. It is only important to reliably remember the public and private keys of the site.
$ python zeronet.py siteCreate
, ! :
~/ZeroNet-master/data/1CzZdjvYQKEanwVrqxMp9kZB67zBtSFmdc/
, .
, ZeroNet HTML- index- . ZeroNet. index.html , :
<script> parent.location.href='http://_'; </script>
«» ZeroNet , «» ,
Create new ZeroNet site ( ZeroNet). «» .
$ python zeronet.py siteSign 1CzZdjvYQKEanwVrqxMp9kZB67zBtSFmdc
? . , , ZeroNet. ZeroNet-, ,
http://127.0.0.1:43110/1CzZdjvYQKEanwVrqxMp9kZB67zBtSFmdc/ (! ZeroNet , ).
, , ZeroNet ( ):
ZeroNet , :
http://bit.no.com:43110/1CzZdjvYQKEanwVrqxMp9kZB67zBtSFmdc/, ZeroNet.
. ZeroNet bit-, Namecoin, .
, bit- ? . DNS- bit . ZeroNet bit .
. bit-
Namecoin. , Namecoin — . . 0.02 NMC, $0.01. , NMC — . - , , NMC —
https://www.changer.com.
bit- .
estilibera.bit. «Manage Names» d/estilibera ( ). , . .
— . «Configure Name», «Custom Configuration». JSON, ZeroNet:
{"zeronet": {"": "1CzZdjvYQKEanwVrqxMp9kZB67zBtSFmdc"}}
. — .
http://127.0.0.1:43110/estilibera.bit. ! , , -
http://bit.no.com:43110/estilibera.bit.
. «» bit- ZeroNet
example.bit.
proxy.pac :
function FindProxyForURL(url, host) {
if (dnsDomainIs(host, ".bit")) {
return "PROXY 127.0.0.1:43110";
}
else {
return "DIRECT";
}
}
-. , Firefox : =>=>=>=>=>Url .
ZeroNet
estilibera.bit bit, ZeroNet.
, .
0estilibera.bit
— , ZeroNet. , , . ZeroNet.
<script> location.href='http://_'; </script>
ZeroNet , ZeroNet , «, », . «» ZeroNet.
— . , IP-. , , . IP- ZeroNet (, IP- — , . «» !) . «».
, IPv4 — , «».
- , . -, VPN, Tor . ZeroNet , , . .
, , , ! , ZeroNet , . .
, !, . «» .
ZeroNet , .
1. ZeroNet, — , .
2. ZeroNet «».
, ZeroNet , , , .
ZeroNet -, .
ZeroNet ! , , , , , «» .
, , , — .-. ( !). — «» . , . ?
. IP- «» . , — , , .
. IP- . « », . .
1. « » .
2. «».
, - .
— ZeroNet . ZeroNet, , . - -, , , «» - « » . « » , .
, ? ? - , , ?
, , - . — .
, , «»? (IMHO) , . ? , :
1. ZeroNet.
2. , bit 127.0.0.1:43110.
3. , ZeroNet. , ZeroNet , , - .
ZeroNet+bit deb- Debian Ubuntu «» .
ZeroNet , , . .
ZeroNet
http://127.0.0.1:43110/1PLAYgDQboKojowD3kwdb3CtWmWaokXvfp/. -. . , , , .
-! . , , — . , , .
, — , . .
?