Browse Source

2024-02-09-23-30

master
bot 3 months ago
commit
4da412049a
  1. BIN
      HowtoYggWiki480_100.png
  2. BIN
      HowtoYggWikiLong.png
  3. BIN
      HowtoYggWikiLong2.png
  4. BIN
      HowtoYggWikiLong2_64.png
  5. BIN
      HowtoYggWikiLongLarge.png
  6. BIN
      HowtoYggWikiSmall.png
  7. BIN
      apple-touch-icon-128x128.png
  8. BIN
      apple-touch-icon-72x72.png
  9. BIN
      apple-touch-icon-76x76.png
  10. 13
      conf/acronyms.local.conf
  11. 60
      conf/local.php
  12. 12
      conf/plugins.local.php
  13. BIN
      data/media/hm/research_proj.jpeg
  14. BIN
      data/media/hm/ygg01.png
  15. BIN
      data/media/hm/ygg02.png
  16. BIN
      data/media/hm/ygg03.png
  17. BIN
      data/media/hm/ygg04.png
  18. BIN
      data/media/hm/ygg05.png
  19. BIN
      data/media/hm/ygg06.png
  20. BIN
      data/media/hm/ygg07.png
  21. BIN
      data/media/hm/ygg08.png
  22. BIN
      data/media/hm/ygg09.png
  23. BIN
      data/media/hm/ygg10.png
  24. BIN
      data/media/hm/ygg11.png
  25. BIN
      data/media/hm/ygg12.png
  26. BIN
      data/media/hm/ygg13.png
  27. BIN
      data/media/hm/ygg14.png
  28. BIN
      data/media/hm/ygg15.png
  29. BIN
      data/media/hm/ygg15_m.png
  30. BIN
      data/media/hm/ygg16_.png
  31. BIN
      data/media/hm/ygg17_.png
  32. BIN
      data/media/i2p/i2p-over-ygg.jpg
  33. BIN
      data/media/music/technologies/flutomax.jpg
  34. BIN
      data/media/mwork_lit.jpg
  35. BIN
      data/media/pi-hole/dohconfig.png
  36. BIN
      data/media/playground/tmp_shark.png
  37. BIN
      data/media/shadowsocks/andr_v2rayng_ss.png
  38. BIN
      data/media/shadowsocks/ff_proxy_settings.png
  39. BIN
      data/media/shadowsocks/ios_potatso_ss.png
  40. BIN
      data/media/shadowsocks/miracleptr_articles.zip
  41. BIN
      data/media/shadowsocks/vpn2024.mp4
  42. BIN
      data/media/social_media/ilita-irc-web-page.png
  43. BIN
      data/media/social_media/irc1.png
  44. BIN
      data/media/social_media/meshforumbypolnet76.png
  45. BIN
      data/media/syg/sygcpp-2.0-pic1.png
  46. BIN
      data/media/syg/sygcpp-2.0-pic2.png
  47. BIN
      data/media/syg/sygcpp-3.3-pic1.jpg
  48. BIN
      data/media/syg/sygcpp-4.0-help.png
  49. BIN
      data/media/syg/sygcpp-4.0-mesh.png
  50. BIN
      data/media/syg/v2.4.png
  51. BIN
      data/media/syg/ygg_syg_go.png
  52. BIN
      data/media/vps/vps_panel.png
  53. BIN
      data/media/vps/vps_panel2.png
  54. BIN
      data/media/vps/vps_srch_res.png
  55. BIN
      data/media/wiki/dokuwiki-128.png
  56. 586
      data/media/wiki/dokuwiki.svg
  57. BIN
      data/media/wiki/logo.png
  58. BIN
      data/media/win_subnet_add_01.png
  59. BIN
      data/media/ygg_aux_routing.png
  60. BIN
      data/media/yggdrasil/bittorrent/seedbox/orange-pi-pc-plus-1tb-seed-box-side-view.png
  61. BIN
      data/media/yggdrasil/bittorrent/seedbox/orange-pi-pc-plus-1tb-seed-box.png
  62. BIN
      data/media/yggdrasil/dns/alfis_article.pic.png
  63. BIN
      data/media/yggdrasil/dns/alfis_article.pic0.png
  64. BIN
      data/media/yggdrasil/dns/cooldown_alfis.png
  65. BIN
      data/media/yggdrasil/em_w7_tlg.png
  66. BIN
      data/media/yggdrasil/email/deltachat_settings.png
  67. BIN
      data/media/yggdrasil/email/yggmail_tb_acc_settings.png
  68. BIN
      data/media/yggdrasil/email/yggmail_tb_acc_view.png
  69. BIN
      data/media/yggdrasil/half_life_on_xash3d/hl-icon-ipv6.png
  70. BIN
      data/media/yggdrasil/half_life_on_xash3d/hl-icon-yggdrasil.png
  71. BIN
      data/media/yggdrasil/half_life_on_xash3d/hl-ipv6-wall-graffiti.png
  72. BIN
      data/media/yggdrasil/mobile_clients/android1.png
  73. BIN
      data/media/yggdrasil/mobile_clients/android2.jpg
  74. BIN
      data/media/yggdrasil/mobile_clients/android3.jpg
  75. BIN
      data/media/yggdrasil/mobile_clients/android4.jpg
  76. BIN
      data/media/yggdrasil/mobile_clients/android6.jpg
  77. BIN
      data/media/yggdrasil/mobile_clients/ios1.jpg
  78. BIN
      data/media/yggdrasil/mobile_clients/ios2.jpg
  79. BIN
      data/media/yggdrasil/mobile_clients/ios3.jpg
  80. BIN
      data/media/yggdrasil/mobile_clients/ios4.jpg
  81. BIN
      data/media/yggdrasil/mobile_clients/ios5.jpg
  82. BIN
      data/media/yggdrasil/nat464-1.png
  83. BIN
      data/media/yggdrasil/pem.png
  84. BIN
      data/media/yggdrasil/yggdrasil-address-algorithm.png
  85. BIN
      data/media/yggdrasil/yggdrasil_vpn.pdf
  86. 7
      data/pages/archive.txt
  87. 398
      data/pages/archive/yggdrasil/bittorrent/yggtracker/v1.txt
  88. 113
      data/pages/archive/yggdrasil/dns/wyrd.txt
  89. 35
      data/pages/archive/yggdrasil/sites_and_services/search_services/yggo.txt
  90. 5
      data/pages/en/hm/hm.txt
  91. 37
      data/pages/en/hm/not_a_goal.txt
  92. 3
      data/pages/en/hm/wednesday.txt
  93. 89
      data/pages/en/i2p.txt
  94. 1
      data/pages/en/playground/playground.txt
  95. 3
      data/pages/en/sidebar.txt
  96. 32
      data/pages/en/start.txt
  97. 20
      data/pages/en/wiki/article_create.txt
  98. 63
      data/pages/en/wiki/dokuwiki.txt
  99. 24
      data/pages/en/wiki/stats.txt
  100. 526
      data/pages/en/wiki/syntax.txt
  101. Some files were not shown because too many files have changed in this diff Show More

BIN
HowtoYggWiki480_100.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
HowtoYggWikiLong.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

BIN
HowtoYggWikiLong2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
HowtoYggWikiLong2_64.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
HowtoYggWikiLongLarge.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
HowtoYggWikiSmall.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
apple-touch-icon-128x128.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
apple-touch-icon-72x72.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
apple-touch-icon-76x76.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

13
conf/acronyms.local.conf

@ -0,0 +1,13 @@ @@ -0,0 +1,13 @@
# Acronyms.
ЛКМ Левая кнопка мыши
ПКМ Правая кнопка мыши
ПО Программное обеспечение
IP Internet Protocol
VPN Virtual Private Network
TCP Transport Control Protocol
DoH DNS over HTTPS
HTTPS HyperText Transfer Protocol Secure
ОС Операционная система
NAT Network Address Translation
VPS Virtual Private Server
ЛВС Локальная вычислительная сеть

60
conf/local.php

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
<?php
/*
* Dokuwiki's Main Configuration File - Local Settings
* Auto-generated by config plugin
* Run for user: admin
* Date: Sun, 21 Jan 2024 12:20:44 +0300
*/
$conf['title'] = 'HowTo Yggdrasil';
$conf['lang'] = 'ru';
$conf['template'] = 'navigation';
$conf['license'] = '0';
$conf['breadcrumbs'] = 0;
$conf['signature'] = ' --- //[[@NAME@]] @DATE@//';
$conf['showuseras'] = 'username_link';
$conf['maxtoclevel'] = '4';
$conf['maxseclevel'] = '5';
$conf['useheading'] = '1';
$conf['hidepages'] = '^:(sidebar|en:sidebar|user)';
$conf['useacl'] = 1;
$conf['autopasswd'] = 0;
$conf['passcrypt'] = 'smd5';
$conf['superuser'] = '@admin';
$conf['target']['interwiki'] = '_blank';
$conf['target']['extern'] = '_blank';
$conf['fetchsize'] = 5000000;
$conf['mailfrom'] = '36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail';
$conf['mailreturnpath'] = '36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail';
$conf['htmlmail'] = 0;
$conf['dontlog'] = 'debug,deprecated';
$conf['rss_type'] = 'rss2';
$conf['rss_content'] = 'html';
$conf['userewrite'] = '1';
$conf['dnslookups'] = 0;
$conf['plugin']['captcha']['mode'] = 'image';
$conf['plugin']['captcha']['lettercount'] = 7;
$conf['plugin']['discussion']['automatic'] = 1;
$conf['plugin']['discussion']['excluded_ns'] = '/(user$)/';
$conf['plugin']['discussion']['allowguests'] = 0;
$conf['plugin']['discussion']['useavatar'] = 0;
$conf['plugin']['discussion']['wikisyntaxok'] = 0;
$conf['plugin']['discussion']['subscribe'] = 0;
$conf['plugin']['discussion']['threads_formposition'] = 'off';
$conf['plugin']['discussion']['visibilityButton'] = 1;
$conf['plugin']['indexmenu']['page_index'] = 'sidebar';
$conf['plugin']['indexmenu']['skip_index'] = '/(sidebar|en:sidebar|user$)/';
$conf['plugin']['pagelist']['showheader'] = 1;
$conf['plugin']['pagelist']['showuser'] = '2';
$conf['plugin']['preregister']['send_confirm'] = 0;
$conf['plugin']['smtp']['smtp_port'] = 1025;
$conf['plugin']['smtp']['auth_user'] = '36ef9bc3a91ffbcc511b33faa3bb72b31c140f18e3ef143559a0128be440de49@yggmail';
$conf['plugin']['statdisplay']['accesslog'] = '/var/log/nginx/access.log';
$conf['plugin']['translation']['translations'] = 'en';
$conf['plugin']['translation']['skiptrans'] = ':user:*';
$conf['plugin']['translation']['translateui'] = 1;
$conf['plugin']['translation']['checkage'] = 1;
$conf['plugin']['translation']['copytrans'] = 1;
$conf['plugin']['userpagecreate']['target'] = 'user:';
$conf['plugin']['userpagecreate']['template'] = 'user:u_s_e_r_p_a_g_e_t_e_m_p_l_a_t_e';
$conf['plugin']['userpagecreate']['delete'] = 1;

12
conf/plugins.local.php

@ -0,0 +1,12 @@ @@ -0,0 +1,12 @@
<?php
/*
* Local plugin enable/disable settings
* Auto-generated through plugin/extension manager
*
* NOTE: Plugins will not be added to this file unless there is a need to override a default setting. Plugins are
* enabled by default.
*/
$plugins['popularity'] = 0;
$plugins['authldap'] = 0;
$plugins['authpdo'] = 0;
$plugins['authad'] = 0;

BIN
data/media/hm/research_proj.jpeg

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
data/media/hm/ygg01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
data/media/hm/ygg02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
data/media/hm/ygg03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
data/media/hm/ygg04.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
data/media/hm/ygg05.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

BIN
data/media/hm/ygg06.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
data/media/hm/ygg07.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
data/media/hm/ygg08.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
data/media/hm/ygg09.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
data/media/hm/ygg10.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
data/media/hm/ygg11.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
data/media/hm/ygg12.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
data/media/hm/ygg13.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
data/media/hm/ygg14.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
data/media/hm/ygg15.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

BIN
data/media/hm/ygg15_m.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
data/media/hm/ygg16_.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

BIN
data/media/hm/ygg17_.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
data/media/i2p/i2p-over-ygg.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

