tor-commits
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
September 2018
- 17 participants
- 3230 discussions

18 Sep '18
commit 5778d035489990782205a7230e962fbd3b9f93e6
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Sun Sep 9 03:45:38 2018 +0200
add bine to community projects (#16576)
---
projects/en/community.wml | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/projects/en/community.wml b/projects/en/community.wml
index 88f845c4..e9d27375 100644
--- a/projects/en/community.wml
+++ b/projects/en/community.wml
@@ -190,14 +190,30 @@ pre-emptive blocking approach prevents exploitation of security vulnerabilities
<!-- for operators -->
+<!-- bine -->
+<div class="projectbox">
+<!--<a href="https://github.com/cretz/bine"><img class="icon"
+src="$(IMGROOT)/icon-carml.png" alt="carml icon" width="75"
+height="75"></a>-->
+<div class="projectdesc">
+<div class="name"><a
+href="https://github.com/cretz/bine">bine</a></div>
+<p>
+bine is a
+<a href="https://stem.torproject.org/faq.html#are-there-any-other-controller-librari…">Tor controller</a>
+written in Go. Its README has an example config to set up an onion service.
+</p>
+</div>
+</div>
+
<!-- carml -->
<div class="projectbox">
-<a href="https://meejah.ca/projects/carml"><img class="icon"
+<a href="https://meejah.ca/projects/carml"><img class="icon"
src="$(IMGROOT)/icon-carml.png" alt="carml icon" width="75"
height="75"></a>
<div class="projectdesc">
<div class="name"><a
-href="https://meejah.ca/projects/carml">carml</a></div>
+href="https://meejah.ca/projects/carml">carml</a></div>
<p>
carml is a command-line collection of utilities to query and manipulate a
running Tor. It does terminal colours, plays nicely with grep, pipes and so
1
0

18 Sep '18
commit 059a1552dc600dbcd10716f66fe5418a73f8a101
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Sun Sep 9 05:27:18 2018 +0200
add section for unmaintained community projects
---
projects/en/community.wml | 68 ++++++++++++++++++++++++++---------------------
1 file changed, 38 insertions(+), 30 deletions(-)
diff --git a/projects/en/community.wml b/projects/en/community.wml
index e9d27375..8f7dc3ee 100644
--- a/projects/en/community.wml
+++ b/projects/en/community.wml
@@ -237,23 +237,6 @@ the Tor network to accomplish this.
</p>
</div></div>
-<!-- tor-ramdisk -->
-<div class="projectbox">
-<!--<a href="https://en.wikipedia.org/wiki/Tor-ramdisk"><img class="Tor-ramdisk icon"
-src="$(IMGROOT)/icon-.png" alt="Tor-ramdisk Logo" width="80"
-height="75"></a>-->
-<div class="projectdesc"><div class="name">
-<a href="https://en.wikipedia.org/wiki/Tor-ramdisk">Tor-ramdisk</a></div>
-<p>
-Tor-ramdisk is an i686 uClibc-based micro Linux distribution whose only purpose
-is to host a Tor server in an environment that maximizes security and privacy.
-Tor is a network of virtual tunnels that allows people and groups to improve
-their privacy and security on the Internet. Security is enhanced in Tor-ramdisk
-by employing a monolithically compiled GRSEC/PaX patched kernel and hardened
-system tools.
-</p>
-</div></div>
-
<!-- OnionBalance -->
<div class="projectbox">
<!--<a href="https://onionbalance.readthedocs.io/en/latest/"><img class="icon"
@@ -276,19 +259,33 @@ was
</div>
</div>
-<!-- OnionTip -->
-<div class="projectbox">
-<!--<a href="https://github.com/DonnchaC/oniontip"><img class="icon"
-src="$(IMGROOT)/icon-oniontip.png" alt="OnionTip Icon" width="75"></a>-->
-<div class="projectdesc">
-<div class="name"><a
-href="https://github.com/DonnchaC/oniontip">OnionTip</a></div>
+<!-- for developers -->
+
+<div id="outdated" class="projectbox">
+<h1>Deprecated Community Projects</h1>
<p>
-OnionTip is a web app which parses Tor relay data to allow users to tip
-volunteers for running relay in a fair and open way. https://oniontip.com
+Following projects have been useful in the past but are no longer maintained
+and may have security issues.<br/>
+They can still be interesting for developers.
</p>
</div>
-</div>
+
+<!-- tor-ramdisk -->
+<div class="projectbox">
+<!--<a href="https://en.wikipedia.org/wiki/Tor-ramdisk"><img class="Tor-ramdisk icon"
+src="$(IMGROOT)/icon-.png" alt="Tor-ramdisk Logo" width="80"
+height="75"></a>-->
+<div class="projectdesc"><div class="name">
+<a href="https://en.wikipedia.org/wiki/Tor-ramdisk">Tor-ramdisk</a></div>
+<p>
+Tor-ramdisk is an i686 uClibc-based micro Linux distribution whose only purpose
+is to host a Tor server in an environment that maximizes security and privacy.
+Tor is a network of virtual tunnels that allows people and groups to improve
+their privacy and security on the Internet. Security is enhanced in Tor-ramdisk
+by employing a monolithically compiled GRSEC/PaX patched kernel and hardened
+system tools.
+</p>
+</div></div>
<!-- Roster -->
<div class="projectbox">
@@ -304,6 +301,20 @@ on the performance of their families
</div>
</div>
+<!-- OnionTip -->
+<div class="projectbox">
+<!--<a href="https://github.com/DonnchaC/oniontip"><img class="icon"
+src="$(IMGROOT)/icon-oniontip.png" alt="OnionTip Icon" width="75"></a>-->
+<div class="projectdesc">
+<div class="name"><a
+href="https://github.com/DonnchaC/oniontip">OnionTip</a></div>
+<p>
+OnionTip is a web app which parses Tor relay data to allow users to tip
+volunteers for running relay in a fair and open way. https://oniontip.com
+</p>
+</div>
+</div>
+
<!-- Cupcake -->
<div class="projectbox">
<!--<a href="https://github.com/glamrock/cupcake"><img class="icon"
@@ -317,9 +328,6 @@ extension for Chrome and Firefox
</p>
</div></div>
-
-</table>
-<!-- END TABLE -->
</div>
<!-- END MAINCOL -->
<div id = "sidecol">
1
0

18 Sep '18
commit f390332efe1237cbd1fb8a971e4a9c8168d71838
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Tue Sep 4 03:07:06 2018 +0200
projects: add community projects page (#16576)
---
images/ahmialogo.png | Bin 0 -> 35541 bytes
images/carml-logo.svg | 1036 ++++++++++++++++++++++++++++++++++++++
images/cwtch-logo.png | Bin 0 -> 11464 bytes
images/icon-android.svg | 19 +
images/icon-carml.png | Bin 0 -> 114305 bytes
images/icon-chatsecure.png | Bin 0 -> 2499 bytes
images/icon-globaleaks.png | Bin 0 -> 15666 bytes
images/icon-https-everywhere.png | Bin 0 -> 9474 bytes
images/icon-noscript.png | Bin 0 -> 27398 bytes
images/icon-onionshare.png | Bin 0 -> 16103 bytes
images/icon-orchid.png | Bin 0 -> 53085 bytes
images/icon-securedrop.png | Bin 0 -> 10300 bytes
images/icon-whonix.png | Bin 0 -> 18929 bytes
images/ricochet.png | Bin 0 -> 20836 bytes
projects/en/community.wml | 316 ++++++++++++
projects/en/projects.wml | 4 +
16 files changed, 1375 insertions(+)
diff --git a/images/ahmialogo.png b/images/ahmialogo.png
new file mode 100644
index 00000000..7d1cd5a1
Binary files /dev/null and b/images/ahmialogo.png differ
diff --git a/images/carml-logo.svg b/images/carml-logo.svg
new file mode 100644
index 00000000..b8f4e7c9
--- /dev/null
+++ b/images/carml-logo.svg
@@ -0,0 +1,1036 @@
+<?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"
+ sodipodi:docname="carml-logo-with-words.svg"
+ inkscape:version="0.48.3.1 r9886"
+ version="1.1"
+ id="svg2"
+ height="752.4884"
+ width="678.25903">
+ <defs
+ id="defs4">
+ <linearGradient
+ y2="163.42795"
+ y1="139.18428"
+ x2="645.48749"
+ x1="599.02045"
+ id="linearGradient6051"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#7d4698;stop-opacity:1;"
+ id="stop6053"
+ stop-color="#1a1a1a"
+ offset="0" />
+ <stop
+ offset="0.21832371"
+ stop-color="#1a1a1a"
+ id="stop6055"
+ style="stop-color:#bea1b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#fffcdb;stop-opacity:1;"
+ id="stop6057"
+ stop-color="#999"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6033"
+ x1="599.02045"
+ x2="645.48749"
+ y1="139.18428"
+ y2="163.42795">
+ <stop
+ offset="0"
+ stop-color="#1a1a1a"
+ id="stop6035"
+ style="stop-color:#fffcdb;stop-opacity:1;" />
+ <stop
+ style="stop-color:#bea1b9;stop-opacity:1;"
+ id="stop6049"
+ stop-color="#1a1a1a"
+ offset="0.63999999" />
+ <stop
+ offset="1"
+ stop-color="#999"
+ id="stop6037"
+ style="stop-color:#7d4698;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6015">
+ <stop
+ id="stop6017"
+ offset="0"
+ style="stop-color:#fffcdb;stop-opacity:1;" />
+ <stop
+ style="stop-color:#fffcdb;stop-opacity:1;"
+ offset="0.5"
+ id="stop6021" />
+ <stop
+ id="stop6019"
+ offset="1"
+ style="stop-color:#fffcdb;stop-opacity:0.48039216;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6001">
+ <stop
+ id="stop6003"
+ style="stop-color:#482957;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop6005"
+ style="stop-color:#c19ed3;stop-opacity:1"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5993">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.49803922;"
+ offset="0"
+ id="stop5995" />
+ <stop
+ id="stop5997"
+ offset="0.5"
+ style="stop-color:#000000;stop-opacity:0.24705882;" />
+ <stop
+ id="stop5999"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5973">
+ <stop
+ id="stop5983"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:0.49803922;" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.24705882;"
+ offset="0.5"
+ id="stop5991" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop5977" />
+ </linearGradient>
+ <inkscape:path-effect
+ effect="envelope"
+ id="path-effect5609"
+ is_visible="true"
+ yy="true"
+ xx="true"
+ bendpath1="m 195.35846,64.183773 120.50655,0"
+ bendpath2="m 315.86501,64.183773 0,184.782997"
+ bendpath3="m 195.35846,248.96677 120.50655,0"
+ bendpath4="m 195.35846,64.183773 0,184.782997" />
+ <inkscape:path-effect
+ effect="construct_grid"
+ id="path-effect5607"
+ is_visible="true"
+ nr_x="5"
+ nr_y="5" />
+ <inkscape:path-effect
+ effect="vonkoch"
+ id="path-effect5486"
+ is_visible="true"
+ ref_path="m 212.47729,186.92732 45.17358,-9.17589"
+ generator="m 218.97049,247.07004 12.07633,-14.95447 m 18.56954,0 14.07506,8.08669"
+ similar_only="true"
+ nbgenerations="6"
+ drawall="true"
+ maxComplexity="1000"
+ generator-nodetypes="cccc"
+ ref_path-nodetypes="cc" />
+ <inkscape:path-effect
+ effect="curvestitching"
+ id="path-effect5484"
+ is_visible="true"
+ count="5"
+ startpoint_edge_variation="0;1"
+ startpoint_spacing_variation="0;1"
+ endpoint_edge_variation="0;1"
+ endpoint_spacing_variation="0;1"
+ strokepath="M 212.47729,186.92732 241.996,125.88187"
+ prop_scale="1"
+ scale_y_rel="false"
+ strokepath-nodetypes="cc" />
+ <inkscape:path-effect
+ effect="curvestitching"
+ id="path-effect5482"
+ is_visible="true"
+ count="5"
+ startpoint_edge_variation="0;1"
+ startpoint_spacing_variation="0;1"
+ endpoint_edge_variation="0;1"
+ endpoint_spacing_variation="0;1"
+ strokepath="M 0,0 1,0"
+ prop_scale="1"
+ scale_y_rel="false" />
+ <inkscape:path-effect
+ effect="spiro"
+ id="path-effect5480"
+ is_visible="true" />
+ <inkscape:path-effect
+ effect="sketch"
+ id="path-effect5478"
+ is_visible="true"
+ nbiter_approxstrokes="8"
+ strokelength="100"
+ strokelength_rdm="0.3;1"
+ strokeoverlap="0.3"
+ strokeoverlap_rdm="0.3;1"
+ ends_tolerance="0.1;1"
+ parallel_offset="5;1"
+ tremble_size="5;1"
+ tremble_frequency="1"
+ nbtangents="5"
+ tgt_places_rdmness="1;1"
+ tgtscale="10"
+ tgtlength="100"
+ tgtlength_rdm="0.3;1" />
+ <inkscape:path-effect
+ effect="knot"
+ id="path-effect5459"
+ is_visible="true"
+ interruption_width="3"
+ prop_to_stroke_width="true"
+ add_stroke_width="true"
+ add_other_stroke_width="true"
+ switcher_size="15"
+ crossing_points_vector="" />
+ <inkscape:path-effect
+ effect="interpolate"
+ id="path-effect5457"
+ is_visible="true"
+ trajectory="M 0,0 0,0"
+ equidistant_spacing="true"
+ steps="5" />
+ <inkscape:path-effect
+ effect="rough_hatches"
+ id="path-effect5455"
+ is_visible="true"
+ direction="252.80932,165.00502 , 20.555457,0"
+ dist_rdm="75;1"
+ growth="0"
+ do_bend="true"
+ bender="252.80932,170.00502 , 5,0"
+ bottom_edge_variation="12.608651;1"
+ top_edge_variation="12.608651;1"
+ bottom_tgt_variation="0;1"
+ top_tgt_variation="0;1"
+ scale_bf="1"
+ scale_bb="1"
+ scale_tf="1"
+ scale_tb="1"
+ top_smth_variation="0;1"
+ bottom_smth_variation="0;1"
+ fat_output="true"
+ stroke_width_top="1"
+ stroke_width_bottom="1"
+ front_thickness="1"
+ back_thickness="0.25" />
+ <inkscape:path-effect
+ effect="envelope"
+ id="path-effect5453"
+ is_visible="true"
+ yy="true"
+ xx="true"
+ bendpath1="M 211.69841,106.96177 282.35512,77.358482"
+ bendpath2="M 293.92024,106.96177 278.36308,226.6848"
+ bendpath3="m 211.69841,233.04828 117.96897,19.45267"
+ bendpath4="m 211.69841,106.96177 0,126.08651"
+ bendpath1-nodetypes="cc"
+ bendpath2-nodetypes="cc"
+ bendpath3-nodetypes="cc" />
+ <linearGradient
+ y2="113.30315"
+ y1="66.671761"
+ x2="676.15704"
+ x1="677.64282"
+ id="linearGradient5352"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ id="stop3045"
+ stop-color="#666"
+ offset="0" />
+ <stop
+ id="stop3047"
+ stop-opacity="0"
+ stop-color="#666"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="163.42795"
+ y1="139.18428"
+ x2="645.48749"
+ x1="599.02045"
+ id="linearGradient3111"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ id="stop3040"
+ stop-color="#1a1a1a"
+ offset="0" />
+ <stop
+ id="stop3042"
+ stop-color="#999"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="475.74939"
+ y1="889.55658"
+ x2="342.09512"
+ x1="371.09314"
+ id="linearGradient4301"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ id="stop3035"
+ stop-color="#b3b3b3"
+ offset="0" />
+ <stop
+ id="stop3037"
+ stop-opacity="0"
+ stop-color="#b3b3b3"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="223.95229"
+ y1="341.72229"
+ x2="631.26587"
+ x1="460.09619"
+ id="linearGradient3941"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ id="stop3030"
+ stop-color="#1a1a1a"
+ offset="0" />
+ <stop
+ id="stop3032"
+ stop-color="#ccc"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="872.1629"
+ y1="42.704391"
+ x2="381.6955"
+ x1="336.64322"
+ id="linearGradient3066"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ id="stop3025"
+ stop-color="#333"
+ offset="0" />
+ <stop
+ id="stop3027"
+ stop-opacity="0"
+ stop-color="#333"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0.68230177,0,0,0.68230177,78.404988,63.177814)"
+ gradientUnits="userSpaceOnUse"
+ xlink:href="#linearGradient4697"
+ id="linearGradient3077"
+ y2="125.66936"
+ x2="297.03323"
+ y1="247.01682"
+ x1="297.03323" />
+ <linearGradient
+ id="linearGradient4697">
+ <stop
+ offset="0"
+ style="stop-color:#482957;stop-opacity:1"
+ id="stop4699" />
+ <stop
+ offset="1"
+ style="stop-color:#c19ed3;stop-opacity:1"
+ id="stop4701" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0.68230177,0,0,0.68230177,78.404988,63.177814)"
+ gradientUnits="userSpaceOnUse"
+ xlink:href="#linearGradient4697"
+ id="linearGradient5018"
+ y2="125.66936"
+ x2="297.03323"
+ y1="247.01682"
+ x1="297.03323" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3066"
+ id="linearGradient3327"
+ gradientUnits="userSpaceOnUse"
+ x1="336.64322"
+ y1="42.704391"
+ x2="381.6955"
+ y2="872.1629" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3066"
+ id="linearGradient3329"
+ gradientUnits="userSpaceOnUse"
+ x1="336.64322"
+ y1="42.704391"
+ x2="381.6955"
+ y2="872.1629" />
+ <linearGradient
+ y2="163.42795"
+ y1="139.18428"
+ x2="645.48749"
+ x1="599.02045"
+ id="linearGradient6051-2"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#7d4698;stop-opacity:1;"
+ id="stop6053-8"
+ stop-color="#1a1a1a"
+ offset="0" />
+ <stop
+ offset="0.21832371"
+ stop-color="#1a1a1a"
+ id="stop6055-6"
+ style="stop-color:#bea1b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#fffcdb;stop-opacity:1;"
+ id="stop6057-1"
+ stop-color="#999"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6051"
+ id="linearGradient6179"
+ gradientUnits="userSpaceOnUse"
+ x1="-828.25555"
+ y1="-710.91949"
+ x2="-1485.708"
+ y2="-539.14294" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6051-2-4"
+ id="linearGradient6081-1-4"
+ x1="-828.25555"
+ y1="-710.91949"
+ x2="-1485.708"
+ y2="-539.14294"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ y2="163.42795"
+ y1="139.18428"
+ x2="645.48749"
+ x1="599.02045"
+ id="linearGradient6051-2-4"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ style="stop-color:#7d4698;stop-opacity:1;"
+ id="stop6053-8-9"
+ stop-color="#1a1a1a"
+ offset="0" />
+ <stop
+ offset="0.21832371"
+ stop-color="#1a1a1a"
+ id="stop6055-6-5"
+ style="stop-color:#bea1b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#fffcdb;stop-opacity:1;"
+ id="stop6057-1-7"
+ stop-color="#999"
+ offset="1" />
+ </linearGradient>
+ <filter
+ inkscape:collect="always"
+ id="filter6306"
+ x="-0.031532779"
+ width="1.0630656"
+ y="-0.10046582"
+ height="1.2009315"
+ color-interpolation-filters="sRGB">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="5.5749793"
+ id="feGaussianBlur6308" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.34897461"
+ inkscape:cx="239.56691"
+ inkscape:cy="692.0065"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1918"
+ inkscape:window-height="1198"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="0"
+ showguides="true"
+ inkscape:snap-global="true"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid5625"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="299.98808px"
+ originy="-404.41554px" />
+ <sodipodi:guide
+ position="299.98808,-404.41554"
+ orientation="0,744.09448"
+ id="guide5627" />
+ <sodipodi:guide
+ position="1044.0826,-404.41554"
+ orientation="-1052.3622,0"
+ id="guide5629" />
+ <sodipodi:guide
+ position="-479.43825,1200.2859"
+ orientation="0,-744.09448"
+ id="guide5631" />
+ <sodipodi:guide
+ position="-883.47912,1042.6813"
+ orientation="1052.3622,0"
+ id="guide5633" />
+ </sodipodi:namedview>
+ <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></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(299.98808,104.54177)">
+ <g
+ id="g3100"
+ transform="matrix(0.99738153,0.0723193,-0.0723193,0.99738153,-316.45047,-239.29185)">
+ <path
+ id="path3049"
+ transform="matrix(0.9826,0,0,1.29453,25.92589,-274.78208)"
+ d="M 532.23993,833.86708 A 278.57144,181.42857 0 1 1 550.0291,822.92005"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3051"
+ transform="matrix(1.13927,0,0,1.07692,-57.86636,-69.86848)"
+ d="M 537.67402,775.2006 A 262.85715,222.85715 0 1 1 554.4597,761.75385"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#666666" />
+ <path
+ id="path3053"
+ transform="matrix(1.10123,0,0,1.04487,-44.84543,-51.85353)"
+ d="M 537.67402,775.2006 A 262.85715,222.85715 0 1 1 554.4597,761.75385"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#1a1a1a" />
+ <path
+ id="path3055"
+ transform="matrix(-1.13696,-0.10209,0.10782,-1.20077,697.00714,1468.5579)"
+ d="m 498.80942,792.25776 a 210,152.85715 0 1 1 13.4103,-9.22309"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:url(#linearGradient3327)" />
+ <path
+ id="path3057"
+ d="m 460,363.79075 c 54.47327,-94.69938 111.56331,-188.52651 188.57143,-275.71428 23.56673,6.40174 47.03065,12.86775 55.71428,28.57143 C 632.25334,196.60655 585.97516,298.64021 540,400.93361 z"
+ inkscape:connector-curvature="0"
+ style="fill:#1a1a1a" />
+ <path
+ id="path3059"
+ transform="matrix(1.09413,0.36185,-0.34808,0.7238,-27.14805,-211.81749)"
+ d="m 685.55049,117.71363 a 22.67857,13.21429 0 1 1 1.44822,-0.79732"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:url(#linearGradient5352)" />
+ <path
+ id="path3061"
+ d="m 583.39286,174.32647 49.82143,-61.60714 c 22.10023,2.67422 37.04182,11.57336 48.21429,23.75 l -44.10715,59.82142 z"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3111)" />
+ <path
+ id="path3063"
+ transform="matrix(0.10568,0.72985,-0.57547,0.78631,645.02406,-307.73489)"
+ d="m 567.59637,329.71055 a 40,60.71429 0 1 1 2.55435,-3.66338"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:url(#linearGradient3941)" />
+ <path
+ id="path3065"
+ transform="matrix(1.14153,0,0,1.20561,-50.40787,-200.89796)"
+ d="m 498.80942,792.25776 a 210,152.85715 0 1 1 13.4103,-9.22309"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:url(#linearGradient3329)" />
+ <path
+ id="path3067"
+ d="m 548.52683,382.11124 c 0,-0.0493 8.14501,-18.00788 10.80249,-23.818 6.2033,-13.56247 12.42617,-26.92449 17.56163,-37.70911 l 1.66854,-3.50397 0.45435,-0.0186 0.45435,-0.0186 -0.12189,0.23958 c -0.37774,0.7424 -3.90592,8.19366 -7.06385,14.91835 -5.19521,11.06298 -12.52924,26.97658 -20.26574,43.9732 l -2.70132,5.93465 -0.39428,0.0188 c -0.21686,0.0103 -0.39428,0.003 -0.39428,-0.0163 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3069"
+ d="m 578.66268,316.86405 c 0.19212,-0.4495 5.64219,-11.6965 7.91873,-16.34142 4.33609,-8.84712 9.434,-18.96867 14.02333,-27.84233 l 2.33463,-4.51412 0.44666,-0.0186 c 0.24566,-0.0102 0.44665,9.4e-4 0.44665,0.0248 0,0.0239 -0.18152,0.3873 -0.40337,0.80773 -5.4008,10.23498 -14.6628,28.7466 -22.05157,44.07366 -1.02083,2.11758 -1.87642,3.86875 -1.90131,3.89149 -0.0249,0.0227 -0.23841,0.0611 -0.47449,0.0853 l -0.42924,0.044 0.09,-0.21054 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3071"
+ d="m 603.37551,268.0986 c -0.18415,-0.0188 -0.33482,-0.044 -0.33482,-0.056 0,-0.012 1.03765,-1.98836 2.30588,-4.39193 11.7678,-22.30249 23.86125,-43.37653 35.63258,-62.09335 1.43613,-2.28348 2.64258,-4.18435 2.68103,-4.22415 0.0385,-0.0398 0.25041,-0.0599 0.47105,-0.0446 l 0.40115,0.0277 -1.10675,1.74107 c -11.95422,18.80548 -24.58893,40.7193 -36.72763,63.70094 -1.555,2.94401 -2.86336,5.35766 -2.90747,5.36367 -0.0441,0.006 -0.23086,-0.004 -0.41502,-0.0233 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3073"
+ d="m 643.61546,197.32108 c 0.0268,-0.0709 2.44765,-3.83173 3.99292,-6.20297 4.75059,-7.28986 9.50434,-14.29941 14.48464,-21.35806 0.88921,-1.26028 1.69723,-2.40025 1.7956,-2.53327 l 0.17886,-0.24185 h 0.51963 0.51964 l -0.57304,0.79708 c -1.09845,1.52789 -3.83789,5.42265 -5.46756,7.77344 -4.33605,6.25469 -8.89287,13.07234 -13.106,19.60844 -0.76285,1.18346 -1.39807,2.1449 -1.4116,2.13654 -0.0135,-0.008 -0.20936,-0.0157 -0.4352,-0.0164 -0.2999,-8.5e-4 -0.42478,0.0104 -0.46319,0.0416 -0.0449,0.0365 -0.05,0.0359 -0.0347,-0.005 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3075"
+ d="m 664.10105,166.94232 c 0,-0.0254 2.17471,-3.04477 3.67338,-5.10015 2.66605,-3.65639 5.76485,-7.80773 8.28824,-11.10344 l 0.99674,-1.3018 0.54502,-3.5e-4 0.54503,-3.4e-4 -0.27863,0.35513 c -2.54691,3.24627 -8.4183,11.13373 -11.84381,15.91062 l -0.89929,1.25408 h -0.51334 c -0.28234,0 -0.51334,-0.006 -0.51334,-0.0138 z"
+ inkscape:connector-curvature="0"
+ style="opacity:0.98500001;fill:#4d4d4d" />
+ <path
+ id="path3077"
+ transform="matrix(1.18235,0,0,1.30841,-67.33227,-274.39781)"
+ d="m 498.80942,792.25776 a 210,152.85715 0 1 1 13.4103,-9.22309"
+ inkscape:connector-curvature="0"
+ style="opacity:0.0524;fill:url(#linearGradient4301)" />
+ <path
+ id="path3079"
+ d="m 544.02423,402.97395 -4.00951,-2.70937 2.5933,-5.49418 c 1.42631,-3.02179 3.12866,-6.30625 3.78299,-7.2988 0.65433,-0.99255 7.32532,-15.27088 14.82441,-31.72965 39.40385,-86.48236 72.75375,-146.71724 108.36854,-195.72971 4.716,-6.49008 8.57455,-12.1005 8.57455,-12.4676 0,-1.54223 24.49504,-31.0115 25.33979,-30.48558 0.29559,0.18403 0.99159,2.39699 1.54665,4.9177 1.47902,6.71661 1.29892,21.36924 -0.36582,29.76394 l -1.37505,6.93386 -5.5083,6.06656 c -17.09855,18.83147 -34.03605,40.82608 -49.91635,64.82008 -17.89981,27.04534 -32.10583,51.68712 -65.1694,113.04292 -15.97376,29.64237 -33.86431,62.26126 -34.49949,62.90112 -0.0972,0.0979 -1.98107,-1.04115 -4.18631,-2.53129 z"
+ inkscape:connector-curvature="0"
+ style="fill:#999999" />
+ </g>
+ <g
+ id="g5677"
+ transform="matrix(0.98927852,0.14604115,-0.14604115,0.98927852,662.18762,783.84718)">
+ <g
+ transform="matrix(2.9186077,-2.1173108,2.1173108,2.9186077,-1934.1186,-326.31395)"
+ style="display:inline"
+ id="layer3">
+ <g
+ id="layer5">
+ <path
+ style="fill:#abcd03;fill-rule:evenodd;stroke:none"
+ id="path2554"
+ d="m 264.513,77.977773 -4.917,19.529001 c 6.965,-13.793001 18.027,-24.172001 30.729,-33.323001 -9.287,10.789 -17.754,21.579001 -22.944,32.368001 8.741,-12.292001 20.486,-19.120001 33.733,-23.627001 -17.618,15.706001 -31.60228,32.559277 -42.25528,49.494277 l -8.467,-3.687 c 1.501,-13.521 6.60928,-27.369276 14.12128,-40.754277 z"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ transform="matrix(0.19965218,0,0,0.19965218,404.61207,194.77283)"
+ id="path2534"
+ d="m -814.96875,-398.84375 c 21.21189,54.72517 25.01307,97.03419 3.125,116.1875 -38.77302,32.0003 -84.25045,80.13332 -128.1219,118.59752 l 270.90625,0 c -13.05071,-31.1114 -34.40317,-74.40853 -54.03435,-99.69127 -12.83487,-18.46712 -11.15625,-81.0993 -11.15625,-101.625 z"
+ style="fill:#fffcdb;fill-rule:evenodd;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path2536"
+ transform="matrix(0.19965218,0,0,0.19965218,404.61207,194.77283)"
+ d="m -734.21875,-366.5625 c 1.37239,40.3652 -4.33065,76.5994 11.96875,105.8125 20.96774,33.16542 37.35283,65.64389 49.66281,96.69127 l 142.25,0 c -39.55406,-39.12905 -96.04526,-78.99572 -154.28781,-115.16002 -19.1483,-10.93902 -23.23476,-53.3517 -20.5,-72.5 z"
+ style="fill:#7d4698;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ style="display:inline"
+ id="layer4">
+ <path
+ sodipodi:nodetypes="ccccccccccccccccccccc"
+ inkscape:connector-curvature="0"
+ transform="matrix(0.19965218,0,0,0.19965218,404.61207,194.77283)"
+ id="path2538"
+ d="m -821.40625,-418.09375 -8.90625,6.84375 c 44.46733,80.02918 21.20557,122.44882 -0.6875,137.5 -44.46733,30.78354 -109.44784,69.07546 -141.59375,102.59375 -0.44736,0.45715 -8.46813,12.82003 -5.87154,7.09752 l 37.97531,0 c 10.85335,-8.97259 26.03193,-23.36949 36.98998,-32.37877 34.88567,-28.72996 82.76873,-42.40821 110.8125,-93.03125 5.47452,-10.93902 8.21821,-35.59723 2.0625,-60.90625 -2.73976,-8.89046 -15.74292,-39.6581 -20.53125,-46.5 l 55.625,22.9375 z m 73.1875,47.03781 36.9375,17.96219 c -12.31141,45.8297 25.30891,93.71276 55.40625,110.8125 28.81971,16.37865 80.607,52.26889 110.26622,78.22252 l 34.84375,0 c -4.64852,-4.94418 -15.55758,-15.45093 -20.60997,-20.06627 -29.41616,-26.67639 -66.34958,-48.57437 -104.65625,-69.78125 -17.09974,-9.58166 -69.78593,-50.61019 -52,-109.4375 z"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ </g>
+ </g>
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path5667"
+ d="m -708.17135,-493.65996 c 0,0 -1.24147,-2.85806 10.13121,2.02625 -75.99583,48.45262 -221.81048,143.98785 -276.58195,200.59789 -9.07272,-3.89432 -5.06555,-9.62465 -5.06555,-9.62465 88.40449,-61.4432 170.15909,-136.69274 271.51629,-192.99949 z"
+ style="fill:#000000;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ transform="matrix(0.94275731,-0.3334796,0.3334796,0.94275731,1559.1558,582.82143)"
+ id="g5868-0">
+ <path
+ transform="matrix(0.46170127,0,0,0.55362854,-869.93533,-417.76073)"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1519.681,-530.13234 c 0,-129.81121 186.8789,-235.04398 417.4058,-235.04398 230.52676,1e-5 417.40566,105.23279 417.40566,235.04399"
+ sodipodi:ry="235.04399"
+ sodipodi:rx="417.40573"
+ sodipodi:cy="-530.13232"
+ sodipodi:cx="-1102.2753"
+ id="path5714-2"
+ style="fill:#fffcdb;fill-opacity:1;stroke:#000000;stroke-width:19.77926826;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.051523,0.00694113,-0.0759249,2.7616251,11.794903,1377.8354)"
+ inkscape:transform-center-y="-88.849247"
+ inkscape:transform-center-x="-18.133235"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.50196078;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.79198733,0.00422627,-0.05718521,1.6814772,-327.35985,560.54429)"
+ inkscape:transform-center-y="-54.097921"
+ inkscape:transform-center-x="-13.657608"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-8"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.43351722,0.00213507,-0.03130199,0.84946553,-806.70077,-71.071253)"
+ inkscape:transform-center-y="-27.32973"
+ inkscape:transform-center-x="-7.4758936"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-3"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.94822735,0.00553931,-0.06846647,2.203887,-122.47892,956.44496)"
+ inkscape:transform-center-y="-70.905299"
+ inkscape:transform-center-x="-16.351924"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-6-9"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.60468959,0.00316074,-0.04366144,1.2575462,-579.497,236.45295)"
+ inkscape:transform-center-y="-40.458831"
+ inkscape:transform-center-x="-10.427716"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-5-8"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6120"
+ transform="matrix(1.0405256,0.2407144,-0.2407144,1.0405256,940.56147,426.17266)">
+ <path
+ transform="matrix(0.29276781,0.06476955,-0.08368889,0.37828602,-516.73783,425.18796)"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1519.681,-530.13234 c 0,-129.81121 186.8789,-235.04398 417.4058,-235.04398 230.52676,1e-5 417.40566,105.23279 417.40566,235.04399"
+ sodipodi:ry="235.04399"
+ sodipodi:rx="417.40573"
+ sodipodi:cy="-530.13232"
+ sodipodi:cx="-1102.2753"
+ id="path5714-4-3"
+ style="fill:url(#linearGradient6179);fill-opacity:1;stroke:#000000;stroke-width:19.77926826;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.66572839,0.15225518,-0.46560371,1.8763256,-229.057,1775.7848)"
+ inkscape:transform-center-y="-88.849247"
+ inkscape:transform-center-x="-18.133235"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-60-9"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.50196078;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.50156551,0.11399132,-0.29044091,1.1409058,-320.57199,1169.764)"
+ inkscape:transform-center-y="-54.097921"
+ inkscape:transform-center-x="-13.657608"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-75-3"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.27457337,0.06227462,-0.14825769,0.57603578,-529.04747,670.94648)"
+ inkscape:transform-center-y="-27.32973"
+ inkscape:transform-center-x="-7.4758936"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-1-9"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.60043985,0.13680656,-0.37656416,1.4962779,-250.50171,1469.0185)"
+ inkscape:transform-center-y="-70.905299"
+ inkscape:transform-center-x="-16.351924"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-6-5-3"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.38295985,0.08698828,-0.21778215,0.8531373,-431.46276,912.9463)"
+ inkscape:transform-center-y="-40.458831"
+ inkscape:transform-center-x="-10.427716"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-5-5-7"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ transform="matrix(0.64925846,-0.01530791,0.01649512,0.69961191,994.0656,898.87113)"
+ id="g5868-5">
+ <path
+ transform="matrix(0.46170127,0,0,0.55362854,-869.93533,-417.76073)"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1519.681,-530.13234 c 0,-129.81121 186.8789,-235.04398 417.4058,-235.04398 230.52676,1e-5 417.40566,105.23279 417.40566,235.04399"
+ sodipodi:ry="235.04399"
+ sodipodi:rx="417.40573"
+ sodipodi:cy="-530.13232"
+ sodipodi:cx="-1102.2753"
+ id="path5714-4"
+ style="fill:#fffcdb;fill-opacity:1;stroke:#000000;stroke-width:19.77926826;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.051523,0.00694113,-0.0759249,2.7616251,11.794903,1377.8354)"
+ inkscape:transform-center-y="-88.849247"
+ inkscape:transform-center-x="-18.133235"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-60"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.50196078;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.79198733,0.00422627,-0.05718521,1.6814772,-327.35985,560.54429)"
+ inkscape:transform-center-y="-54.097921"
+ inkscape:transform-center-x="-13.657608"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-75"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.43351722,0.00213507,-0.03130199,0.84946553,-806.70077,-71.071253)"
+ inkscape:transform-center-y="-27.32973"
+ inkscape:transform-center-x="-7.4758936"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-1"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.94822735,0.00553931,-0.06846647,2.203887,-122.47892,956.44496)"
+ inkscape:transform-center-y="-70.905299"
+ inkscape:transform-center-x="-16.351924"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-6-5"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.60468959,0.00316074,-0.04366144,1.2575462,-579.497,236.45295)"
+ inkscape:transform-center-y="-40.458831"
+ inkscape:transform-center-x="-10.427716"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-5-5"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ transform="matrix(0.8232048,-0.66589908,0.95419124,1.1796004,489.74577,-209.69845)"
+ id="g6120-1-9">
+ <path
+ transform="matrix(0.29276781,0.06476955,-0.08368889,0.37828602,-516.73783,425.18796)"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1519.681,-530.13234 c 0,-129.81121 186.8789,-235.04398 417.4058,-235.04398 230.52676,1e-5 417.40566,105.23279 417.40566,235.04399"
+ sodipodi:ry="235.04399"
+ sodipodi:rx="417.40573"
+ sodipodi:cy="-530.13232"
+ sodipodi:cx="-1102.2753"
+ id="path5714-4-3-4-4"
+ style="fill:url(#linearGradient6081-1-4);fill-opacity:1;stroke:#000000;stroke-width:19.77926826;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.66572839,0.15225518,-0.46560371,1.8763256,-229.057,1775.7848)"
+ inkscape:transform-center-y="-88.849247"
+ inkscape:transform-center-x="-18.133235"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-60-9-1-3"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.50196078;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.50156551,0.11399132,-0.29044091,1.1409058,-320.57199,1169.764)"
+ inkscape:transform-center-y="-54.097921"
+ inkscape:transform-center-x="-13.657608"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-75-3-4-7"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.27457337,0.06227462,-0.14825769,0.57603578,-529.04747,670.94648)"
+ inkscape:transform-center-y="-27.32973"
+ inkscape:transform-center-x="-7.4758936"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-1-9-5-5"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.60043985,0.13680656,-0.37656416,1.4962779,-250.50171,1469.0185)"
+ inkscape:transform-center-y="-70.905299"
+ inkscape:transform-center-x="-16.351924"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-6-5-3-3-9"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.41685653;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(0.38295985,0.08698828,-0.21778215,0.8531373,-431.46276,912.9463)"
+ inkscape:transform-center-y="-40.458831"
+ inkscape:transform-center-x="-10.427716"
+ sodipodi:open="true"
+ sodipodi:end="6.2831853"
+ sodipodi:start="3.1415927"
+ d="m -1543.9958,-753.01886 c 0,-20.14312 73.9351,-36.47234 165.1386,-36.47234 91.2036,0 165.1387,16.32922 165.1387,36.47234"
+ sodipodi:ry="36.472343"
+ sodipodi:rx="165.13867"
+ sodipodi:cy="-753.01886"
+ sodipodi:cx="-1378.8572"
+ id="path5781-6-7-5-5-7-4-0"
+ style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.30523921;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+</svg>
diff --git a/images/cwtch-logo.png b/images/cwtch-logo.png
new file mode 100644
index 00000000..8f9e32ba
Binary files /dev/null and b/images/cwtch-logo.png differ
diff --git a/images/icon-android.svg b/images/icon-android.svg
new file mode 100644
index 00000000..f5349180
--- /dev/null
+++ b/images/icon-android.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="-147 -70 294 345">
+<g fill="#a4c639">
+<use stroke-width="14.4" xlink:href="#b" stroke="#FFF"/>
+<use xlink:href="#a" transform="scale(-1,1)"/>
+<g id="a" stroke="#FFF" stroke-width="7.2">
+<rect rx="6.5" transform="rotate(29)" height="86" width="13" y="-86" x="14"/>
+<rect id="c" rx="24" height="133" width="48" y="41" x="-143"/>
+<use y="97" x="85" xlink:href="#c"/>
+</g>
+<g id="b">
+<ellipse cy="41" rx="91" ry="84"/>
+<rect rx="22" height="182" width="182" y="20" x="-91"/>
+</g>
+</g>
+<g stroke="#FFF" stroke-width="7.2" fill="#FFF">
+<path d="m-95 44.5h190"/><circle cx="-42" r="4"/><circle cx="42" r="4"/>
+</g>
+</svg>
\ No newline at end of file
diff --git a/images/icon-carml.png b/images/icon-carml.png
new file mode 100644
index 00000000..d3312ed4
Binary files /dev/null and b/images/icon-carml.png differ
diff --git a/images/icon-chatsecure.png b/images/icon-chatsecure.png
new file mode 100644
index 00000000..37b0378d
Binary files /dev/null and b/images/icon-chatsecure.png differ
diff --git a/images/icon-globaleaks.png b/images/icon-globaleaks.png
new file mode 100644
index 00000000..e5137083
Binary files /dev/null and b/images/icon-globaleaks.png differ
diff --git a/images/icon-https-everywhere.png b/images/icon-https-everywhere.png
new file mode 100644
index 00000000..3457b847
Binary files /dev/null and b/images/icon-https-everywhere.png differ
diff --git a/images/icon-noscript.png b/images/icon-noscript.png
new file mode 100644
index 00000000..7707b76b
Binary files /dev/null and b/images/icon-noscript.png differ
diff --git a/images/icon-onionshare.png b/images/icon-onionshare.png
new file mode 100644
index 00000000..e2948b04
Binary files /dev/null and b/images/icon-onionshare.png differ
diff --git a/images/icon-orchid.png b/images/icon-orchid.png
new file mode 100644
index 00000000..8e4185a9
Binary files /dev/null and b/images/icon-orchid.png differ
diff --git a/images/icon-securedrop.png b/images/icon-securedrop.png
new file mode 100644
index 00000000..7f8e8425
Binary files /dev/null and b/images/icon-securedrop.png differ
diff --git a/images/icon-whonix.png b/images/icon-whonix.png
new file mode 100644
index 00000000..0e1e70de
Binary files /dev/null and b/images/icon-whonix.png differ
diff --git a/images/ricochet.png b/images/ricochet.png
new file mode 100644
index 00000000..7ca05871
Binary files /dev/null and b/images/ricochet.png differ
diff --git a/projects/en/community.wml b/projects/en/community.wml
new file mode 100644
index 00000000..88f845c4
--- /dev/null
+++ b/projects/en/community.wml
@@ -0,0 +1,316 @@
+## translation metadata
+# Revision: $Revision$
+# Translation-Priority: 3-low
+
+#include "head.wmi" TITLE="Tor Project: Community Projects Overview" CHARSET="UTF-8"
+<div id="content" class="clearfix">
+<div id="breadcrumbs">
+<a href="<page index>">Home » </a>
+<a href="<page projects/projects>">Projects Overview » </a>
+<a href="<page projects/community>">Community</a>
+</div>
+<div id="maincol">
+<h1>Tor Community Projects</h1>
+<p>The Tor community of software and services aims to make your Internet
+experience safer and better.</p>
+
+<!-- for users -->
+
+<!-- Onionshare -->
+<div class="projectbox">
+<a href="https://onionshare.org"><img src="$(IMGROOT)/icon-onionshare.png"
+alt="Onionshare icon" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://onionshare.org">Onionshare</a></div>
+<p>
+OnionShare is an open source tool that lets you securely and anonymously share
+a file of any size.
+</p>
+</div>
+</div>
+
+<!-- SecureDrop -->
+<div class="projectbox">
+<a href="https://securedrop.org/"><img class="icon"
+src="$(IMGROOT)/icon-securedrop.png" alt="SecureDrop icon" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://securedrop.org/">SecureDrop</a>
+</div>
+<p>
+SecureDrop (<a href="http://secrdrop5wyphb5x.onion">secrdrop5wyphb5x.onion</a>) is an open source whistleblower submission system that media
+organizations can install to securely accept documents from anonymous sources.
+It was originally coded by the late Aaron Swartz and is now managed by
+<a href="https://freedom.press/">Freedom of the Press Foundation</a>.
+</p>
+</div></div>
+
+<!-- Globaleaks -->
+<div class="projectbox">
+<a href="https://www.globaleaks.org/"><img class="icon"
+src="$(IMGROOT)/icon-globaleaks.png" alt="Globaleaks icon" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://www.globaleaks.org/">Globalleaks</a></div> <p>
+GlobaLeaks is an open-source, free software intended to enable secure and
+anonymous whistleblowing initiatives. The software is developed by the
+<a href="https://www.hermescenter.org/">Hermes Center for Transparency and
+Digital Human Rights</a>.
+</p>
+</div></div>
+
+<!-- ChatSecure -->
+<div class="projectbox">
+<a href="https://chatsecure.org/"><img class="ChatSecure icon"
+src="$(IMGROOT)/icon-chatsecure.png" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://chatsecure.org/">ChatSecure</a></div>
+<p>
+ChatSecure is a messaging application for iOS which allows OTR and OMEMO
+encryption for the XMPP protocol. ChatSecure is free and open source software
+available under the GNU General Public License. ChatSecure also features
+built-in support for anonymous communication on the Tor network.
+</p>
+</div>
+</div>
+
+<!-- Cwtch -->
+<div class="projectbox">
+<a href="https://cwtch.im/"><img class="icon" src="$(IMGROOT)/cwtch-logo.png"
+alt="Cwtch icon" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://cwtch.im/">Cwtch</a>
+</div>
+<p>Cwtch is an extension of the metadata resistant protocol Ricochet to support
+asynchronous, multi-peer group communications through the use of discardable,
+untrusted, anonymous infrastructure.
+</p>
+<p>
+<strong>Warning:</strong> Cwtch is an experimental prototype. Please do not use
+it for anything where security, privacy, or anonymity is critical.
+</p>
+</div></div>
+
+<!-- Ricochet -->
+<div class="projectbox">
+<a href="https://Ricochet.im"><img class="icon" src="$(IMGROOT)/ricochet.png"
+alt="Ricochet icon" width="80"></a>
+<div class="projectdesc"><div class="name">
+<a href="https://Ricochet.im">Ricochet</a>
+</div>
+<p>Ricochet IM is an open-source, decentralized instant messenger project that
+utilities the Tor network by design. It starts a Tor onion service on the users
+local system and facilitates communication with other Ricochet users who are
+also running their own Ricochet-created Tor onion service, providing End-to-End
+encryption by never allowing the connection to leave the Tor network.
+</p>
+<p>
+<strong>Warning:</strong> On some operating systems, Ricochet ships with
+Tor 0.2.8.9. Tor 0.2.8.9 has several known onion service security issues,
+including TROVE-2016-12-002 and later. Tor 0.2.8 has not been supported since
+1 January 2018. Please update to a supported tor version before launching
+Ricochet. Development stalled in November 2016, though it has been relatively
+stable in the time since.
+</p>
+<p>
+See also our wiki page
+<a href="https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/InstantMessag…">
+Torify HOWTO / Instant Messaging</a>
+</p>
+</div></div>
+
+<!-- Ahmia -->
+<div class="projectbox">
+<a href="https://ahmia.fi/"><img class="icon"
+src="$(IMGROOT)/ahmialogo.png" alt="Ahmia Icon" width="80"></a>
+<div class="projectdesc">
+<div class="name"><a
+href="https://ahmia.fi/">Ahmia - Onion Service Search</a></div>
+<p>
+Ahmia (<a href="http://msydqstlz2kzerdg.onion/">msydqstlz2kzerdg.onion</a>)
+is open-source search engine software that indexes, searches, and catalogs
+content published on Tor Onion Services. Furthermore, it is an environment to
+share meaningful insights, statistics, insights, and news about the Tor network
+itself. In this context, there is a lot of work to do.
+</p>
+<p>
+The Ahmia web service is written using the Django web framework. As a result,
+the server-side language is Python. On the client-side, most of the pages are
+plain HTML. There are some pages that require JavaScript, but the search itself
+works without client-side JavaScript.
+</p>
+</div>
+</div>
+
+<!-- Orchid -->
+<div class="projectbox">
+<a href="https://github.com/mhatta/Orchid"><img class="icon"
+src="$(IMGROOT)/icon-orchid.png" alt="OONI Icon" width="80"></a>
+<div class="projectdesc">
+<div class="name"><a href="https://github.com/mhatta/Orchid">Orchid</a></div>
+<p>
+Orchid is a Tor client implementation and library written in pure Java.
+Orchid runs on Java 5+ and the Android devices. It can be used to Tor-ify Java
+and JVM applications with near transparency. In a basic use case, running
+Orchid will open a SOCKS5 listener which can be used as a standalone client
+where Tor would otherwise be used.
+</p>
+<p>
+See our list of
+<a href="http://trac.torproject.org/projects/tor/wiki/doc/ListOfTorImplementations">
+other Tor implementations</a>
+</p>
+</div>
+</div>
+
+<!-- HTTPS Everywhere -->
+<div class="projectbox">
+<a href="https://www.eff.org/https-everywhere"><img class="icon"
+src="$(IMGROOT)/icon-https-everywhere.png" alt="HTTPS Everywhere icon" width="80"></a>
+<div class="projectdesc"><div class="name"><a
+href="https://www.eff.org/https-everywhere">HTTPS Everywhere</a></div>
+<p>HTTPS Everywhere is a Firefox and Chrome extension that encrypts your
+communications with many major websites, making your browsing more secure.
+</p>
+</div></div>
+
+<!-- NoScript -->
+<div class="projectbox">
+<a href="https://noscript.net"><img class="icon"
+src="$(IMGROOT)/icon-noscript.png" alt="NoScript Icon" width="75"
+height="75"></a>
+<div class="projectdesc"><div class="name"><a
+href="https://noscript.net">NoScript</a></div>
+<p>
+NoScript allows JavaScript, Flash (and other plugins) only for trusted domains
+of your choice (e.g. your home-banking web site). This whitelist based
+pre-emptive blocking approach prevents exploitation of security vulnerabilities
+(known and even unknown).
+</p>
+</div></div>
+
+
+<!-- for operators -->
+
+<!-- carml -->
+<div class="projectbox">
+<a href="https://meejah.ca/projects/carml"><img class="icon"
+src="$(IMGROOT)/icon-carml.png" alt="carml icon" width="75"
+height="75"></a>
+<div class="projectdesc">
+<div class="name"><a
+href="https://meejah.ca/projects/carml">carml</a></div>
+<p>
+carml is a command-line collection of utilities to query and manipulate a
+running Tor. It does terminal colours, plays nicely with grep, pipes and so
+forth and is easily extensible.
+</p>
+</div>
+</div>
+
+<!-- Whonix -->
+<div class="projectbox">
+<a href="https://www.whonix.org/"><img class="icon"
+src="$(IMGROOT)/icon-whonix.png" alt="Whonix Icon" width="80"></a>
+<div class="projectdesc"><div class="name"><a
+href="https://www.whonix.org/">Whonix</a></div>
+<p>
+Whonix is a Debian GNU/Linux based security-focused Linux distribution.
+It aims to provide privacy, security and anonymity on the internet.
+The operating system consists of two virtual machines, a "Workstation" and a
+Tor "Gateway", running Debian GNU/Linux. All communications are forced through
+the Tor network to accomplish this.
+</p>
+</div></div>
+
+<!-- tor-ramdisk -->
+<div class="projectbox">
+<!--<a href="https://en.wikipedia.org/wiki/Tor-ramdisk"><img class="Tor-ramdisk icon"
+src="$(IMGROOT)/icon-.png" alt="Tor-ramdisk Logo" width="80"
+height="75"></a>-->
+<div class="projectdesc"><div class="name">
+<a href="https://en.wikipedia.org/wiki/Tor-ramdisk">Tor-ramdisk</a></div>
+<p>
+Tor-ramdisk is an i686 uClibc-based micro Linux distribution whose only purpose
+is to host a Tor server in an environment that maximizes security and privacy.
+Tor is a network of virtual tunnels that allows people and groups to improve
+their privacy and security on the Internet. Security is enhanced in Tor-ramdisk
+by employing a monolithically compiled GRSEC/PaX patched kernel and hardened
+system tools.
+</p>
+</div></div>
+
+<!-- OnionBalance -->
+<div class="projectbox">
+<!--<a href="https://onionbalance.readthedocs.io/en/latest/"><img class="icon"
+src="$(IMGROOT)/icon-onionbalance.png" alt="OnionBalance Icon" width="80"></a>-->
+<div class="projectdesc">
+<div class="name">
+<a href="https://onionbalance.readthedocs.io/en/latest/">OnionBalance</a></div>
+<p>
+OnionBalance provides load-balancing and redundancy for Tor hidden services by
+distributing requests to multiple backend Tor instances.
+<a href="https://github.com/DonnchaC/onionbalance">source</a>
+</p>
+<p>
+As of September 2018 support for
+<a href="http://trac.torproject.org/projects/tor/wiki/doc/NextGenOnions">
+Next-Generation Onion Services</a>
+was
+<a href="https://github.com/DonnchaC/onionbalance/issues/69">in development</a>.
+</p>
+</div>
+</div>
+
+<!-- OnionTip -->
+<div class="projectbox">
+<!--<a href="https://github.com/DonnchaC/oniontip"><img class="icon"
+src="$(IMGROOT)/icon-oniontip.png" alt="OnionTip Icon" width="75"></a>-->
+<div class="projectdesc">
+<div class="name"><a
+href="https://github.com/DonnchaC/oniontip">OnionTip</a></div>
+<p>
+OnionTip is a web app which parses Tor relay data to allow users to tip
+volunteers for running relay in a fair and open way. https://oniontip.com
+</p>
+</div>
+</div>
+
+<!-- Roster -->
+<div class="projectbox">
+<!--<a href="https://github.com/seansaito/Roster"><img class="icon"
+src="$(IMGROOT)/icon-roster.png" alt="Roster Icon" height="80"></a>-->
+<div class="projectdesc">
+<div class="name"><a
+href="https://github.com/seansaito/Roster">Roster</a></div>
+<p>
+Roster is a Tor project that awards points and badges to relay operators based
+on the performance of their families
+</p>
+</div>
+</div>
+
+<!-- Cupcake -->
+<div class="projectbox">
+<!--<a href="https://github.com/glamrock/cupcake"><img class="icon"
+src="$(IMGROOT)/icon-Cupcake.jpg" alt="Cupcake Icon" width="75"
+height="75"></a>-->
+<div class="projectdesc"><div class="name"><a
+href="https://github.com/glamrock/cupcake">Cupcake</a></div>
+<p>
+Cupcake Bridge helps users making bridges automagically with a browser
+extension for Chrome and Firefox
+</p>
+</div></div>
+
+
+</table>
+<!-- END TABLE -->
+</div>
+<!-- END MAINCOL -->
+<div id = "sidecol">
+#include "side.wmi"
+#include "info.wmi"
+</div>
+<!-- END SIDECOL -->
+</div>
+<!-- END CONTENT -->
+#include <foot.wmi>
diff --git a/projects/en/projects.wml b/projects/en/projects.wml
index fb12de33..09d582be 100644
--- a/projects/en/projects.wml
+++ b/projects/en/projects.wml
@@ -157,6 +157,10 @@ world.
</div>
</div>
+<p>
+Also see our list of <a href="<page projects/community>">community projects</a>.
+</p>
+
</table>
<!-- END TABLE -->
1
0

[webwml/master] verification: move fingerprints to include/subkey_fingerprints.wmi
by hiro@torproject.org 18 Sep '18
by hiro@torproject.org 18 Sep '18
18 Sep '18
commit cc208444af48f7ed752d148e954ac692cbd2ce2b
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Fri Sep 14 18:27:53 2018 +0200
verification: move fingerprints to include/subkey_fingerprints.wmi
---
docs/en/verifying-signatures.wml | 10 ++++------
include/subkey_fingerprints.wmi | 5 +++++
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/docs/en/verifying-signatures.wml b/docs/en/verifying-signatures.wml
index 7a311365..3fd24f28 100644
--- a/docs/en/verifying-signatures.wml
+++ b/docs/en/verifying-signatures.wml
@@ -132,9 +132,8 @@ Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
<p>Currently valid subkey fingerprints are:
<pre>
- 5242 013F 02AF C851 B1C7 36B8 7017 ADCE F65C 2036
- BA1E E421 BBB4 5263 180E 1FC7 2E1A C68E D408 14E0
- A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136</pre></p>
+#include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
+ </pre></p>
<p>
Notice that there is a warning because you haven't assigned a trust
index to this person. This means that GnuPG verified that the key made
@@ -199,9 +198,8 @@ Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
</pre>
<p> Currently valid subkey fingerprints are:
<pre>
- 5242 013F 02AF C851 B1C7 36B8 7017 ADCE F65C 2036
- BA1E E421 BBB4 5263 180E 1FC7 2E1A C68E D408 14E0
- A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136</pre></p>
+#include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
+ </pre></p>
<p>
Notice that there is a warning because you haven't assigned a trust
index to this person. This means that GnuPG verified that the key made
diff --git a/include/subkey_fingerprints.wmi b/include/subkey_fingerprints.wmi
new file mode 100644
index 00000000..e556dab2
--- /dev/null
+++ b/include/subkey_fingerprints.wmi
@@ -0,0 +1,5 @@
+#!/usr/bin/env wml
+5242 013F 02AF C851 B1C7 36B8 7017 ADCE F65C 2036
+BA1E E421 BBB4 5263 180E 1FC7 2E1A C68E D408 14E0
+1107 75B5 D101 FB36 BC6C 911B EB77 4491 D9FF 06E2
+A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
1
0

18 Sep '18
commit cbf8adc25ada116118c669bec417559c8ae5f41e
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Fri Sep 14 19:00:37 2018 +0200
keys.txt: update GeKo's key, remove ln5 (#27698)
---
include/keys.txt | 3 +--
include/keys.wmi | 68 +++++++++++++++++++++++++++++---------------------------
2 files changed, 36 insertions(+), 35 deletions(-)
diff --git a/include/keys.txt b/include/keys.txt
index a9868a58..ea3cf4d4 100644
--- a/include/keys.txt
+++ b/include/keys.txt
@@ -1,9 +1,8 @@
[Tor Browser releases]
The Tor Browser Developers: 0x4E2C6E8793298290
Mike Perry: 0x29846B3C683686CC
-Georg Koppen: 0x4B7C3223
+Georg Koppen: 0xD1483FA6C3C07136
Nicolas Vigier: 0xE5B81856D0220E4B
-Linus Nordberg: 0x23291265
Arthur Edelstein: 0xD752F538C0D38C3A
[Tor source tarballs]
diff --git a/include/keys.wmi b/include/keys.wmi
index 9bb30369..1ba50734 100644
--- a/include/keys.wmi
+++ b/include/keys.wmi
@@ -1,7 +1,12 @@
#!/usr/bin/env wml
-<p>The signing keys we use are:</p>
+<p>
+This page is automatically generated from
+<a href='/include/keys.txt'>keys.txt</a>.
+The signing keys we use are:
+</p>
+
<ul>
-<li>The Tor Browser Developers (0x4E2C6E8793298290), Mike Perry (0x29846B3C683686CC), Georg Koppen (0x4B7C3223), Nicolas Vigier (0xE5B81856D0220E4B), Linus Nordberg (0x23291265), Arthur Edelstein (0xD752F538C0D38C3A) sign <strong>Tor Browser releases</strong></li>
+<li>The Tor Browser Developers (0x4E2C6E8793298290), Mike Perry (0x29846B3C683686CC), Georg Koppen (0xD1483FA6C3C07136), Nicolas Vigier (0xE5B81856D0220E4B), Arthur Edelstein (0xD752F538C0D38C3A) sign <strong>Tor Browser releases</strong></li>
<li>Roger Dingledine (0x28988BF5 and 0x19F78451), Nick Mathewson (0x165733EA with its signing key 0x8D29319A) sign <strong>Tor source tarballs</strong></li>
<li>Nick Mathewson (0x165733EA with its signing key 0x8D29319A) signed <strong>older Tor tarballs</strong></li>
<li>Tor Project Archive (0xEE8CBC9E886DDD89) signs <strong>deb.torproject.org repositories and archives</strong></li>
@@ -29,37 +34,15 @@ uid [ unknown] Mike Perry (Regular use key) <mikeperry#torp
sub rsa4096/0x004AD1045BA0FE28 2017-10-31 [S] [expires: 2018-10-31]
sub rsa4096/0xEEC50E9938F9F4E9 2017-10-31 [E] [expires: 2018-10-31]
-pub rsa4096/0x4FEA46574B7C3223 2014-06-16 [SCEA] [revoked: 2016-08-16]
- Key fingerprint = DFE0 2163 0B44 5B24 DE2D CDAC 4FEA 4657 4B7C 3223
-uid [ revoked] Georg Koppen <georg#getfoxyproxy.org>
-
-pub rsa4096/0x94373AA94B7C3223 2013-07-30 [SC]
- Key fingerprint = 35CD 74C2 4A9B 15A1 9E1A 81A1 9437 3AA9 4B7C 3223
-uid [ unknown] Georg Koppen <gk#torproject.org>
-uid [ unknown] Georg Koppen <groeg#vfemail.net>
-uid [ unknown] Georg Koppen <georg#getfoxyproxy.org>
-sub rsa4096/0x5778071EE2DE675B 2017-09-11 [E] [expires: 2018-09-11]
-sub rsa4096/0x72E841BB93148AD2 2017-09-11 [S] [expires: 2018-09-11]
+pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
+ Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
+uid [ unknown] Tor Browser Developers (signing key) <torbrowser#torproject.org>
+sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
pub rsa4096/0xE5B81856D0220E4B 2014-03-19 [SC]
Key fingerprint = 4A90 646C 0BAE D9D4 56AB 3111 E5B8 1856 D022 0E4B
uid [ unknown] Nicolas Vigier (TBB Builds Signing Key) <boklm#torproject.org>
-pub rsa4096/0x1E8BF34923291265 2010-05-07 [SC]
- Key fingerprint = 8C4C D511 095E 982E B0EF BFA2 1E8B F349 2329 1265
-uid [ unknown] Linus Nordberg <linus#nordberg.se>
-uid [ unknown] Linus Nordberg <linus#dfri.se>
-uid [ unknown] Linus Nordberg <linus#sunet.se>
-uid [ unknown] Linus Nordberg <linus#nordu.net>
-uid [ unknown] Linus Nordberg <linus#torproject.org>
-uid [ unknown] [jpeg image of size 2906]
-sub rsa4096/0xC1788C2B0B3120D3 2018-02-17 [A]
-sub rsa4096/0x9DC3E9C66DDABD48 2018-04-11 [E] [expires: 2019-04-11]
-
-pub rsa4096/0xAADF069E23291265 2014-06-16 [SCEA] [revoked: 2016-08-16]
- Key fingerprint = 43D1 9E7B DB63 A474 0B0C B555 AADF 069E 2329 1265
-uid [ revoked] Linus Nordberg <linus#nordberg.se>
-
pub rsa2048/0xD752F538C0D38C3A 2014-12-10 [SC]
Key fingerprint = 20B2 4CEF E6AF D615 0B6A 6F18 D752 F538 C0D3 8C3A
uid [ unknown] Arthur Edelstein <arthuredelstein#gmail.com>
@@ -101,6 +84,15 @@ uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+pub rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
+ Key fingerprint = B35B F85B F194 89D0 4E28 C33C 2119 4EBB 1657 33EA
+uid [ unknown] Nick Mathewson <nickm#alum.mit.edu>
+uid [ unknown] Nick Mathewson <nickm#wangafu.net>
+uid [ unknown] Nick Mathewson <nickm#freehaven.net>
+uid [ unknown] [jpeg image of size 3369]
+sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+
</pre>
<h3>older Tor tarballs</h3>
<pre>
@@ -117,6 +109,15 @@ uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+pub rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
+ Key fingerprint = B35B F85B F194 89D0 4E28 C33C 2119 4EBB 1657 33EA
+uid [ unknown] Nick Mathewson <nickm#alum.mit.edu>
+uid [ unknown] Nick Mathewson <nickm#wangafu.net>
+uid [ unknown] Nick Mathewson <nickm#freehaven.net>
+uid [ unknown] [jpeg image of size 3369]
+sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+
</pre>
<h3>deb.torproject.org repositories and archives</h3>
<pre>
@@ -142,13 +143,14 @@ sub elg2048/0x04F1B63D146276B2 2009-06-17 [E]
</pre>
<h3>Tails live system releases</h3>
<pre>
-pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2019-01-11]
+pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2020-01-11]
Key fingerprint = A490 D0F4 D311 A415 3E2B B7CA DBB8 02B2 58AC D84F
-uid [ unknown] Tails developers <tails#boum.org>
uid [ unknown] Tails developers (offline long-term identity key) <tails#boum.org>
-sub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2019-01-11]
-sub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2019-01-11]
-sub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2019-01-11]
+uid [ unknown] Tails developers <tails#boum.org>
+sub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2020-01-11]
+sub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2020-01-11]
+sub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2020-01-11]
+sub rsa4096/0xA8B0F4E45B1B50E2 2018-08-30 [S] [expires: 2020-01-11]
</pre>
<h3>Torsocks releases</h3>
1
0

