@@ -0,0 +1,112 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> | |||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
version="1.1" | |||
id="Layer_1" | |||
width="364.167" | |||
height="318.333" | |||
viewBox="0 0 364.167 318.333" | |||
overflow="visible" | |||
enable-background="new 0 0 364.167 318.333" | |||
xml:space="preserve" | |||
sodipodi:docname="Tick_green_modern.svg" | |||
inkscape:version="0.92.1 r15371"><metadata | |||
id="metadata47"><rdf:RDF><cc:Work | |||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs | |||
id="defs45"><linearGradient | |||
id="XMLID_65_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="20.841299" | |||
y1="160.21581" | |||
x2="338.67969" | |||
y2="160.21581"><stop | |||
offset="0" | |||
style="stop-color:#5C6470" | |||
id="stop5" /><stop | |||
offset="1" | |||
style="stop-color:#797F8D" | |||
id="stop7" /></linearGradient><linearGradient | |||
id="XMLID_66_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="178.3188" | |||
y1="19.8276" | |||
x2="178.3188" | |||
y2="269.08029"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop12" /><stop | |||
offset="0.6685" | |||
style="stop-color:#06AD4D" | |||
id="stop14" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop16" /></linearGradient><linearGradient | |||
id="XMLID_67_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="121.9199" | |||
y1="-31.549801" | |||
x2="192.1555" | |||
y2="164.10899"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop21" /><stop | |||
offset="0.6348" | |||
style="stop-color:#06AD4D" | |||
id="stop23" /><stop | |||
offset="0.7442" | |||
style="stop-color:#0C864E" | |||
id="stop25" /><stop | |||
offset="0.8524" | |||
style="stop-color:#096A4C" | |||
id="stop27" /><stop | |||
offset="0.9414" | |||
style="stop-color:#045A49" | |||
id="stop29" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop31" /></linearGradient></defs><sodipodi:namedview | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1" | |||
objecttolerance="10" | |||
gridtolerance="10" | |||
guidetolerance="10" | |||
inkscape:pageopacity="0" | |||
inkscape:pageshadow="2" | |||
inkscape:window-width="1920" | |||
inkscape:window-height="1143" | |||
id="namedview43" | |||
showgrid="false" | |||
inkscape:zoom="0.74136201" | |||
inkscape:cx="-41.15427" | |||
inkscape:cy="159.1665" | |||
inkscape:window-x="1680" | |||
inkscape:window-y="0" | |||
inkscape:window-maximized="1" | |||
inkscape:current-layer="Layer_1" /><filter | |||
id="AI_GaussianBlur_4"><feGaussianBlur | |||
stdDeviation="4" | |||
id="feGaussianBlur2" /></filter><path | |||
d="m 279.594,15.998 c -1.821,0.246 -3.521,1.213 -4.615,2.717 0,0 -123.926,167.272 -132.245,178.522 -9.5,-8.416 -65.03,-57.29 -65.03,-57.29 -1.395,-1.223 -3.24,-1.846 -5.098,-1.684 -1.846,0.138 -3.563,1.04 -4.744,2.464 L 22.4,196.163 c -2.393,2.92 -1.986,7.214 0.913,9.618 l 110.188,92.295 c 3.994,4.036 9.931,6.44 16.231,6.418 6.225,0.042 12.162,-2.362 16.637,-6.827 0.677,-0.773 171.14,-230.113 171.14,-230.113 2.203,-2.983 1.126,-7.546 -1.803,-9.853 L 284.768,17.426 c -1.444,-1.159 -3.326,-1.675 -5.174,-1.428 z M 144.525,214.134 c 1.912,-0.195 3.649,-1.183 4.777,-2.728 0,0 124.518,-168.068 132.493,-178.802 23.026,18.356 34.801,27.651 40.631,32.182 -7.709,10.36 -166.415,223.93 -166.415,223.93 -1.181,1.074 -3.619,2.061 -6.248,2.038 -2.737,0 -5.185,-0.988 -7.01,-2.812 -0.376,-0.365 -83.749,-70.182 -105.412,-88.322 6.28,-7.685 30.056,-36.675 36.637,-44.662 9.125,8.052 65.287,57.521 65.287,57.521 1.428,1.246 3.328,1.869 5.26,1.655 z" | |||
id="path10" | |||
style="fill:url(#XMLID_65_);filter:url(#AI_GaussianBlur_4)" | |||
inkscape:connector-curvature="0" /><path | |||
d="m 275.201,6.393 c -1.797,0.243 -3.475,1.196 -4.555,2.679 0,0 -122.301,165.075 -130.511,176.177 -9.376,-8.306 -64.178,-56.532 -64.178,-56.532 -1.376,-1.208 -3.198,-1.822 -5.031,-1.664 -1.822,0.138 -3.517,1.028 -4.681,2.431 L 21.379,184.19 c -2.361,2.881 -1.96,7.119 0.901,9.492 l 108.743,91.085 c 3.941,3.982 9.801,6.355 16.019,6.334 6.144,0.042 12.003,-2.331 16.419,-6.738 0.668,-0.763 168.896,-227.088 168.896,-227.088 2.174,-2.946 1.111,-7.449 -1.779,-9.726 L 280.309,7.8 C 278.883,6.656 277.025,6.147 275.201,6.393 Z M 141.904,201.924 c 1.887,-0.192 3.602,-1.167 4.715,-2.692 0,0 122.885,-165.858 130.756,-176.452 22.725,18.114 34.344,27.289 40.098,31.758 -7.607,10.224 -164.233,220.99 -164.233,220.99 -1.166,1.059 -3.571,2.033 -6.166,2.011 -2.701,0 -5.116,-0.975 -6.918,-2.774 -0.371,-0.361 -82.651,-69.262 -104.03,-87.164 6.198,-7.585 29.662,-36.188 36.157,-44.069 9.005,7.944 64.431,56.759 64.431,56.759 1.408,1.23 3.283,1.845 5.19,1.633 z" | |||
id="path34" | |||
style="fill:url(#XMLID_67_)" | |||
inkscape:connector-curvature="0" /><rect | |||
style="fill:none" | |||
y="0" | |||
x="0" | |||
id="rect38" | |||
height="318.33301" | |||
width="364.16699" /></svg> |
@@ -0,0 +1,116 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> | |||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
version="1.1" | |||
id="Layer_1" | |||
width="364.167" | |||
height="318.333" | |||
viewBox="0 0 364.167 318.333" | |||
overflow="visible" | |||
enable-background="new 0 0 364.167 318.333" | |||
xml:space="preserve" | |||
sodipodi:docname="Tick_green_modern.svg" | |||
inkscape:version="0.92.1 r15371"><metadata | |||
id="metadata47"><rdf:RDF><cc:Work | |||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs | |||
id="defs45"><linearGradient | |||
id="XMLID_65_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="20.841299" | |||
y1="160.21581" | |||
x2="338.67969" | |||
y2="160.21581"><stop | |||
offset="0" | |||
style="stop-color:#5C6470" | |||
id="stop5" /><stop | |||
offset="1" | |||
style="stop-color:#797F8D" | |||
id="stop7" /></linearGradient><linearGradient | |||
id="XMLID_66_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="178.3188" | |||
y1="19.8276" | |||
x2="178.3188" | |||
y2="269.08029"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop12" /><stop | |||
offset="0.6685" | |||
style="stop-color:#06AD4D" | |||
id="stop14" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop16" /></linearGradient><linearGradient | |||
id="XMLID_67_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="121.9199" | |||
y1="-31.549801" | |||
x2="192.1555" | |||
y2="164.10899"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop21" /><stop | |||
offset="0.6348" | |||
style="stop-color:#06AD4D" | |||
id="stop23" /><stop | |||
offset="0.7442" | |||
style="stop-color:#0C864E" | |||
id="stop25" /><stop | |||
offset="0.8524" | |||
style="stop-color:#096A4C" | |||
id="stop27" /><stop | |||
offset="0.9414" | |||
style="stop-color:#045A49" | |||
id="stop29" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop31" /></linearGradient></defs><sodipodi:namedview | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1" | |||
objecttolerance="10" | |||
gridtolerance="10" | |||
guidetolerance="10" | |||
inkscape:pageopacity="0" | |||
inkscape:pageshadow="2" | |||
inkscape:window-width="1920" | |||
inkscape:window-height="1143" | |||
id="namedview43" | |||
showgrid="false" | |||
inkscape:zoom="0.74136201" | |||
inkscape:cx="-41.15427" | |||
inkscape:cy="159.1665" | |||
inkscape:window-x="1680" | |||
inkscape:window-y="0" | |||
inkscape:window-maximized="1" | |||
inkscape:current-layer="Layer_1" /><filter | |||
id="AI_GaussianBlur_4"><feGaussianBlur | |||
stdDeviation="4" | |||
id="feGaussianBlur2" /></filter><path | |||
d="m 279.594,15.998 c -1.821,0.246 -3.521,1.213 -4.615,2.717 0,0 -123.926,167.272 -132.245,178.522 -9.5,-8.416 -65.03,-57.29 -65.03,-57.29 -1.395,-1.223 -3.24,-1.846 -5.098,-1.684 -1.846,0.138 -3.563,1.04 -4.744,2.464 L 22.4,196.163 c -2.393,2.92 -1.986,7.214 0.913,9.618 l 110.188,92.295 c 3.994,4.036 9.931,6.44 16.231,6.418 6.225,0.042 12.162,-2.362 16.637,-6.827 0.677,-0.773 171.14,-230.113 171.14,-230.113 2.203,-2.983 1.126,-7.546 -1.803,-9.853 L 284.768,17.426 c -1.444,-1.159 -3.326,-1.675 -5.174,-1.428 z M 144.525,214.134 c 1.912,-0.195 3.649,-1.183 4.777,-2.728 0,0 124.518,-168.068 132.493,-178.802 23.026,18.356 34.801,27.651 40.631,32.182 -7.709,10.36 -166.415,223.93 -166.415,223.93 -1.181,1.074 -3.619,2.061 -6.248,2.038 -2.737,0 -5.185,-0.988 -7.01,-2.812 -0.376,-0.365 -83.749,-70.182 -105.412,-88.322 6.28,-7.685 30.056,-36.675 36.637,-44.662 9.125,8.052 65.287,57.521 65.287,57.521 1.428,1.246 3.328,1.869 5.26,1.655 z" | |||
id="path10" | |||
style="fill:url(#XMLID_65_);filter:url(#AI_GaussianBlur_4)" | |||
inkscape:connector-curvature="0" /><path | |||
d="m 277.949,13.479 -3.35,4.491 -130.757,176.454 -0.965,0.528 -1.017,-0.339 -68.624,-60.441 -43.14,52.561 108.058,90.533 c 2.562,2.562 6.376,4.111 10.497,4.111 l 9.81,-3.413 C 159.172,277.181 323.404,56.203 323.404,56.203 l 3.137,-4.226 z" | |||
id="path19" | |||
style="fill:url(#XMLID_66_)" | |||
inkscape:connector-curvature="0" /><path | |||
d="m 275.201,6.393 c -1.797,0.243 -3.475,1.196 -4.555,2.679 0,0 -122.301,165.075 -130.511,176.177 -9.376,-8.306 -64.178,-56.532 -64.178,-56.532 -1.376,-1.208 -3.198,-1.822 -5.031,-1.664 -1.822,0.138 -3.517,1.028 -4.681,2.431 L 21.379,184.19 c -2.361,2.881 -1.96,7.119 0.901,9.492 l 108.743,91.085 c 3.941,3.982 9.801,6.355 16.019,6.334 6.144,0.042 12.003,-2.331 16.419,-6.738 0.668,-0.763 168.896,-227.088 168.896,-227.088 2.174,-2.946 1.111,-7.449 -1.779,-9.726 L 280.309,7.8 C 278.883,6.656 277.025,6.147 275.201,6.393 Z M 141.904,201.924 c 1.887,-0.192 3.602,-1.167 4.715,-2.692 0,0 122.885,-165.858 130.756,-176.452 22.725,18.114 34.344,27.289 40.098,31.758 -7.607,10.224 -164.233,220.99 -164.233,220.99 -1.166,1.059 -3.571,2.033 -6.166,2.011 -2.701,0 -5.116,-0.975 -6.918,-2.774 -0.371,-0.361 -82.651,-69.262 -104.03,-87.164 6.198,-7.585 29.662,-36.188 36.157,-44.069 9.005,7.944 64.431,56.759 64.431,56.759 1.408,1.23 3.283,1.845 5.19,1.633 z" | |||
id="path34" | |||
style="fill:url(#XMLID_67_)" | |||
inkscape:connector-curvature="0" /><rect | |||
style="fill:none" | |||
y="0" | |||
x="0" | |||
id="rect38" | |||
height="318.33301" | |||
width="364.16699" /></svg> |
@@ -0,0 +1,125 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- Generator: Adobe Illustrator 12.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 51448) --> | |||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
version="1.1" | |||
id="Layer_1" | |||
width="364.167" | |||
height="318.333" | |||
viewBox="0 0 364.167 318.333" | |||
overflow="visible" | |||
enable-background="new 0 0 364.167 318.333" | |||
xml:space="preserve" | |||
sodipodi:docname="check-ok.svg" | |||
inkscape:version="0.92.1 r15371"><metadata | |||
id="metadata47"><rdf:RDF><cc:Work | |||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs | |||
id="defs45"><linearGradient | |||
id="XMLID_65_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="20.841299" | |||
y1="160.21581" | |||
x2="338.67969" | |||
y2="160.21581"><stop | |||
offset="0" | |||
style="stop-color:#5C6470" | |||
id="stop5" /><stop | |||
offset="1" | |||
style="stop-color:#797F8D" | |||
id="stop7" /></linearGradient><linearGradient | |||
id="XMLID_66_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="178.3188" | |||
y1="19.8276" | |||
x2="178.3188" | |||
y2="269.08029"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop12" /><stop | |||
offset="0.6685" | |||
style="stop-color:#06AD4D" | |||
id="stop14" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop16" /></linearGradient><linearGradient | |||
id="XMLID_67_" | |||
gradientUnits="userSpaceOnUse" | |||
x1="121.9199" | |||
y1="-31.549801" | |||
x2="192.1555" | |||
y2="164.10899"><stop | |||
offset="0" | |||
style="stop-color:#6ABD45" | |||
id="stop21" /><stop | |||
offset="0.6348" | |||
style="stop-color:#06AD4D" | |||
id="stop23" /><stop | |||
offset="0.7442" | |||
style="stop-color:#0C864E" | |||
id="stop25" /><stop | |||
offset="0.8524" | |||
style="stop-color:#096A4C" | |||
id="stop27" /><stop | |||
offset="0.9414" | |||
style="stop-color:#045A49" | |||
id="stop29" /><stop | |||
offset="1" | |||
style="stop-color:#055448" | |||
id="stop31" /></linearGradient><filter | |||
style="color-interpolation-filters:sRGB;" | |||
inkscape:label="Greyscale" | |||
id="filter4502"><feColorMatrix | |||
values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 " | |||
id="feColorMatrix4500" | |||
result="fbSourceGraphic" /><feColorMatrix | |||
result="fbSourceGraphicAlpha" | |||
in="fbSourceGraphic" | |||
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" | |||
id="feColorMatrix4504" /><feColorMatrix | |||
id="feColorMatrix4506" | |||
values="0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0.21 0.72 0.072 0 0 0 0 0 1 0 " | |||
in="fbSourceGraphic" /></filter></defs><sodipodi:namedview | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1" | |||
objecttolerance="10" | |||
gridtolerance="10" | |||
guidetolerance="10" | |||
inkscape:pageopacity="0" | |||
inkscape:pageshadow="2" | |||
inkscape:window-width="1920" | |||
inkscape:window-height="1143" | |||
id="namedview43" | |||
showgrid="false" | |||
inkscape:zoom="0.74136201" | |||
inkscape:cx="-265.7409" | |||
inkscape:cy="159.1665" | |||
inkscape:window-x="1680" | |||
inkscape:window-y="0" | |||
inkscape:window-maximized="1" | |||
inkscape:current-layer="Layer_1" /><filter | |||
id="AI_GaussianBlur_4"><feGaussianBlur | |||
stdDeviation="4" | |||
id="feGaussianBlur2" /></filter><path | |||
d="m 279.594,15.998 c -1.821,0.246 -3.521,1.213 -4.615,2.717 0,0 -123.926,167.272 -132.245,178.522 -9.5,-8.416 -65.03,-57.29 -65.03,-57.29 -1.395,-1.223 -3.24,-1.846 -5.098,-1.684 -1.846,0.138 -3.563,1.04 -4.744,2.464 L 22.4,196.163 c -2.393,2.92 -1.986,7.214 0.913,9.618 l 110.188,92.295 c 3.994,4.036 9.931,6.44 16.231,6.418 6.225,0.042 12.162,-2.362 16.637,-6.827 0.677,-0.773 171.14,-230.113 171.14,-230.113 2.203,-2.983 1.126,-7.546 -1.803,-9.853 L 284.768,17.426 c -1.444,-1.159 -3.326,-1.675 -5.174,-1.428 z M 144.525,214.134 c 1.912,-0.195 3.649,-1.183 4.777,-2.728 0,0 124.518,-168.068 132.493,-178.802 23.026,18.356 34.801,27.651 40.631,32.182 -7.709,10.36 -166.415,223.93 -166.415,223.93 -1.181,1.074 -3.619,2.061 -6.248,2.038 -2.737,0 -5.185,-0.988 -7.01,-2.812 -0.376,-0.365 -83.749,-70.182 -105.412,-88.322 6.28,-7.685 30.056,-36.675 36.637,-44.662 9.125,8.052 65.287,57.521 65.287,57.521 1.428,1.246 3.328,1.869 5.26,1.655 z" | |||
id="path10" | |||
style="fill:url(#XMLID_65_);filter:url(#AI_GaussianBlur_4)" | |||
inkscape:connector-curvature="0" /><path | |||
d="m 275.201,6.393 c -1.797,0.243 -3.475,1.196 -4.555,2.679 0,0 -122.301,165.075 -130.511,176.177 -9.376,-8.306 -64.178,-56.532 -64.178,-56.532 -1.376,-1.208 -3.198,-1.822 -5.031,-1.664 -1.822,0.138 -3.517,1.028 -4.681,2.431 L 21.379,184.19 c -2.361,2.881 -1.96,7.119 0.901,9.492 l 108.743,91.085 c 3.941,3.982 9.801,6.355 16.019,6.334 6.144,0.042 12.003,-2.331 16.419,-6.738 0.668,-0.763 168.896,-227.088 168.896,-227.088 2.174,-2.946 1.111,-7.449 -1.779,-9.726 L 280.309,7.8 C 278.883,6.656 277.025,6.147 275.201,6.393 Z M 141.904,201.924 c 1.887,-0.192 3.602,-1.167 4.715,-2.692 0,0 122.885,-165.858 130.756,-176.452 22.725,18.114 34.344,27.289 40.098,31.758 -7.607,10.224 -164.233,220.99 -164.233,220.99 -1.166,1.059 -3.571,2.033 -6.166,2.011 -2.701,0 -5.116,-0.975 -6.918,-2.774 -0.371,-0.361 -82.651,-69.262 -104.03,-87.164 6.198,-7.585 29.662,-36.188 36.157,-44.069 9.005,7.944 64.431,56.759 64.431,56.759 1.408,1.23 3.283,1.845 5.19,1.633 z" | |||
id="path34" | |||
style="fill:url(#XMLID_67_);filter:url(#filter4502)" | |||
inkscape:connector-curvature="0" /><rect | |||
style="fill:none" | |||
y="0" | |||
x="0" | |||
id="rect38" | |||
height="318.33301" | |||
width="364.16699" /></svg> |
@@ -0,0 +1,166 @@ | |||
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||
id="svg2" | |||
height="205" | |||
width="205" | |||
version="1.0" | |||
sodipodi:docname="cross-orange.svg" | |||
inkscape:version="0.92.1 r15371"> | |||
<sodipodi:namedview | |||
pagecolor="#ffffff" | |||
bordercolor="#666666" | |||
borderopacity="1" | |||
objecttolerance="10" | |||
gridtolerance="10" | |||
guidetolerance="10" | |||
inkscape:pageopacity="0" | |||
inkscape:pageshadow="2" | |||
inkscape:window-width="1920" | |||
inkscape:window-height="1143" | |||
id="namedview23" | |||
showgrid="false" | |||
inkscape:zoom="1.1512195" | |||
inkscape:cx="-41.260593" | |||
inkscape:cy="102.5" | |||
inkscape:window-x="1680" | |||
inkscape:window-y="0" | |||
inkscape:window-maximized="1" | |||
inkscape:current-layer="svg2" /> | |||
<metadata | |||
id="metadata2248"> | |||
<rdf:RDF> | |||
<cc:Work | |||
rdf:about=""> | |||
<dc:format>image/svg+xml</dc:format> | |||
<dc:type | |||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||
</cc:Work> | |||
</rdf:RDF> | |||
</metadata> | |||
<defs | |||
id="defs4"> | |||
<filter | |||
id="filter3157"> | |||
<feGaussianBlur | |||
id="feGaussianBlur3159" | |||
stdDeviation="5" /> | |||
</filter> | |||
<linearGradient | |||
id="linearGradient4094" | |||
y2="174.94" | |||
gradientUnits="userSpaceOnUse" | |||
x2="205" | |||
gradientTransform="translate(-102.5,-62.5)" | |||
y1="85" | |||
x1="205"> | |||
<stop | |||
id="stop9083" | |||
stop-color="#fff" | |||
offset="0" /> | |||
<stop | |||
id="stop9085" | |||
stop-color="#fff" | |||
stop-opacity="0" | |||
offset="1" /> | |||
</linearGradient> | |||
<radialGradient | |||
id="radialGradient4097" | |||
gradientUnits="userSpaceOnUse" | |||
cy="212.5" | |||
cx="205" | |||
gradientTransform="matrix(1 0 0 .50262 -102.5 43.194)" | |||
r="95.5"> | |||
<stop | |||
id="stop7292" | |||
stop-color="#fff" | |||
stop-opacity=".71134" | |||
offset="0" /> | |||
<stop | |||
id="stop7294" | |||
stop-color="#fff" | |||
stop-opacity="0" | |||
offset="1" /> | |||
</radialGradient> | |||
<radialGradient | |||
id="radialGradient4100" | |||
gradientUnits="userSpaceOnUse" | |||
cy="230.01" | |||
cx="157.25" | |||
gradientTransform="translate(-54.75,-62.5)" | |||
r="95.5"> | |||
<stop | |||
id="stop4611" | |||
stop-color="#fff" | |||
offset="0" /> | |||
<stop | |||
id="stop4613" | |||
stop-color="red" | |||
offset="1" /> | |||
</radialGradient> | |||
<linearGradient | |||
id="linearGradient4102" | |||
y2="261" | |||
gradientUnits="userSpaceOnUse" | |||
x2="205" | |||
gradientTransform="translate(-102.5,-62.5)" | |||
y1="69" | |||
x1="205"> | |||
<stop | |||
id="stop4048" | |||
stop-color="#5d0000" | |||
offset="0" /> | |||
<stop | |||
id="stop4050" | |||
stop-color="red" | |||
offset="1" /> | |||
</linearGradient> | |||
<filter | |||
style="color-interpolation-filters:sRGB;" | |||
inkscape:label="Color Shift" | |||
id="filter6064"> | |||
<feColorMatrix | |||
type="hueRotate" | |||
values="50" | |||
result="color1" | |||
id="feColorMatrix6060" /> | |||
<feColorMatrix | |||
type="saturate" | |||
values="1" | |||
result="color2" | |||
id="feColorMatrix6062" /> | |||
</filter> | |||
</defs> | |||
<path | |||
id="path9984" | |||
d="m43 13l-30 30 65 65-65 65 30 30 65-65 65 65 30-30-65-65 65-65-30-30-65 65-65-65z" | |||
fill-opacity=".68047" | |||
fill-rule="evenodd" | |||
filter="url(#filter3157)" /> | |||
<path | |||
id="path3712" | |||
d="m37.5 7.5l-30 30 65 65-65 65 30 30 65-65 65 65 30-30-65-65 65-65-30-30-65 65-65-65z" | |||
fill-rule="evenodd" | |||
stroke="url(#linearGradient4102)" | |||
stroke-width="2" | |||
fill="url(#radialGradient4100)" | |||
style="filter:url(#filter6064)" /> | |||
<path | |||
id="path3722" | |||
d="m72.5 102.5l5 5-60 60 20 20 65-65 65 65 20-20-60-60 5-5 65 65-30 30-65-65-65 65-30-30 65-65z" | |||
fill-rule="evenodd" | |||
fill="url(#radialGradient4097)" /> | |||
<path | |||
id="path8186" | |||
d="m37.5 22.5l-15 15 80.04 74.94 79.96-74.94-15-15-65 65-65-65z" | |||
fill-rule="evenodd" | |||
fill="url(#linearGradient4094)" /> | |||
</svg> |
@@ -0,0 +1,37 @@ | |||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||
<!-- Created with Inkscape (http://www.inkscape.org/) --> | |||
<svg id="svg2" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="205" width="205" version="1.0" xmlns:cc="http://web.resource.org/cc/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"> | |||
<metadata id="metadata2248"> | |||
<rdf:RDF> | |||
<cc:Work rdf:about=""> | |||
<dc:format>image/svg+xml</dc:format> | |||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/> | |||
</cc:Work> | |||
</rdf:RDF> | |||
</metadata> | |||
<defs id="defs4"> | |||
<filter id="filter3157"> | |||
<feGaussianBlur id="feGaussianBlur3159" stdDeviation="5"/> | |||
</filter> | |||
<linearGradient id="linearGradient4094" y2="174.94" gradientUnits="userSpaceOnUse" x2="205" gradientTransform="translate(-102.5,-62.5)" y1="85" x1="205"> | |||
<stop id="stop9083" stop-color="#fff" offset="0"/> | |||
<stop id="stop9085" stop-color="#fff" stop-opacity="0" offset="1"/> | |||
</linearGradient> | |||
<radialGradient id="radialGradient4097" gradientUnits="userSpaceOnUse" cy="212.5" cx="205" gradientTransform="matrix(1 0 0 .50262 -102.5 43.194)" r="95.5"> | |||
<stop id="stop7292" stop-color="#fff" stop-opacity=".71134" offset="0"/> | |||
<stop id="stop7294" stop-color="#fff" stop-opacity="0" offset="1"/> | |||
</radialGradient> | |||
<radialGradient id="radialGradient4100" gradientUnits="userSpaceOnUse" cy="230.01" cx="157.25" gradientTransform="translate(-54.75,-62.5)" r="95.5"> | |||
<stop id="stop4611" stop-color="#fff" offset="0"/> | |||
<stop id="stop4613" stop-color="red" offset="1"/> | |||
</radialGradient> | |||
<linearGradient id="linearGradient4102" y2="261" gradientUnits="userSpaceOnUse" x2="205" gradientTransform="translate(-102.5,-62.5)" y1="69" x1="205"> | |||
<stop id="stop4048" stop-color="#5d0000" offset="0"/> | |||
<stop id="stop4050" stop-color="red" offset="1"/> | |||
</linearGradient> | |||
</defs> | |||
<path id="path9984" d="m43 13l-30 30 65 65-65 65 30 30 65-65 65 65 30-30-65-65 65-65-30-30-65 65-65-65z" fill-opacity=".68047" fill-rule="evenodd" filter="url(#filter3157)"/> | |||
<path id="path3712" d="m37.5 7.5l-30 30 65 65-65 65 30 30 65-65 65 65 30-30-65-65 65-65-30-30-65 65-65-65z" fill-rule="evenodd" stroke="url(#linearGradient4102)" stroke-width="2" fill="url(#radialGradient4100)"/> | |||
<path id="path3722" d="m72.5 102.5l5 5-60 60 20 20 65-65 65 65 20-20-60-60 5-5 65 65-30 30-65-65-65 65-30-30 65-65z" fill-rule="evenodd" fill="url(#radialGradient4097)"/> | |||
<path id="path8186" d="m37.5 22.5l-15 15 80.04 74.94 79.96-74.94-15-15-65 65-65-65z" fill-rule="evenodd" fill="url(#linearGradient4094)"/> | |||
</svg> |
@@ -0,0 +1,2 @@ | |||
<svg xmlns="http://www.w3.org/2000/svg" width="83" height="30"><rect id="back" fill="#f6c915" x="1" y=".5" width="82" height="29" rx="4"/><svg viewBox="0 0 80 80" height="16" width="16" x="7" y="7"><g transform="translate(-78.37-208.06)" fill="#1a171b"><path d="m104.28 271.1c-3.571 0-6.373-.466-8.41-1.396-2.037-.93-3.495-2.199-4.375-3.809-.88-1.609-1.308-3.457-1.282-5.544.025-2.086.313-4.311.868-6.675l9.579-40.05 11.69-1.81-10.484 43.44c-.202.905-.314 1.735-.339 2.489-.026.754.113 1.421.415 1.999.302.579.817 1.044 1.546 1.395.729.353 1.747.579 3.055.679l-2.263 9.278"/><path d="m146.52 246.14c0 3.671-.604 7.03-1.811 10.07-1.207 3.043-2.879 5.669-5.01 7.881-2.138 2.213-4.702 3.935-7.693 5.167-2.992 1.231-6.248 1.848-9.767 1.848-1.71 0-3.42-.151-5.129-.453l-3.394 13.651h-11.162l12.52-52.19c2.01-.603 4.311-1.143 6.901-1.622 2.589-.477 5.393-.716 8.41-.716 2.815 0 5.242.428 7.278 1.282 2.037.855 3.708 2.024 5.02 3.507 1.307 1.484 2.274 3.219 2.904 5.205.627 1.987.942 4.11.942 6.373m-27.378 15.461c.854.202 1.91.302 3.167.302 1.961 0 3.746-.364 5.355-1.094 1.609-.728 2.979-1.747 4.111-3.055 1.131-1.307 2.01-2.877 2.64-4.714.628-1.835.943-3.858.943-6.071 0-2.161-.479-3.998-1.433-5.506-.956-1.508-2.615-2.263-4.978-2.263-1.61 0-3.118.151-4.525.453l-5.28 21.948"/></g></svg><text fill="#1a171b" text-anchor="middle" font-family="Helvetica Neue,Helvetica,Arial,sans-serif" | |||
font-weight="700" font-size="14" x="50" y="20">Donate</text></svg> |
@@ -0,0 +1,55 @@ | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> | |||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> | |||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" | |||
width="127.769px" height="31.5px" viewBox="0 0 127.769 31.5" enable-background="new 0 0 127.769 31.5" xml:space="preserve"> | |||
<g> | |||
<g> | |||
<g> | |||
<path fill="#009CDE" d="M98.396,6.933H91.37c-0.479,0-0.89,0.35-0.964,0.824l-2.841,18.015c-0.056,0.355,0.219,0.676,0.579,0.676 | |||
h3.604c0.335,0,0.622-0.244,0.674-0.576l0.807-5.107c0.074-0.474,0.483-0.824,0.964-0.824h2.223c4.628,0,7.298-2.239,7.996-6.678 | |||
c0.314-1.941,0.014-3.467-0.896-4.535C102.518,7.553,100.746,6.933,98.396,6.933z M99.207,13.512 | |||
c-0.384,2.522-2.31,2.522-4.173,2.522h-1.061l0.744-4.708c0.045-0.285,0.29-0.495,0.578-0.495h0.485c1.269,0,2.467,0,3.084,0.723 | |||
C99.234,11.986,99.347,12.626,99.207,13.512z"/> | |||
<path fill="#003087" d="M48.288,6.933h-7.025c-0.481,0-0.89,0.35-0.965,0.824l-2.841,18.015 | |||
c-0.056,0.355,0.219,0.676,0.579,0.676h3.354c0.48,0,0.889-0.349,0.964-0.823l0.767-4.86c0.075-0.474,0.484-0.824,0.964-0.824 | |||
h2.223c4.627,0,7.298-2.239,7.997-6.678c0.314-1.941,0.012-3.467-0.896-4.535C52.409,7.553,50.638,6.933,48.288,6.933z | |||
M49.099,13.512c-0.384,2.522-2.31,2.522-4.173,2.522h-1.06l0.743-4.708c0.045-0.285,0.291-0.495,0.579-0.495h0.486 | |||
c1.268,0,2.466,0,3.083,0.723C49.126,11.986,49.238,12.626,49.099,13.512z"/> | |||
<path fill="#003087" d="M69.286,13.432h-3.363c-0.289,0-0.534,0.209-0.579,0.494l-0.147,0.94l-0.236-0.341 | |||
c-0.728-1.058-2.352-1.41-3.973-1.41c-3.716,0-6.891,2.816-7.509,6.766c-0.322,1.971,0.135,3.854,1.252,5.169 | |||
c1.026,1.208,2.492,1.71,4.237,1.71c2.995,0,4.657-1.924,4.657-1.924l-0.15,0.935c-0.056,0.355,0.218,0.677,0.578,0.677h3.03 | |||
c0.48,0,0.889-0.349,0.965-0.822l1.817-11.517C69.921,13.752,69.646,13.432,69.286,13.432z M64.598,19.979 | |||
c-0.325,1.923-1.851,3.212-3.797,3.212c-0.976,0-1.757-0.314-2.259-0.907c-0.498-0.59-0.685-1.429-0.527-2.363 | |||
c0.303-1.905,1.854-3.237,3.771-3.237c0.955,0,1.73,0.316,2.243,0.917C64.543,18.205,64.746,19.05,64.598,19.979z"/> | |||
<path fill="#009CDE" d="M119.394,13.432h-3.363c-0.288,0-0.533,0.209-0.578,0.494l-0.148,0.94l-0.235-0.341 | |||
c-0.729-1.058-2.352-1.41-3.973-1.41c-3.718,0-6.893,2.816-7.51,6.766c-0.321,1.971,0.135,3.854,1.252,5.169 | |||
c1.026,1.208,2.492,1.71,4.237,1.71c2.995,0,4.657-1.924,4.657-1.924l-0.15,0.935c-0.057,0.355,0.219,0.677,0.578,0.677h3.03 | |||
c0.479,0,0.889-0.349,0.964-0.822l1.818-11.517C120.029,13.752,119.754,13.432,119.394,13.432z M114.706,19.979 | |||
c-0.325,1.923-1.851,3.212-3.797,3.212c-0.976,0-1.757-0.314-2.26-0.907c-0.496-0.59-0.685-1.429-0.526-2.363 | |||
c0.304-1.905,1.853-3.237,3.77-3.237c0.956,0,1.731,0.316,2.243,0.917C114.651,18.205,114.854,19.05,114.706,19.979z"/> | |||
<path fill="#003087" d="M87.204,13.432h-3.382c-0.323,0-0.626,0.16-0.808,0.427l-4.664,6.87l-1.978-6.601 | |||
c-0.123-0.414-0.504-0.696-0.935-0.696h-3.324c-0.401,0-0.683,0.395-0.555,0.774l3.724,10.929l-3.502,4.941 | |||
C71.506,30.464,71.784,31,72.259,31h3.379c0.319,0,0.619-0.157,0.802-0.42l11.246-16.229 | |||
C87.954,13.962,87.676,13.432,87.204,13.432z"/> | |||
<path fill="#009CDE" d="M123.359,7.427l-2.883,18.344c-0.057,0.355,0.218,0.676,0.578,0.676h2.9c0.48,0,0.889-0.349,0.964-0.822 | |||
l2.843-18.016c0.056-0.355-0.219-0.677-0.578-0.677h-3.246C123.65,6.933,123.404,7.143,123.359,7.427z"/> | |||
</g> | |||
</g> | |||
<g> | |||
<path fill="#009CDE" d="M23.675,7.876c0.378-2.412-0.002-4.053-1.307-5.539C20.932,0.701,18.338,0,15.019,0H5.384 | |||
C4.706,0,4.128,0.494,4.022,1.164L0.01,26.604c-0.079,0.503,0.309,0.956,0.817,0.956h5.948l-0.411,2.604 | |||
C6.295,30.603,6.635,31,7.08,31h5.014c0.593,0,1.098-0.432,1.191-1.018l0.049-0.255l0.944-5.989l0.061-0.331 | |||
c0.093-0.586,0.598-1.019,1.191-1.019h0.75c4.857,0,8.66-1.972,9.771-7.68c0.465-2.384,0.225-4.375-1.003-5.774 | |||
C24.676,8.512,24.214,8.162,23.675,7.876L23.675,7.876"/> | |||
<path fill="#012169" d="M23.675,7.876c0.378-2.412-0.002-4.053-1.307-5.539C20.932,0.701,18.338,0,15.019,0H5.384 | |||
C4.706,0,4.128,0.494,4.022,1.164L0.01,26.604c-0.079,0.503,0.309,0.956,0.817,0.956h5.948l1.494-9.475l-0.046,0.298 | |||
c0.106-0.671,0.678-1.164,1.357-1.164h2.827c5.552,0,9.899-2.256,11.17-8.779C23.614,8.247,23.646,8.061,23.675,7.876"/> | |||
<path fill="#003087" d="M9.875,7.908c0.063-0.403,0.322-0.733,0.67-0.9c0.158-0.076,0.335-0.118,0.521-0.118h7.553 | |||
c0.895,0,1.729,0.059,2.492,0.182c0.218,0.035,0.43,0.075,0.636,0.121c0.206,0.045,0.406,0.096,0.6,0.153 | |||
c0.097,0.028,0.192,0.058,0.286,0.089c0.375,0.125,0.724,0.271,1.044,0.441c0.378-2.412-0.002-4.053-1.307-5.539 | |||
C20.932,0.701,18.338,0,15.019,0H5.384C4.706,0,4.128,0.494,4.022,1.164L0.01,26.604c-0.079,0.503,0.309,0.956,0.817,0.956h5.948 | |||
l1.494-9.475L9.875,7.908z"/> | |||
</g> | |||
</g> | |||
</svg> |
@@ -1,2 +1,3 @@ | |||
##= require jquery | |||
##= require bootstrap/dropdown | |||
##= require_tree . |
@@ -35,11 +35,17 @@ body { | |||
background-color: #000; | |||
} | |||
table.center td { | |||
text-align: center; | |||
.label-critical, .progress-bar-critical { | |||
background-color: #000; | |||
} | |||
table.center { | |||
td, th { | |||
text-align: center; | |||
&.left { | |||
text-align: left; | |||
&.left { | |||
text-align: left; | |||
} | |||
} | |||
} | |||
@@ -51,10 +57,13 @@ td.primary { | |||
background-color: $state-info-bg; | |||
} | |||
<% unless Rails.env == 'production' %> | |||
.translation_missing { | |||
border: 1px solid red; | |||
} | |||
<% end %> | |||
.progress-bar-default { | |||
background-color: $label-default-bg; | |||
} | |||
@@ -79,45 +88,70 @@ $color-great: #5cb85c; | |||
.label-state-critical { | |||
background-color: $color-critical; | |||
} | |||
.label-state-error { | |||
background-color: $color-error; | |||
} | |||
.label-state-warning { | |||
background-color: $color-warning; | |||
color: $text-color; | |||
} | |||
.label-state-good { | |||
background-color: $color-good; | |||
color: $text-color; | |||
} | |||
.label-state-best { | |||
background-color: $color-best; | |||
} | |||
.label-state-great { | |||
background-color: $color-great; | |||
} | |||
.label-state-default { | |||
//background-color: #008000; | |||
background-color: $label-default-bg; | |||
} | |||
.label-state-success { | |||
background-color: $label-success-bg; | |||
} | |||
.alert-critical, .alert-error { | |||
background-color: $alert-danger-bg; | |||
color: $alert-danger-text; | |||
border-color: $alert-danger-border | |||
$lighten-alert: 35%; | |||
.alert-critical { | |||
background-color: lighten($color-critical, $lighten-alert); | |||
color: $color-critical; | |||
border-color: $color-critical; | |||
} | |||
.alert-error { | |||
background-color: lighten($color-error, $lighten-alert); | |||
color: $color-error; | |||
border-color: $color-error; | |||
} | |||
.alert-warning { | |||
background-color: $alert-warning-bg; | |||
color: $alert-warning-text; | |||
border-color: $alert-warning-border | |||
background-color: lighten($color-warning, $lighten-alert); | |||
color: $color-warning; | |||
border-color: $color-warning; | |||
} | |||
.alert-good, .alert-great, .alert-best { | |||
background-color: $alert-success-bg; | |||
color: $alert-success-text; | |||
border-color: $alert-success-border | |||
.alert-good { | |||
background-color: lighten($color-good, $lighten-alert); | |||
color: $color-good; | |||
border-color: $color-good; | |||
} | |||
.alert-best { | |||
background-color: lighten($color-best, $lighten-alert); | |||
color: $color-best; | |||
border-color: $color-best; | |||
} | |||
.alert-great { | |||
background-color: lighten($color-great, $lighten-alert); | |||
color: $color-great; | |||
border-color: $color-great; | |||
} |
@@ -0,0 +1,32 @@ | |||
#about, #help { | |||
margin-bottom: 20px; | |||
p { | |||
font-size: 1.25em; | |||
} | |||
} | |||
#donorbox { | |||
background: #2d81c5 url(<%= image_path 'donorbox.png' %>) no-repeat 18px center; | |||
color: #fff; | |||
text-decoration: none; | |||
font-family: Verdana, sans-serif; | |||
display: inline-block; | |||
font-size: 16px; | |||
padding: 13px 17px 13px 56px; | |||
-webkit-border-radius: 2px; | |||
-moz-border-radius: 2px; | |||
border-radius: 2px; | |||
box-shadow: 0 1px 0 0 #1f5a89; | |||
text-shadow: 0 1px rgba(0, 0, 0, 0.3); | |||
} | |||
#liberapay, #donorbox, #paypal { | |||
img { | |||
height: 50px; | |||
max-width: 140px; | |||
} | |||
} | |||
table.scoring img { | |||
width: 30px; | |||
} |
@@ -34,4 +34,12 @@ class SiteController < ApplicationController | |||
@suite = params[:id] || params.require(:suite) | |||
@ciphers = CryptCheck::Tls::Cipher.list @suite | |||
end | |||
def help | |||
end | |||
def about | |||
end | |||
end |
@@ -54,7 +54,8 @@ module CheckHelper | |||
end | |||
def rank_label(rank) | |||
label rank, rank_color(rank) | |||
l = %i(V T).include? rank | |||
label rank, rank_color(rank), !l | |||
end | |||
def protocol_label(protocol) | |||
@@ -14,6 +14,8 @@ | |||
<ul class="nav navbar-nav navbar-right"> | |||
<li><%= link_to t('User agent compatibility'), suite_path %></li> | |||
<li><%= link_to t('Supported cipher suites'), ciphers_path %></li> | |||
<li><%= link_to t('Help'), help_path %></li> | |||
<li><%= link_to t('About'), about_path %></li> | |||
<!-- | |||
<li class="dropdown"> | |||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"> | |||
@@ -0,0 +1,90 @@ | |||
<div id="about" class="container"> | |||
<div class="row"> | |||
<div class="col-sm-12"> | |||
<h1>About</h1> | |||
<p> | |||
This service is developed by | |||
<a href="https://imirhil.fr/" target="_blank">aeris</a>. | |||
</p> | |||
<p> | |||
Source code is available under | |||
<a href="https://www.gnu.org/licenses/agpl-3.0.html" target="_blank">AGPL | |||
v3</a> | |||
license : | |||
</p> | |||
<ul> | |||
<li> | |||
Engine: | |||
<a href="https://git.imirhil.fr/aeris/cryptcheck" target="_blank"> | |||
https://git.imirhil.fr/aeris/cryptcheck | |||
</a> | |||
</li> | |||
<li> | |||
Frontend: | |||
<a href="https://git.imirhil.fr/aeris/cryptcheck-rails" target="_blank"> | |||
https://git.imirhil.fr/aeris/cryptcheck-rails | |||
</a> | |||
</li> | |||
</ul> | |||
<p> | |||
This project contributes to improve Ruby too. | |||
</p> | |||
<ul> | |||
<li> | |||
<a href="https://github.com/ruby/openssl/commit/bd6a4954382b7b742575d5688bd9b93a597bcc24" target="_blank">Access TLS session ephemeral key</a> | |||
</li> | |||
<li> | |||
<a href="https://github.com/ruby/openssl/pull/165" target="_blank">Support for TLS fallback signaling (SCSV)</a> | |||
</li> | |||
<li> | |||
<a href="https://github.com/ruby/openssl/pull/166" target="_blank">Allow multiple certificates for TLS server</a> | |||
</li> | |||
<li> | |||
<a href="https://github.com/ruby/ruby/pull/1732" target="_blank">CAA RR DNS support</a> | |||
</li> | |||
</ul> | |||
<p> | |||
Icons used: | |||
</p> | |||
<ul> | |||
<li> | |||
<a href="https://commons.wikimedia.org/wiki/File:Tick_green_modern.svg" target="_blank">Tick green modern</a> | |||
by <a href="https://commons.wikimedia.org/wiki/User:Jossifresco" target="_blank">Jossifresco</a> (public domain) | |||
</li> | |||
<li> | |||
<a href="https://commons.wikimedia.org/wiki/File:Crystal_128_error.svg" target="_blank">Crystal 128 error</a> | |||
by <a href="https://commons.wikimedia.org/wiki/User:RedHotHeat" target="_blank">RedHotHeat</a> | |||
(<a href="https://www.gnu.org/copyleft/lesser.html" target="_blank">LGPL</a>) | |||
</li> | |||
</ul> | |||
<h1>Support</h1> | |||
<p> | |||
You can support development and hosting for this service: | |||
</p> | |||
<p id="contribute"> | |||
Bitcoin <a href="bitcoin:1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd?label=cryptcheck">1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd</a><br/> | |||
<a id="bitcoin" href="bitcoin:1aerisnnLWPchhDSXpxWGYWwLiSFUVFnd?label=cryptcheck"> | |||
<%= image_tag 'bitcoin.png', alt: 'Donate using Bitcoin' %> | |||
</a> | |||
<br/> | |||
Liberapay, for recurring donation, require a account (but respect your privacy)<br/> | |||
<a id="liberapay" href="https://liberapay.com/aeris/donate" target="_blank"><%= image_tag 'donate.svg', alt: 'Donate using Liberapay' %></a> | |||
<br/> | |||
Donorbox, for recurring and one-shot donation, doesn't require an account<br/> | |||
<a id="donorbox" href="https://donorbox.org/cryptcheck" target="_blank">Donate</a> | |||
<br/> | |||
Paypal, what to say about this service and your privacy, but already used by most of the world<br/> | |||
<a id="paypal" href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations¤cy_code=EUR&business=aeris@imirhil.fr&item_name=CryptCheck%20donation" target="_blank"><%= image_tag 'paypal.svg', alt: 'Donate using Paypal' %></a> | |||
</p> | |||
</div> | |||
</div> | |||
</div> |
@@ -0,0 +1,257 @@ | |||
<div id="help" class="container"> | |||
<div class="row"> | |||
<div class="col-sm-12"> | |||
<h1>Scoring</h1> | |||
<p> | |||
Currently, CryptCheck gives note from <%= rank_label :G %> for the | |||
worst sites to <%= rank_label :'A+' %> for the best ones. | |||
</p> | |||
<p> | |||
Scoring is based on the fact that TLS handshake is <b>not</b> | |||
authenticated, and so an attacker can force to use whatever | |||
cipher he wants as soon as both client and server support it, | |||
with a downgrade attack as simple as modify TCP packets on the | |||
fly. | |||
</p> | |||
<p> | |||
Such downgrade attack doesn't require heavy resources and can be | |||
made with standard computer or phone.<br/> | |||
The only difficult part is to be in position to modify the | |||
traffic between the client and the server. | |||
This is the case if the attacker is connected on the same network | |||
as the client (hotspot, 3G…) with simple | |||
<a href="https://en.wikipedia.org/wiki/ARP_spoofing">ARP spoofing</a>, | |||
doable with tools like | |||
<a href="https://forum.xda-developers.com/showthread.php?t=1593990">Droid Sheep</a>.<br/> | |||
</p> | |||
<p> | |||
As client support can't be guessed, CryptCheck considers the | |||
<b>weakest</b> suite supported server side. | |||
This way, a connection to the scored service can't lead to a | |||
negociated handshake with a worse score than the one given to | |||
the service, whatever your client supports and whatever an | |||
attacker is present or not. | |||
</p> | |||
<table class="scoring table table-bordered table-condensed center table-striped"> | |||
<thead> | |||
<tr> | |||
<th rowspan="2">Score</th> | |||
<td rowspan="2"></td> | |||
<td colspan="3">Protection</td> | |||
<td colspan="3">Weakness</td> | |||
</tr> | |||
<tr> | |||
<td>Best</td> | |||
<td>Great</td> | |||
<td>Good</td> | |||
<td>Future</td> | |||
<td>Weak</td> | |||
<td>Deprecated</td> | |||
</tr> | |||
</thead> | |||
<tbody> | |||
<tr> | |||
<th><%= rank_label :'A+' %></th> | |||
<td class="left"> | |||
Seriously take security into account and invest a lot on it.<br/> | |||
Whatever the cost, encryption safety is implemented. | |||
You can be proud! | |||
</td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :A %></th> | |||
<td class="left"> | |||
Seriously take security into account and invest a lot on it. | |||
</td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :'B+' %></th> | |||
<td class="left"> | |||
Seriously take security into account and invest on it. | |||
</td> | |||
<td></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :B %></th> | |||
<td class="left"> | |||
Take security into account and invest on it. | |||
</td> | |||
<td></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :'C+' %></th> | |||
<td class="left"> | |||
Take security into account and invest a little on it. | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'check-full.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :C %></th> | |||
<td class="left"> | |||
Take security into account but don't spend too much for it. | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :D %></th> | |||
<td class="left"> | |||
Take security into account. Minimaly.<br/> | |||
This is the worst score a decent service must have today. | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :E %></th> | |||
<td class="left"> | |||
Take security into account. A little. Or not. | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'cross-red.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :F %></th> | |||
<td class="left"> | |||
Just don't take security into account. | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'cross-red.svg' %></td> | |||
<td><%= image_tag 'check-empty.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :G %></th> | |||
<td class="left"> | |||
Just don't take security into account at all.<br/> | |||
What the fuck you do, dude? | |||
</td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td></td> | |||
<td><%= image_tag 'cross-red.svg' %></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :V %></th> | |||
<td class="left"> | |||
Invalid certificate (wrong domain, expired…) | |||
</td> | |||
<td colspan="6"></td> | |||
</tr> | |||
<tr> | |||
<th><%= rank_label :T %></th> | |||
<td class="left"> | |||
Unstrusted certificate. Not issued by a trusted | |||
<a href="https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport">certificate authority</a>. | |||
</td> | |||
<td colspan="6"></td> | |||
</tr> | |||
</tbody> | |||
</table> | |||
<table class="scoring table table-bordered table-condensed"> | |||
<tr> | |||
<td> | |||
For protection:<br/> | |||
<%= image_tag 'check-full.svg' %> Fully implemented | |||
<%= image_tag 'check-empty.svg' %> Partially implemented<br/> | |||
Good: simple to implement, small protection<br/> | |||
Great: quiet hard to implement, middle protection<br/> | |||
Best: hard to implement, strong protection | |||
</td> | |||
<td> | |||
For weakness:<br/> | |||
<%= image_tag 'check-empty.svg' %> Not vulnerable | |||
<%= image_tag 'cross-red.svg' %> Vulnerable<br/> | |||
Future: known weakness, but no practical attack known<br/> | |||
Weak: known weakness, pratical attack exist<br/> | |||
Deprecated: known weakness, merely equivalent or equal to plain text | |||
</td> | |||
</tr> | |||
</table> | |||
<p> | |||
<i>Note</i>: Unlike HTTPS or XMPP, SMTP uses | |||
<a href="https://en.wikipedia.org/wiki/Opportunistic_TLS">opportunistic encryption</a>.<br/> | |||
When you send an email, the server used to forward the mail | |||
(the <a href="https://en.wikipedia.org/wiki/Message_transfer_agent">MTA</a>) | |||
to the recipient has no way to guess in advance if recipient MTA | |||
supports or not encryption and which cipher suite will be | |||
available. | |||
To avoid your email returning to you in case of failure, the | |||
standard for email encryption | |||
(<a href="https://tools.ietf.org/html/rfc3207">RFC 3207</a>) | |||
requires to retry <b>in plain text</b> in case of encryption | |||
handshake failure.<br/> | |||
So, for SMTP, there is a compromise to make between strong | |||
configuration, leading to plain text fallback for old or badly | |||
configured MTA, and compatibility with such MTA to use weak | |||
encryption better than plain text but allowing downgrade attack | |||
on stronger MTA.<br/> | |||
Given email is a real nightmare for security, with multiple way | |||
to force a connection to fallback to plain text | |||
(<a href="https://www.eff.org/fr/deeplinks/2014/11/starttls-downgrade-attacks">STARTTLS stripping</a>, | |||
<a href="https://labs.ripe.net/Members/stephane_bortzmeyer/dns-censorship-dns-lies-seen-by-atlas-probes">MX lying</a>…), | |||
CryptCheck scores SMTP as HTTPS or XMPP and doesn't care about | |||
compatibility trouble. This way, weak people are still weak, but | |||
strong people can (not too much) hope strong encryption under | |||
normal condition.<br/> | |||
Be advice than strong score here for SMTP means compatibility | |||
troubles. | |||
Or fucked service which doesn't take care of your security. | |||
I don't know, you turn to judge. | |||
</p> | |||
</div> | |||
</div> | |||
</div> |
@@ -1,5 +1,6 @@ | |||
require File.expand_path('../boot', __FILE__) | |||
require 'rails' | |||
%w( | |||
action_controller | |||
action_view | |||
@@ -26,6 +26,8 @@ Rails.application.routes.draw do | |||
get ':id/refresh', action: :refresh, as: :refresh | |||
end | |||
get 'help' => 'site#help' | |||
get 'about' => 'site#about' | |||
get 'ciphers' => 'site#ciphers' | |||
get 'suite' => 'site#suite_index' | |||
get 'suite/:id' => 'site#suite' | |||