From 0491cd01504b6ee1c95fd9b685f45daa0142465d Mon Sep 17 00:00:00 2001 From: Bob Mottram <bob@freedombone.net> Date: Tue, 20 Dec 2016 16:16:37 +0000 Subject: [PATCH] Add documentation for turtl --- doc/EN/app_turtl.org | 50 ++++++ doc/EN/apps.org | 4 + doc/EN/usage.org | 4 +- img/turtl.jpg | Bin 0 -> 19886 bytes website/EN/app_turtl.html | 345 ++++++++++++++++++++++++++++++++++++++ website/EN/apps.html | 146 ++++++++-------- website/EN/usage.html | 100 +++-------- 7 files changed, 505 insertions(+), 144 deletions(-) create mode 100644 doc/EN/app_turtl.org create mode 100644 img/turtl.jpg create mode 100644 website/EN/app_turtl.html diff --git a/doc/EN/app_turtl.org b/doc/EN/app_turtl.org new file mode 100644 index 000000000..47dba91af --- /dev/null +++ b/doc/EN/app_turtl.org @@ -0,0 +1,50 @@ +#+TITLE: +#+AUTHOR: Bob Mottram +#+EMAIL: bob@freedombone.net +#+KEYWORDS: freedombone, turtl, notes, images, sharing +#+DESCRIPTION: How to use Ghost +#+OPTIONS: ^:nil toc:nil +#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="freedombone.css" /> + +#+BEGIN_CENTER +[[file:images/logo.png]] +#+END_CENTER + +#+BEGIN_EXPORT html +<center> +<h1>Turtl</h1> +</center> +#+END_EXPORT + +Turtl is a system for privately creating and sharing notes and images, similar to Evernote. It can be set up so that a small number of users on the server can share their notes in a convenient way. It doesn't have any web user interface, and you need to install native clients on mobile or laptop/desktop machines. + +Since the data at rest is stored in PGP encrypted format this is a good system to use in cases where security really is a critical factor. + + +#+BEGIN_CENTER +[[file:images/turtl.jpg]] +#+END_CENTER + +* Installation +Log into your system with: + +#+begin_src bash +ssh myusername@mydomain -p 2222 +#+end_src + +Using cursor keys, space bar and Enter key select *Administrator controls* and type in your password. + +Select *Add/Remove Apps* then *turtl*. You will then be asked for a domain name and if you are using FreeDNS also the code for the domain which can be found under *Dynamic DNS* on the FreeDNS site (the random string from "/quick cron example/" which appears after /update.php?/ and before />>/). For more details on obtaining a domain and making it accessible via dynamic DNS see the [[./faq.html][FAQ]]. Typically the domain name you use will be a subdomain, such as /notes.mydomainname.net/. It will need to be a domain which you have bought somewhere and own and not one of the FreeDNS subdomains, otherwise you won't be able to get a SSL/TLS certificate for it. + +After the install has completed go to *Security settings* and select *Create a new Let's Encrypt certificate* and enter the domain name that you are using for Turtl. If you're using the "onion only" version of the system then you don't need to do this. If the certificate is obtained successfully then you will see a congratulations message. + +* Initial setup +The most common use case will be with Android devices. The Android app isn't currently available within F-droid (see [[https://turtlapp.com/faq][the FAQ]] for details) but can be [[https://turtlapp.com/download/][downloaded from the Turtl site]]. + +Run the app then at the bottom of the screen select *advanced settings* and enter your turl domain name, then register a new account. The password can be anything you choose, but since the client side encryption depends upon having a good password make it a long random string generated by a password manager such as KeepassX. + +You should then be able to log in and start using the app. You might also want to invite any other users of your Freedombone system to also sign up using the turtl domain name which you specified during installation. + + +* Locking it down +Once you have created accounts it's a good idea to turn off new turtl signups. This will prevent millions of random users on the interwebs from creating accounts on your system and killing your server, or possibly other nefarious security scenarios. Go to the *administrator control panel* and select *App Settings* then *turtl*. You will then be able to disable new user registrations and also set the data storage limit for users. If you need additional users later you can always temporarily re-enable signups later. diff --git a/doc/EN/apps.org b/doc/EN/apps.org index 45bc1daff..6f990afc0 100644 --- a/doc/EN/apps.org +++ b/doc/EN/apps.org @@ -103,6 +103,10 @@ Possibly the best way to synchronise files across all of your devices. Once it h Client and bootstrap node for the Tox chat/VoIP system. [[./app_tox.html][How to use it]] +* Turtl +A system for privately creating and sharing notes and images, similar to Evernote but without the spying. + +[[./app_turtl.html][How to use it]] * Vim If you use the Mutt client to read your email then this will set it up to use vim for composing new mail. diff --git a/doc/EN/usage.org b/doc/EN/usage.org index a073ebed3..8d32c6eea 100644 --- a/doc/EN/usage.org +++ b/doc/EN/usage.org @@ -16,8 +16,7 @@ </center> #+END_EXPORT -| [[Readme]] | -| [[Improving ssh security]] | +| [[Improving security]] | | [[Administrating the system via an onion address (Tor)]] | | [[./mobile.html][Mobile advice]] | | [[./usage_email.html][Using Email]] | @@ -41,6 +40,7 @@ | [[./app_gogs.html][Git Projects]] | | [[Adding or removing users]] | | [[./app_pihole.html][Blocking Ads]] | +| [[./app_turtl.html][Making and sharing notes and images]] | * Improving security It's a lot more secure to log in to the Freedombone system using ssh keys rather than with a password. You can set that up by first running: diff --git a/img/turtl.jpg b/img/turtl.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d66e143ca24664373f3310a1d45cdb9ac6648298 GIT binary patch literal 19886 zcmb5V1yo#1(<nL&5}d)^T?U5$!C`QBcXyWn!QEYg4({&m?gR_L5+H;G3lJbc?&O^B zzxTUqz4z97)iry!(Oq4=t9R|H;?L%veE>*7MqUO02L}g`gC)S9j{qqEHX1q>Ix036 zCKfIZHXbnxDKQ}-F%KOB1&c7BnCKfmAwelcGj%Ch135t<O?NE=OB+WgM{zZucV2cu zX7-M@e+PlX!NnyeAm$<^<+6ncL2Unj!=DiVHZoid92GnqHUNkX2agT+XAD3B007}( z#Qqlm;ouPvkzj2^uvPqB$bSJG5FX*rHUJ$S4gdtfg8%@yFX`Cg|J4DOB?%`#-Qcy< z@ys^J=wYq-@!zdz7*U>FRR3M`H?OA!<JA8Ra0nqsk&tpr9A-TLjt{1~IRd&Z0Kk`# z1`vnB+6eK{nTEuR0Z6T!Ut+k_0C06>YCt4bAZCTbkW!620st|zRG&pAruLRr4FIg$ zZY};h{3||-)kG!nHEfW08ysiGN*mZ=H?UGE#Ct&;fWsLgzb**i`i|b!ZmA6Hk5FdT zYnp|GT$auv?RH%Ugm&G$%I5|UW&p^g>fDqpDTb!wRrsu0gjia{Gt%aCt0EK;Q(s9n z1ZG{6|5OhXXoIVo0lameiw0P35;xmVRM1<~A?Zo$5zJ8QykZa{cmMK>=(fVI>Sr5V z*9cPjGN3XCev|mhZXyTZhXSR6vKW}Nr6HLlD?Nyu=<gX=AMYHn!rRAShE{F9LN2~T za`CDAN`mUgA{S9n!=qNm787}TGnuh-O3vM^BA<hC3=o=_3RUs86bUUND14h|muDfa zj>0Wn@559|E^;z+?zQ17I@aze{Nrj0Y1)00Jl6N;H=BBop6gN1@8~->IW6!B_&^YK z9+26b*|D<kp+IHbcl`*3xifZse;vN0!1FfcM!4tvrwtdaZ|Z5^K;Lud`@-6J8buZh z6uhvSMI35~ZgGLL>g(#SJa0`LO>vy3ZWm1Uy_y?bt|_t?`%UacpjUl^n#p^jL-UJT z$8{ol(sHN}Ep0HrCN$QPJYIOWvN$O_Tl-3PdFp1tR*szPte`Hs^kCKYJ*Tus(Ay)Q z6BwblMR*nTh!XN7tej5asPqXwe8NWsJ7?t!IST;|jE2d9qooC&?J4J;r;SN_M9OEm zd%~Z7!no(l?=_MjAMZbJ`0%ZjPrK?8MNyNyU-h-E*>YigQttPYi$s2;RS>zx&S|+L zr=vi!ne|ECRueO#cHuaR#z=7*getwW`h@L_T#8zMmI>ZJ1hcwZo9HMf+03K4;hj_F z8XO(A6&xN02%(@~RnTU%$J%Im4%BzbNGw(CZNV}cq80$3`aT@5W~w+1U;qcy0qLt8 z75e1g+IW=xJbNY2AuvN&uo>6&6A%C&&u-VIZci&0VosF?2w~{0KB*D`+6l(b06&-I zdjq~_Pp}-L2f!zDh|;Bi%)mUUngEcTuDt*r31*9XRxuluIJ`vL34YSsktF~=kOdh4 z+%l`HLW|>C5l^9q$psJ)N!MAyPN!wvFjH5m4r#Xk>?=~?lzWz_zpz6Vgrk%$L6?@I zAUT)nB+UlbI*5iNM^oF9s8H7colM;6A#NumK1<hM7$Xb9)lf>O3(-PTO@TB6CG(ul zM%c~mGkqhgn#=ti3FZUu!m?$tl)jMX6q>{`$fMB3HR{*u^;sL8wnC}EbQ^n#Z|5~u zn%<+fv$oJT@=tq_ZEGlCEHm8CF7`#v8pXt=>a^UfYznapDK#}IIQ*Ezw^Cl|3Xv<1 zl+K9ZLZl(b@%OC^JU%f}w&j^NPwT7?$FtS(Tw_yn_%ZRG3B-(ATpm-Mz;Xye0Qwv` z`8a#5A>_`{x7gO#y65P7{oGC~w?CVRDGrlh)*;Zs(*Ph>!B<4R{nX$Sipac3*VOII zNidB%T}o~>*vP`A$rnNeF2^y5zy@a$ik4-`?B*K%cpX2K7BMAxYUS`bFE8$>pM6nn zu#zsW9FSvH3#hAVnEffqf)d}(Jn`^*mP8SbC!w7_q#4apsv-Y7_;kT3gbr1g*S_T% zIFTg|2#NE*nXY!uKU_|OUSEe*`)bikE6}eR_~xtiWRY!ouz?J`&z<;|apV99nv3>o zdeqta5-PC?y+UTqO65`A&b$825j{0jsVI8QpY4X4bR?`7HCRuYSj5LI^sf8mtqj>f z0MIkfT#~mP8#q%TQ=UpYbwU9@U3(FN?jjDVhC?JvL5>83{wlO$S=VT1ods?#wWF|% zx9qtcI|?Bg6_&NI>&BgmdyH&`V)~SUylc_B%pJP5I@F+(WG%A^^xf<4-#aZDEU-H_ z^O-{_4C*Xi#iK#8dXBe@=?iPRuh*<+YQnyMq)C*cX<JXH1I^az&l_U0v*s}$j8j?2 z#7j8xY~|HL8g-3Q%`JK?>cVQ=C&}45pu=<CeFw)oj&M-~bZD<KS4Aw#unGE&-Ib10 zV_4F;nW1M!h;|H783t3X0{%U-Lw@c6Yb1qrTzUxu@Y|k4B19r&Ui$HtO?nLpXCa9^ zlicz7HD2ybftbj6cn18cnrWJ$TkjdcA#rp=97JAp4bCI$O0$E*^Gt^=eIN_YwA!Mc zQ<FNRMO9yqmLvoL6pEjPqqDXy4$YF)+dnaA)foD~76Q~(&^1%n)<-C8X(mPiATz-W z9Lc0mAti;Lw0ha9A?5T`gAiJ3*@g6nX>{KNOuelaJO)Z2!sHQ$Kn@^OiA56l@uyyp z4D4Ny$%pn@#WkU+)Nt~2b;ZGb?s8l^5D%|>mO<lMnkNsPz_)yrAQL|cvBF|`jJ6P$ zN9VSPyBqWQHQCLlyknA6DY&Tl8M0a-|9Wk*S)qpksfqx>vO4(~ivy*K<)K#MM&g$3 zFOGi3o!?X(yjmTV@Rzf$67UD$Q;oUJSqp3pU(b3?stPq2BZ@P-XQ0gk@v#y*JlNUu zpu5i=X%ikAvn%sUO*xL`Y-DHPRuymju!RUW-@^Pgn{Ju}9UU%r|CAZTFMtz;E&|(b z4eP!Zf*Ou^YbbQqT9YqH)0k|Vz6ph$DpYZ9!qc24M(346-_+mN_5THwFolF21b~AF zA|e9d5a0puf16=y2s}0p0tlCy2ak$|i(3K_pO%wXTuo9+8m6Wo!;}{|M4%S$A3$)W zM^vbyVk9fIgXqU@D!?DW-DmF><XYYz;P)@2g(rUiQ#R+oyHH*IE_@wU{DRV*dz&^H zc7L;qv{jYl9)`AYS|?sSw%u_H@W)<tj1+g&n(GFZ&!5(Wn@E+990W~tN_%rf5>kKF z#&yB4Qm9mrv!t>TtrD#Q_WSQ7PW90sN`fnNB(+ASnxxDjwQ?MHLlx)r&{$ZpGS=&g zy^wx&tj90=pDJGYdxj|G8|?2Q?b3IMSQNG>Pvjw5gSJ+PicO`849{Xw!Oc0hMl%$P zb>C`2)dQ`=lOE#6xu-p&FNE>D-_&V>Q(vDx2_zT$kl#!t#1W5AW?^@XK1}d`{h1I< z;4W*WQ>Wz}3+ux3%tskiW~I9ijdFLdh%ab0^trfpasG&sMck=!O0r>uO%;tQIH-E? z{;Z{-O=YSWTS9803ECAc=vU%X7M48qBWf1ubsE|iJiE<0@eZ56l(mVJ?EdUwsUGKp zbp_W&eF#toyNzK9m;C{dvQfRD4M8pp67_nF_9`#u@A}E2?PNWYAXsYdY((@Ok&-c* zCyW$oocY|Psd^Pr6|eza`@V+!5N#2}scGs{1hRtckSkH^bhhS4vnc&UtbFx`W&SQC z=mkH3Ilr)lUZCbE{J^x*EyH8t?TiU}(~jWh0n(cn;(@a*ZEd3+ZS}Vd{W+rekHMG_ zi=XLFPEC{do)ZP{VLe`=&82Hou4g3kzkLbd3}l5HAvY@AC!pGR{Ra@AfnfJ)*$CTP zhvVokJ1%~1(dOfS<0hI^ia$%y{yuzJhv>wC-z|6`Z#4hbsn{+Mcvmlto}^c?{m;-B z4jc|^4j)if)^LqtU-BtYp9TH^Xn!y-a~Z71CK_k|0Wj!^G5v5e(Js*&?06Q7CY^qX zLW?x}<ieop0%=fvRGX}Nl9HmHMVvJSpGh_&wf^1UbM>A#J^?R%gsA52FT<+dB)+V# zTC#LzG1Y{&@>fEy8y5IH-xZA}A0;2ucR4|_s>RV(e-I+Y{{fW34`*R29`Nc_0(MGk z6G9W>1+2PTs>@1oVf~Zrxug1M=vb2Jw<GWRYUCBIirImatYmc_tN%L<1F4&5CYclu z{R`UCe)Ygwa|6iWYb`UAbOa?$aT`$%F1(YJEgOO{18Sgljk=Ll1jPoS4(Oj)_1@-e zXp%UNPSmU!#H%}iAytjKwI9CSzWt}jED&uobzbYx#i&+{qU@SZ1PmBKO5}>oWp!qS zAAN~FR$;l&*4C106>Ksf*Vxp{hmS~FjZeu8JA8Tne(xbYb^(yyKCVrS+Wm@kBp|Ha z5W?b>)p2IX+USqKLSp6@Fq>+xL<kR(sTXN+mt#>4S8UM9sxeymsB?Bi(#`2|YOt(f zO!vOWR<It6RhpoMpndu23yXG4gpaOK?6v5Zpc+9I43lb=ErDkC(hGHAq}-G-=en8Q zk&pyN!6Z9R1N7y3xvC9G>@ohl8%LW@t8A<diMU!HQ)X1No;aD6>47&SK$eR0X@PP_ z#X5^shgCEsM*g_@sv143yyDu9Mi=<V-JIR&=ulquK&8?k&BBC^3X(Lt8cYv&MZ>CF z#}AEK9_{1yQ*C6rD!M91tAbwRu(TkH{!hW2*vjR>#?t$BeZGY^dZJQkDyru3UWkjg zXL_8j`tYz3{=qA4?Eum*KH4?460%;GYV0z#m=2SH&0mFL`qW66Q^ozBTSPMXvp(4b zPPVqD$H`p?p-I?*@ypuc+G??*st#&;_)0p$PB)YYRZ5eU8=U98#c`+^M!jDT@mbj< z`Cj$KQGF}HoWJsvK#4jzV#NMcAem)0f$peQki_@WdBGa)-2R<L>l7{H9erO;);fRM zaYy#6WqFVrKHA5#K5O~$SbxjUW7_hZmbPOKthMhYl#9k&qu&f(<_~?Lb%3rqQ1th@ z<+&z}tWm?+*9g2Kp;}dDWQb!HXdd|dhLYM*XR3WY+KK#&(U+C|s~G4vg>Obl)L#$j z3@+5WFWhdo^^VgfslFgPU=lQ~S*uJ7H1B>iKoTe+m4OVKEVbi*yHS(cz6;sqCZ==2 zvh}xPRjxt}md@APD`^U-N{G~{qHUsNi4V-vZFgDI5SniCYOVJ;BkSp;j-^MbX-D<? zLhjKM7V*I#Q+$n3UGNL%XR@9R>O^m=!*NP6MpmDS)2c?<?d^IBo$oi>5tF)%Ee*q0 z#~^K4&Oy4`wKN?*EzzRUIBz=F${=lwbPq9eb*=&XAJBxfM5**W$IE<gsm+=GQWmIY zzZI-w;<04|rnNerfgua@f+1p2;$wCfLzf&miG6qJ+8O)^-n;8cyZPyf+DlECTt7y$ zaTKpP^w+9aud!6mV)eAC@v0w&iPbgiftrNjcr`ggAc#t_yf|8eG;yx0_rYq%T{Uab zp!{#ehq#c_I($bdZFPDi{8O&6TEb&hKOuXbPuR$a(rXvNDT8!N3K9Y3blJ5nl&S|4 zEvLL$X)6Yba#Z6G=@YeYU}+<h&}K*0r{S&xzf!4XZ(KQT@y4gBC{0RAn<0E839QP? z!+|?PaMq{B-&?YG9XjoLxDW!$#9nKLL$-P?mPoCdQUzIzZ!+6<p0EkVnit-sum2}y z{c~R}PWy=-(TYVS#9{DHl4PthFeFl9K37)uIl_f_G^pH?FHle$skeW#V-xomizbZq z;yC+a92no2>V3^V0NI%8c_1{U`G2SynX`$7*2F8RkylC9fH8HPj#H`>u+vIx^5sy! z;77I$Mw5&(FqWix;V`=;#};+=zuSF$*`u++xDe}{8gxxnj`U)^d(i!HU1??wBztpA zj$ZTO(HAAPrru!ASc;D?FJhj(zr<Uqp;e&|tg|95(!`&HK`b9@$&emr`g0J&w8{-D zziH3k@`Fcq{LNm(Mcpf`wndyD>2Mr>06T${w0CT)-o1Fson5QO;$fcc48iDs0LPDx z#s`Vs=DlNNO*^@knZs{2-QN{Vly4hhf$DcxW80xCcNPA884fKKBAe?_anEwFc>A}N zdQDs^D?HW1aT1G9+&CacZ*#0#v>!k<Egba`gL;KJ$C`GBA7<t0_f1$BHeD>vM?;s< z(EyUp+IL2uk|qi%v(yN&2&Wy&(%CcTwZQPZw;JviN0vuxx)Hy^hB*O;h)|yjxh3!I zDC&$t9YKeVo;eMrS&I}tsJgBIZbYHL;R_)AK)G;?3oM0A!UHk33)@IUmu69tGEyvM zx4LQ`@oU&fbZmFzLdh$Ni<tZaz=i3E^f2QV90CksCaV7c95xVyBTmJshD*&Q0Z(J* z_K#`^vwDfaU7E&WO%n$Mzn4G&{ezgXB0Q_I70F6oM1KKA)?v9;*{+|jR3~rwtz(V< zhmkky@v8>x({fc}>PtnFyk%Nt$_&hjkoEX>(b4K&Mnv7me$g4#_ks9=J<EXwd*d%% zLB@6i*<KZe81Fg_*w>PBS}GJWOuyY|!$X6X<GGU4I$s;3mG9=wRg>Gf_}Ap|Sk{KY z=7L-n-acof$<w7T!v71n{{SqHIYm3%_zHO88Wy<O1xfocHI>TMTe2mR^|(Iz-Kcmh z92W<fD(oMO7u`4ybTjsxPVNX=%$|^^gAJG_-v+yWrIG)dSbeE(N89nY=V>AnRWc)j zM;Py3QCgtJZt|t9I$ivbD4I%uX~a7MFd4BZMvCm^9*o5dFct%W@PD=N|FI6jVdDTn zRGi}QxLj)L)HG(?|MD34m&Z>8k}HL1e*hd#%@*VF1Z;ZE79$S^qOE_^Go^mcQ;Siz z$I)cQ-5@4~aG!wR_2t3m+0p1^_NtTUWR8F8eteN@`RY$VU=c7o(spYBndP_6K2zk_ z3g0zeZm$STh+50xp)h6KQ~mssMtitxoH}lwTP@Zm5ye0@pxXThAS654*T<?9JdHqf zJuOe!5~G(>wQH1>i{NSKmq{Q3(#9U;K)o7-;fUDPk_37!%T(ZZ7@hwicRZeuV--l} z<a+6RZ<)4z0DD$A^@8LAX~T_HDSvh|D&GxjRE2{32NjH6mwJg2+}a4)jJp5NU*pnT zS??5H5&C`%hbUySXjLQNvq)%^D`e94Kde^{i*D`wf^Bo>3xoXHKifl>#iknj4il>r zDuzw@U97OPnlbIB*+p=gty$FnbT%x|w&#t<?^E%I1}w+$i&^<ocE#}R{kz{Lbli0c z0utnCc5kJw>Q(PuVVlJXf|+*^frvn)zgzYXzyU$n)Lh)|I8+kq<}{q}JmMaqscIz} z7Lv;c|M_Y{5(Bb6A+ll--miadkd?e=9oathSg996bFGbHpF30^9W`2utI2-Bb{AT` zFWg{y7rj4yf6^?Yi!<$F_i=_`JYJE(|Ki-OrRua@B+sqUA=5@boo$wTF8430jc~Ck z8ZmS!yX775jRcMbt{xZhK2*+&+W%C|`={U<yKgG_Ahsvm##AY7sI^S6Cw-zD$$^#D z-%S==t=pISx5DJQ(M4{Ljx(1smIgc!JI#KC8E%w3o6jWQ+uioJW(Majo$MfAT{PxU zWo|LNcns1s5IMuRfBr-g+=}-l%>BU{r(q)e0|vrUOvfW5(^p^Em!b?4^Jv>20DZX( z3v#?GG~ORFDEvkR6Ve6i!ql1myBqId+s%0@0@Aq*=_~p)Rf)M8?jlVC?oY^iH)l8l ze%Q}PtCnR&mNxVpSQ$_Zz;@+`mAtcQ(B6Kh$?=VsKnwpH4Y)jA^vQ6Bet)nPCtHff z1Od|2@krE}A!@xebR-qYs#37Dwi(kwurfGEaIM;`NtP;e2~kOpe8~Lrw|Y!#jS=6+ z!d*&nsdT27+OdWvQpy^wdvw&nLBNlty2u86qS7>zzOTxNE*y8rRA?2`flnxfK8XEI zohL4-d`<Q#PJ@LYj8>7i^?$I1rJ*9r-r7&!Ky2BBz}_ZHTXLpto^1t&Uv(1iOJH>t zH!a|953A{P^{O?8q8b*Gd24fTPP5@~By^(xxj{Plt;1GIGcjoz8FL|n%aBe+mw==j zmUDF;bv<Z?;ctDDF+;-auw{?CG=bpKNTTLgt$^PIthPN|s;?~WkK^qh)%DU@4754e zb`IIpZYtPcdk(UzR5%#oD0a(hmZ<1;6!~(fudVCGW@z!gn;p@};xeA4)4Mfm`jx3T z-(B%G)mq*(3mjicc88-;E(qP(E1W!jtHL--FrE};y)>Q9pp?sPHN$N+wR$mEj`JGd z+1@Ro_6fr~-_YYw=gz|_VA_Lrc&w$Ygc%(YWpGCSwtKv-#cH|=mU12V@)Bi~a+%pD zt9cNu`Y?D#!4@gCOSgp9%o@)^DlqQwS8bI+<98y33CmHJhAmRrQZlLEXlTpU-f63V z;|X!+A&MS)x2zeJ?Ve;ATwx~&yJ&416cyEwwy#I0QRPnYGgB*OZ44P++=GxqKG6VU z5+%xSrknBh`h;F@7G}4MC+{*%#y8ptR%C)|2jui|O~2U7WZ27KFO6^}&>|1Vb~=)% zmy@UyjHEL!-gB@Y(T{6Y?<5ENS3|*(jI-g0inEBQGxs!mUtwJ~>n^6%H%e@UMof9) zgG;0h(d@0J)0*a?k!Yj~5p;&XeYBaAv|x`W&$LCCWjzU)mA3kW;wu!DF|BjwA0IQZ zoxlmX+_qV1b==(>ckbu`3oq9+A3u&=TDS(g9KH2`O(|{9Y0sOd%z#1fC#&c5Z-KV% zbo!kF8D~!I1&0=MzS=G}wi7)DIxX^7b0Qh+h`*PAS2IEyKgb~1r1cZ8C|3O-<NH(x zb)*k>LTPN9gG`w<HcO*oNrp9QTX%*ve$)M1a=KrvBleV)!03q8_3-G3VF*guikJ#w zvj>N|t-f2AT!$#d>Qh`W=|$1#?@EHPfa%nr@h0_r)8@&|ffGWHly4qCMarIL?qvym zAk9dthW~cmDT8jp&VX*h9e(JJv?ALlc`a|L+EdS|{F;(KfYp_Y&EWttkiPG^QM|>g z!{AhW?m*QZHy1vp4w_wc7sxNdKY*5n=%m9d4i$Zs@)Jc0)U8&-vJd(MBW^vLb5&O5 z*7%RPe4xwmwR&YK`J`i|L<l~+1Nh29c24!uCaUBu>=RwX(Newk5e&-4?`bZlENdh> zcSsxBpj6o#`2&C*@hl*iF%0Ik`^PHwuhs*HO%39Lo$e*g?o^?vSHsJfoZ@Q#bGXBa zQIlk5QSAL%X#n348Hf53+{!}Yr`mZiW+|neAWKTLNGBS{*%@OtK7Rlm(Wo`J%pB>L zuF_>9g_+ZnFQ{WqG!%<}0NCGer86FI5*S9&0xED^RfI*qAJGtXt+KO!?k_^R<d^Tg z`4TyS7JCUM#eQU<lQ;5B<?*=EJd2amu9JVA1m*sS0v-@;No8Vm;GQO|g|asr+;jOm zdL`T`vf)+h*fiSKxUZSew6_v}zsHfDT?|@`z6><xf8FsEr0iI?)jxSnzI?Z5d1>43 zGclsr<t?|I+Gkw%n3?W<&d-@<h+`Bu%<^jwK0tqKmElPWJ^Qt8EB11jzwhT*MkKc& z^IfzI5`Q9J^8IoKjc+={BH?;l#BNW7#xHf!(y8h~ygqvw{~yTE{XH=eeKIm_tsOiW zYMl(6lM=)g;OChRp6E>(yjnfA!1bZAMdI_g=BIxn*st97Gnwb>_C2Q_ZmFcir65UC zZY%N%)CLjV568Cf8LYj7-J)9nx#8Ga?m6$o?+}$VI_R`mR2BFs8Wn$4yseRJ?&QLk zDn(KYIXHDcS7)5MEsC6TtsUN>ly$rkjn+$KdrItyciw&LKbd>u^n{Yb2p=knME$0C zLxQs*ahu5LIQgAznQR7*s)Yh(vn4~Wl=@=TLbAbB#patSOKq#~Qo^6-9{FF;_z6s8 zr&4;`)a~xbS?GxJvL{rT{{TpwKXSVbbq7m|<n<+}pUt~`|A6N53&iboV&Sl#l0O%C z!kF)0BqOmoLXd-k0g_@5Epz2u6L~1Qs<cC6Jt?Ewr3|?oI6=U^H8{9*$m4IKW`FO! z<Q+WqgZvsop|yNMVY}RZDMN>@O0+axN{Z*+wQ|RND)L}@RjCIGD-0l~(m3-Os<*8< z%O)S~V&rVy4`Ogml$_k&orKLR_4(4sN3e9300}PRXo7bTeuAovDa)&w;%QM)W_<Aq z@7GcWF5;f)@OnMp@^1@ynq?drIV>1&6N|#WQ#|4h<?lCqO;Mzz#fM^NOIn(yp4z{- z%zhP4w0Z7ne7s$*vp*_yKMo?|81DKaGpiK4WxP|4M?y!NknF5}ECLojDdYMY7})Mu zlPvpNgd$7Vb3u5qbcq^?6_tu*3n@UBQwBm7<w8d>V7sy!Ieri7p8zlJ*NgZTv^!MA zK3_YB7EaBm^8WjTfGqkU%AHmpwDz~kDn6lqtK}k`ppE)&-!y8?{6z#z0^W2xLfC)? z#(T=zyVq##$yD)8ForglVO;2?0}HGI{}PIxw!tau4!W@W9?cvF&PtqCU@TotpL;Zr zttqVxnmWfn=U+h{t*LkU@GW-tbPXJ(>wY5!tfkQ~`pcAPn&k{t1NDApFD1i5*_G8M zPL7had(1kCndN-QEN5o*nGu?n(*w_T0!9(}Fl^_RmJ-!n45h<an9{fEKM)#-JPc$N zd{kes2mlq`;{D<$Np48@py6gTOn*hL_R$MB8&u}8_;(_{hIvszZcoy4m<hB*VWV@! z^$tHRqu?pHH{ELC>QgNJ0(>KBvbF0AX-awKr(|eG&%>aimd-umY)~xbh4v(x-^rUr zV;y3Mw|O#dMfGAL1#Iz{#{*-$)vo*Y>P0(Qhqu_(TbI!TrVQH(pBcjtL~vYA_Mgok zS8pp%u~sO{#T4G9=yTb^)PB8pO{O~RT01`4U$Hx%UY%jBqh(Se24-8{M#J*>yv}Rn z%<RlENcYr_qk~D&xi_|91LZ-g>93R2<YsmL0936q9hUiblv0Y5$w{Be!@<Ew2*@~e zs_Xr?xj)|}Ne5x%<orBNST1pG5o+S(m)2#8eVcX7+%(ephUl)62F7T@mB?@s_l8Fi zg3;MWYDg4uJBIaMb0JQ{*98}e&Ncg%tTXA|k)=%^IYQDXE=JbSS;ccZ=XQo;<SyZh zGVnlmDU6Jqu1CEN3e#nzB6s#Iwa%iWsmq}g87D)I<}E3U8Eqe;O!k<l5A;(7*ga8= z^xLs|MGUxo{1lUF<{8Ulf@|0BQrb<WDlvb@T6~;o$Lq+Xa3l3IwM*r5d6(HEJXmrs zv*Z7jEA2Nh*llwx=7iM}rMFbI$7!ymGqeS<XV4>#>?&1jK(=$sH%R5Z#7PV<<1Z|g zu@P%yc`F&5I;B|1huB<6(=q26a*EH&=Z7fESSg=}%318$%-S~>GJ10LTUPcOmpWy$ zZ@A<I!+P%7-WwMp+q!FGwaMb1TPphcB}AWJD=1$o@RM2@w<xlnV{e$k=_%aNqLIsV z42Im@l?ir!IJIv%c8aL+G_-4$9ylJ+gHp)&hH~%(5KO%xmcL_(hrLpRDJ4Hqm@bv) zCdc$TiN^dc@7gqcI@JpAnxr?1bAP3hx%~#?=2|r6`W<0$W13m+YWytO59*@8>3s`k z+fdZ9_l_lf?ZS!2?oEjcXm&S-g{Dg_qvowP(N4agV?uPb{$+P?zRH;LmdZy-+1PFJ zkX^sU5rXF_BNOSbcNADu_E|gj3Fd19YGYpvdtzN3^E)Q#Axba6v<3^5_dbLS-{L)I zAMxHVS*AhweZ@1zK5(x*%9u*<>6IBj5KwB;mH+<E^z#e12eIx$_#Ay@ShIC(mNUgu z(sob_ZT)1BP;&pO$ee^Ql!CBp9eJq|C-D~zYw>)dG4*c>QkRenwZ8=CZORumv*3Ry zU-6=6!bS9mR->)b!?ndq@g7Jym6B;>pcc5Nu-6r%D<hvR)k=zgcgQ9P`W%Gd-PK6A z!(G6C<2r5}&F0t9fHWDu&E+F)kaK5uL}9v~$t>>@P9kM3L!z9mF3&JV%9Q&q&b^eE zS!>$D-y+Sbmz%rAI<v3xPQe)WW7xKv2a+JuW{2qS3}$7n4<jP^7;Ovf*+a|Fh5>se zSK=?vco@T&JUz5IUx~KVeOWz;Q%~H&S6FUo1vY~3)7~Q7KTjme#JSlfA$)lFx@;O( zV$3tt&qKC-Mj|SmQfO#`L?_!u^cLYkQk%|SOiHy?B0d!y!?J?^`8%kUJFH1s7U<)Q zMoYQbReh<7D_|VV{96)L4QON0OB0Or<b0dRBaxLC)s6RlkbZ_j;G^@}ragt2gJ6!m zk+Ffu%0~M1Bfls{X>KbeJk#|#LstY>o2cd;etiimxx8awB7R#|FIlP-PAl{PH|%#* z*6eRW4DCOF;r4_dVp9<#kDg`IN6)C+(!1!dER?J`?;tMAX>`MhI?1#xEgc=nT_3i{ zzpxQWZ+l6~Uh@CYdZHHlI`P&O5EEvQuX>34T`Dl6haS>z){Sd(uUuwyY$~>l6%q`` z8&D#2j^aw<CcTOSg}7-=%g78LJ9)s@*MaV0@`SNc44loNT;4w}Bfe?6JE@F+V(L)g zHRrGT7;Z&dO-ot?H%NUPgerMdni3c(v_~g4we*{;0O@f|B%F`|sb&l3d$f3~C7$FN z-RbJwGc}_!U6?(F$@c41Yx{K2nUHGA#I?U1OmQh_s?M0UmUbi#C}XYgYW-3sPc)I| zymXJWKfSpxWl&{)Edt-<hFyhk8NT=^WmfMfwPV0bpn~oR^+Wc5m3zb0<f6bAF>a~U zZvBmcl1@uSfx#)9Vg3%L(2&aIewoYnvdz6oLMRII!IwOdIdGvi&0!z=*mWPiHhL_) zSdYRY{)<g2Mx>QfWCn-dA$kPhvIoXAU$~CgRd43rRS#*8XZXd{cK2;x8|;DoX0nWC z-ics*X)NKbVWN-Zl#03e^EhBzN*`RA<6k66(kd$iStC@F{HQ;s5jE|{^qa{?Qq1fQ zKWG*_R>ZnOHb%qdSbYEWb(h!IdTO+h_j1Qp{;{PnO#sSpLsjqvx2j-zr(kCCJ=0?@ zcB>^h^2aFlsg4ohUu8Cu*iSUQgF`JR^gcXF7-S`k#UE=(c?V=^$C0L!izjFoWOHwL z*-G}vxAw@d_Q(%*3ogHv4!==Bto7`FQ`+;UL{u`=Mv2pM>N#POQL<`t;`1-GJQKM# zd{I|;B|Wf<*cd*x?3mSUWB5-PSJ~?_ryn(MDs8V|FTadu=D+z<)s=#xvHzWqdC;0g z8m{oNioBKtdX$-6M^w5pqK=2;$Zbg{&i(;JCCZqB>335mCA+YAzV70G#T&Nw%a-6{ z?BRueB6nlC=4K!CuWw*t2)6qJc%&sY>rF&?;CarKq2yS>Rb|^l%#`Ehbt*Eqa=GSv zT?ii)8k#nnAB!=zZ4_@U{voX*7W$2zMcI}Vjdxz9Q%9BKOv$@-we?C^Ik2Kvo^5sB z4qY!P;U`5(cUfhWhUh51hPfZEl|DU+&dD{tgqg-Cr#orhR(uQThVwffSK=I2EK8=| z!x!Gj_YCQ-YLl<KVGjpMLr7cw8|=PFwtRx+K~~ua@I&U5)}?SqTgrlM;Z1x{%$<tk z(l`+{V{Q*i<%eOxu#JX?bH-1^%W0W-Ms(W4-twOk!_WIl2cPg-S$7ilSP@!Wer!?r zE^mgMM2Q<o>iAJQ1p~e0N_u-&T%|1cA2}@IJZRvMMrxZrfOCGDq)dln*euN1mmE!; z?9Z4_D2IDt6xtGXDpi#d3KOGPWwwqsHDv}FVGt~oM@Ut<;Nq5Sto;E5#lA^Q=J*<a z{fSsOX@4M@Hv+xZ54o<nc*{WQ@E86pN0gz4b!gzP;`GVOi7G>51k1Qb<Ygy21OMKw zJKUkIC)2M|zwy7CpkRJCrupTp5qRI6O*iRod;FdPm1U(eCb!EW?|iyN`*M!h3)uO3 zK@<D;e4*Z6*oBpqW7Z4N18p$-TU>W$QH~qBX+!Yd{owyZgZ>kb0V4Vzn>*~DZmf&< zUqx83=>IFo13&<TH1WUfApkm{1niCg0MNk#Xd|jRR<cTQ<o^j%lPXw#LA>)134w*I zAyWy3-m;NBOT(hs!~r3w0NS72RAd145GvpbfHvys-n48DV+RNu7#?M?&~N@85Ep_B zE4c}Lxwmh`LsbF*UYo(sqS9s)<c%4mfJm?bs=p#i-Wd|Pkii28bI?iS`A373qmn_K zlpW%u!`;W<@R_u(fg!G!2$J`9n<Lu51}Y+oC%^$RlP<y3lB6#%R8tKBh?6m0=?tJ7 zLMFfw*BY+?PjxIwG66$5L*Oqu$`M;ehn7R^aFGE~IUC~xe*oxMm%vb@5aiQ$`Ny-= zU(n^~QX~K&s`Inv0ALO_w;Y6LnvB8*u&c0l@kNlWYb<z#olbNpcIsX#BC2b_cS0U6 z-$2|k-c&A+jL93&gF@9f-+Yh01e!X6QrF3W@i{1eWVHvrLH-;C$KXH&K#gVCR!R%3 zYmtMS0^(Suf7~fsTn6c0`>Mk=g$}pQ(tW3waLNjr5M)w<^0GR=*(_`MB&VsGBxtA- zAa5}tPy5VA^2xLx{l|}|<o3AwNB%B_rt(E~RmNPRvVD_u?e;HaXPatfF(gteqbSs| zeB%o;N6^-GAfQ1p2pw4>FWtvxbk#pg=NBzz{1P#Js&qOpj`XSO^i&$4lNhNPSB^kQ zffqe?Kn|m3gcspbdhEzaF6+JF5!fTLinTz{PAdrz-uuje1yxZh&>4}-NdLhNv<fIU z=;qNY34H|sz=z4v@SomC`EwF0A%=<5;j(4Tf_GCCv;F{nD;Bq{D_VD`AOl)+-Yp`* z91_lHhTxJ<=$cZu`Xe7TW}RB(t=l4&4(z7l5}niZom-~G0sjp!OA8J5UrP%j0Ot4j z*UkcqK*9!5QFC%hh^xDstNkC(5{ToTz2lAt9)A>OqscD!B4!j$PX*hH+1`mYi&^NF z1*P7}Zc$nV#UB&$PP)bzA^RBwJV_qFt{&gD_}dB5KJ2k#y)Vwvc_00@*P0q*1ATSL zNKrR%T}OA6cp&Z2p!XmV)ZR<-bqtS>hrjz0nHA(iP+-Jl&}+Va>_bOHF`1pe#=qUi zunm>|xhA!*2w5>kAw@r}>UH-Gr!W>|Z^3Tbe4KGAd<)+<QbcZk37z0ULcy8!rFROl zCHao6g6k)zahd);bt^VZ(Y(LavwMXLmm(<-%E)4YC2B38<)kNkb04Sf#m=|tw+By% zGd{yXdSIluKbWi_fq)}V@&{o1{kf?0?p>T1ER+2E?-lD&O!iD?v#H80tP+vT%_-pA zh08Z-yaOAH%UywYveccCoY`H$DOft`Iy!14AU=?H=_6CFI@9K6SIUiFNyn8c0a#u- z*Uo*J_;hL_zND4O;rma0X~uQ7HW9S_kJgpT&32ntZkJmM8X4srs1!7(QUp;u0VtJG zSG^jxdfJhAa^4gbjK|Tf#BHwwg}n~T%rW>S$)h&I84BCD@i8JvKB6p8#Y4aS_Hs#9 z?Ft(yz`#i>3_Vpu%JtKspdDRhT7PX!X)!Q%H?|q3rC^g0v2V~%)RcAjkr`u~0!@LK zf~oIRCdOiI9c4ae`|whFMmaMaq!%Rh5XFU$S5?mJ-odP(0fpB2N5s%Yh@`HJZk9t8 zSLl}&ge5@{)5ww_i4v3yFO3+b%F5D!WL9&|>j#RAjvh_s^Y;qA(F-?~$IM=MuwfJz z{fVV-cy)&zqaCBNbIh5`t8<%Lk?Hu#(T%a<aKo(49doT2$`cdY8BwF_oi4{?B<<va z>A6zMR~E5~O9ZCV580%-KSOJ@1h}5YMrB8N_$E2rQNR<~c_}w+ea+V1Qv(Nr5w)`; z0a%i=>_kn!35^=R$uL-GO2#p0#6mMlnPtXiM8`Kq72=rWQ&UqDdE7OyQ{N|Yb8`hZ z!UTo(ub}*O68@imAb<%9H5C^p%qZzDuI5(qkE7|Ye-Omd`b5I+<YQ-&VQT4)(sA-M zw07XPWu2uTjQE5yizAm@La8BIa!Va+!LdIW_JVfLvG3cM-F4Z^^f1S3<Q+V@8K`3j ziei)zF{gPE9i5;3E`<wP>friZ`l2~DJFX{XLGf0Ub$-+7d-!M83CVcQulJ^6=7$OC z=_9j3{`QKaO%GfJ6cZ9|#ug(q?-o-!UxP=T^p+|DlIw)ojGC_$3fvyUV;tyQjb8g( zxMMW&KR3r1icGd6=0-<MOeT#n5-NeBZ$}+xdH2HBpkyZdoshX-lO>|Ki71{uVKH8O zzC(rAp%u%C)f_JwJCYY7m$5l=B0lOU<Y=i5OYt|a`;i%Je(t_rQXxEb`_$B|YC(f# z5{GA=o{R2tNiW!LyGCd9<`_Fxvbkd{HimDq^6D1_Hd6P3h;V0GA}%Q6O2XeZ6gh^M zzQrS-knkYrDtKhDkc(l4xk&wnQkKR1+5M>~{qh~w@PnA}z{xsgk|9B?0<#aVG`^I{ z+gWVB#1y9hexBX86jV*A2(bw3ECgh1m%9YJCOG5lvvCIM2uX`|RBe}u^;mk!Tny+M zAUaE3X~prh@4vBk_%Z`5G(q=}SnUy&9cJnXref_a^{;wXBhusSgwojIUr8QCjW$Z0 z&1om=Eq&3ja7mf_WMrHosF4(;@(woMh#WA;#z=y~r7yVz+1Syb(FoCfZ?PuqDJiG_ zda7gIpoNbfj+gnwOegKQ(9(|LSdL)eePy`pbJj*EE*lp>p-Z@g#iq;PFyV%63A5id zZ7qe396^Lt!vr^d*GU+m7_NkV>KBO|p$7uG!`6vA^=$ihqIiDm93beiQmK~SJ1k3P zPxnA%tN(z_)PLaW0<WAX+3y1UM0mpF&yJ^86x!Uig;I#uWwWcdnd|kIP;#79$uUBh zt;N$$eiv+hr~ci~7=0iz7TI<b`JEoS(hr%4s2KVZD2+5@i~>FPA3&j5%1>+o`shQ& zMUSpMsnJ=BKobpWVY~r^+2|;vy5&ALjrj12nfdn|NY%jBKog3kh>4hPb|3zUkrywJ zQ;yOyuBG<!FO&@nnHr935%dxrnMjqX0}>nyDF|n}Upj+5(5swf9P)-)K?JXXgzq4u z7l+J(esyHBk*Le~QuHbQ0;FuQV7pFf>%=(zBXjE`T4`tIKytAXC~`zgkIrf{YigqD z99PS}AZg52s`ILih01LyP014*19@#EDlRViW$+(&0~}1W;b0Es|B-Gu0L-5Z6Ks%s zXllu2^YHS)6_uJe=YM?3FcHs)a8MPyjBOVD12~gJREC=+1&y^8LA-wu5$F5JjI*?k zd?tkt`H=cbp$cxL?K-wxK-2z=)y=J4*Kf&VhS=i+zI^S3K$a1rc=<u_vlkVDPj_$= zo^nIC(Jl)+wqFtHXo^QqU+{imDbKLz>lem}E5Yw0g?)iz3Y=b-fysSR;1lM2(xCDj z28m6zqBK-_`g&6?sAkC{70ow(w&pE|eU81#rx47HjIR;{$g!0XlliEK^kDlpH*s&D z)iQvM`8mnMP8vgY_m<*oh&5Rh0e4|wjS`0sCZoYOLV9{PajygwY7f!jvC${<y`s>h zm<~{T$5?%gnh-ddN1~oBxN&xL0^hxk18VSd8mjLk{ZuWVRs4{39S$c`*E9cOk*`7p z1$?Tsi0bPRA8JDyZXMLaQa{fAdcRgdAP~Lq#EM8CIMSx39HroX###)A6XL7;)-3=; zZB8ohh3>_K8smk4Af*FQ+p*i!Hvf#1tNMgMS64K{LT=>d6-lk6gVvCZGv!i(yn7hN zh9rnerSsK%$@Lc5fxv+{NcbHuj)ieM(hKtYCr;n#QvziZjZ5Ob;%@^2@rgmmBjY~= z8@G{*CV7e~NC2D(%?tx57W@VDuPMptIiQq1%p^jTa}v*Ee*ktxKX9L+!ENF&=g|9T zGWW^9hz_R{2Jn_++V9fWw!%EiLU+gaT(PTQq@vt$L7ncppy`F=c(M<jqhIg=J1iy0 zYI+V0m6fQJ`DVne97&QHx1mpP;s#yFwwa1jmMV+)b0g}6vlPaf?`T_kfJEA?ZpJjs zq`2?Uwq9&MdP}(@ZGZ}nBnw-)b8TL`OOo*9u$CPtOdG|`IkeOsqYfKZd#rQI9JMe= zbv~IP5WMc^pbU^O@yk&dJZMd|cpSyXc6Po}qR;<b)NhTHXAB<yfneu<c`r8icwTK` zopDwt?ix6<pek494rRl0&FR~UeQQvFe_Y<`(`^|ZcS^8v1)$c8i=R)e8ffNq*G9C( zrTTb}MOuOtXlSJPl@%(EX$W@z1HiPdGPpfN4eeluWD2!Bz0k0|+hE<0N)E;fe_Cw# z7NXFA?zjNzDW(rw5p}Dr&3|VhJ|Krj?3qO=rWeAN%CQVQAPMcsMg5uQXT9=ctSN}; z(z!{t7Jki*uTEAb$2-)bZk1gZ!!N$b^ZBYLo+4%TJ`%z!^yLM10=mBQ_!S~O(7d#b zyZ;BkbJkP5NI<~X!M&XCAXMT_JazaG(^ymC`EKPXUy)}XM1)VtDnd_65?JAkWQlo< z;Xj=3K%nrsSK$Q<=?TMpb8uc<Tf*I6zXvZ`)L)~<U|CIJelHd=z$NL|;jK1Y&rJRA zv5xcCT#13h#>?^Z_ymB&4#EponJN+6;TPKtZz-wvArR@BLbmWYDXW@wzN^OkkBr-f zWpHO)2;>y(M;ok?lE&yfLu6CKg=~lH>DX=ls2hrU>RS5@L5w#y=aTX+(D@aPfoJwR z2F|AM_Dayj2+Nd21`tP(`#hSjJ^aosEcbT<6XRL<o|{=q;?2L)O1SZwW?5J}UjPK% z)wDit>$&0+s?o&FgKF)%M%lR3*4ln10r*He={lbISWV^POjvn9zbW7-BIn6|WT303 zbT-jsVCc$T@#P4ZW#J>Vj!!DEn!GU7758H%{N}=Uw?TTgq0!f$CS-8ScC(Y_|7=k7 z>Y>Q^1JNWr+ew7O&g0DTT2A{0A3Xkb$Y(xWNQAnyFq9vAyf#7HID_0~5hq@TD5Y+# zi3R_&XDgQ<f-z;&iw&MBgT`lS1e?xK%|n70l3!ON+-<e0@7Le#Xz+_+`-R{9I|t7z zwZ3*KuBP@Cc#Ih)!MK{~b+8)p7Vj^j<BbLvwRAUn7Dp}<O-HcA94uV)B~St|m<jT( zcHS}aj$pc?D9(Bm<zrOc;^TjnjQXqS!+!{ma!UJ#QS8msE|KHS)fGBwi>>C!gN(1P zMRgsoFkoZtmy1Zg$%kjrKogzcE1r~p-(?=4fl&w6LJk_k>w^p{1m4GyF-R%tXOA_K z!rlM74U!dIA-IATkwy>Fk?)W7Joq^A5WKA|Sy#M5FS_V+>Q!>k9K8v<vA<Lq7RSMr z#4H5J`Yp<t8O@$tBJ^EM1moP7e4_A6a1u$yJDPL_QTbyHCJLf*=o>u5A#l8-uWttG ztLixum;bv40?a0EUazDkLVna(PwncIm?qLWdRv^7Dk@*@7wZm(h!$_QP3v#toAb)h zT^p6vSDbT)ZyHC43Nm^+*}|vD6^<A-2(^RlKJ$7|(Cd}IQn)HxcCufI4?pNnD;^Nl zh+Nwl+HR}vz6{R2{iM-%=|Td`Gp|Fl*mO!|MAyM!)|o+ah^=F%aUIb$$l&7|$9c$e z9Z5F2djX&x_xOwL@JHQ-9HUo6W?~HW5VCRO!55Lzut@At2+@ed^W4X1NF_j3hOwsK zPaUA+v-VSV|GO$O?w^F7W2?S%${jyR71`EWn6Wus;5BA*lxlGvTj{i2(itz&$2Xr< zk1OKzmTij1jJ33iL1)^iNTVu&h`aeWG3XW?-dB7}4wdO*@!=&3s4h(6oK8OzQ;XTd z{mq4Y#0SPz|2dbkDeETSOhR(qo%J=l3#P1NqF7c+mUi|8lHM%R^?H(2p(PmgtTBJ) zRPzy?piL{T-}7UuvX=q#mi9qp9iD(uoO^wXpVxGr^k;?w^Tl#b(>i57XE4KEk2Uxh zIfrHiQXU8SYE=!ik{J2D&MKnFCYB2s&V$=kd%M8vhO^S-t$pzdYX?jKOuUV&;{~Fj zshWj2s~g8_c<r=|lxALoYX;s7;f(O~CGM##e`M>@<w3qjd-XyE>drAG<G#aVp5tfg zySWlR!v9P*ncGS_+k2QIlTJ&#jOv?yit8G7TNScai<x-;FC8NK{rSVCx!5S&mPo6X zrn≤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 literal 0 HcmV?d00001 diff --git a/website/EN/app_turtl.html b/website/EN/app_turtl.html new file mode 100644 index 000000000..74412eab9 --- /dev/null +++ b/website/EN/app_turtl.html @@ -0,0 +1,345 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" +"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<!-- 2016-12-20 Tue 16:08 --> +<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<meta name="viewport" content="width=device-width, initial-scale=1" /> +<title></title> +<meta name="generator" content="Org mode" /> +<meta name="author" content="Bob Mottram" /> +<meta name="description" content="How to use Ghost" + /> +<meta name="keywords" content="freedombone, turtl, notes, images, sharing" /> +<style type="text/css"> + <!--/*--><![CDATA[/*><!--*/ + .title { text-align: center; + margin-bottom: .2em; } + .subtitle { text-align: center; + font-size: medium; + font-weight: bold; + margin-top:0; } + .todo { font-family: monospace; color: red; } + .done { font-family: monospace; color: green; } + .priority { font-family: monospace; color: orange; } + .tag { background-color: #eee; font-family: monospace; + padding: 2px; font-size: 80%; font-weight: normal; } + .timestamp { color: #bebebe; } + .timestamp-kwd { color: #5f9ea0; } + .org-right { margin-left: auto; margin-right: 0px; text-align: right; } + .org-left { margin-left: 0px; margin-right: auto; text-align: left; } + .org-center { margin-left: auto; margin-right: auto; text-align: center; } + .underline { text-decoration: underline; } + #postamble p, #preamble p { font-size: 90%; margin: .2em; } + p.verse { margin-left: 3%; } + pre { + border: 1px solid #ccc; + box-shadow: 3px 3px 3px #eee; + padding: 8pt; + font-family: monospace; + overflow: auto; + margin: 1.2em; + } + pre.src { + position: relative; + overflow: visible; + padding-top: 1.2em; + } + pre.src:before { + display: none; + position: absolute; + background-color: white; + top: -10px; + right: 10px; + padding: 3px; + border: 1px solid black; + } + pre.src:hover:before { display: inline;} + /* Languages per Org manual */ + pre.src-asymptote:before { content: 'Asymptote'; } + pre.src-awk:before { content: 'Awk'; } + pre.src-C:before { content: 'C'; } + /* pre.src-C++ doesn't work in CSS */ + pre.src-clojure:before { content: 'Clojure'; } + pre.src-css:before { content: 'CSS'; } + pre.src-D:before { content: 'D'; } + pre.src-ditaa:before { content: 'ditaa'; } + pre.src-dot:before { content: 'Graphviz'; } + pre.src-calc:before { content: 'Emacs Calc'; } + pre.src-emacs-lisp:before { content: 'Emacs Lisp'; } + pre.src-fortran:before { content: 'Fortran'; } + pre.src-gnuplot:before { content: 'gnuplot'; } + pre.src-haskell:before { content: 'Haskell'; } + pre.src-java:before { content: 'Java'; } + pre.src-js:before { content: 'Javascript'; } + pre.src-latex:before { content: 'LaTeX'; } + pre.src-ledger:before { content: 'Ledger'; } + pre.src-lisp:before { content: 'Lisp'; } + pre.src-lilypond:before { content: 'Lilypond'; } + pre.src-lua:before { content: 'Lua'; } + pre.src-matlab:before { content: 'MATLAB'; } + pre.src-mscgen:before { content: 'Mscgen'; } + pre.src-ocaml:before { content: 'Objective Caml'; } + pre.src-octave:before { content: 'Octave'; } + pre.src-org:before { content: 'Org mode'; } + pre.src-oz:before { content: 'OZ'; } + pre.src-plantuml:before { content: 'Plantuml'; } + pre.src-processing:before { content: 'Processing.js'; } + pre.src-python:before { content: 'Python'; } + pre.src-R:before { content: 'R'; } + pre.src-ruby:before { content: 'Ruby'; } + pre.src-sass:before { content: 'Sass'; } + pre.src-scheme:before { content: 'Scheme'; } + pre.src-screen:before { content: 'Gnu Screen'; } + pre.src-sed:before { content: 'Sed'; } + pre.src-sh:before { content: 'shell'; } + pre.src-sql:before { content: 'SQL'; } + pre.src-sqlite:before { content: 'SQLite'; } + /* additional languages in org.el's org-babel-load-languages alist */ + pre.src-forth:before { content: 'Forth'; } + pre.src-io:before { content: 'IO'; } + pre.src-J:before { content: 'J'; } + pre.src-makefile:before { content: 'Makefile'; } + pre.src-maxima:before { content: 'Maxima'; } + pre.src-perl:before { content: 'Perl'; } + pre.src-picolisp:before { content: 'Pico Lisp'; } + pre.src-scala:before { content: 'Scala'; } + pre.src-shell:before { content: 'Shell Script'; } + pre.src-ebnf2ps:before { content: 'ebfn2ps'; } + /* additional language identifiers per "defun org-babel-execute" + in ob-*.el */ + pre.src-cpp:before { content: 'C++'; } + pre.src-abc:before { content: 'ABC'; } + pre.src-coq:before { content: 'Coq'; } + pre.src-groovy:before { content: 'Groovy'; } + /* additional language identifiers from org-babel-shell-names in + ob-shell.el: ob-shell is the only babel language using a lambda to put + the execution function name together. */ + pre.src-bash:before { content: 'bash'; } + pre.src-csh:before { content: 'csh'; } + pre.src-ash:before { content: 'ash'; } + pre.src-dash:before { content: 'dash'; } + pre.src-ksh:before { content: 'ksh'; } + pre.src-mksh:before { content: 'mksh'; } + pre.src-posh:before { content: 'posh'; } + /* Additional Emacs modes also supported by the LaTeX listings package */ + pre.src-ada:before { content: 'Ada'; } + pre.src-asm:before { content: 'Assembler'; } + pre.src-caml:before { content: 'Caml'; } + pre.src-delphi:before { content: 'Delphi'; } + pre.src-html:before { content: 'HTML'; } + pre.src-idl:before { content: 'IDL'; } + pre.src-mercury:before { content: 'Mercury'; } + pre.src-metapost:before { content: 'MetaPost'; } + pre.src-modula-2:before { content: 'Modula-2'; } + pre.src-pascal:before { content: 'Pascal'; } + pre.src-ps:before { content: 'PostScript'; } + pre.src-prolog:before { content: 'Prolog'; } + pre.src-simula:before { content: 'Simula'; } + pre.src-tcl:before { content: 'tcl'; } + pre.src-tex:before { content: 'TeX'; } + pre.src-plain-tex:before { content: 'Plain TeX'; } + pre.src-verilog:before { content: 'Verilog'; } + pre.src-vhdl:before { content: 'VHDL'; } + pre.src-xml:before { content: 'XML'; } + pre.src-nxml:before { content: 'XML'; } + /* add a generic configuration mode; LaTeX export needs an additional + (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */ + pre.src-conf:before { content: 'Configuration File'; } + + table { border-collapse:collapse; } + caption.t-above { caption-side: top; } + caption.t-bottom { caption-side: bottom; } + td, th { vertical-align:top; } + th.org-right { text-align: center; } + th.org-left { text-align: center; } + th.org-center { text-align: center; } + td.org-right { text-align: right; } + td.org-left { text-align: left; } + td.org-center { text-align: center; } + dt { font-weight: bold; } + .footpara { display: inline; } + .footdef { margin-bottom: 1em; } + .figure { padding: 1em; } + .figure p { text-align: center; } + .inlinetask { + padding: 10px; + border: 2px solid gray; + margin: 10px; + background: #ffffcc; + } + #org-div-home-and-up + { text-align: right; font-size: 70%; white-space: nowrap; } + textarea { overflow-x: auto; } + .linenr { font-size: smaller } + .code-highlighted { background-color: #ffff00; } + .org-info-js_info-navigation { border-style: none; } + #org-info-js_console-label + { font-size: 10px; font-weight: bold; white-space: nowrap; } + .org-info-js_search-highlight + { background-color: #ffff00; color: #000000; font-weight: bold; } + .org-svg { width: 90%; } + /*]]>*/--> +</style> +<link rel="stylesheet" type="text/css" href="freedombone.css" /> +<script type="text/javascript"> +/* +@licstart The following is the entire license notice for the +JavaScript code in this tag. + +Copyright (C) 2012-2013 Free Software Foundation, Inc. + +The JavaScript code in this tag is free software: you can +redistribute it and/or modify it under the terms of the GNU +General Public License (GNU GPL) as published by the Free Software +Foundation, either version 3 of the License, or (at your option) +any later version. The code is distributed WITHOUT ANY WARRANTY; +without even the implied warranty of MERCHANTABILITY or FITNESS +FOR A PARTICULAR PURPOSE. See the GNU GPL for more details. + +As additional permission under GNU GPL version 3 section 7, you +may distribute non-source (e.g., minimized or compacted) forms of +that code without the copy of the GNU GPL normally required by +section 4, provided you include this license notice and a URL +through which recipients can access the Corresponding Source. + + +@licend The above is the entire license notice +for the JavaScript code in this tag. +*/ +<!--/*--><![CDATA[/*><!--*/ + function CodeHighlightOn(elem, id) + { + var target = document.getElementById(id); + if(null != target) { + elem.cacheClassElem = elem.className; + elem.cacheClassTarget = target.className; + target.className = "code-highlighted"; + elem.className = "code-highlighted"; + } + } + function CodeHighlightOff(elem, id) + { + var target = document.getElementById(id); + if(elem.cacheClassElem) + elem.className = elem.cacheClassElem; + if(elem.cacheClassTarget) + target.className = elem.cacheClassTarget; + } +/*]]>*///--> +</script> +</head> +<body> +<div id="preamble" class="status"> +<a name="top" id="top"></a> +</div> +<div id="content"> +<div class="org-center"> + +<div class="figure"> +<p><img src="images/logo.png" alt="logo.png" /> +</p> +</div> +</div> + +<center> +<h1>Turtl</h1> +</center> + +<p> +Turtl is a system for privately creating and sharing notes and images, similar to Evernote. It can be set up so that a small number of users on the server can share their notes in a convenient way. It doesn't have any web user interface, and you need to install native clients on mobile or laptop/desktop machines. +</p> + +<p> +Since the data at rest is stored in PGP encrypted format this is a good system to use in cases where security really is a critical factor. +</p> + + +<div class="org-center"> + +<div class="figure"> +<p><img src="images/turtl.jpg" alt="turtl.jpg" /> +</p> +</div> +</div> + +<div id="outline-container-org8b85948" class="outline-2"> +<h2 id="org8b85948">Installation</h2> +<div class="outline-text-2" id="text-org8b85948"> +<p> +Log into your system with: +</p> + +<div class="org-src-container"> +<pre class="src src-bash">ssh myusername@mydomain -p 2222 +</pre> +</div> + +<p> +Using cursor keys, space bar and Enter key select <b>Administrator controls</b> and type in your password. +</p> + +<p> +Select <b>Add/Remove Apps</b> then <b>turtl</b>. You will then be asked for a domain name and if you are using FreeDNS also the code for the domain which can be found under <b>Dynamic DNS</b> on the FreeDNS site (the random string from "<i>quick cron example</i>" which appears after <i>update.php?</i> and before <i>>></i>). For more details on obtaining a domain and making it accessible via dynamic DNS see the <a href="./faq.html">FAQ</a>. Typically the domain name you use will be a subdomain, such as <i>notes.mydomainname.net</i>. It will need to be a domain which you have bought somewhere and own and not one of the FreeDNS subdomains, otherwise you won't be able to get a SSL/TLS certificate for it. +</p> + +<p> +After the install has completed go to <b>Security settings</b> and select <b>Create a new Let's Encrypt certificate</b> and enter the domain name that you are using for Turtl. If you're using the "onion only" version of the system then you don't need to do this. If the certificate is obtained successfully then you will see a congratulations message. +</p> +</div> +</div> + +<div id="outline-container-org2839574" class="outline-2"> +<h2 id="org2839574">Initial setup</h2> +<div class="outline-text-2" id="text-org2839574"> +<p> +The most common use case will be with Android devices. The Android app isn't currently available within F-droid (see <a href="https://turtlapp.com/faq">the FAQ</a> for details) but can be <a href="https://turtlapp.com/download/">downloaded from the Turtl site</a>. +</p> + +<p> +Run the app then at the bottom of the screen select <b>advanced settings</b> and enter your turl domain name, then register a new account. The password can be anything you choose, but since the client side encryption depends upon having a good password make it a long random string generated by a password manager such as KeepassX. +</p> + +<p> +You should then be able to log in and start using the app. You might also want to invite any other users of your Freedombone system to also sign up using the turtl domain name which you specified during installation. +</p> +</div> +</div> + + +<div id="outline-container-org0637f00" class="outline-2"> +<h2 id="org0637f00">Locking it down</h2> +<div class="outline-text-2" id="text-org0637f00"> +<p> +Once you have created accounts it's a good idea to turn off new turtl signups. This will prevent millions of random users on the interwebs from creating accounts on your system and killing your server, or possibly other nefarious security scenarios. Go to the <b>administrator control panel</b> and select <b>App Settings</b> then <b>turtl</b>. You will then be able to disable new user registrations and also set the data storage limit for users. If you need additional users later you can always temporarily re-enable signups later. +</p> +</div> +</div> +</div> +<div id="postamble" class="status"> + +<style type="text/css"> +.back-to-top { + position: fixed; + bottom: 2em; + right: 0px; + text-decoration: none; + color: #000000; + background-color: rgba(235, 235, 235, 0.80); + font-size: 12px; + padding: 1em; + display: none; +} + +.back-to-top:hover { + background-color: rgba(135, 135, 135, 0.50); +} +</style> + +<div class="back-to-top"> +<a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a> +</div> +</div> +</body> +</html> diff --git a/website/EN/apps.html b/website/EN/apps.html index 5d54640de..1cf8b4a82 100644 --- a/website/EN/apps.html +++ b/website/EN/apps.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> -<!-- 2016-11-28 Mon 19:23 --> +<!-- 2016-12-20 Tue 15:34 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title></title> @@ -263,9 +263,9 @@ The base install of the system just contains an email server and Mutt client, bu </div> </div> -<div id="outline-container-orgc561169" class="outline-2"> -<h2 id="orgc561169">DLNA</h2> -<div class="outline-text-2" id="text-orgc561169"> +<div id="outline-container-org06af72a" class="outline-2"> +<h2 id="org06af72a">DLNA</h2> +<div class="outline-text-2" id="text-org06af72a"> <p> Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network. </p> @@ -275,9 +275,9 @@ Enables you to use the system as a music server which any DLNA compatible device </p> </div> </div> -<div id="outline-container-org76beeab" class="outline-2"> -<h2 id="org76beeab">Dokuwiki</h2> -<div class="outline-text-2" id="text-org76beeab"> +<div id="outline-container-org82e3b5a" class="outline-2"> +<h2 id="org82e3b5a">Dokuwiki</h2> +<div class="outline-text-2" id="text-org82e3b5a"> <p> A databaseless wiki system. </p> @@ -287,9 +287,9 @@ A databaseless wiki system. </p> </div> </div> -<div id="outline-container-org7af6c69" class="outline-2"> -<h2 id="org7af6c69">Emacs</h2> -<div class="outline-text-2" id="text-org7af6c69"> +<div id="outline-container-org9c90fa1" class="outline-2"> +<h2 id="org9c90fa1">Emacs</h2> +<div class="outline-text-2" id="text-org9c90fa1"> <p> If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail. </p> @@ -299,9 +299,9 @@ If you use the Mutt client to read your email then this will set it up to use em </p> </div> </div> -<div id="outline-container-org14afa61" class="outline-2"> -<h2 id="org14afa61">Etherpad</h2> -<div class="outline-text-2" id="text-org14afa61"> +<div id="outline-container-org2a81d3f" class="outline-2"> +<h2 id="org2a81d3f">Etherpad</h2> +<div class="outline-text-2" id="text-org2a81d3f"> <p> Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it. </p> @@ -311,9 +311,9 @@ Collaborate on creating documents in real time. Maybe you're planning a holiday </p> </div> </div> -<div id="outline-container-orgb5c7f21" class="outline-2"> -<h2 id="orgb5c7f21">Ghost</h2> -<div class="outline-text-2" id="text-orgb5c7f21"> +<div id="outline-container-org7701c14" class="outline-2"> +<h2 id="org7701c14">Ghost</h2> +<div class="outline-text-2" id="text-org7701c14"> <p> Modern looking blogging system. </p> @@ -323,9 +323,9 @@ Modern looking blogging system. </p> </div> </div> -<div id="outline-container-orgfc37116" class="outline-2"> -<h2 id="orgfc37116">GNU Social</h2> -<div class="outline-text-2" id="text-orgfc37116"> +<div id="outline-container-orgb096bfe" class="outline-2"> +<h2 id="orgb096bfe">GNU Social</h2> +<div class="outline-text-2" id="text-orgb096bfe"> <p> Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation. </p> @@ -335,9 +335,9 @@ Federated social network. You can "<i>remote follow</i>" other users within the </p> </div> </div> -<div id="outline-container-orgdfd2c0b" class="outline-2"> -<h2 id="orgdfd2c0b">Gogs</h2> -<div class="outline-text-2" id="text-orgdfd2c0b"> +<div id="outline-container-org9de96f8" class="outline-2"> +<h2 id="org9de96f8">Gogs</h2> +<div class="outline-text-2" id="text-org9de96f8"> <p> Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar <i>fork-and-pull</i> workflow. If you can use Github then you can also use Gogs. </p> @@ -347,9 +347,9 @@ Lightweight git project hosting system. You can mirror projects from Github, or </p> </div> </div> -<div id="outline-container-org6f78c37" class="outline-2"> -<h2 id="org6f78c37">HTMLy</h2> -<div class="outline-text-2" id="text-org6f78c37"> +<div id="outline-container-orgfeb902f" class="outline-2"> +<h2 id="orgfeb902f">HTMLy</h2> +<div class="outline-text-2" id="text-orgfeb902f"> <p> Databaseless blogging system. Quite simple and with a markdown-like format. </p> @@ -359,9 +359,9 @@ Databaseless blogging system. Quite simple and with a markdown-like format. </p> </div> </div> -<div id="outline-container-org8c3eafd" class="outline-2"> -<h2 id="org8c3eafd">Hubzilla</h2> -<div class="outline-text-2" id="text-org8c3eafd"> +<div id="outline-container-org53f98d5" class="outline-2"> +<h2 id="org53f98d5">Hubzilla</h2> +<div class="outline-text-2" id="text-org53f98d5"> <p> Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage. </p> @@ -371,9 +371,9 @@ Web publishing platform with social network like features and good privacy contr </p> </div> </div> -<div id="outline-container-orgbea0c52" class="outline-2"> -<h2 id="orgbea0c52">IRC Server (ngirc)</h2> -<div class="outline-text-2" id="text-orgbea0c52"> +<div id="outline-container-org04b2461" class="outline-2"> +<h2 id="org04b2461">IRC Server (ngirc)</h2> +<div class="outline-text-2" id="text-org04b2461"> <p> Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients. </p> @@ -383,18 +383,18 @@ Run your own IRC chat channel which can be secured with a password and accessibl </p> </div> </div> -<div id="outline-container-org8ab9a8f" class="outline-2"> -<h2 id="org8ab9a8f">Jitsi Meet</h2> -<div class="outline-text-2" id="text-org8ab9a8f"> +<div id="outline-container-org01bf547" class="outline-2"> +<h2 id="org01bf547">Jitsi Meet</h2> +<div class="outline-text-2" id="text-org01bf547"> <p> Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future. </p> </div> </div> -<div id="outline-container-org87accf2" class="outline-2"> -<h2 id="org87accf2">Lychee</h2> -<div class="outline-text-2" id="text-org87accf2"> +<div id="outline-container-org4fa4c1f" class="outline-2"> +<h2 id="org4fa4c1f">Lychee</h2> +<div class="outline-text-2" id="text-org4fa4c1f"> <p> Make your photo albums available on the web. </p> @@ -404,9 +404,9 @@ Make your photo albums available on the web. </p> </div> </div> -<div id="outline-container-orge84db07" class="outline-2"> -<h2 id="orge84db07">Mailpile</h2> -<div class="outline-text-2" id="text-orge84db07"> +<div id="outline-container-org021659d" class="outline-2"> +<h2 id="org021659d">Mailpile</h2> +<div class="outline-text-2" id="text-org021659d"> <p> Modern email client which supports GPG encryption. </p> @@ -416,9 +416,9 @@ Modern email client which supports GPG encryption. </p> </div> </div> -<div id="outline-container-org5f25ae9" class="outline-2"> -<h2 id="org5f25ae9">Mumble</h2> -<div class="outline-text-2" id="text-org5f25ae9"> +<div id="outline-container-orgbf29cc7" class="outline-2"> +<h2 id="orgbf29cc7">Mumble</h2> +<div class="outline-text-2" id="text-orgbf29cc7"> <p> The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile. </p> @@ -428,9 +428,9 @@ The popular VoIP and text chat system. Say goodbye to old-fashioned telephony co </p> </div> </div> -<div id="outline-container-org56cecbb" class="outline-2"> -<h2 id="org56cecbb">PI-Hole</h2> -<div class="outline-text-2" id="text-org56cecbb"> +<div id="outline-container-org6bca095" class="outline-2"> +<h2 id="org6bca095">PI-Hole</h2> +<div class="outline-text-2" id="text-org6bca095"> <p> The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware. </p> @@ -440,9 +440,9 @@ The black hole for web adverts. Block adverts at the domain name level within yo </p> </div> </div> -<div id="outline-container-org6a9f389" class="outline-2"> -<h2 id="org6a9f389">PostActiv</h2> -<div class="outline-text-2" id="text-org6a9f389"> +<div id="outline-container-orgbd5ecde" class="outline-2"> +<h2 id="orgbd5ecde">PostActiv</h2> +<div class="outline-text-2" id="text-orgbd5ecde"> <p> An alternative federated social networking system compatible with GNU Social. It includes some optimisations and fixes currently not available within the main GNU Social project. </p> @@ -452,9 +452,9 @@ An alternative federated social networking system compatible with GNU Social. It </p> </div> </div> -<div id="outline-container-org3a8271f" class="outline-2"> -<h2 id="org3a8271f">Radicale</h2> -<div class="outline-text-2" id="text-org3a8271f"> +<div id="outline-container-org93e655a" class="outline-2"> +<h2 id="org93e655a">Radicale</h2> +<div class="outline-text-2" id="text-org93e655a"> <p> Calendar system compatible with CalDAV and CardDAV. Synch your calendar events easily and securely across all your devices. </p> @@ -464,9 +464,9 @@ Calendar system compatible with CalDAV and CardDAV. Synch your calendar events e </p> </div> </div> -<div id="outline-container-org6f4a73c" class="outline-2"> -<h2 id="org6f4a73c">tt-rss</h2> -<div class="outline-text-2" id="text-org6f4a73c"> +<div id="outline-container-orga5d4e72" class="outline-2"> +<h2 id="orga5d4e72">tt-rss</h2> +<div class="outline-text-2" id="text-orga5d4e72"> <p> Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "<i>the right to read</i>" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox. </p> @@ -476,9 +476,9 @@ Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via a </p> </div> </div> -<div id="outline-container-orgc3881e2" class="outline-2"> -<h2 id="orgc3881e2">Syncthing</h2> -<div class="outline-text-2" id="text-orgc3881e2"> +<div id="outline-container-org3ff38e9" class="outline-2"> +<h2 id="org3ff38e9">Syncthing</h2> +<div class="outline-text-2" id="text-org3ff38e9"> <p> Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed. </p> @@ -488,9 +488,9 @@ Possibly the best way to synchronise files across all of your devices. Once it h </p> </div> </div> -<div id="outline-container-org2244242" class="outline-2"> -<h2 id="org2244242">Tox</h2> -<div class="outline-text-2" id="text-org2244242"> +<div id="outline-container-org0629dc7" class="outline-2"> +<h2 id="org0629dc7">Tox</h2> +<div class="outline-text-2" id="text-org0629dc7"> <p> Client and bootstrap node for the Tox chat/VoIP system. </p> @@ -500,18 +500,30 @@ Client and bootstrap node for the Tox chat/VoIP system. </p> </div> </div> -<div id="outline-container-org3a977cd" class="outline-2"> -<h2 id="org3a977cd">Vim</h2> -<div class="outline-text-2" id="text-org3a977cd"> +<div id="outline-container-org058f776" class="outline-2"> +<h2 id="org058f776">Turtl</h2> +<div class="outline-text-2" id="text-org058f776"> +<p> +A system for privately creating and sharing notes and images, similar to Evernote but without the spying. +</p> + +<p> +<a href="./app_turtl.html">How to use it</a> +</p> +</div> +</div> +<div id="outline-container-orgb8da554" class="outline-2"> +<h2 id="orgb8da554">Vim</h2> +<div class="outline-text-2" id="text-orgb8da554"> <p> If you use the Mutt client to read your email then this will set it up to use vim for composing new mail. </p> </div> </div> -<div id="outline-container-org70eae09" class="outline-2"> -<h2 id="org70eae09">XMPP</h2> -<div class="outline-text-2" id="text-org70eae09"> +<div id="outline-container-org286851f" class="outline-2"> +<h2 id="org286851f">XMPP</h2> +<div class="outline-text-2" id="text-org286851f"> <p> Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as <i>client state notification</i> to save battery power on your mobile devices, support for seamless roaming between networks and <i>message carbons</i> so that you can receive the same messages while being simultaneously logged in to your account on more than one device. </p> diff --git a/website/EN/usage.html b/website/EN/usage.html index 30cc694be..34d3165d9 100644 --- a/website/EN/usage.html +++ b/website/EN/usage.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> -<!-- 2016-11-20 Sun 17:09 --> +<!-- 2016-12-20 Tue 16:16 --> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title></title> @@ -255,15 +255,11 @@ for the JavaScript code in this tag. </colgroup> <tbody> <tr> -<td class="org-left"><a href="#orgdbaccc3">Readme</a></td> +<td class="org-left"><a href="#org0e58259">Improving security</a></td> </tr> <tr> -<td class="org-left"><a href="#org9144c86">Improving ssh security</a></td> -</tr> - -<tr> -<td class="org-left"><a href="#org60b4bc6">Administrating the system via an onion address (Tor)</a></td> +<td class="org-left"><a href="#org2189c3f">Administrating the system via an onion address (Tor)</a></td> </tr> <tr> @@ -347,88 +343,51 @@ for the JavaScript code in this tag. </tr> <tr> -<td class="org-left"><a href="#org7c0835c">Adding or removing users</a></td> +<td class="org-left"><a href="#org6c689d0">Adding or removing users</a></td> </tr> <tr> <td class="org-left"><a href="./app_pihole.html">Blocking Ads</a></td> </tr> + +<tr> +<td class="org-left"><a href="./app_turtl.html">Making and sharing notes and images</a></td> +</tr> </tbody> </table> -<div id="outline-container-orgdbaccc3" class="outline-2"> -<h2 id="orgdbaccc3">Readme</h2> -<div class="outline-text-2" id="text-orgdbaccc3"> +<div id="outline-container-org0e58259" class="outline-2"> +<h2 id="org0e58259">Improving security</h2> +<div class="outline-text-2" id="text-org0e58259"> <p> -After the system has installed a README file will be generated which contains any advice on particular apps installed. Ordinarily you won't need to read it though. You can access it with the following commands: +It's a lot more secure to log in to the Freedombone system using ssh keys rather than with a password. You can set that up by first running: </p> <div class="org-src-container"> -<pre class="src src-bash">ssh username@domainname -p 2222 -editor ~/README -</pre> -</div> - -<p> -To exit if you're using emacs (which is the default editor, but can be changed to vim) you can either just close the terminal or use <b>CTRL-x CTRL-c</b> followed by the <b>exit</b> command. -</p> -</div> -</div> -<div id="outline-container-org9144c86" class="outline-2"> -<h2 id="org9144c86">Improving ssh security</h2> -<div class="outline-text-2" id="text-org9144c86"> -<p> -To improve ssh security you can generate an ssh key pair on your system and then upload the public key to the Freedombone. -</p> - -<p> -On your local machine: -</p> - -<div class="org-src-container"> -<pre class="src src-bash">ssh-keygen -</pre> -</div> - -<p> -For extra security you may also want to add a passphrase to the ssh private key. You can show the generated public key with: -</p> - -<div class="org-src-container"> -<pre class="src src-bash">cat ~/.ssh/id_rsa.pub +<pre class="src src-bash">freedombone-client </pre> </div> <p> -Log into your system and open the control panel. +On your local system (i.e. whatever you're logging in to the Freedombone system from, typically a laptop). Then: </p> -<div class="org-src-container"> -<pre class="src src-bash">ssh username@domain -p 2222 +<pre class="example"> +ssh myusername@freedombone.local -p 2222 </pre> -</div> - -<p> -Select <i>Administrator controls</i> then <i>Manage Users</i> then <i>Change user ssh public key</i>. Copy and paste the public key here, then exit. -</p> <p> -It's a good idea to also copy the contents of <b>~/.ssh/id_rsa</b> and <b>~/.ssh/id_rsa.pub</b> to you password manager, together with the private key password if you created one. +Select <b>Administrator controls</b> and re-enter your password, then <b>Manage Users</b> and <b>Change user ssh public key</b>. Copy and paste the ssh public keys which appeared after the <b>freedombone-client</b> command was run. Then go to <b>Security settings</b> and select <b>Allow ssh login with passwords</b> followed by <b>no</b>. </p> <p> -There are advantages and disadvantages to using ssh keys for logins. The advantage is that this is much more secure than a memorised password, but the disadvantage is that you need to carry your ssh keys around and be able to install them on any computer of mobile device that you use. In high security or hostile infosec environments it may not be possible to carry or use USB thumb drives containing your keys and so memorised passwords may be the only available choice. -</p> - -<p> -If you wish to only use ssh keys then log in to the Freedombone, become the root user and open the control panel with the 'control' command. Select <i>Security Settings</i> then keep hitting enter until you reach the question about allowing password logins. Select "no" for that, then apply the settings. Any subsequent attempts to log in via a password will then be denied. +You'll need to make sure that you have a copy of the ~/.ssh directory on your local system. You could just copy that directory to a USB drive and then keep that somewhere safe so that you can restore the keys if you need to. </p> </div> </div> - -<div id="outline-container-org60b4bc6" class="outline-2"> -<h2 id="org60b4bc6">Administrating the system via an onion address (Tor)</h2> -<div class="outline-text-2" id="text-org60b4bc6"> +<div id="outline-container-org2189c3f" class="outline-2"> +<h2 id="org2189c3f">Administrating the system via an onion address (Tor)</h2> +<div class="outline-text-2" id="text-org2189c3f"> <p> You can also access your system via the Tor system using an onion address. To find out what the onion address for ssh access is you can do the following: </p> @@ -448,16 +407,7 @@ Select <i>Administrator controls</i> then select "About this system" and look fo </div> <p> -This will set up your ssh environment to be able to handle onion addresses. In addition if you use monkeysphere then you can do: -</p> - -<div class="org-src-container"> -<pre class="src src-bash">freedombone-client --ms yes -</pre> -</div> - -<p> -Then you can test ssh with: +This will set up your ssh environment to be able to handle onion addresses. Then you can test ssh with: </p> <div class="org-src-container"> @@ -470,9 +420,9 @@ Subsequently even if dynamic DNS isn't working you may still be able to administ </p> </div> </div> -<div id="outline-container-org7c0835c" class="outline-2"> -<h2 id="org7c0835c">Adding or removing users</h2> -<div class="outline-text-2" id="text-org7c0835c"> +<div id="outline-container-org6c689d0" class="outline-2"> +<h2 id="org6c689d0">Adding or removing users</h2> +<div class="outline-text-2" id="text-org6c689d0"> <p> Log into the system with: </p> -- GitLab