BIN
data/media/music/technologies/flutomax.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
data/media/mwork_lit.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
data/media/pi-hole/dohconfig.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
data/media/playground/tmp_shark.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
data/media/shadowsocks/andr_v2rayng_ss.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
data/media/shadowsocks/ff_proxy_settings.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
data/media/shadowsocks/ios_potatso_ss.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

BIN
data/media/shadowsocks/miracleptr_articles.zip

Binary file not shown.

BIN
data/media/shadowsocks/vpn2024.mp4

Binary file not shown.

BIN
data/media/social_media/ilita-irc-web-page.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

BIN
data/media/social_media/irc1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
data/media/social_media/meshforumbypolnet76.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
data/media/syg/sygcpp-2.0-pic1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

BIN
data/media/syg/sygcpp-2.0-pic2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
data/media/syg/sygcpp-3.3-pic1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
data/media/syg/sygcpp-4.0-help.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

BIN
data/media/syg/sygcpp-4.0-mesh.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
data/media/syg/v2.4.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
data/media/syg/ygg_syg_go.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

BIN
data/media/vps/vps_panel.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

BIN
data/media/vps/vps_panel2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
data/media/vps/vps_srch_res.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

BIN
data/media/wiki/dokuwiki-128.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

586
data/media/wiki/dokuwiki.svg

@ -0,0 +1,586 @@ @@ -0,0 +1,586 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="128.17094"
height="128.03864"
id="svg2"
sodipodi:version="0.32"
inkscape:version="0.48.1 "
sodipodi:docname="dokuwiki-logo.svg"
version="1.1">
<title
id="title3181">DokuWiki Logo</title>
<defs
id="defs4">
<linearGradient
id="linearGradient2624">
<stop
style="stop-color:#3a9030;stop-opacity:0.83673471;"
offset="0"
id="stop2626" />
<stop
style="stop-color:#3d9c32;stop-opacity:0.79591835;"
offset="1"
id="stop2628" />
</linearGradient>
<linearGradient
id="linearGradient2612">
<stop
style="stop-color:#25901b;stop-opacity:0.83673471;"
offset="0"
id="stop2614" />
<stop
style="stop-color:#25901b;stop-opacity:0.37755102;"
offset="1"
id="stop2616" />
</linearGradient>
<linearGradient
id="linearGradient2600">
<stop
style="stop-color:#e32525;stop-opacity:0.81632656;"
offset="0"
id="stop2602" />
<stop
style="stop-color:#e32525;stop-opacity:0.5714286;"
offset="1"
id="stop2604" />
</linearGradient>
<marker
inkscape:stockid="TriangleOutL"
orient="auto"
refY="0"
refX="0"
id="TriangleOutL"
style="overflow:visible">
<path
id="path2488"
d="m 5.77,0 -8.65,5 0,-10 8.65,5 z"
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
transform="scale(0.8,0.8)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow2Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow2Lstart"
style="overflow:visible">
<path
id="path2571"
style="font-size:12px;fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="matrix(1.1,0,0,1.1,-5.5,0)"
inkscape:connector-curvature="0" />
</marker>
<linearGradient
id="linearGradient2408">
<stop
id="stop2410"
offset="0"
style="stop-color:#000000;stop-opacity:0.17346939;" />
<stop
id="stop2412"
offset="1"
style="stop-color:#c7cec2;stop-opacity:0;" />
</linearGradient>
<linearGradient
id="linearGradient2389">
<stop
style="stop-color:#000000;stop-opacity:0.17346939;"
offset="0"
id="stop2391" />
<stop
style="stop-color:#c7cec2;stop-opacity:0;"
offset="1"
id="stop2393" />
</linearGradient>
<linearGradient
id="linearGradient2370">
<stop
style="stop-color:#fbfaf9;stop-opacity:1;"
offset="0"
id="stop2372" />
<stop
style="stop-color:#e9dac7;stop-opacity:1;"
offset="1"
id="stop2374" />
</linearGradient>
<linearGradient
id="linearGradient2364">
<stop
id="stop2366"
offset="0"
style="stop-color:#fbf6f0;stop-opacity:1;" />
<stop
id="stop2368"
offset="1"
style="stop-color:#e9dac7;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient2348">
<stop
style="stop-color:#fbf6f0;stop-opacity:1;"
offset="0"
id="stop2350" />
<stop
style="stop-color:#e9dac7;stop-opacity:1;"
offset="1"
id="stop2352" />
</linearGradient>
<linearGradient
id="linearGradient2332">
<stop
style="stop-color:#ede1ae;stop-opacity:1;"
offset="0"
id="stop2334" />
<stop
style="stop-color:#fefdfa;stop-opacity:1;"
offset="1"
id="stop2336" />
</linearGradient>
<linearGradient
id="linearGradient2249">
<stop
style="stop-color:#00a423;stop-opacity:1;"
offset="0"
id="stop2251" />
<stop
style="stop-color:#00b427;stop-opacity:1;"
offset="1"
id="stop2253" />
</linearGradient>
<linearGradient
id="linearGradient2229">
<stop
id="stop2231"
offset="0"
style="stop-color:#00b62b;stop-opacity:1;" />
<stop
id="stop2233"
offset="1"
style="stop-color:#a1d784;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient2213">
<stop
style="stop-color:#000000;stop-opacity:1;"
offset="0"
id="stop2215" />
<stop
style="stop-color:#000000;stop-opacity:0;"
offset="1"
id="stop2217" />
</linearGradient>
<linearGradient
id="linearGradient2360">
<stop
style="stop-color:#d69c00;stop-opacity:1;"
offset="0"
id="stop2362" />
<stop
style="stop-color:#ffe658;stop-opacity:1;"
offset="1"
id="stop2364" />
</linearGradient>
<linearGradient
id="linearGradient2352">
<stop
id="stop2354"
offset="0"
style="stop-color:#ce411e;stop-opacity:1;" />
<stop
id="stop2356"
offset="1"
style="stop-color:#ecad8d;stop-opacity:1;" />
</linearGradient>
<linearGradient
id="linearGradient2336">
<stop
style="stop-color:#8f2a15;stop-opacity:1;"
offset="0"
id="stop2338" />
<stop
style="stop-color:#c8381b;stop-opacity:1;"
offset="1"
id="stop2340" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2336"
id="linearGradient2342"
x1="219.21262"
y1="189.01556"
x2="286.22665"
y2="189.01556"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2352"
id="linearGradient2350"
x1="219.66267"
y1="192.73286"
x2="277.8761"
y2="192.73286"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2360"
id="radialGradient2366"
cx="224.41418"
cy="212.80016"
fx="224.41418"
fy="212.80016"
r="8.6813803"
gradientTransform="matrix(1,0,0,0.984179,0,3.366635)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2249"
id="linearGradient2227"
x1="192.03938"
y1="262.25757"
x2="263.67093"
y2="262.25757"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2229"
id="linearGradient2247"
x1="191.75092"
y1="258.91571"
x2="255.6561"
y2="258.91571"
gradientUnits="userSpaceOnUse" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2360"
id="radialGradient2317"
cx="257.41144"
cy="274.64203"
fx="257.41144"
fy="274.64203"
r="7.1440549"
gradientTransform="matrix(1,0,0,1.631384,0,-173.4045)"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2360"
id="linearGradient2325"
x1="184.07063"
y1="246.35907"
x2="201.40646"
y2="246.35907"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2332"
id="linearGradient2346"
x1="162.76369"
y1="184.99277"
x2="240.84924"
y2="289.50323"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2348"
id="linearGradient2354"
x1="140.15784"
y1="303.78967"
x2="136.14151"
y2="195.87151"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2370"
id="linearGradient2362"
x1="286.15598"
y1="262.28729"
x2="185.81258"
y2="172.32423"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2389"
id="linearGradient2395"
x1="213.96568"
y1="220.07191"
x2="244.79126"
y2="265.40363"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2408"
id="linearGradient2406"
x1="184.30582"
y1="241.52789"
x2="224.67441"
y2="307.52844"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2600"
id="linearGradient2606"
x1="202.41772"
y1="222.05145"
x2="206.06017"
y2="210.3558"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2612"
id="linearGradient2618"
x1="248.62152"
y1="234.52202"
x2="251.64362"
y2="213.12164"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2624"
id="linearGradient2630"
x1="275.71765"
y1="251.56442"
x2="255.68353"
y2="217.94008"
gradientUnits="userSpaceOnUse" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2352"
id="linearGradient2640"
gradientUnits="userSpaceOnUse"
x1="219.66267"
y1="192.73286"
x2="277.8761"
y2="192.73286" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient2336"
id="linearGradient2643"
gradientUnits="userSpaceOnUse"
x1="219.21262"
y1="189.01556"
x2="286.22665"
y2="189.01556" />
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient2360"
id="radialGradient2647"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1,0,0,0.984179,0,3.366635)"
cx="224.41418"
cy="212.80016"
fx="224.41418"
fy="212.80016"
r="8.6813803" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="2.03"
inkscape:cx="35.144424"
inkscape:cy="83.160427"
inkscape:document-units="px"
inkscape:current-layer="layer3"
inkscape:window-width="1366"
inkscape:window-height="716"
inkscape:window-x="-8"
inkscape:window-y="-8"
showguides="true"
inkscape:guide-bbox="true"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-maximized="1"
inkscape:showpageshadow="false"
showborder="true"
borderlayer="false" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title>DokuWiki Logo</dc:title>
<dc:creator>
<cc:Agent>
<dc:title>Esther Brunner</dc:title>
</cc:Agent>
</dc:creator>
<cc:license
rdf:resource="http://www.gnu.org/licenses/gpl-2.0.html" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:groupmode="layer"
id="layer3"
inkscape:label="paper"
style="display:inline"
transform="translate(-158.10602,-158.67323)">
<g
id="g1419"
transform="matrix(0.99993322,0,0,0.9959778,0.01483419,0.8957919)">
<g
id="g2376">
<path
transform="matrix(0.989976,-0.141236,0.201069,0.979577,0,0)"
style="fill:url(#linearGradient2354);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.7216621px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 120.21543,196.43769 70.90655,-0.79226 -2.40261,109.05308 -71.71761,0.37344 3.21367,-108.63426 z"
id="rect1422"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2362);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 179.20033,182.08731 79.84173,-19.51687 26.61391,101.72428 -82.50312,21.58684 -23.95252,-103.79425 z"
id="rect1425"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
transform="matrix(0.995676,-0.09289891,0.08102261,0.996712,0,0)"
style="fill:url(#linearGradient2346);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00418305px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 159.01353,181.74387 85.58587,0.53396 0,110.47429 -84.53387,-2.5127 -1.052,-108.49555 z"
id="rect1419"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
</g>
<path
id="text2382"
d="m 167.55116,214.00773 0,-20.1846 5.34962,0 0,2.37403 -2.48145,0 0,15.43654 2.48145,0 0,2.37403 -5.34962,0 m 7.34767,0 0,-20.1846 5.34961,0 0,2.37403 -2.48144,0 0,15.43654 2.48144,0 0,2.37403 -5.34961,0 m 7.36915,-20.1846 5.81153,0 c 1.31054,2e-5 2.30956,0.10028 2.99707,0.30078 0.92382,0.27216 1.71516,0.75555 2.37403,1.4502 0.65884,0.69468 1.16014,1.54689 1.50391,2.55664 0.34373,1.00262 0.51561,2.24155 0.51562,3.71681 -10e-6,1.29623 -0.16115,2.41342 -0.4834,3.35156 -0.39389,1.14584 -0.95607,2.07325 -1.68652,2.78223 -0.55145,0.53711 -1.29624,0.95606 -2.23438,1.25684 -0.70183,0.222 -1.63999,0.33301 -2.81446,0.33301 l -5.9834,0 0,-15.74807 m 3.17969,2.66407 0,10.43067 2.37402,0 c 0.88802,1e-5 1.52897,-0.0501 1.92286,-0.15039 0.51561,-0.1289 0.94172,-0.34732 1.27832,-0.65527 0.34374,-0.30794 0.62304,-0.81282 0.83789,-1.51465 0.21483,-0.70898 0.32226,-1.6722 0.32227,-2.88965 -1e-5,-1.21744 -0.10744,-2.15201 -0.32227,-2.80372 -0.21485,-0.65168 -0.51563,-1.16014 -0.90234,-1.52539 -0.38673,-0.36522 -0.87729,-0.61229 -1.47168,-0.74121 -0.44402,-0.10025 -1.31414,-0.15038 -2.61036,-0.15039 l -1.42871,0 m 14.96388,13.084 -3.75977,-15.74807 3.25489,0 2.37403,10.8174 2.87891,-10.8174 3.78125,0 2.76074,11.00002 2.417,-11.00002 3.20118,0 -3.82423,15.74807 -3.37305,0 -3.13672,-11.77345 -3.12598,11.77345 -3.44825,0 m 22.76272,-15.74807 0,20.1846 -5.34961,0 0,-2.37403 2.48145,0 0,-15.45803 -2.48145,0 0,-2.35254 5.34961,0 m 7.34767,0 0,20.1846 -5.34962,0 0,-2.37403 2.48145,0 0,-15.45803 -2.48145,0 0,-2.35254 5.34962,0"
style="font-size:12.0000124px;font-style:normal;font-weight:normal;line-height:125%;fill:#6184a3;fill-opacity:1;stroke:none;display:inline;font-family:Bitstream Vera Sans"
transform="matrix(0.995433,-0.09546066,0.09546066,0.995433,0,0)"
inkscape:connector-curvature="0" />
<g
id="g2632"
style="display:inline">
<path
style="fill:url(#linearGradient2606);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;marker-end:none"
d="m 174.75585,201.60224 c -6.04576,2.46667 -10.16789,4.4194 -12.88454,6.35064 -2.71665,1.93124 -3.19257,4.60007 -3.24631,6.26587 -0.0269,0.8329 0.0809,1.77774 0.63189,2.44014 0.55103,0.6624 1.80769,1.87421 2.75794,2.38558 1.90049,1.02274 7.5417,2.42901 10.51899,3.07308 11.90917,2.57627 26.80568,1.68117 26.80568,1.68117 1.69307,1.2452 2.83283,2.82434 3.269,4.26902 4.5766,-1.88674 11.81084,-6.58439 13.15657,-8.57706 -5.45142,-4.19955 -10.79692,-6.33346 -16.51317,-8.30847 -1.59867,-0.71918 -2.87956,-1.22649 -0.71773,2.55635 0.98506,2.47275 0.85786,5.05143 0.57176,7.41825 0,0 -16.52749,0.40678 -28.23838,-2.1266 -2.92772,-0.63334 -5.46627,-0.95523 -7.21875,-1.89832 -0.87624,-0.47154 -1.48296,-0.8208 -1.91578,-1.3411 -0.43282,-0.5203 -0.2196,-1.29055 -0.20128,-1.85858 0.0366,-1.13607 0.25336,-1.67063 2.86177,-3.52492 2.60841,-1.85429 5.65407,-3.36195 11.65936,-5.81211 -0.0877,-1.29125 -0.29025,-2.5059 -1.29702,-2.99294 z"
id="path2414"
sodipodi:nodetypes="csssssccccccssssscc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2618);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 269.62539,220.7482 c -1.43576,-0.13963 -2.58044,0.30288 -2.56084,1.50218 0.94391,0.85652 1.34942,2.43518 1.48562,3.14008 0.1362,0.7049 0.0359,1.21914 -0.48562,1.89004 -1.043,1.3418 -3.12498,1.56875 -6.5006,2.72063 -6.75124,2.30377 -16.89306,2.52561 -27.90689,3.84639 -22.02767,2.64157 -39.03164,3.76107 -39.03164,3.76107 1.98346,-4.64758 6.32828,-4.41197 6.34903,-8.20969 0.27376,-0.89755 -3.14597,-1.31638 -5.09943,-0.10731 -4.26694,3.70137 -7.59152,6.75353 -10.69418,10.51311 l 1.88795,3.08438 c 0,0 26.13006,-2.88973 48.19776,-5.5361 11.03385,-1.32318 20.95601,-1.99856 27.80968,-4.33728 3.42683,-1.16936 5.95975,-1.49022 7.6409,-3.51958 0.63172,-0.76256 1.35238,-3.04699 1.06804,-4.73369 -0.21951,-1.30213 -1.14979,-3.09774 -2.15978,-4.01423 z"
id="path2608"
sodipodi:nodetypes="ccsssscccccssssc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2630);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 254.36185,220.33948 c -6.84997,3.24198 -7.15311,8.60912 -5.95953,12.79884 1.19358,4.18972 5.26293,8.75677 9.32121,12.40608 8.11656,7.29861 12.06046,9.33163 12.06046,9.33163 -3.71515,-0.10342 -7.89887,-1.41174 -8.13315,0.49304 -0.9483,2.97582 11.49137,3.47486 17.43787,2.70205 -1.39456,-7.57836 -3.79323,-13.21546 -7.73151,-14.90312 -1.68464,-0.14804 0.31242,4.72441 0.76985,9.39604 0,0 -3.62454,-1.73122 -11.60519,-8.90762 -3.99032,-3.5882 -7.37386,-7.3421 -8.47319,-11.20099 -1.09933,-3.85889 0.0776,-6.1205 4.95082,-9.53176 0.92816,-0.99528 -1.28985,-2.45913 -2.63764,-2.58419 z"
id="path2620"
sodipodi:nodetypes="csscccccsscc"
inkscape:connector-curvature="0" />
</g>
<path
sodipodi:nodetypes="cccccc"
id="rect2386"
d="m 213.96569,234.57806 2.18756,-14.42897 15.21982,6.08793 21.49387,29.94828 -20.40591,9.21832 -18.49534,-30.82556 z"
style="fill:url(#linearGradient2395);fill-opacity:1;stroke:none;display:inline"
inkscape:connector-curvature="0" />
<g
id="g2649"
style="display:inline">
<path
style="fill:url(#radialGradient2647);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="m 232.55816,219.5295 -15.92827,0.32199 3.08809,-15.15716 12.84018,14.83517 z"
id="path1443"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0" />
<path
style="fill:#812310;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 221.60041,219.29315 -4.41205,0.0782 0.85429,-3.98263 3.55776,3.90445 z"
id="path1452"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2643);fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1"
d="m 269.44172,159.27421 0.098,8.91471 8.0581,8.72344 7.75906,0.7992 -52.80669,41.84092 -6.66532,-3.30696 -5.08243,-5.618 -1.08987,-5.91194 49.72911,-45.44137 z"
id="rect1437"
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2640);fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 268.94766,168.32844 8.3426,8.82719 -51.1007,38.68262 -4.9197,-5.4436 47.6778,-42.06621 z"
id="rect1446"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="fill:#ffe965;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:1;display:inline"
d="m 285.33776,177.73216 -8.16219,-0.86619 -7.7518,-8.67862 0.0132,-9.14293 8.36213,0.75209 7.18862,9.57682 0.35007,8.35883 z"
id="path1440"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0" />
<path
style="fill:#cb391c;fill-opacity:1;fill-rule:evenodd;stroke:none"
d="m 280.72049,168.46367 0.1644,4.05654 -3.81335,-0.71676 -2.87504,-3.18901 -0.28089,-3.53393 3.85447,-0.16637 2.95041,3.54953 z"
id="path1449"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0" />
</g>
<g
id="g2657"
style="display:inline">
<path
style="fill:url(#linearGradient2406);fill-opacity:1;stroke:none"
d="m 183.88617,256.82796 0.99991,-16.30721 17.2878,8.44012 26.05488,38.00946 -29.28095,-1.13363 -15.06164,-29.00874 z"
id="rect2397"
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2325);fill-opacity:1;stroke:#000000;stroke-linejoin:round;stroke-opacity:1;display:inline"
d="m 200.90647,238.44836 -8.04601,15.77386 -7.05577,-13.57337 15.10178,-2.20049 z"
id="rect2207"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2227);fill-opacity:1;stroke:#000000;stroke-linejoin:round;stroke-opacity:1"
d="m 201.05389,238.55401 62.11704,24.91912 -7.88689,3.21429 -4.35152,9.30976 1.1716,9.96396 -59.31453,-31.72759 -0.49402,-7.36382 3.09592,-5.82826 5.6624,-2.48746 z"
id="rect1328"
sodipodi:nodetypes="ccccccccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#radialGradient2317);fill-opacity:1;stroke:#000000;stroke-linejoin:round;stroke-opacity:1;display:inline"
d="m 255.27801,266.53504 7.9241,-3.04772 0.85337,10.24037 -3.9011,8.28983 -8.04601,3.77919 -1.341,-9.63083 4.51064,-9.63084 z"
id="rect2204"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0" />
<path
style="fill:url(#linearGradient2247);fill-opacity:1;stroke:none;display:inline"
d="m 195.7549,241.421 59.13059,24.7962 -4.5917,9.76614 -57.48995,-29.00967 2.95106,-5.55267 z"
id="rect2210"
sodipodi:nodetypes="ccccc"
inkscape:connector-curvature="0" />
<path
style="fill:#00b527;fill-opacity:1;stroke:none"
d="m 255.02263,275.21029 2.08411,-4.1069 2.96459,-1.06995 0.69433,3.37197 -1.76759,3.85723 -3.15516,1.38315 -0.82028,-3.4355 z"
id="rect2308"
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0" />
<path
style="fill:#258209;fill-opacity:1;stroke:none;display:inline"
d="m 186.56849,241.00362 3.54963,-0.47312 -2.02297,3.53926 -1.52666,-3.06614 z"
id="rect2327"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