[webwml/master] Update subkey fingerprints and signing keys page (#27698, #27702)
by hiro@torproject.org 18 Sep '18
by hiro@torproject.org 18 Sep '18
18 Sep '18
commit 9db0e47474c387faa5ec3b0fe8d18a6f256eceac
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Fri Sep 14 19:02:16 2018 +0200
Update subkey fingerprints and signing keys page (#27698, #27702)
---
docs/en/update_signing-keys.pl | 120 +++++++++++++++++++++++++++------------
docs/en/verifying-signatures.wml | 16 +++---
include/keys.wmi | 55 ++++++++++++++----
include/subkey_fingerprints.wmi | 3 -
4 files changed, 136 insertions(+), 58 deletions(-)
diff --git a/docs/en/update_signing-keys.pl b/docs/en/update_signing-keys.pl
index db7ce738..5cdc1006 100755
--- a/docs/en/update_signing-keys.pl
+++ b/docs/en/update_signing-keys.pl
@@ -2,8 +2,10 @@
use strict;
use warnings;
+# This script automatically updates the .wmi file with gpg as per:
my $keysfile = "include/keys.txt";
my $wmifile = 'include/keys.wmi';
+my $fpfile = 'include/subkey_fingerprints.wmi';
my $forcekeyupdates = 0;
my $skipkeyupdates = 0;
@@ -21,7 +23,7 @@ open my $kf, '<', "$keysfile" # read keys
my %sections; # project => key owners
my %owners; # key owner => string with all keys
-my @projects; # save sections in order of appearance
+my @apps; # save sections in order of appearance
my $section;
foreach (<$kf>) {
# filters comment and empty lines
@@ -31,7 +33,7 @@ foreach (<$kf>) {
} elsif (/^\[(.+)\]$/) {
$section = "$1";
$sections{"$section"} = ();
- push (@projects, $section);
+ push (@apps, $section);
# key owner with list of key id(s)
} elsif (/^([^:]+):(.+)$/) {
my $owner = "$1";
@@ -43,7 +45,7 @@ foreach (<$kf>) {
}
close $kf;
my @owners = keys %owners;
-print "Loaded $keysfile. Found $#owners key owners in $#projects projects.\n";
+print "Loaded $keysfile. Found $#owners key owners for $#apps applications.\n";
# If the keysfile did not change since the last run, we will not update them.
# To update all keys anyway, set $forcekeyupdates = 1 above, or comment:
@@ -51,38 +53,36 @@ if (-f $wmifile && qx/[ $wmifile -nt $keysfile ]/) {
$forcekeyupdates or $skipkeyupdates++;
}
-open my $out, '>', "$wmifile"
- or die "Could not write to $wmifile; $!\n";
-print $out "#!/usr/bin/env wml\n<p>
-This page is automatically generated from
-<a href='/include/keys.txt'>keys.txt</a>.
-The signing keys we use are:\n</p>\n<ul>\n";
+my $buffer = ''; # project overview string
my %fingerprints;
-foreach my $project (@projects) {
- my $owners = '';
- my $suf = 's';
- my @keysinproject;
+foreach my $app (@apps) {
+ print "\nUpdating keys for '$app':\n";
+ my ($keys, $subkey_fingerprints, $owners, $suf) = ('', '', '', 's');
+ my @keysforapp;
# we grab the key owners for each project and iterate over their keys
- foreach my $owner (@{$sections{"$project"}}) { # iterate over owners
+ foreach my $owner (@{$sections{"$app"}}) { # iterate over owners
my $keys = $owners{"$owner"};
# example for $keys: 0x165733EA, 0x8D29319A(signing key)
- my $inbrackets = '';
+ my ($inbrackets, $inbrackets_html) = ('', '');
$suf = '' if ($owners ne '');
my @keys = split (',', $keys);
foreach my $key (@keys) { # iterate over keys
# validate key format. all regexp are beautiful.
if ($key =~ /^\s?(0x[^\(]+)(\(([^\)]+)\))?/) {
my $key = $1;
- push (@keysinproject, $key);
+ my $keylink = "<a href='https://pgp.mit.edu/pks/lookup?search=$key&op=vindex&exact=on'>$key</a>";
+ push (@keysforapp, $key);
# named alternative key
if ($2) {
$inbrackets .= " with its $3 $key";
# first key
} elsif ($inbrackets eq '') {
$inbrackets = "$key";
+ $inbrackets_html = "$keylink";
# second key
} else {
- $inbrackets .= " and $key";
+ $inbrackets = " and $key";
+ $inbrackets_html .= " and $keylink";
}
} else { # tell if the format is wrong
print "Unrecognized key format: $key\n";
@@ -90,31 +90,81 @@ foreach my $project (@projects) {
}
my $sep = ($owners eq '') ? '' : ', ';
# Add owner to the list
- $owners .= "$sep$owner ($inbrackets)";
- print " - $owner ($inbrackets) [$project]\n";
+ $owners .= "$sep$owner ($inbrackets_html)";
+ print " - $owner ($inbrackets)\n";
}
- if ($project eq 'other') {
- print $out "<li>Other developers include $owners.</li>\n";
+ if ($app eq 'other') {
+ $buffer .= "<li>Other developers include $owners.</li>\n";
} else {
- $suf = 'ed' if ($project =~ /older/);
- print $out "<li>$owners sign$suf <strong>$project</strong></li>\n";
+ $suf = 'ed' if ($app =~ /older/);
+ $buffer .= "<li>$owners sign$suf <strong>$app</strong></li>\n";
}
- foreach my $key (@keysinproject) {
- # update keys form keyserver pool
+
+ # we update collected keys for this application and create a string of them
+ my $gpgcmd = "gpg --keyid-format 0xlong --fingerprint --with-subkey-fingerprints";
+ foreach my $key (@keysforapp) {
+ # update keys
if ($forcekeyupdates or not $skipkeyupdates) {
- print "Fetching $key from keyserver:\n";
- qx/gpg --recv-key $key/ or die "Failed to fetch $key;
+ print "\nFetching $key\n";
+ my $gpgresult;
+ do { $gpgresult = system "gpg --recv-key $key"; sleep 1; }
+ while ($gpgresult != 0);
}
+
+ # add output to key string
+ my $str = qx/$gpgcmd $key/;
+ # replace html codes
+ $str =~ s/</</g; $str =~ s/>/>/g; $str =~ s/@/#/g; $str =~ s/@/&at;/g;
+ $keys .= "$str";
+ }
+ # save formatted string for project
+ $fingerprints{"$app"} = "<pre>\n$keys</pre>\n";
+
+ if ($app eq "Tor Browser releases") {
+ my $owner = "The Tor Browser Developers";
+ die "Did not findTor Browser signing key.\n" if ($owners{$owner} eq '');
+ # save Tor Browser signing key subkey fingerprints to $fpfile
+ my @fp = qx/$gpgcmd $owners{$owner}|grep "Key fingerprint"/;
+ shift @fp; # remove primary key fingerprint
+ $subkey_fingerprints .= join ('', map { s/^\s+Key fingerprint = //; "$_" } @fp);
+ if (open my $fpout, '>', "$fpfile.temp") {
+ print $fpout "#!/usr/bin/env wml\n$subkey_fingerprints";
+ close $fpout;
+ # check that the written file is not empty
+ my $written_lines = qx/wc -l "$fpfile.temp"|wc -l/;
+ if ($written_lines gt 0) {
+ rename "$fpfile.temp", "$fpfile" and
+ print "\nWrote following subkey fingerprints to $fpfile:\n$subkey_fingerprints"
+ or die "Could not overwrite $fpfile: $!\n";
+ } else { die "Created $fpfile.temp but it is empty.\n"; }
+ } else { die "Could not create temporary file $fpfile.temp.\n"; }
}
- # save gpg output for later
- my $str = qx/gpg --list-keys --keyid-format 0xlong --with-fingerprint $keyids/;
- $str =~ s/</</g; $str =~ s/>/>/g; $str =~ s/@/#/g; # replace html codes
- $fingerprints{"$project"} = "<pre>\n$str</pre>\n";
}
+my @date = localtime;
+my $date = "$date[4]/$date[5]"; # Month/Year
# print keys for each project to file
-print $out "</ul>\n<h2>Fingerprints</h2>\n<p>The fingerprints for the keys are:</p>\n";
-foreach my $project (@projects) {
- print $out "<h3>$project</h3>\n". $fingerprints{"$project"};
+open my $html, '>', "$wmifile"
+ or die "Could not write to $wmifile; $!\n";
+
+print $html "#!/usr/bin/env wml
+<p>
+This page was automatically generated page from
+<a href='/include/keys.txt'>this file listing the gpg keys of our release teams</a>.
+To learn how to verify signatures, see <a href=\"<page docs/signing-keys>\">
+our manual</a>.
+</p>
+<p>
+As of $date the signing keys we use are:
+</p>
+
+<ul>
+$buffer
+</ul>
+<h2>Fingerprints</h2>\n<p>The fingerprints for the keys are:</p>\n";
+
+foreach my $app (@apps) {
+ print $html "<h3>$app</h3>\n". $fingerprints{"$app"};
}
-close $out; print "Wrote $wmifile.\n"; exit 0;
+close $html;
+print "\nWrote $wmifile.\n";
diff --git a/docs/en/verifying-signatures.wml b/docs/en/verifying-signatures.wml
index 3fd24f28..d131e084 100644
--- a/docs/en/verifying-signatures.wml
+++ b/docs/en/verifying-signatures.wml
@@ -109,7 +109,7 @@
<pre>
pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
-uid [ unknown] Tor Browser Developers (signing key) <torbrowser(a)torproject.org>
+uid [ unknown] Tor Browser Developers (signing key) <torbrowser&at;torproject.org>
sub rsa4096/0xD1483FA6C3C07136 2016-08-24 [S] [expires: 2018-08-24]
Key fingerprint = A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
@@ -125,15 +125,15 @@ sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
gpg: assuming signed data in 'torbrowser-install-<version-torbrowserbundle>_en-US.exe'
gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
gpg: using RSA key 0xD1483FA6C3C07136
-gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser(a)torproject.org>" [unknown]
+gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser&at;torproject.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
- <p>Currently valid subkey fingerprints are:
+ <p>Currently valid subkey fingerprints are:</p>
<pre>
#include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
- </pre></p>
+ </pre>
<p>
Notice that there is a warning because you haven't assigned a trust
index to this person. This means that GnuPG verified that the key made
@@ -168,7 +168,7 @@ Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
<pre>
pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
-uid [ unknown] Tor Browser Developers (signing key) <torbrowser(a)torproject.org>
+uid [ unknown] Tor Browser Developers (signing key) <torbrowser&at;torproject.org>
sub rsa4096/0xD1483FA6C3C07136 2016-08-24 [S] [expires: 2018-08-24]
Key fingerprint = A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
@@ -190,16 +190,16 @@ sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
gpg: assuming signed data in 'tor-browser-linux64-<version-torbrowserbundlelinux64>_en-US.tar.xz'
gpg: Signature made Wed 15 Nov 2017 05:52:38 PM CET
gpg: using RSA key 0xD1483FA6C3C07136
-gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser(a)torproject.org>" [unknown]
+gpg: Good signature from "Tor Browser Developers (signing key) <torbrowser&at;torproject.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
Subkey fingerprint: A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
</pre>
- <p> Currently valid subkey fingerprints are:
+ <p>Currently valid subkey fingerprints are:</p>
<pre>
#include "subkey_fingerprints.wmi" TITLE="Tor Project: Subkey Fingerprints" CHARSET="UTF-8"
- </pre></p>
+ </pre>
<p>
Notice that there is a warning because you haven't assigned a trust
index to this person. This means that GnuPG verified that the key made
diff --git a/include/keys.wmi b/include/keys.wmi
index 1ba50734..f68197ed 100644
--- a/include/keys.wmi
+++ b/include/keys.wmi
@@ -1,20 +1,25 @@
#!/usr/bin/env wml
<p>
-This page is automatically generated from
-<a href='/include/keys.txt'>keys.txt</a>.
-The signing keys we use are:
+This page was automatically generated page from
+<a href='/include/keys.txt'>this file listing the gpg keys of our release teams</a>.
+To learn how to verify signatures, see <a href="<page docs/signing-keys>">
+our manual</a>.
+</p>
+<p>
+As of 8/118 the signing keys we use are:
</p>
<ul>
-<li>The Tor Browser Developers (0x4E2C6E8793298290), Mike Perry (0x29846B3C683686CC), Georg Koppen (0xD1483FA6C3C07136), Nicolas Vigier (0xE5B81856D0220E4B), Arthur Edelstein (0xD752F538C0D38C3A) sign <strong>Tor Browser releases</strong></li>
-<li>Roger Dingledine (0x28988BF5 and 0x19F78451), Nick Mathewson (0x165733EA with its signing key 0x8D29319A) sign <strong>Tor source tarballs</strong></li>
-<li>Nick Mathewson (0x165733EA with its signing key 0x8D29319A) signed <strong>older Tor tarballs</strong></li>
-<li>Tor Project Archive (0xEE8CBC9E886DDD89) signs <strong>deb.torproject.org repositories and archives</strong></li>
-<li>Damian Johnson (0x9ABBEEC6) signs <strong>Arm releases</strong></li>
-<li>The Tails team (0xDBB802B258ACD84F) signs <strong>Tails live system releases</strong></li>
-<li>David Goulet (0x42E86A2A11F48D36) signs <strong>Torsocks releases</strong></li>
-<li>Sukhbir Singh (0xB01C8B006DA77FAA) signs <strong>TorBirdy releases</strong></li>
-<li>Other developers include Peter Palfrader (0x62AF4031C82E0039).</li>
+<li>The Tor Browser Developers (<a href='https://pgp.mit.edu/pks/lookup?search=0x4E2C6E8793298290&op=vindex&exact=on'>0x4E2C6E8793298290</a>), Mike Perry (<a href='https://pgp.mit.edu/pks/lookup?search=0x29846B3C683686CC&op=vindex&exact=on'>0x29846B3C683686CC</a>), Georg Koppen (<a href='https://pgp.mit.edu/pks/lookup?search=0xD1483FA6C3C07136&op=vindex&exact=on'>0xD1483FA6C3C07136</a>), Nicolas Vigier (<a href='https://pgp.mit.edu/pks/lookup?search=0xE5B81856D0220E4B&op=vindex&exact=on'>0xE5B81856D0220E4B</a>), Arthur Edelstein (<a href='https://pgp.mit.edu/pks/lookup?search=0xD752F538C0D38C3A&op=vindex&exact=on'>0xD752F538C0D38C3A</a>) sign <strong>Tor Browser releases</strong></li>
+<li>Roger Dingledine (<a href='https://pgp.mit.edu/pks/lookup?search=0x28988BF5&op=vindex&exact=on'>0x28988BF5</a> and <a href='https://pgp.mit.edu/pks/lookup?search=0x19F78451&op=vindex&exact=on'>0x19F78451</a>), Nick Mathewson (<a href='https://pgp.mit.edu/pks/lookup?search=0x165733EA&op=vindex&exact=on'>0x165733EA</a>) sign <strong>Tor source tarballs</strong></li>
+<li>Nick Mathewson (<a href='https://pgp.mit.edu/pks/lookup?search=0x165733EA&op=vindex&exact=on'>0x165733EA</a>) signed <strong>older Tor tarballs</strong></li>
+<li>Tor Project Archive (<a href='https://pgp.mit.edu/pks/lookup?search=0xEE8CBC9E886DDD89&op=vindex&exact=on'>0xEE8CBC9E886DDD89</a>) signs <strong>deb.torproject.org repositories and archives</strong></li>
+<li>Damian Johnson (<a href='https://pgp.mit.edu/pks/lookup?search=0x9ABBEEC6&op=vindex&exact=on'>0x9ABBEEC6</a>) signs <strong>Arm releases</strong></li>
+<li>The Tails team (<a href='https://pgp.mit.edu/pks/lookup?search=0xDBB802B258ACD84F&op=vindex&exact=on'>0xDBB802B258ACD84F</a>) signs <strong>Tails live system releases</strong></li>
+<li>David Goulet (<a href='https://pgp.mit.edu/pks/lookup?search=0x42E86A2A11F48D36&op=vindex&exact=on'>0x42E86A2A11F48D36</a>) signs <strong>Torsocks releases</strong></li>
+<li>Sukhbir Singh (<a href='https://pgp.mit.edu/pks/lookup?search=0xB01C8B006DA77FAA&op=vindex&exact=on'>0xB01C8B006DA77FAA</a>) signs <strong>TorBirdy releases</strong></li>
+<li>Other developers include Peter Palfrader (<a href='https://pgp.mit.edu/pks/lookup?search=0x62AF4031C82E0039&op=vindex&exact=on'>0x62AF4031C82E0039</a>).</li>
+
</ul>
<h2>Fingerprints</h2>
<p>The fingerprints for the keys are:</p>
@@ -24,6 +29,7 @@ pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser#torproject.org>
sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
+ Key fingerprint = 1107 75B5 D101 FB36 BC6C 911B EB77 4491 D9FF 06E2
pub rsa8192/0x29846B3C683686CC 2013-09-11 [SC]
Key fingerprint = C963 C21D 6356 4E2B 10BB 335B 2984 6B3C 6836 86CC
@@ -32,12 +38,15 @@ uid [ unknown] Mike Perry <mikeperry#unencrypted.info>
uid [ unknown] Mike Perry (Regular use key) <mikeperry#fscked.org>
uid [ unknown] Mike Perry (Regular use key) <mikeperry#torproject.org>
sub rsa4096/0x004AD1045BA0FE28 2017-10-31 [S] [expires: 2018-10-31]
+ Key fingerprint = 7AB6 A050 C544 CB16 60A9 F1E9 004A D104 5BA0 FE28
sub rsa4096/0xEEC50E9938F9F4E9 2017-10-31 [E] [expires: 2018-10-31]
+ Key fingerprint = B403 E911 BA38 63DB ED82 C57C EEC5 0E99 38F9 F4E9
pub rsa4096/0x4E2C6E8793298290 2014-12-15 [C] [expires: 2020-08-24]
Key fingerprint = EF6E 286D DA85 EA2A 4BA7 DE68 4E2C 6E87 9329 8290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser#torproject.org>
sub rsa4096/0xEB774491D9FF06E2 2018-05-26 [S] [expires: 2020-09-12]
+ Key fingerprint = 1107 75B5 D101 FB36 BC6C 911B EB77 4491 D9FF 06E2
pub rsa4096/0xE5B81856D0220E4B 2014-03-19 [SC]
Key fingerprint = 4A90 646C 0BAE D9D4 56AB 3111 E5B8 1856 D022 0E4B
@@ -47,6 +56,7 @@ pub rsa2048/0xD752F538C0D38C3A 2014-12-10 [SC]
Key fingerprint = 20B2 4CEF E6AF D615 0B6A 6F18 D752 F538 C0D3 8C3A
uid [ unknown] Arthur Edelstein <arthuredelstein#gmail.com>
sub rsa2048/0x3306E88D27211E0B 2014-12-10 [E]
+ Key fingerprint = 78BB DCF7 187D F8E7 F832 DD29 3306 E88D 2721 1E0B
</pre>
<h3>Tor source tarballs</h3>
@@ -55,6 +65,7 @@ pub dsa1024/0xEB5A896A28988BF5 2000-02-27 [SCA]
Key fingerprint = B117 2656 DFF9 83C3 042B C699 EB5A 896A 2898 8BF5
uid [ unknown] Roger Dingledine <arma#mit.edu>
sub elg2048/0x147FF421788AFDCE 2000-02-27 [E]
+ Key fingerprint = 08E6 A5BD CF81 D0A3 1BDE 9474 147F F421 788A FDCE
pub rsa1024/0x9C01813428988BF5 2014-06-16 [SCEA] [revoked: 2016-08-16]
Key fingerprint = 2629 5471 A26A B9F9 6C0C 45BB 9C01 8134 2898 8BF5
@@ -66,6 +77,7 @@ uid [ unknown] Roger Dingledine <arma#mit.edu>
uid [ unknown] Roger Dingledine <arma#freehaven.net>
uid [ unknown] Roger Dingledine <arma#torproject.org>
sub rsa4096/0x1A61312B4600E8BE 2018-06-03 [E] [expires: 2019-06-03]
+ Key fingerprint = 6C8F F7D9 F789 52A1 8986 52B7 1A61 312B 4600 E8BE
pub rsa4096/0x468FAE2919F78451 2014-06-16 [SCEA] [revoked: 2016-08-16]
Key fingerprint = 9C95 0D05 FC80 2DFA 79C3 7629 468F AE29 19F7 8451
@@ -82,7 +94,9 @@ uid [ unknown] Nick Mathewson <nickm#wangafu.net>
uid [ unknown] Nick Mathewson <nickm#freehaven.net>
uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+ Key fingerprint = EF00 F369 1387 FCC5 8CD6 8E13 9103 97D8 8D29 319A
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+ Key fingerprint = 11F2 E464 48C8 0F44 8F64 FC54 D2CA 27F3 F25B 8E5E
pub rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
Key fingerprint = B35B F85B F194 89D0 4E28 C33C 2119 4EBB 1657 33EA
@@ -91,7 +105,9 @@ uid [ unknown] Nick Mathewson <nickm#wangafu.net>
uid [ unknown] Nick Mathewson <nickm#freehaven.net>
uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+ Key fingerprint = EF00 F369 1387 FCC5 8CD6 8E13 9103 97D8 8D29 319A
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+ Key fingerprint = 11F2 E464 48C8 0F44 8F64 FC54 D2CA 27F3 F25B 8E5E
</pre>
<h3>older Tor tarballs</h3>
@@ -107,7 +123,9 @@ uid [ unknown] Nick Mathewson <nickm#wangafu.net>
uid [ unknown] Nick Mathewson <nickm#freehaven.net>
uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+ Key fingerprint = EF00 F369 1387 FCC5 8CD6 8E13 9103 97D8 8D29 319A
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+ Key fingerprint = 11F2 E464 48C8 0F44 8F64 FC54 D2CA 27F3 F25B 8E5E
pub rsa3072/0x21194EBB165733EA 2004-07-03 [SC]
Key fingerprint = B35B F85B F194 89D0 4E28 C33C 2119 4EBB 1657 33EA
@@ -116,7 +134,9 @@ uid [ unknown] Nick Mathewson <nickm#wangafu.net>
uid [ unknown] Nick Mathewson <nickm#freehaven.net>
uid [ unknown] [jpeg image of size 3369]
sub rsa3072/0x910397D88D29319A 2004-07-03 [S]
+ Key fingerprint = EF00 F369 1387 FCC5 8CD6 8E13 9103 97D8 8D29 319A
sub rsa3072/0xD2CA27F3F25B8E5E 2004-07-03 [E]
+ Key fingerprint = 11F2 E464 48C8 0F44 8F64 FC54 D2CA 27F3 F25B 8E5E
</pre>
<h3>deb.torproject.org repositories and archives</h3>
@@ -125,6 +145,7 @@ pub rsa2048/0xEE8CBC9E886DDD89 2009-09-04 [SC] [expires: 2022-08-05]
Key fingerprint = A3C4 F0F9 79CA A22C DBA8 F512 EE8C BC9E 886D DD89
uid [ unknown] deb.torproject.org archive signing key
sub rsa2048/0x74A941BA219EC810 2009-09-04 [S] [expires: 2020-11-23]
+ Key fingerprint = 2265 EB4C B2BF 88D9 00AE 8D1B 74A9 41BA 219E C810
</pre>
<h3>Arm releases</h3>
@@ -138,7 +159,9 @@ pub dsa1024/0x0445B7AB9ABBEEC6 2009-06-17 [SC]
uid [ unknown] Damian Johnson (www.atagar.com) <atagar1#gmail.com>
uid [ unknown] Damian Johnson <atagar#torproject.org>
sub rsa2048/0x888404C187F30690 2010-08-07 [S]
+ Key fingerprint = 2AE2 24F5 C424 990A E520 6C85 8884 04C1 87F3 0690
sub elg2048/0x04F1B63D146276B2 2009-06-17 [E]
+ Key fingerprint = C500 E569 5F09 CB7B AA81 A9CE 04F1 B63D 1462 76B2
</pre>
<h3>Tails live system releases</h3>
@@ -148,9 +171,13 @@ pub rsa4096/0xDBB802B258ACD84F 2015-01-18 [C] [expires: 2020-01-11]
uid [ unknown] Tails developers (offline long-term identity key) <tails#boum.org>
uid [ unknown] Tails developers <tails#boum.org>
sub ed25519/0x90B2B4BD7AED235F 2017-08-28 [S] [expires: 2020-01-11]
+ Key fingerprint = CD4D 4351 AFA6 933F 574A 9AFB 90B2 B4BD 7AED 235F
sub rsa4096/0xD21DAD38AF281C0B 2017-08-28 [S] [expires: 2020-01-11]
+ Key fingerprint = 0546 9FB8 5EAD 6589 B43D 41D3 D21D AD38 AF28 1C0B
sub rsa4096/0x3020A7A9C2B72733 2017-08-28 [S] [expires: 2020-01-11]
+ Key fingerprint = 2FAF 9BA0 D65B B371 F0BC 2D46 3020 A7A9 C2B7 2733
sub rsa4096/0xA8B0F4E45B1B50E2 2018-08-30 [S] [expires: 2020-01-11]
+ Key fingerprint = FE02 9CB4 AAD4 788E 1D78 28E8 A8B0 F4E4 5B1B 50E2
</pre>
<h3>Torsocks releases</h3>
@@ -161,6 +188,7 @@ uid [ unknown] David Goulet <dgoulet#ev0ke.net>
uid [ unknown] David Goulet <dgoulet#riseup.net>
uid [ unknown] David Goulet <dgoulet#torproject.org>
sub rsa4096/0x2AC6036C93CC198D 2013-09-10 [E] [expires: 2019-08-17]
+ Key fingerprint = 0451 E51B 33B7 AC38 C57B 09F7 2AC6 036C 93CC 198D
</pre>
<h3>TorBirdy releases</h3>
@@ -170,6 +198,7 @@ pub rsa4096/0xB01C8B006DA77FAA 2016-02-25 [SC] [expires: 2020-02-24]
uid [ unknown] Sukhbir Singh <azadi#riseup.net>
uid [ unknown] Sukhbir Singh <sukhbir#torproject.org>
sub rsa4096/0x1AF20C043D9F9289 2016-02-25 [E] [expires: 2020-02-24]
+ Key fingerprint = 4403 733D 7141 9BF1 8617 4988 1AF2 0C04 3D9F 9289
</pre>
<h3>other</h3>
@@ -180,6 +209,8 @@ uid [ unknown] Peter Palfrader
uid [ unknown] Peter Palfrader <weasel#debian.org>
uid [ unknown] Peter Palfrader <peter#palfrader.org>
sub rsa2048/0x8602C8203872331F 2014-05-04 [S] [expires: 2020-09-01]
+ Key fingerprint = B383 D785 A8C9 2FDE BC06 0376 8602 C820 3872 331F
sub rsa2048/0xE377AED938E4E080 2014-05-04 [E] [expires: 2020-09-01]
+ Key fingerprint = 0BF9 8225 6E85 3044 9E69 D6C7 E377 AED9 38E4 E080
</pre>
diff --git a/include/subkey_fingerprints.wmi b/include/subkey_fingerprints.wmi
index e556dab2..f113628f 100644
--- a/include/subkey_fingerprints.wmi
+++ b/include/subkey_fingerprints.wmi
@@ -1,5 +1,2 @@
#!/usr/bin/env wml
-5242 013F 02AF C851 B1C7 36B8 7017 ADCE F65C 2036
-BA1E E421 BBB4 5263 180E 1FC7 2E1A C68E D408 14E0
1107 75B5 D101 FB36 BC6C 911B EB77 4491 D9FF 06E2
-A430 0A6B C93C 0877 A445 1486 D148 3FA6 C3C0 7136
1
0

18 Sep '18
commit 7d2ce4e7a391eda56ae7ab5a4e5b6f210684c9aa
Author: traumschule <traumschuleriebau(a)riseup.net>
Date: Fri Sep 14 12:12:49 2018 +0200
Link keys.txt at the signing keys page (#27702)
---
docs/en/update_signing-keys.pl | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/docs/en/update_signing-keys.pl b/docs/en/update_signing-keys.pl
index 11c04eda..db7ce738 100755
--- a/docs/en/update_signing-keys.pl
+++ b/docs/en/update_signing-keys.pl
@@ -53,7 +53,10 @@ if (-f $wmifile && qx/[ $wmifile -nt $keysfile ]/) {
open my $out, '>', "$wmifile"
or die "Could not write to $wmifile; $!\n";
-print $out "#!/usr/bin/env wml\n<p>The signing keys we use are:</p>\n<ul>\n";
+print $out "#!/usr/bin/env wml\n<p>
+This page is automatically generated from
+<a href='/include/keys.txt'>keys.txt</a>.
+The signing keys we use are:\n</p>\n<ul>\n";
my %fingerprints;
foreach my $project (@projects) {
my $owners = '';
@@ -96,11 +99,12 @@ foreach my $project (@projects) {
$suf = 'ed' if ($project =~ /older/);
print $out "<li>$owners sign$suf <strong>$project</strong></li>\n";
}
- my $keyids = join (' ', @keysinproject);
- # update keys form keyserver pool
- if ($forcekeyupdates or not $skipkeyupdates) {
- print "Fetching $keyids from keyserver:\n";
- qx/gpg --recv-key $keyids/;
+ foreach my $key (@keysinproject) {
+ # update keys form keyserver pool
+ if ($forcekeyupdates or not $skipkeyupdates) {
+ print "Fetching $key from keyserver:\n";
+ qx/gpg --recv-key $key/ or die "Failed to fetch $key;
+ }
}
# save gpg output for later
my $str = qx/gpg --list-keys --keyid-format 0xlong --with-fingerprint $keyids/;
1
0

[translation/tor-launcher-properties_completed] Update translations for tor-launcher-properties_completed
by translation@torproject.org 18 Sep '18
by translation@torproject.org 18 Sep '18
18 Sep '18
commit 156e1d569ae207dae2c035ccfe02e9a857030ca7
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Sep 18 13:18:49 2018 +0000
Update translations for tor-launcher-properties_completed
---
es_AR/torlauncher.properties | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/es_AR/torlauncher.properties b/es_AR/torlauncher.properties
index 1aa88ea1c..2d40735db 100644
--- a/es_AR/torlauncher.properties
+++ b/es_AR/torlauncher.properties
@@ -4,30 +4,30 @@
torlauncher.error_title=Lanzador de Tor
torlauncher.tor_exited_during_startup=Tor se cerró durante el arranque. Esto puede deberse a un error en tu archivo torrc, un fallo en Tor u otro programa en tu sistema, o componentes electrónicos defectuosos. Hasta que arregles el problema subyacente y reinicies Tor, el navegador Tor no arrancará.
-torlauncher.tor_exited=Tor se cerró inesperadamente. Esto pudo ser debido a un error dentro de Tor, otro programa en tu sistema, o hardware defectuoso. Hasta que reinicies Tor, el navegador Tor no será capaz de acceder a sitios web. Si el problema persiste, por favor envía una copia de tu archivo de registro de Tor al equipo de soporte técnico.
+torlauncher.tor_exited=Tor se cerró inesperadamente. Esto pudo ser debido a un error dentro de Tor, otro programa en tu sistema, o componentes electrónicos defectuoso. Hasta que reinicies Tor, el navegador Tor no será capaz de acceder a sitios web. Si el problema persiste, por favor enviá una copia de tu bitácora Tor al equipo de soporte técnico.
torlauncher.tor_exited2=Reiniciar Tor no cerrará las pestañas de navegación.
torlauncher.tor_controlconn_failed=No se pudo conectar Tor con el puerto de control
torlauncher.tor_failed_to_start=Fallo al iniciar Tor
torlauncher.tor_control_failed=Falló toma de control de Tor
-torlauncher.tor_bootstrap_failed=Fallo al establecer una conexión con la red Tor
+torlauncher.tor_bootstrap_failed=Fallo al establecer una conexión con la red de Tor
torlauncher.tor_bootstrap_failed_details=%1$S falló (%2$S).
torlauncher.unable_to_start_tor=No se puede iniciar Tor.\n\n%S
-torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor
+torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor.
torlauncher.torrc_missing=No se encuentra el archivo torrc y no pudo ser creado.
torlauncher.datadir_missing=El directorio de datos de Tor no existe y no pudo ser creado.
torlauncher.password_hash_missing=Falló al conseguir contraseñas encriptadas.
torlauncher.failed_to_get_settings=No se pudo acceder a las configuraciones de Tor.\n\n%S
torlauncher.failed_to_save_settings=No se pudieron guardar las configuraciones de Tor\n\n%S
-torlauncher.ensure_tor_is_running=Por favor, asegurese que Tor esta ejecutandose.
+torlauncher.ensure_tor_is_running=Por favor, asegurate que Tor esté ejecutándose.
-torlauncher.error_proxy_addr_missing=Debes especificar tu IP o el nombre de tu Host y un puerto para que Tor utilize un Proxy para acceder a internet.
-torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de Proxy.
-torlauncher.error_bridges_missing=Debes especificar uno o más puentes.
-torlauncher.error_default_bridges_type_missing=Debe seleccionar un tipo de transporte para los puentes provistos.
+torlauncher.error_proxy_addr_missing=Debés especificar tanto una dirección IP, o el nombre de tu equipo, como un número de puerto para configurar Tor de manera que utilice un proxy para acceder a Internet.
+torlauncher.error_proxy_type_missing=Debés seleccionar el tipo de proxy.
+torlauncher.error_bridges_missing=Debés especificar uno o más puentes.
+torlauncher.error_default_bridges_type_missing=Debés seleccionar un tipo de transporte para los puentes provistos.
torlauncher.error_bridgedb_bridges_missing=Por favor solicitá un puente.
-torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajuste su configuración.
+torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajustá tu configuración.
torlauncher.bridge_suffix.meek-amazon=(funciona en China)
torlauncher.bridge_suffix.meek-azure=(funciona en China)
@@ -47,10 +47,10 @@ torlauncher.quit=Quitar
torlauncher.quit_win=Salir
torlauncher.done=Hecho
-torlauncher.forAssistance=Para solicitar asistencia, contactese al %S
-torlauncher.forAssistance2=Para asistencia, visita %S
+torlauncher.forAssistance=Para asistencia, contactá %S
+torlauncher.forAssistance2=Para asistencia, visitá %S
-torlauncher.copiedNLogMessages=Copia completa. %S registros de log de Tor están listos para ser pegados en un editor de textos o un e-mail.
+torlauncher.copiedNLogMessages=Copia completa. %S registros de bitácora de Tor están listos para ser pegados en un editor de textos o un correo electrónico.
torlauncher.bootstrapStatus.conn_dir=Conectando para retransmitir directorio
torlauncher.bootstrapStatus.handshake_dir=Estableciendo una conexión segura al directorio
1
0

[translation/tor-launcher-properties] Update translations for tor-launcher-properties
by translation@torproject.org 18 Sep '18
by translation@torproject.org 18 Sep '18
18 Sep '18
commit b7fac39b2467c0cc9ecac9b657e2cf64accb1c82
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Sep 18 13:18:44 2018 +0000
Update translations for tor-launcher-properties
---
es_AR/torlauncher.properties | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/es_AR/torlauncher.properties b/es_AR/torlauncher.properties
index 1aa88ea1c..2d40735db 100644
--- a/es_AR/torlauncher.properties
+++ b/es_AR/torlauncher.properties
@@ -4,30 +4,30 @@
torlauncher.error_title=Lanzador de Tor
torlauncher.tor_exited_during_startup=Tor se cerró durante el arranque. Esto puede deberse a un error en tu archivo torrc, un fallo en Tor u otro programa en tu sistema, o componentes electrónicos defectuosos. Hasta que arregles el problema subyacente y reinicies Tor, el navegador Tor no arrancará.
-torlauncher.tor_exited=Tor se cerró inesperadamente. Esto pudo ser debido a un error dentro de Tor, otro programa en tu sistema, o hardware defectuoso. Hasta que reinicies Tor, el navegador Tor no será capaz de acceder a sitios web. Si el problema persiste, por favor envía una copia de tu archivo de registro de Tor al equipo de soporte técnico.
+torlauncher.tor_exited=Tor se cerró inesperadamente. Esto pudo ser debido a un error dentro de Tor, otro programa en tu sistema, o componentes electrónicos defectuoso. Hasta que reinicies Tor, el navegador Tor no será capaz de acceder a sitios web. Si el problema persiste, por favor enviá una copia de tu bitácora Tor al equipo de soporte técnico.
torlauncher.tor_exited2=Reiniciar Tor no cerrará las pestañas de navegación.
torlauncher.tor_controlconn_failed=No se pudo conectar Tor con el puerto de control
torlauncher.tor_failed_to_start=Fallo al iniciar Tor
torlauncher.tor_control_failed=Falló toma de control de Tor
-torlauncher.tor_bootstrap_failed=Fallo al establecer una conexión con la red Tor
+torlauncher.tor_bootstrap_failed=Fallo al establecer una conexión con la red de Tor
torlauncher.tor_bootstrap_failed_details=%1$S falló (%2$S).
torlauncher.unable_to_start_tor=No se puede iniciar Tor.\n\n%S
-torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor
+torlauncher.tor_missing=No se encuentra el archivo ejecutable de Tor.
torlauncher.torrc_missing=No se encuentra el archivo torrc y no pudo ser creado.
torlauncher.datadir_missing=El directorio de datos de Tor no existe y no pudo ser creado.
torlauncher.password_hash_missing=Falló al conseguir contraseñas encriptadas.
torlauncher.failed_to_get_settings=No se pudo acceder a las configuraciones de Tor.\n\n%S
torlauncher.failed_to_save_settings=No se pudieron guardar las configuraciones de Tor\n\n%S
-torlauncher.ensure_tor_is_running=Por favor, asegurese que Tor esta ejecutandose.
+torlauncher.ensure_tor_is_running=Por favor, asegurate que Tor esté ejecutándose.
-torlauncher.error_proxy_addr_missing=Debes especificar tu IP o el nombre de tu Host y un puerto para que Tor utilize un Proxy para acceder a internet.
-torlauncher.error_proxy_type_missing=Debes seleccionar el tipo de Proxy.
-torlauncher.error_bridges_missing=Debes especificar uno o más puentes.
-torlauncher.error_default_bridges_type_missing=Debe seleccionar un tipo de transporte para los puentes provistos.
+torlauncher.error_proxy_addr_missing=Debés especificar tanto una dirección IP, o el nombre de tu equipo, como un número de puerto para configurar Tor de manera que utilice un proxy para acceder a Internet.
+torlauncher.error_proxy_type_missing=Debés seleccionar el tipo de proxy.
+torlauncher.error_bridges_missing=Debés especificar uno o más puentes.
+torlauncher.error_default_bridges_type_missing=Debés seleccionar un tipo de transporte para los puentes provistos.
torlauncher.error_bridgedb_bridges_missing=Por favor solicitá un puente.
-torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajuste su configuración.
+torlauncher.error_bridge_bad_default_type=No hay puentes disponibles que tengan el tipo de transporte %S. Por favor ajustá tu configuración.
torlauncher.bridge_suffix.meek-amazon=(funciona en China)
torlauncher.bridge_suffix.meek-azure=(funciona en China)
@@ -47,10 +47,10 @@ torlauncher.quit=Quitar
torlauncher.quit_win=Salir
torlauncher.done=Hecho
-torlauncher.forAssistance=Para solicitar asistencia, contactese al %S
-torlauncher.forAssistance2=Para asistencia, visita %S
+torlauncher.forAssistance=Para asistencia, contactá %S
+torlauncher.forAssistance2=Para asistencia, visitá %S
-torlauncher.copiedNLogMessages=Copia completa. %S registros de log de Tor están listos para ser pegados en un editor de textos o un e-mail.
+torlauncher.copiedNLogMessages=Copia completa. %S registros de bitácora de Tor están listos para ser pegados en un editor de textos o un correo electrónico.
torlauncher.bootstrapStatus.conn_dir=Conectando para retransmitir directorio
torlauncher.bootstrapStatus.handshake_dir=Estableciendo una conexión segura al directorio
1
0

[translation/tor-browser-manual] Update translations for tor-browser-manual
by translation@torproject.org 18 Sep '18
by translation@torproject.org 18 Sep '18
18 Sep '18
commit 76c22284d1e9970bb5c96a48e1bf0c26e0efd5d9
Author: Translation commit bot <translation(a)torproject.org>
Date: Tue Sep 18 13:17:34 2018 +0000
Update translations for tor-browser-manual
---
pt/pt.po | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/pt/pt.po b/pt/pt.po
index 84ef476ff..7dc98cbdf 100644
--- a/pt/pt.po
+++ b/pt/pt.po
@@ -1,16 +1,17 @@
# Translators:
-# Manuela Silva <manuela.silva(a)sky.com>, 2016
+# MS, 2016
# Manuela Silva <inactive+h_manuela_rodsilva(a)transifex.com>, 2016
# Koh Pyreit <inactive+kohpyreit(a)transifex.com>, 2016
# Francisco P. <sonhosdigitais(a)gmx.com>, 2016
# Cesar Silva <cesarsilvabx(a)gmail.com>, 2017
# Alberto Castro, 2017
+# Allan Werneck <edielwerneck(a)gmail.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2018-09-07 16:48-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Alberto Castro, 2017\n"
+"Last-Translator: Allan Werneck <edielwerneck(a)gmail.com>, 2018\n"
"Language-Team: Portuguese (https://www.transifex.com/otf/teams/1519/pt/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -1633,7 +1634,7 @@ msgstr ""
#: transports.page:100
msgid "Snowflake"
-msgstr ""
+msgstr "Floco de neve"
#: transports.page:105
msgid ""
@@ -1849,6 +1850,8 @@ msgid ""
"external ref='media/updating/update3.png' "
"md5='19b1f46d748dbcd9250883044165d218'"
msgstr ""
+"external ref='media/updating/update3.png' "
+"md5='19b1f46d748dbcd9250883044165d218'"
#: updating.page:41
msgid ""
@@ -1868,6 +1871,8 @@ msgid ""
"external ref='media/updating/update4.png' "
"md5='7e8ead67c03597f00c580c77c3103fbb'"
msgstr ""
+"external ref='media/updating/update4.png' "
+"md5='7e8ead67c03597f00c580c77c3103fbb'"
#: updating.page:50
msgid ""
1
0