BIN
data/media/wiki/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
data/media/win_subnet_add_01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
data/media/ygg_aux_routing.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

BIN
data/media/yggdrasil/bittorrent/seedbox/orange-pi-pc-plus-1tb-seed-box-side-view.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 906 KiB

BIN
data/media/yggdrasil/bittorrent/seedbox/orange-pi-pc-plus-1tb-seed-box.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
data/media/yggdrasil/dns/alfis_article.pic.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
data/media/yggdrasil/dns/alfis_article.pic0.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
data/media/yggdrasil/dns/cooldown_alfis.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
data/media/yggdrasil/em_w7_tlg.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
data/media/yggdrasil/email/deltachat_settings.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

BIN
data/media/yggdrasil/email/yggmail_tb_acc_settings.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

BIN
data/media/yggdrasil/email/yggmail_tb_acc_view.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

BIN
data/media/yggdrasil/half_life_on_xash3d/hl-icon-ipv6.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
data/media/yggdrasil/half_life_on_xash3d/hl-icon-yggdrasil.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
data/media/yggdrasil/half_life_on_xash3d/hl-ipv6-wall-graffiti.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 KiB

BIN
data/media/yggdrasil/mobile_clients/android1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

BIN
data/media/yggdrasil/mobile_clients/android2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

BIN
data/media/yggdrasil/mobile_clients/android3.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
data/media/yggdrasil/mobile_clients/android4.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
data/media/yggdrasil/mobile_clients/android6.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

BIN
data/media/yggdrasil/mobile_clients/ios1.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

BIN
data/media/yggdrasil/mobile_clients/ios2.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
data/media/yggdrasil/mobile_clients/ios3.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
data/media/yggdrasil/mobile_clients/ios4.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 578 KiB

BIN
data/media/yggdrasil/mobile_clients/ios5.jpg

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

BIN
data/media/yggdrasil/nat464-1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
data/media/yggdrasil/pem.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
data/media/yggdrasil/yggdrasil-address-algorithm.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

BIN
data/media/yggdrasil/yggdrasil_vpn.pdf

Binary file not shown.

7
data/pages/archive.txt

@ -0,0 +1,7 @@ @@ -0,0 +1,7 @@
====== Архив ======
Устаревшие и потерявшие актуальность статьи.
===== Статьи внутри раздела =====
{{indexmenu>:archive}}

398
data/pages/archive/yggdrasil/bittorrent/yggtracker/v1.txt

@ -0,0 +1,398 @@ @@ -0,0 +1,398 @@
====== YGGtracker v1 ======
<WRAP center round info 60%>
В материале рассмотрена устаревшая версия проекта. \\
Для получения актуальной информации, обратитесь в индексный раздел [[yggdrasil:bittorrent:yggtracker|YGGtracker]]
</WRAP>
Проект c [[https://github.com/YGGverse/YGGtracker|открытым исходным кодом]] для организации децентрализованного веб-реестра BitTorrent для сети Yggdrasil.
Серверная часть реализована на базе MySQL, SphinxQL и PHP 8, интерфейс - средствами HTML/CSS, без использования JavaScript, поэтому функционально совместим с браузерами, где эта функция отключена.
===== Базовые функции =====
Помимо каталога и поиска, на данный момент реализованы социальные функции: комментирование, лайки, просмотры а также информация об активных раздачах.
Также, движок поддерживает фиды RSS, Sitemap и JSON API.
В ближайшее время, планируется добавить такие функции, как лента активности, загрузка и обмен файлами, форки раздач и т.д.
Предусмотрена но не реализована в полной степени возможность локализации посредством Crodwin, Transifex и других площадок коллективных переводов.
Подробнее о ходе разработки и ожидаемых функциях, можно ознакомиться в разделе README проекта.
===== Аутентификация =====
YGGtracker использует внутрисетевой адрес для идентификации пользователя без привычной регистрации с указанием логина, пароля или email.
Также для входа не требуется наличие сторонних централизованных серверов аутентификации. Подлинность пользователя при авторизации гарантируется соответствием уникального адреса IPv6, подписанного локально приватным ключом Yggdrasil в диапазоне 0200::/7.
На данный момент, сервер YGGtracker использует для авторизации адрес удаленного узла (REMOTE_ADDRESS) и не предусматривает авторизацию посредством общих прокси-серверов, в том числе заголовков X-FORWARDED-FOR в виду возможности фальсификации.
Поэтому используя совместные ресурсы, такие как бесплатные прокси сервера и VPN, пользователь должен учитывать факт возможности утери доступа к аккаунту или наличия сторонней активности от его имени.
В перспективе, возможна разработка опции дополнительного ключа идентификации, позволяющего идентифицировать отдельного пользователя в рамках общеиспользуемого IP.
===== Виды учетных записей =====
YGGtracker является средой для работы с распределенным реестром данных, на момент написания статьи, поддерживаются два вида учетных записей - Distributed (распределенный) и Local (локальный).
При первом входе, пользователь указывает тип профиля и способ обработки его персональных данных.
При выборе типа профиля Local, активность и адрес пользователя остаются приватными и в рамках текущего узла.
В режиме Distributed - активность и адрес пользователя будут доступны независимым узлам YGGtracker посредством JSON API, что позволяет работать с контентом на любом из серверов YGGtracker, в случае отключения одного их них.
На момент написания статьи, смены типа учетной записи не предусмотрено, но возможно будет добавлено в ближайшее время, в рамках настроек профиля.
===== Децентрализация =====
Данные в интернете представляют собой общественное достояние, создание которого требует усилий и времени.
Централизованные решения чувствительны к цензуре и зависимы от администрации, с ростом популярности нередко злоупотребляющей рекламой или вовсе передающей проекты в руки третьих лиц, в частности компаний, редко заинтересованных в первичной цели проекта.
Проект YGGtracker призван сделать BitTorrent раздачи доступными, а реестр каталога - устойчивым к отключениям и зависимости от определенной команды.
В симбиозе с Yggdrasil, может быть легко организован любым желающим, как при наличии VPS, так и в рамках домашнего сервера, например [[yggdrasil:bittorrent:seedbox|сидбокса]], не требуя при этом наличия выделенного IP или открытого 80/443 порта.
База данных при этом, может быть мгновенно загружена с других узлов или создана с нуля для локальных потребностей.
Децентрализация данных YGGtracker совмещает использование следующих форматов взаимодействия:
==== Активный режим ====
Активный режим используется для мгновенной синхронизации активности пользователя между другими узлами.
Для этого, при выполнении определенного действия, например создания пользователем (с уровнем Distributed) раздачи, комментария и т.д., сервер YGGtracker отправляет другим узлам мета-данные события.
Поскольку интерфейс не подразумевает работу с JavaScript, в частности асинхронными функциями,
такие события сохраняются в оперативной памяти сервера посредством Memcached и рассылаются другим узлам в течении минуты по расписанию crontab.
Сделано это для того, чтобы пользователь ресурса не ощущал здержек при отсутствии подключения к другим узлам YGGtracker, в случае их временного отсутствия в сети.
==== Пассивный режим ====
Пассивный режим представляет собой обмен данными посредством фидов штатного API.
Данный формат взаимодействия использует расписание crontab для создания локального и сбора удалённых фидов, оглашенных посредством манифеста отдельно взятого узла.
Использование такого подхода во многом востребовано, поскольку позволяет актуализировать данные в случае, когда один из узлов был временно недоступен при синхронизации в активном режиме.
Для идентификации данных, используется пара IPv6 пользователя и географически независимая метка времени (unixtime) контента.
Первичные ключи (идентификаторы) экспортируются отдающими, но не импортируются принимающими узлами и необходимы только для оптимизации памяти, при локальном построении реестров связей.
На данный момент, протокол поддерживает следующие фиды:
* /api/manifest.json - в этом файле указаны основные настройки узла, такие как версия API, пути к фидам, сводки данных, настройки модерации, условия контента, а также перечень других узлов; принимающий узел использует этот файл для анализа и фильтрации данных.
* /api/users.json - реестр пользователей*
* /api/magnets.json - реестр раздач*
* /api/downloads.json - реестр истории загрузок*
* /api/comments.json - реестр комментариев*
* /api/stars.json - реестр наборы избранных*
* /api/views.json - реестр истории просмотров*
* от пользователей в группе Distributed
Фиды генерируются по расписанию в статичные дампы, поэтому обращение к ним не оказывает нагрузки на раздающий сервер.
Интервал импорта и экспорта обновлений зависит от отдельно взятого узла, как правило, в зависимости от активности сети.
Время последнего обновления также указывается в поле updated файла manifest.json
===== Установка =====
==== Системные требования ====
Для организации узла YGGtracker потребуется наличие программных пакетов Sphinx, Memcached, Crontab, Nginx / Apache, MySQL и PHP.
При наличии данного ПО, наличие root или VPS не обязательно.
Сервер YGGtracker не взаимодействует с сервисом Yggdrasil напрямую, но в оригинальной реализации, должен работать на узле, принимающем подключения с диапазона 0200::/7 локально или посредством прокси-шлюза.
Требования к процессору и оперативной памяти, во многом зависят от количества посетителей и объема данных, в частности, в режиме распределенного узла - размеров JSON фидов.
В случае локального каталога, требования к серверу не больше чем, к обычному веб сайту.
==== MySQL ====
Устанавливаем сервер из репозитория:
<code>
apt install mysql-server
</code>
Выполняем предварительную настройку безопасности утилитой:
<code>
mysql_secure_installation
</code>
Добавляем базу данных, пользователя, указываем пароль и уровень доступа:
<code>
mysql -u root -p
mysql > CREATE DATABASE IF NOT EXISTS yggtracker;
mysql > CREATE USER 'yggtracker'@'localhost' IDENTIFIED BY 'YGGTRACKER_PASSWORD';
mysql > GRANT SELECT, INSERT, UPDATE, DELETE on *.* TO 'yggtracker'@'localhost' WITH GRANT OPTION;
mysql > FLUSH PRIVILEGES;
mysql > quit;
</code>
Теперь можно приступить к импорту структуры базы данных.
Проект и структура данных, расположены в файле /database/yggtracker.mwb.
Открыть данный формат можно официальным клиентом [[https://www.mysql.com/products/workbench/|MySQL Workbench]].
Для импорта структуры, удобно использовать подключение по SSH, с помощью утилиты Database - Synchronize Model.
* при подключении посредством адреса IPv6, может быть ошибка на этапе верификации хоста, обойти её можно добавив вместо IP - виртуального хоста в файл /etc/hosts или использовать IPv4.
==== Sphinx ====
[[https://sphinxsearch.com/|Sphinx]] - поисковый сервер с открытым исходным кодом, поддерживающий широкий спектр настроек, включая морфологию, словоформы,
а также имеет встроенные алгоритмы релевантности, включая удобную выборку посредством языка SphinxQL.
Помимо прочего, Sphinx ориентирован на быстродействие, в виду хранения поисковых индексов в оперативной памяти.
Установка, как и в случае других пакетов, доступна из штатных репозиториев большинства дистрибутивов (включая ARM платформы):
<code>
apt install sphinxsearch
</code>
Далее, необходимо отредактировать файл конфигурации.
Базовый пример также доступен /example/environment/sphinx.conf
<code>
nano /etc/sphinxsearch/sphinx.conf
</code>
Используя пример из официального репозитория, указываем только актуальные параметры подключения к БД, остальные настройки можно оставить по-умолчанию.
Сохраняем файл и запускаем сервис:
<code>
searchd
</code>
* иногда, запуск сервиса завершается ошибкой "FATAL: failed to create pid file '/run/sphinxsearch/searchd.pid': No such file or directory". Чтобы это исправить, необходимо вручную создать директорию:
<code>
mkdir /run/sphinxsearch
</code>
Теперь можно проверить работу индексатора, выполнив команду:
<code>
indexer --all --rotate
</code>
Для штатной работы YGGtracker, также указываем обновление индексов по расписанию crontab:
<code>
@reboot searchd
@reboot indexer --all --rotate
* * * * * indexer magnet --rotate
</code>
* в перспективе, планируется использование дельта-индексов, но в виду текущего объема данных в сети, в качестве временной меры, индекс обновляется ежеминутно.
** если сервер Sphinx не запускается при перезагрузке системы, можно добавить в crontab перед командой searchd - конструкцию sleep или использовать
<code>
systemctl enable sphinxsearch.service
</code>
==== Веб-сервер ====
=== Nginx ===
Настройка веб-сервера может отличаться, в зависимости от потребностей.
В данном примере, Nginx используется для веб-сервисов в сети Yggdrasil, расположенных в поддиректориях.
В частности, для YGGtracker будет использоваться адрес вида http://[IP]/yggtracker
Устанавливаем зависимости:
<code>
apt install nginx memcached php-fpm php-memcached php-mysql php-pdo php-curl
</code>
Поскольку работа с DNS не подразумевается, редактируем стандартный файл настроек, предварительно создав его резервную копию:
<code>
cp /etc/nginx/sites-available/default /etc/nginx/sites-available/default.bak
nano /etc/nginx/sites-available/default
</code>
Актуальный пример содержимого также доступен в файле /example/environment/nginx
Ниже приведен пример текущей версии, с комментариями:
<code>
server {
# Слушаем подключения только с IPv6, на 80 порту
listen [::]:80 default;
# Разрешаем доступ к ресурсу только в сети Yggdrasil
allow 0200::/7;
deny all;
# Оставляем по-умолчанию
root /var/www/html;
# Добавим поддержку файлов PHP
index index.html index.htm index.nginx-debian.html index.php;
# Название хоста и DNS в примере не используется
server_name _;
# Обработка ошибок 404
location / {
try_files $uri $uri/ =404;
}
# Подключаем сокет PHP актуальной версии
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# Версию PHP можно узнать командой php -v
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
# Запрещаем доступ к случайно загруженным на хост скрытым файлам вроде .vscode, .git и тд, не смотря на то, что они находятся уровнем выше
location ~ /\. {
deny all;
}
}
</code>
Сохраняем и тестируем конфигурацию:
<code>
nginx -t
</code>
Перезапускаем сервер nginx:
<code>
service nginx restart
</code>
* на работающем сервере, перезапуск веб-сервера нежелателен, поэтому при внесении правок в конфигурацию, достаточно выполнить:
<code>
service nginx reload
</code>
Веб-сервер готов к работе.
При этом, в корне веб-сервера, будет отображено стандартное приветствие nginx.
Этот путь можно использовать для основного приветствия, домашней странички или использовать 302 редирект на директорию /yggtracker.
==== YGGtracker ====
Установка из репозитория на GitHub включает межверсионные обновления и рекомендуется только для разработчиков.
Для установки стабильного релиза, используется пакетный менеджер [[https://getcomposer.org/|Composer]]
<code>
apt install composer
</code>
Устанавливаем первую версию YGGtracker:
<code>
composer create-project yggverse/yggtracker=1.0.0
</code>
При использовании примера [[archive:yggdrasil:bittorrent:yggtracker:v1#nginx|конфигурации сервера Nginx]], установить проект в целевую директорию можно командой:
<code>
composer create-project yggverse/yggtracker /var/www/YGGverse/YGGtracker
</code>
Настраиваем доступы для веб-сервера:
<code>
chown -R www-data:www-data /var/www/YGGverse/YGGtracker
chmod -R 0770 /var/www/YGGverse/YGGtracker
</code>
При удаленной работе с файлами, удобно добавить пользователя в группу www-data
<code>
usermod -a -G www-data $USER
</code>
В целях безопасности, файлы приложения расположены уровнем выше публичной директории.
На текущем примере конфигурации, для доступа из сети, создадим ссылки:
<code>
ln -s /var/www/YGGverse/YGGtracker/src/public /var/www/html/yggtracker
</code>
При первом обращении к сайту, автоматически будут созданы файлы среды окружения (src/config/.env и src/config/env.default.php).
Актуальная структура файла конфигурации, доступна в файле example/environment/env.example.php
Редактируем, указывая подключение к серверам MySQL, Sphinx, memcached а также локальные настройки узла, например лимиты и правила ресурса.
В частности, обращаем внимание на следующие константы:
<code>
// Подключение к серверу MySQL
define('DB_PORT', 3306);
define('DB_HOST', 'localhost');
define('DB_NAME', '');
define('DB_USERNAME', '');
define('DB_PASSWORD', '');
// Добавляем модераторов, используя IPv6 в диапазоне 0200::/7
define('MODERATOR_IP_LIST', (array)
[
'127.0.0.1',
// ...
]
);
// Если не хотим работать в децентрализованном формате - указываем false
define('API_ENABLED', true);
</code>
Остальные настройки можно оставить по-умолчанию или изменить под свои требования.
В режиме распределённого узла, при обмене данными, производится сверка совместимости условий манифеста.
Поэтому при несоответствии настроек, контент частично или полностью может быть проигнорирован, например, если длина заголовков вне диапазона принимающей стороны.
Для максимальной совместимости, лучше использовать стандартный набор правил или предложить настройки другим участникам сети, посредством отправки PR.
Подробности взаимодействия узлов и тонкая настройка API, будет рассмотрена в отдельном разделе.
В ближайшее время планируется добавление поддержки мета-тегов, с помощью которых, можно интегрировать импорт и экспорт тематических данных, например для книжных, музыкальных или видео-каталогов.
Завершая установку приложения, добавим расписание в crontab (актуальная версия расписаний и рекомендуемые интервалы, также указаны в файле /example/environment/crontab):
<code>
* * * * * /usr/bin/php /YGGtracker/src/crontab/scrape.php > /dev/null 2>&1
* * * * * /usr/bin/php /YGGtracker/src/crontab/export/push.php > /dev/null 2>&1
0 5 * * * /usr/bin/php /YGGtracker/src/crontab/import/feed.php > /dev/null 2>&1
0 0 * * * /usr/bin/php /YGGtracker/src/crontab/export/feed.php > /dev/null 2>&1
0 0 * * * /usr/bin/php /YGGtracker/src/crontab/sitemap.php > /dev/null 2>&1
</code>
После завершения конфигурации, можно вручную загрузить данные публичных профилей из других узлов:
<code>
php /YGGtracker/src/crontab/import/feed.php
</code>
Для эффективного обмена данными с другими участниками сети YGGtracker, также можно добавить свой узел в файл /src/config/nodes.json
==== Дополнительные сервисы ====
Чтобы сбалансировать нагрузку на экосистему Yggdrasil при активном обмене файлами, не лишним будет организовать и использовать ориентированный на это [[yggdrasil:public_peer|публичный пир]],
а также добавить его в файл /src/config/peers.json.
О том, как настроить собственный торрент-трекер, описано в статье [[yggdrasil:bittorrent:opentracker|Opentracker]].
===== Ссылки =====
[[ yggdrasil:bittorrent:yggtracker | Индексная страница проекта ]] \\
~~DISCUSSION~~

113
data/pages/archive/yggdrasil/dns/wyrd.txt

@ -0,0 +1,113 @@ @@ -0,0 +1,113 @@
====== Wyrd DNS ======
^ :!: **Внимание!** ^
| **Проект Wyrd устарел и не рекомендуется к использованию.** Crawler остановлен навсегда, новые домены более не добавляются автоматически ([[https://github.com/Revertron/wyrd/blob/master/README.md|readme.md]]).\\ Автором Wyrd предлагается перейти на использование DNS на основе блокчейна - [[yggdrasil:dns:alfis|ALFIS]]. |
Wyrd - гибкое решение резолва имен в сети Yggdrasil. Резолвит общие доменные зоны и зоны OpenNIC. Также поддерживает собственную зону доменных имен .ygg с автоматической регистрацией. Разработка поддерживается пользователем [[user:rev]]. Является частичным форком краулера сети (автор Arceliar). Написан на языке Python. Репозиторий на Github: https://github.com/Revertron/wyrd. На этой странице приводится русскоязычная версия официальной документации.
==== Введение ====
Если вы используете сеть Yggdrasil, то вы подумали о новом DNS. Не только для преобразования имен в IP-адреса, но и для использования некоторых дополнительных записей, которые нельзя добавить в файл hosts, например CNAME, MX или TXT. И система должна быть надежной: если кто-то зарегистрировал домен, домен должен принадлежать только ему, а не передаваться случайно другому. В настоящее время существует несколько систем «crypto-dns», таких как EmerDNS и т.п., но для их хранения требуется несколько гигабайт дискового пространства. Мы не можем позволить себе это в мобильных телефонах и планшетах. Нам нужен какой-нибудь обычный кеширующий сервер для предоставления DNS-записей, чтобы установить их в мобильном, да и вообще и использовать как обычный DNS.
==== Что такое Wyrd? ====
Wyrd - это скрипт сканера для DNS-сервера BIND, предназначенный для сбора и проверки DNS-записей из данных NodeInfo со всех узлов. Он получает данные: домены, DNS-записи, проверяет «владельца» и сохраняет их в базе данных MySQL (одна простая таблица), затем получает все записи из этой таблицы и передает их на сервер BIND.
==== Как это работает? ====
* Проверяет все узлы (как в сканере map.ygg) на наличие информации о DNS.
* Перебирает найденные домены и проверяет их действительность, зону и владение. Если домен новый, он добавляется, если владелец (IPv6 узла) тот же, он обновляет DNS-записи, если IP не является владельцем, он просто игнорирует домен.
* Когда домен добавляется, узел (представленный IPv6) сохраняется как владелец. Дата и время регистраци (seen_first) также сохраняются.
* Если вам нужно сменить владельца на какой-то другой узел, вы устанавливаете свойство владельца на новый IPv6, и он будет изменен в БД.
* Если вы хотите использовать какой-либо другой узел в качестве «резервного владельца» в случае утери первого узла, вы можете установить свойство отката, и второй узел станет новым владельцем, когда первый пропадет в течение некоторого времени (еще не реализовано).
* В будущей версии каждый домен должен будет быть «куплен» PoW. Простой майнинг одноразового номера, который устранит захват домена или сделает его достаточно сложным.
==== Регистрация ====
Как добавить свой домен к этим серверам? Легко! Просто добавьте необходимые DNS-записи в зону Nodeinfo в файле конфигурации Yggdrasil следующим образом:
=== Один домен ===
<code>
NodeInfo: {
dns: {
domains: [
{
domain: example.ygg
ip: 200:1111:2222:3333:4444:5555:6666:7777
}
]
}
}
</code>
=== Один домен с поддоменами ===
Если вы используете массив records с type и/или TTL, то вам нужно изменить ip на data, потому что может быть также какой-то CNAME, а не только IP.
<code>
NodeInfo: {
dns: {
domains: [
{
domain: example.ygg
records: [
{
data: 200:1111:2222:3333:4444:5555:6666:7777
name: @
ttl: 300
type: AAAA
}
{
data: 200:1111:2222:3333:4444:5555:6666:7778
name: ftp
ttl: 600
type: AAAA
}
]
}
]
}
}
</code>
=== Все остальные варианты с объяснением ===
<code>
NodeInfo: {
"dns": {
// Вы можете добавить контакт, как это делает WHOIS
"contact": mail@example.com
"domains": [
{
"domain": "test.ygg", // Ваш желаемый домен
"records": [
{
// IP-адрес для разрешения, он может отличаться от адреса вашего узла
"data": "200:149b::b722:fe09:d31:84a4",
"name": "*", // Вы можете пропустить это, по умолчанию значение "@"
"ttl": 300, // Вы можете пропустить это, по умолчанию значение 3600 (один час)
"type": "AAAA" // Это также можно пропустить, по умолчанию будет использовано значение AAAA
}
],
// Теги будут использоваться для ранжирования и поиска в будущем, следите за обновлениями;)
"tags": [
"test",
"dns",
"experiment"
]
},
{
// Вы можете попробовать несколько реальных доменов, но они будут игнорироваться :)
"domain": "google.com",
// Вместо массива "records" вы можете просто ввести IP-адрес,
// type и TTL по умолчанию - AAAA & 3600
"ip": "200:149b::b722:fe09:d31:84a4"
}
]
},
"location": "Somewhere on Earth", // Общие поля
"name": "My meganode!",
}
</code>
В настоящее время поддерживается только этот TLD: **.ygg**. Если сообществу понадобится еще, мы можем добавить.
==== Установка своего инстанса ====
* Вам необходимо установить bind9, python3 и python3-mysqldb. Например: <code> apt-get install bind9 python3 python3-mysqldb </code>
* Клонируйте репозиторий https://github.com/Revertron/wyrd
* Создайте базу данных wyrd, user wyrd и предоставьте этому пользователю все привилегии для этой БД.
* Скопируйте все содержимое каталога bind в /etc/bind/
* Измените пароль в src/config.py
* Запустите его с помощью python3 src/crawler.py
* Было бы хорошо добавить его в cron на каждые 15 минут
==== Синхронизация ====
Вы можете спросить: что если я запустил Wyrd на своем сервере и получил домен от уже проигнорированного скваттера, а не от законного владельца? Хорошо, для этого у меня есть решение, но еще не реализовано. Поскольку у меня есть первый сервер Wyrd, я буду отправлять состояния БД после каждой модификации этого хранилища, и любой, кто запускает его сервер, не будет начинать с нуля. Его сервер будет заполнен всеми текущими записями с первого взгляда. И, что более важно, все изменения в доменах и записях можно легко отслеживать.
===== Ссылки =====
Mastodon: https://zhub.link/@Revertron и @Revertron на [[http://hash.null/yggdrasil_ru/|hash.null]].\\
[[yggdrasil:dns:internal_dns|Статья "Внутрисетевые DNS"]].

35
data/pages/archive/yggdrasil/sites_and_services/search_services/yggo.txt

@ -0,0 +1,35 @@ @@ -0,0 +1,35 @@
====== YGGo ======
<WRAP center round info 60%>
Проект переведен в статус архивного. Разработка продолжена в рамках новой минималистичной площадки [[ yggdrasil:sites_and_services:search_services:yo | Yo! ]] на базе поискового сервера Manticore.
</WRAP>
YGGo - проект с [[https://github.com/YGGverse/YGGo|открытым исходным кодом]] и [[https://github.com/YGGverse/YGGo#database-snaps|базой данных]], первоочередно ориентирован на поиск в сети Yggdrasil, но также поддерживает конфигурацию для работы с другими сетями.
Индексатор поддерживает различные типы данных, включая мультимедийные форматы. Реализованы базовые алгоритмы PR, поиск по слово-формам, словари лематизации.
Помимо поиска, проект реализует сохранение снимков истории страниц (snaps) по принципу [[https://web.archive.org/|Webarchive]].\\
Добавлена возможность кластерного хранения снимков посредством протокола FTP, для распределения данных и минимизации требований к дисковому пространству вычислительного сервера.
На момент написания материала, содержит в индексе около 700,000 страниц.
===== Архитектура =====
Исходный код написан на языке PHP 8. Клиентская часть, как и в остальных [[https://github.com/orgs/YGGverse/repositories|проектах]] YGGverse - не использует JavaScript.
В [[https://github.com/YGGverse/YGGo/tree/sqliteway|первом прототипе]] использовалась база данных SQLite и полнотекстовый поиск FTS5.\\
Вскоре был осуществлен переход на MySQL и поисковый сервер Sphinx.
Проект предусматривает открытый обмен поисковыми индексами, имеется поддержка JSON API, также периодически публикуются дампы просканированных страниц.
====== Инстанции ======
* [[http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo/|Официальный узел]]
====== Ссылки ======
* [[https://github.com/YGGverse/YGGo|Исходный код на GitHub]]\\
* [[https://github.com/YGGverse/YGGo#database-snaps|Дампы индексов]]
~~DISCUSSION~~

5
data/pages/en/hm/hm.txt

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
====== Memes / Humor ======
===== Articles =====
{{indexmenu>:en:hm}}

37
data/pages/en/hm/not_a_goal.txt

@ -0,0 +1,37 @@ @@ -0,0 +1,37 @@
====== Not a goal of Yggdrasil ======
Welcome to this article! If you've been sent here, it means you're being bullshit and don't understand that "is not a goal of Yggdrasil"!
Likely you was been also politely told to <del>fuck off</del> go somewhere other than here.
This phrase comes from main developer Neil Alexander's answer in the Matrix room to a question about Yggdrasil's advantages over Tor:
> <@karl:kashofer.org>: hi all ! whats the advantage of yggdrasil vs tor ? With hidden services tor provides a internal network and also anonymity.
> <@neilalexander:neilalexander.dev>: Anonymity **is not a goal of Yggdrasil**. We are a project trying to build an efficient and scalable mesh routing protocol, one that finds the best possible route through the network with a given set of links
And so, what is not the goal of [[yggdrasil:Yggdrasil]]?
===== Anonymity =====
If you want anonymity, then you are obviously at the wrong place.
Let's rehearse it together - "not a goal of Yggdrasil!"
===== Security =====
Obviously, who would argue, that's obviously is "not a goal of Yggdrasil!"
As soon as you install Yggdrasil on your device,
take care of the firewall, because your security is the purpose of the firewall!
===== Stability =====
"Not a goal of Yggdrasil", as weekly panic is common.
===== Proxy mode =====
Proxy mode (HTTP/SOCKS) of Yggdrasil would help with browser support, and, for example, with creating Yggdrasil browser extension with no installation!
This would solve insecure connection problem (HTTP is "insecure"), resolve 300:: subnet collisions, but that "is not a goal of Yggdrasil"!
(By the way, Neil was doing SOCKS-mode support [[https://github.com/yggdrasil-network/yggdrasil-go/tree/netstack|yggstack]])
===== Autopeering =====
How nice it would be if a simple installation was enough to run Yggdrasil, with no additional configuration, but this "is not a goal of Yggdrasil"!
====== Links ======
* [[en:yggdrasil:connect_through_tor]]
* [[en:i2p|I2P]]
* [[en:yggdrasil:firewall_setup]]
* [[en:yggdrasil:network_connection_variants]]
* [[en:yggdrasil:alt_clients:popura]]

3
data/pages/en/hm/wednesday.txt

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
====== Wednesday ======
Wednesday — a day of next Yggdrasil release. Any question about when Yggdrasil's N-th release will be, as a rule, a little less than all members of the community say, "Wednesday". No one mentions which wednesday they are talking about.

89
data/pages/en/i2p.txt

@ -0,0 +1,89 @@ @@ -0,0 +1,89 @@
======I2P======
I2P (Invisible Internet Project or Invisible Internet Protocol) -- anonymous overlay decentralized peer-to-peer network. Overlay -- works on top of other networks, for example, the regular Internet; decentralized -- distributed, without a single point of failure: one node falls, half of the network, or 3 users remain in the entire network -- I2P will still function. I2P is a peer-to-peer network because all participants have equal rights and opportunities: each user of the hidden network builds his tunnels through other participants and is himself a potential link in the chain of another user. At the same time, natural network activity does not compromise the subscriber in front of the home provider or participants in the hidden network.
{{ i2p:i2p-over-ygg.jpg?440}} I2P outperforms [[https://torproject.org|Tor]] by anonymity parameters, but does not have an output proxy to the regular Internet by default. The I2P network is completely decentralized and open source. There are two web clients: Java (first released in 2003) and i2pd in C ++ (first released in 2014). The C ++ I2P router outperforms its predecessor in speed and stability and is highly recommended. The main discussion of i2pd development is on the #dev channel on the [[social_media:ilita_network|ILITA]]. When working through Yggdrasil, the I2P network does not form a separate segment, but remains unified: users from the regular Internet are also available. A schematic of the interaction of Yggdrasil-only routers with other network participants is shown in the illustration.
Details about the mechanism of operation of the I2P network and the history of the appearance of the alternative i2pd client are described in the video (en): [[https://www.youtube.com/watch?v=95hSAMEwrlM|YouTube.com]],
[[https://open.tube/videos/watch/58fb286f-4251-44ad-883e-98c53ea9987d|Open.Tube]], [[http://[324:9de3:fea4:f6ac::ace]/files/video/english/4_I2P_and_I2Pd/About_I2P.mp4|Intranet repository]].
======Installing======
The easiest and most correct option is to download the package for your operating system from the official [[https://github.com/PurpleI2P/i2pd/releases|releases page]]. Also i2pd exists in the standard repositories of some unix-like operating systems like Debian or Ubuntu, and is available for installation via the short line ''sudo apt-get install i2pd'', but this installation method is not recommended, since there are always very outdated versions in the default repositories.\\
However, there is an up-to-date community repository, adding which to your system, you can forget about rotten packages and update in a familiar and convenient way. For comprehensive installation information, see [[https://i2pd.readthedocs.io/en/latest/user-guide/install/|documentation]] i2pd.\\ Below are instructions for Debian and Ubuntu using the user ''R4SAS'' repository in the clearnet:
<code>
# Ubuntu
sudo add-apt-repository ppa:purplei2p/i2pd
sudo apt-get update
sudo apt-get install i2pd
# Debian
sudo apt-get install apt-transport-https
wget -q -O - https://repo.i2pd.xyz/.help/add_repo | sudo bash -s -
apt-get update
sudo apt-get install i2pd
</code>
The same, but with access via Yggdrasil, i.e. intranet repository:
<code>
# Debian
wget -q -O - http://[321:c99a:91a1:cd2c::4]/.help-ygg/add_repo | sudo bash -s -
sudo apt-get update
sudo apt-get install i2pd
</code>
The community supports a Firefox-based I2P browser similar in concept to the Tor browser. You can download the browser from [[https://github.com/PurpleI2P/i2pdbrowser/releases|releases page]] of the corresponding git repository of the PurpleI2P team (distributed only for Windows). The package of a portable browser may not contain the latest version of i2pd, so you will probably need to manually replace the executable file ''i2pd.exe'' to use the current version.
======I2P over Yggdrasil======
Starting from version 2.36.0 i2pd has a mode of operation that excludes connections via the regular Internet. Below is an example of a router configuration that communicates with a hidden I2P network exclusively through other Yggdrasil routers. By default, the configuration file is located in ''/etc/i2pd/i2pd.conf'' or ''~/.i2pd/i2pd.conf'', and for Windows OS: ''%AppData%\i2pd\i2pd.conf''. For the I2P router to work in "Portable" mode, when all data is stored in the directory with the executable file, you need to create the "i2pd.conf" file in the same folder where the program binary file is located.
<code>daemon=true # note: remove it if you running on Windows!
ipv4=false
ipv6=false
ssu=false
ntcp2.enabled=false
meshnets.yggdrasil=true
</code>
If you want the I2P router to publish the address from [[yggdrasil:subnet_setting|your Yggdrasil subnet]] used on the device, add the line:
<code>meshnets.yggaddress=your_local_yggdrasil_address</code>
At the first start, i2pd will contact the start server inside the Yggdrasil network, which will give away several routers sufficient to get started. Then, the router's network base will start automatically replenishing. Thus, the use of I2P will do without a single call to the clearnet.
=====Autostart=====
An I2P router (i2pd) at system startup (in the example Debian) can start earlier than the Yggdrasil service. This leads to a forced manual restart of i2pd. The yggdrasil interface is not detected by the I2P router until the Yggdrasil service starts. There are two main ways to solve this problem (use whichever you like):
**1)** After starting Yggdrasil, set the delay before starting the dependent services:
- <code>mkdir /etc/systemd/system/i2pd.service.d</code>
- <code>nano /etc/systemd/system/i2pd.service.d/override.conf</code>
- <code>[Unit]
After=network.target yggdrasil.service</code> //Ctrl+O -- save changes to the file, Ctrl+X - exit from nano editor//
- <code>mkdir /etc/systemd/system/yggdrasil.service.d</code>
- <code>nano /etc/systemd/system/yggdrasil.service.d/override.conf</code>
- <code>[Service]
# adding post-up delay to bring up yggdrasil tunnel interface before starting other services which depends on ygg
ExecStartPost=/bin/sleep 5</code> //Ctrl+O -- save changes to the file, Ctrl+X - exit from nano editor//
**2)** Set i2pd start timer:
- Create file ''/etc/systemd/system/i2pd.timer'' <code>sudo nano /etc/systemd/system/i2pd.timer</code>
- Complete the timer file as follows: <code>[Unit]
Description=i2pd service timer
After=yggdrasil.service
[Timer]
OnActiveSec=10
[Install]
WantedBy=multi-user.target</code> //Ctrl+O -- save changes to the file, Ctrl+X - exit from nano editor//
- <code>sudo systemctl disable i2pd.service</code>
- <code>sudo systemctl enable i2pd.timer</code>
======Network support======
How can the average user contribute to the development of the I2P network? This question is asked by many enthusiasts. And here's the answer:
- Enable all existing network interfaces for greater network connectivity <code>ipv4=true
ipv6=true
meshnets.yggdrasil=true</code>
- And also enable the floodfill mode - a kind of I2P dispatcher (the load on the processor and network channel may periodically increase): <code> floodfill=true </code>
Please note that these settings are primarily relevant for server administrators or home users who have a dedicated IP address. In any case, keeping the I2P router on for as long as possible is a good contribution to the overall power of the network. A network client running even on a smartphone (!) Can receive "probe" tunnels created by other participants to explore the network and have extremely low traffic.
======References======
[[http://[324:71e:281a:9ed3::ace]/ygg-i2p/|Monitoring]] the number of Yggdrasil routers in the I2P network\\
[[https://github.com/PurpleI2P/|Git repository]]\\
[[https://github.com/PurpleI2P/i2pd/releases|Releases page]] for download i2pd\\
[[https://i2pd.readthedocs.io/en/latest/|Documentation]]\\
[[https://geti2p.net/ru/|Java-router]] (client without Yggdrasil support)

1
data/pages/en/playground/playground.txt

@ -0,0 +1 @@ @@ -0,0 +1 @@
Playground

3
data/pages/en/sidebar.txt

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
~~NOCACHE~~
----
{{indexmenu>:en#3 hm#1| skipns=/playground|user$/ :inside: nocookie navbar nsort msort dsort}}

32
data/pages/en/start.txt

@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
====== Welcome to the wiki of Yggdrasil network users ======
Let's create a knowledge base together!
===== How to use =====
When registering, you can specify any e-mail address, mailing is currently not carried out.
An RSS feed is available at: [[this>feed.php|RSS feed]]
How to create and edit articles: [[en:wiki:article_create|How to create an article]]
Complete documentation for dokuwiki: https://www.dokuwiki.org/manual
Feel free to share your knowledge!
===== Frequently asked questions Yggdrasil =====
*[[yggdrasil:sites_and_services|What services are available in the network?]]
*[[yggdrasil:run_website|How to start a site in Yggdrasil?]]
*[[yggdrasil:subnet_setting|How do I set up multiple IP addresses on a single device?]]
*[[yggdrasil:nginx_proxying|How do I create a mirror of an Internet site in the Yggdrasil network?]]
*[[yggdrasil:dns:internal_dns|How to get to a site with a domain name, such as site.ygg or site.mesh?]]
*[[archive:yggdrasil:dns:wyrd|How do I get a domain name for my site on the Yggdrasil network?]]
*[[yggdrasil:network_connection_variants|How do I use Yggdrasil without installing its client on my device?]]
*[[yggdrasil:mesh_setup|How do I connect to Yggdrasil using mesh technology?]]
*[[yggdrasil:public_peer|What is a public peer?]]
*[[yggdrasil:public_peer#Как стать публичным пиром|How do I become a public peer?]]
*[[yggdrasil:connect_through_tor|How do I connect to the network via tor?]]
*[[yggdrasil:tunnels:ckr|How do I configure tunneling via Yggdrasil?]]
*[[yggdrasil:several_services_on_machine|How do I launch multiple services on the same device?]]
*[[yggdrasil:crawler|How do I get information about all nodes in the network?]]

20
data/pages/en/wiki/article_create.txt

@ -0,0 +1,20 @@ @@ -0,0 +1,20 @@
====== How to create an article ======
In this wiki, articles are created in the same way as in any other wiki. Just create a link to a non-existent article, click on that link, and click the "Create Page" button. You can create a link to a non-existent article in the [[en:playground:playground|Playground]] (You can also practice in the design of articles there).
Also You can create an article by going to the address of the form: %%doku.php?id=section:article_name%%, where the section is specified before the colon (for example: yggdrasil, pi-hole, unix, i2p), and the non-existent article name is specified after the colon. This is the easiest way.
For articles in languages other than Russian, appropriate sections are used: en, de, fr. The link to the French article in the Yggdrasil section will look like this: %%doku.php?id=fr:yggdrasil:article_name%%
Links to articles in English will look like this: %%doku.php?id=en:section:article_name%%
It is recommended to set the names (not titles) of sections and articles in English (Latin alphabet), so that foreign-speaking users do not experience inconveniences in navigation.
It is also recommended to follow the design style of other articles and, if possible, describe the material in detail, as for non-specialists.
This resource uses the [[doku>plugin:indexmenu|IndexMenu plugin]], which automatically generates a navigation menu on the left side of the page. The names of the articles in this menu are taken from the headings (from the first heading H1, H2 or H3), which, according to the [[en:wiki:syntax|syntax]], are set using the characters %%=%%.
====== Links ======
Page editing: [[doku>editing|https://www.dokuwiki.org/editing]] \\
Formatting Syntax: [[en:wiki:syntax]]

63
data/pages/en/wiki/dokuwiki.txt

@ -0,0 +1,63 @@ @@ -0,0 +1,63 @@
====== DokuWiki ======
[[doku>wiki:dokuwiki|{{wiki:dokuwiki-128.png }}]] DokuWiki is a simple to use and highly versatile Open Source [[wp>wiki]] software that doesn't require a database. It is loved by users for its clean and readable [[wiki:syntax]]. The ease of maintenance, backup and integration makes it an administrator's favorite. Built in [[doku>acl|access controls]] and [[doku>auth|authentication connectors]] make DokuWiki especially useful in the enterprise context and the large number of [[doku>plugins]] contributed by its vibrant community allow for a broad range of use cases beyond a traditional wiki.
Read the [[doku>manual|DokuWiki Manual]] to unleash the full power of DokuWiki.
===== Download =====
DokuWiki is available at https://download.dokuwiki.org/
===== Read More =====
All documentation and additional information besides the [[syntax|syntax description]] is maintained in the DokuWiki at [[doku>|www.dokuwiki.org]].
**About DokuWiki**
* [[doku>features|A feature list]] :!:
* [[doku>users|Happy Users]]
* [[doku>press|Who wrote about it]]
* [[doku>blogroll|What Bloggers think]]
* [[https://www.wikimatrix.org/show/DokuWiki|Compare it with other wiki software]]
**Installing DokuWiki**
* [[doku>requirements|System Requirements]]
* [[https://download.dokuwiki.org/|Download DokuWiki]] :!:
* [[doku>changes|Change Log]]
* [[doku>Install|How to install or upgrade]] :!:
* [[doku>config|Configuration]]
**Using DokuWiki**
* [[doku>syntax|Wiki Syntax]]
* [[doku>manual|The manual]] :!:
* [[doku>FAQ|Frequently Asked Questions (FAQ)]]
* [[doku>glossary|Glossary]]
**Customizing DokuWiki**
* [[doku>tips|Tips and Tricks]]
* [[doku>Template|How to create and use templates]]
* [[doku>plugins|Installing plugins]]
* [[doku>development|Development Resources]]
**DokuWiki Feedback and Community**
* [[doku>newsletter|Subscribe to the newsletter]] :!:
* [[doku>mailinglist|Join the mailing list]]
* [[https://forum.dokuwiki.org|Check out the user forum]]
* [[doku>irc|Talk to other users in the IRC channel]]
* [[https://github.com/splitbrain/dokuwiki/issues|Submit bugs and feature wishes]]
* [[doku>thanks|Some humble thanks]]
===== Copyright =====
2004-2020 (c) Andreas Gohr <andi@splitbrain.org>((Please do not contact me for help and support -- use the [[doku>mailinglist]] or [[https://forum.dokuwiki.org|forum]] instead)) and the DokuWiki Community
The DokuWiki engine is licensed under [[https://www.gnu.org/licenses/gpl.html|GNU General Public License]] Version 2. If you use DokuWiki in your company, consider [[doku>donate|donating]] a few bucks ;-).
Not sure what this means? See the [[doku>faq:license|FAQ on the Licenses]].

24
data/pages/en/wiki/stats.txt

@ -0,0 +1,24 @@ @@ -0,0 +1,24 @@
~~NOCACHE~~
====== Statistics ======
{{statdisplay>all}}
<WRAP group>
<WRAP column>
{{statdisplay>all?graph}}
</WRAP>
<WRAP column>
{{statdisplay>one month}}
</WRAP>
</WRAP>
{{statdisplay>month by day}}
{{statdisplay>month by day?graph}}
{{statdisplay>top referers}}
{{statdisplay>top entries}}
{{statdisplay>top urls}}
{{statdisplay>user agents}}

526
data/pages/en/wiki/syntax.txt

@ -0,0 +1,526 @@ @@ -0,0 +1,526 @@
====== Formatting Syntax ======
[[doku>DokuWiki]] supports some simple markup language, which tries to make the datafiles to be as readable as possible. This page contains all possible syntax you may use when editing the pages. Simply have a look at the source of this page by pressing "Edit this page". If you want to try something, just use the [[playground:playground|playground]] page. The simpler markup is easily accessible via [[doku>toolbar|quickbuttons]], too.
===== Basic Text Formatting =====
DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts. Of course you can **__//''combine''//__** all these.
DokuWiki supports **bold**, //italic//, __underlined__ and ''monospaced'' texts.
Of course you can **__//''combine''//__** all these.
You can use <sub>subscript</sub> and <sup>superscript</sup>, too.
You can use <sub>subscript</sub> and <sup>superscript</sup>, too.
You can mark something as <del>deleted</del> as well.
You can mark something as <del>deleted</del> as well.
**Paragraphs** are created from blank lines. If you want to **force a newline** without a paragraph, you can use two backslashes followed by a whitespace or the end of line.
This is some text with some linebreaks\\ Note that the
two backslashes are only recognized at the end of a line\\
or followed by\\ a whitespace \\this happens without it.
This is some text with some linebreaks\\ Note that the
two backslashes are only recognized at the end of a line\\
or followed by\\ a whitespace \\this happens without it.
You should use forced newlines only if really needed.
===== Links =====
DokuWiki supports multiple ways of creating links.
==== External ====
External links are recognized automagically: http://www.google.com or simply www.google.com - You can set the link text as well: [[http://www.google.com|This Link points to google]]. Email addresses like this one: <andi@splitbrain.org> are recognized, too.
DokuWiki supports multiple ways of creating links. External links are recognized
automagically: http://www.google.com or simply www.google.com - You can set
link text as well: [[http://www.google.com|This Link points to google]]. Email
addresses like this one: <andi@splitbrain.org> are recognized, too.
==== Internal ====
Internal links are created by using square brackets. You can either just give a [[pagename]] or use an additional [[pagename|link text]].
Internal links are created by using square brackets. You can either just give
a [[pagename]] or use an additional [[pagename|link text]].
[[doku>pagename|Wiki pagenames]] are converted to lowercase automatically, special characters are not allowed.
You can use [[some:namespaces]] by using a colon in the pagename.
You can use [[some:namespaces]] by using a colon in the pagename.
For details about namespaces see [[doku>namespaces]].
Linking to a specific section is possible, too. Just add the section name behind a hash character as known from HTML. This links to [[syntax#internal|this Section]].
This links to [[syntax#internal|this Section]].
Notes:
* Links to [[syntax|existing pages]] are shown in a different style from [[nonexisting]] ones.
* DokuWiki does not use [[wp>CamelCase]] to automatically create links by default, but this behavior can be enabled in the [[doku>config]] file. Hint: If DokuWiki is a link, then it's enabled.
* When a section's heading is changed, its bookmark changes, too. So don't rely on section linking too much.
==== Interwiki ====
DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis. For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]].
DokuWiki supports [[doku>Interwiki]] links. These are quick links to other Wikis.
For example this is a link to Wikipedia's page about Wikis: [[wp>Wiki]].
==== Windows Shares ====
Windows shares like [[\\server\share|this]] are recognized, too. Please note that these only make sense in a homogeneous user group like a corporate [[wp>Intranet]].
Windows Shares like [[\\server\share|this]] are recognized, too.
Notes:
* For security reasons direct browsing of windows shares only works in Microsoft Internet Explorer per default (and only in the "local zone").
* For Mozilla and Firefox it can be enabled through different workaround mentioned in the [[http://kb.mozillazine.org/Links_to_local_pages_do_not_work|Mozilla Knowledge Base]]. However, there will still be a JavaScript warning about trying to open a Windows Share. To remove this warning (for all users), put the following line in ''conf/lang/en/lang.php'' (more details at [[doku>localization#changing_some_localized_texts_and_strings_in_your_installation|localization]]): <code - conf/lang/en/lang.php>
<?php
/**
* Customization of the english language file
* Copy only the strings that needs to be modified
*/
$lang['js']['nosmblinks'] = '';
</code>
==== Image Links ====
You can also use an image to link to another internal or external page by combining the syntax for links and [[#images_and_other_files|images]] (see below) like this:
[[http://php.net|{{wiki:dokuwiki-128.png}}]]
[[http://php.net|{{wiki:dokuwiki-128.png}}]]
Please note: The image formatting is the only formatting syntax accepted in link names.
The whole [[#images_and_other_files|image]] and [[#links|link]] syntax is supported (including image resizing, internal and external images and URLs and interwiki links).
===== Footnotes =====
You can add footnotes ((This is a footnote)) by using double parentheses.
You can add footnotes ((This is a footnote)) by using double parentheses.
===== Sectioning =====
You can use up to five different levels of headlines to structure your content. If you have more than three headlines, a table of contents is generated automatically -- this can be disabled by including the string ''<nowiki>~~NOTOC~~</nowiki>'' in the document.
==== Headline Level 3 ====
=== Headline Level 4 ===
== Headline Level 5 ==
==== Headline Level 3 ====
=== Headline Level 4 ===
== Headline Level 5 ==
By using four or more dashes, you can make a horizontal line:
----
===== Media Files =====
You can include external and internal [[doku>images|images, videos and audio files]] with curly brackets. Optionally you can specify the size of them.
Real size: {{wiki:dokuwiki-128.png}}
Resize to given width: {{wiki:dokuwiki-128.png?50}}
Resize to given width and height((when the aspect ratio of the given width and height doesn't match that of the image, it will be cropped to the new ratio before resizing)): {{wiki:dokuwiki-128.png?200x50}}
Resized external image: {{https://secure.php.net/images/php.gif?200x50}}
Real size: {{wiki:dokuwiki-128.png}}
Resize to given width: {{wiki:dokuwiki-128.png?50}}
Resize to given width and height: {{wiki:dokuwiki-128.png?200x50}}
Resized external image: {{https://secure.php.net/images/php.gif?200x50}}
By using left or right whitespaces you can choose the alignment.
{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png}}
{{wiki:dokuwiki-128.png }}
{{ wiki:dokuwiki-128.png }}
Of course, you can add a title (displayed as a tooltip by most browsers), too.
{{ wiki:dokuwiki-128.png |This is the caption}}
{{ wiki:dokuwiki-128.png |This is the caption}}
For linking an image to another page see [[#Image Links]] above.
==== Supported Media Formats ====
DokuWiki can embed the following media formats directly.
| Image | ''gif'', ''jpg'', ''png'' |
| Video | ''webm'', ''ogv'', ''mp4'' |
| Audio | ''ogg'', ''mp3'', ''wav'' |
| Flash | ''swf'' |
If you specify a filename that is not a supported media format, then it will be displayed as a link instead.
By adding ''?linkonly'' you provide a link to the media without displaying it inline
{{wiki:dokuwiki-128.png?linkonly}}
{{wiki:dokuwiki-128.png?linkonly}} This is just a link to the image.
==== Fallback Formats ====
Unfortunately not all browsers understand all video and audio formats. To mitigate the problem, you can upload your file in different formats for maximum browser compatibility.
For example consider this embedded mp4 video:
{{video.mp4|A funny video}}
When you upload a ''video.webm'' and ''video.ogv'' next to the referenced ''video.mp4'', DokuWiki will automatically add them as alternatives so that one of the three files is understood by your browser.
Additionally DokuWiki supports a "poster" image which will be shown before the video has started. That image needs to have the same filename as the video and be either a jpg or png file. In the example above a ''video.jpg'' file would work.
===== Lists =====
Dokuwiki supports ordered and unordered lists. To create a list item, indent your text by two spaces and use a ''*'' for unordered lists or a ''-'' for ordered ones.
* This is a list
* The second item
* You may have different levels
* Another item
- The same list but ordered
- Another item
- Just use indention for deeper levels
- That's it
<code>
* This is a list
* The second item
* You may have different levels
* Another item
- The same list but ordered
- Another item
- Just use indention for deeper levels
- That's it
</code>
Also take a look at the [[doku>faq:lists|FAQ on list items]].
===== Text Conversions =====
DokuWiki can convert certain pre-defined characters or strings into images or other text or HTML.
The text to image conversion is mainly done for smileys. And the text to HTML conversion is used for typography replacements, but can be configured to use other HTML as well.
==== Text to Image Conversions ====
DokuWiki converts commonly used [[wp>emoticon]]s to their graphical equivalents. Those [[doku>Smileys]] and other images can be configured and extended. Here is an overview of Smileys included in DokuWiki:
* 8-) %% 8-) %%
* 8-O %% 8-O %%
* :-( %% :-( %%
* :-) %% :-) %%
* =) %% =) %%
* :-/ %% :-/ %%
* :-\ %% :-\ %%
* :-? %% :-? %%
* :-D %% :-D %%
* :-P %% :-P %%
* :-O %% :-O %%
* :-X %% :-X %%
* :-| %% :-| %%
* ;-) %% ;-) %%
* ^_^ %% ^_^ %%
* :?: %% :?: %%
* :!: %% :!: %%
* LOL %% LOL %%
* FIXME %% FIXME %%
* DELETEME %% DELETEME %%
==== Text to HTML Conversions ====
Typography: [[DokuWiki]] can convert simple text characters to their typographically correct entities. Here is an example of recognized characters.
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."
<code>
-> <- <-> => <= <=> >> << -- --- 640x480 (c) (tm) (r)
"He thought 'It's a man's world'..."
</code>
The same can be done to produce any kind of HTML, it just needs to be added to the [[doku>entities|pattern file]].
There are three exceptions which do not come from that pattern file: multiplication entity (640x480), 'single' and "double quotes". They can be turned off through a [[doku>config:typography|config option]].
===== Quoting =====
Some times you want to mark some text to show it's a reply or comment. You can use the following syntax:
<code>
I think we should do it
> No we shouldn't
>> Well, I say we should
> Really?
>> Yes!
>>> Then lets do it!
</code>
I think we should do it
> No we shouldn't
>> Well, I say we should
> Really?
>> Yes!
>>> Then lets do it!
===== Tables =====
DokuWiki supports a simple syntax to create tables.
^ Heading 1 ^ Heading 2 ^ Heading 3 ^
| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 |
| Row 2 Col 1 | some colspan (note the double pipe) ||
| Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 |
Table rows have to start and end with a ''|'' for normal rows or a ''^'' for headers.
^ Heading 1 ^ Heading 2 ^ Heading 3 ^
| Row 1 Col 1 | Row 1 Col 2 | Row 1 Col 3 |
| Row 2 Col 1 | some colspan (note the double pipe) ||
| Row 3 Col 1 | Row 3 Col 2 | Row 3 Col 3 |
To connect cells horizontally, just make the next cell completely empty as shown above. Be sure to have always the same amount of cell separators!
Vertical tableheaders are possible, too.
| ^ Heading 1 ^ Heading 2 ^
^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 |
^ Heading 4 | no colspan this time | |
^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 |
As you can see, it's the cell separator before a cell which decides about the formatting:
| ^ Heading 1 ^ Heading 2 ^
^ Heading 3 | Row 1 Col 2 | Row 1 Col 3 |
^ Heading 4 | no colspan this time | |
^ Heading 5 | Row 2 Col 2 | Row 2 Col 3 |
You can have rowspans (vertically connected cells) by adding ''%%:::%%'' into the cells below the one to which they should connect.
^ Heading 1 ^ Heading 2 ^ Heading 3 ^
| Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 |
| Row 2 Col 1 | ::: | Row 2 Col 3 |
| Row 3 Col 1 | ::: | Row 2 Col 3 |
Apart from the rowspan syntax those cells should not contain anything else.
^ Heading 1 ^ Heading 2 ^ Heading 3 ^
| Row 1 Col 1 | this cell spans vertically | Row 1 Col 3 |
| Row 2 Col 1 | ::: | Row 2 Col 3 |
| Row 3 Col 1 | ::: | Row 2 Col 3 |
You can align the table contents, too. Just add at least two whitespaces at the opposite end of your text: Add two spaces on the left to align right, two spaces on the right to align left and two spaces at least at both ends for centered text.
^ Table with alignment ^^^
| right| center |left |
|left | right| center |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
This is how it looks in the source:
^ Table with alignment ^^^
| right| center |left |
|left | right| center |
| xxxxxxxxxxxx | xxxxxxxxxxxx | xxxxxxxxxxxx |
Note: Vertical alignment is not supported.
===== No Formatting =====
If you need to display text exactly like it is typed (without any formatting), enclose the area either with ''%%<nowiki>%%'' tags or even simpler, with double percent signs ''<nowiki>%%</nowiki>''.
<nowiki>
This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it.
</nowiki>
The same is true for %%//__this__ text// with a smiley ;-)%%.
<nowiki>
This is some text which contains addresses like this: http://www.splitbrain.org and **formatting**, but nothing is done with it.
</nowiki>
The same is true for %%//__this__ text// with a smiley ;-)%%.
===== Code Blocks =====
You can include code blocks into your documents by either indenting them by at least two spaces (like used for the previous examples) or by using the tags ''%%<code>%%'' or ''%%<file>%%''.
This is text is indented by two spaces.
<code>
This is preformatted code all spaces are preserved: like <-this
</code>
<file>
This is pretty much the same, but you could use it to show that you quoted a file.
</file>
Those blocks were created by this source:
This is text is indented by two spaces.
<code>
This is preformatted code all spaces are preserved: like <-this
</code>
<file>
This is pretty much the same, but you could use it to show that you quoted a file.
</file>
==== Syntax Highlighting ====
[[wiki:DokuWiki]] can highlight sourcecode, which makes it easier to read. It uses the [[http://qbnz.com/highlighter/|GeSHi]] Generic Syntax Highlighter -- so any language supported by GeSHi is supported. The syntax uses the same code and file blocks described in the previous section, but this time the name of the language syntax to be highlighted is included inside the tag, e.g. ''<nowiki><code java></nowiki>'' or ''<nowiki><file java></nowiki>''.
<code java>
/**
* The HelloWorldApp class implements an application that
* simply displays "Hello World!" to the standard output.
*/
class HelloWorldApp {
public static void main(String[] args) {
System.out.println("Hello World!"); //Display the string.
}
}
</code>
The following language strings are currently recognized: //4cs 6502acme 6502kickass 6502tasm 68000devpac abap actionscript3 actionscript ada aimms algol68 apache applescript apt_sources arm asm asp asymptote autoconf autohotkey autoit avisynth awk bascomavr bash basic4gl batch bf biblatex bibtex blitzbasic bnf boo caddcl cadlisp ceylon cfdg cfm chaiscript chapel cil c_loadrunner clojure c_mac cmake cobol coffeescript c cpp cpp-qt cpp-winapi csharp css cuesheet c_winapi dart dcl dcpu16 dcs delphi diff div dos dot d ecmascript eiffel email epc e erlang euphoria ezt f1 falcon fo fortran freebasic freeswitch fsharp gambas gdb genero genie gettext glsl gml gnuplot go groovy gwbasic haskell haxe hicest hq9plus html html4strict html5 icon idl ini inno intercal io ispfpanel java5 java javascript jcl j jquery julia kixtart klonec klonecpp kotlin latex lb ldif lisp llvm locobasic logtalk lolcode lotusformulas lotusscript lscript lsl2 lua m68k magiksf make mapbasic mathematica matlab mercury metapost mirc mk-61 mmix modula2 modula3 mpasm mxml mysql nagios netrexx newlisp nginx nimrod nsis oberon2 objc objeck ocaml-brief ocaml octave oobas oorexx oracle11 oracle8 oxygene oz parasail parigp pascal pcre perl6 perl per pf phix php-brief php pic16 pike pixelbender pli plsql postgresql postscript povray powerbuilder powershell proftpd progress prolog properties providex purebasic pycon pys60 python qbasic qml q racket rails rbs rebol reg rexx robots roff rpmspec rsplus ruby rust sas sass scala scheme scilab scl sdlbasic smalltalk smarty spark sparql sql sshconfig standardml stonescript swift systemverilog tclegg tcl teraterm texgraph text thinbasic tsql twig typoscript unicon upc urbi uscript vala vbnet vb vbscript vedit verilog vhdl vim visualfoxpro visualprolog whitespace whois winbatch wolfram xbasic xml xojo xorg_conf xpp yaml z80 zxbasic//
There are additional [[doku>syntax_highlighting|advanced options]] available for syntax highlighting, such as highlighting lines or adding line numbers.
==== Downloadable Code Blocks ====
When you use the ''%%<code>%%'' or ''%%<file>%%'' syntax as above, you might want to make the shown code available for download as well. You can do this by specifying a file name after language code like this:
<code>
<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
</code>
<file php myexample.php>
<?php echo "hello world!"; ?>
</file>
If you don't want any highlighting but want a downloadable file, specify a dash (''-'') as the language code: ''%%<code - myfile.foo>%%''.
===== Embedding HTML and PHP =====
You can embed raw HTML or PHP code into your documents by using the ''%%<html>%%'' or ''%%<php>%%'' tags. (Use uppercase tags if you need to enclose block level elements.)
HTML example:
<code>
<html>
This is some <span style="color:red;font-size:150%;">inline HTML</span>
</html>
<HTML>
<p style="border:2px dashed red;">And this is some block HTML</p>
</HTML>
</code>
<html>
This is some <span style="color:red;font-size:150%;">inline HTML</span>
</html>
<HTML>
<p style="border:2px dashed red;">And this is some block HTML</p>
</HTML>
PHP example:
<code>
<php>
echo 'The PHP version: ';
echo phpversion();
echo ' (generated inline HTML)';
</php>
<PHP>
echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td>'.phpversion().'</td>';
echo '</tr></table>';
</PHP>
</code>
<php>
echo 'The PHP version: ';
echo phpversion();
echo ' (inline HTML)';
</php>
<PHP>
echo '<table class="inline"><tr><td>The same, but inside a block level element:</td>';
echo '<td>'.phpversion().'</td>';
echo '</tr></table>';
</PHP>
**Please Note**: HTML and PHP embedding is disabled by default in the configuration. If disabled, the code is displayed instead of executed.
===== RSS/ATOM Feed Aggregation =====
[[DokuWiki]] can integrate data from external XML feeds. For parsing the XML feeds, [[http://simplepie.org/|SimplePie]] is used. All formats understood by SimplePie can be used in DokuWiki as well. You can influence the rendering by multiple additional space separated parameters:
^ Parameter ^ Description ^
| any number | will be used as maximum number items to show, defaults to 8 |
| reverse | display the last items in the feed first |
| author | show item authors names |
| date | show item dates |
| description| show the item description. If [[doku>config:htmlok|HTML]] is disabled all tags will be stripped |
| nosort | do not sort the items in the feed |
| //n//[dhm] | refresh period, where d=days, h=hours, m=minutes. (e.g. 12h = 12 hours). |
The refresh period defaults to 4 hours. Any value below 10 minutes will be treated as 10 minutes. [[wiki:DokuWiki]] will generally try to supply a cached version of a page, obviously this is inappropriate when the page contains dynamic external content. The parameter tells [[wiki:DokuWiki]] to re-render the page if it is more than //refresh period// since the page was last rendered.
By default the feed will be sorted by date, newest items first. You can sort it by oldest first using the ''reverse'' parameter, or display the feed as is with ''nosort''.
**Example:**
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
{{rss>http://slashdot.org/index.rss 5 author date 1h }}
===== Control Macros =====
Some syntax influences how DokuWiki renders a page without creating any output it self. The following control macros are availble:
^ Macro ^ Description |
| %%~~NOTOC~~%% | If this macro is found on the page, no table of contents will be created |
| %%~~NOCACHE~~%% | DokuWiki caches all output by default. Sometimes this might not be wanted (eg. when the %%<php>%% syntax above is used), adding this macro will force DokuWiki to rerender a page on every call |
===== Syntax Plugins =====
DokuWiki's syntax can be extended by [[doku>plugins|Plugins]]. How the installed plugins are used is described on their appropriate description pages. The following syntax plugins are available in this particular DokuWiki installation:
~~INFO:syntaxplugins~~

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save