diff --git a/i2p2www/browser.py b/i2p2www/browser.py index 2c0713e2dda177150104ec104f57afb515bf2b6c..e26dfeb17d41e210480baea68054e59a14446aca 100644 --- a/i2p2www/browser.py +++ b/i2p2www/browser.py @@ -21,14 +21,21 @@ def browser_download(): def browser_releasenotes(): return render_template('site/browser/releasenotes.html') -def browser_known_issues(): - return render_template('site/browser/known_issues.html') +#def browser_known_issues(): +# return render_template('site/browser/known_issues.html') -def browser_troubleshooting(): - return render_template('site/browser/troubleshooting.html') +#def browser_troubleshooting(): +# return render_template('site/browser/troubleshooting.html') + +#def browser_updating(): +# return render_template('site/browser/updating.html') + +def browser_develop(): + return render_template('site/browser/develop.html') + +def browser_donate(): + return render_template('site/browser/donate.html') -def browser_updating(): - return render_template('site/browser/updating.html') def browser_faq(): if request.headers.get('X-I2P-Desthash') and not request.headers.get('X-Forwarded-Server'): diff --git a/i2p2www/pages/downloads/list.html b/i2p2www/pages/downloads/list.html index bbe4f01347c49019bc79527da27de82a842d59c3..03d5bd4b0552e8674dc0360752e92a2f7ea2b725 100644 --- a/i2p2www/pages/downloads/list.html +++ b/i2p2www/pages/downloads/list.html @@ -138,6 +138,27 @@ Java 9 support is in development and it is not recommended for general use. </div> {% endcall %} +{% call package_outer('docker', 'Docker', 'images/download/docker.png') %} + <div class="meta"> + <div class="hash"> + <code>35cb620d82c6cab8764792720c061379bb8493325d75ad2e376455b44718935</code> + </div> + </div> + <p>{% trans -%}I2P is now available as a Docker package from the Docker hub. + You may retrieve the image by running the 'docker pull' command. + {%- endtrans %} + </p> + <pre><code>{% trans-%} + docker pull meeh/i2p.i2p + {%- endtrans %} + </pre><code> + <a href="https://hub.docker.com/r/geti2p/i2p/">Docker Hub</a> + +{% endcall %} + + + + {% call package('source') %} <p>{% trans monotoneurl=site_url('get-involved/guides/new-developers'), gitrepo='http://'+i2pconv('git.repo.i2p')+'/w/i2p.i2p.git', diff --git a/i2p2www/pages/downloads/macros b/i2p2www/pages/downloads/macros index b9faf6abd410f9720a170899d5f009028f6ea3fe..6da0e8ccdf91f83d6faab666317a4e0a6f8a068b 100644 --- a/i2p2www/pages/downloads/macros +++ b/i2p2www/pages/downloads/macros @@ -53,6 +53,11 @@ {%- set filename = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg' -%} {%- set signame = 'I2PMacLauncher-%s-beta-'+i2p_macosx_launcher_version+'.dmg.sig' -%} {%- set hash = i2p_macnative_hash -%} +{%- elif type == 'docker' -%} + {%- set name = _('Docker') -%} + {%- set icon = 'images/download/docker.png' -%} + {%- set filename = '' -%} + {%- set hash = 'geti2p/i2p@sha256:e622209388edc49b99d8216baa731b1f54a0634c87cd47c1739f2188891daf3a' -%} {%- else -%} {%- if type == 'mac' -%} {%- set name = 'Mac OS X' -%} diff --git a/i2p2www/pages/global/footer.html b/i2p2www/pages/global/footer.html index 1cbd6def9e10b140fc305973005761f1dd7d9c3b..934ba8764389ee24ca33cf6af16378f3d63750e9 100644 --- a/i2p2www/pages/global/footer.html +++ b/i2p2www/pages/global/footer.html @@ -35,3 +35,93 @@ {{ footer_div('fourth', get_url('downloads_debian'), 'Debian / Ubuntu') }} {{ footer_download('fifth', 'android', 'Android') }} {{ footer_div('sixth', site_url('get-involved/donate'), _('Donate')) }}--> + +<!-- +<div id="footer" class="page-header mb-4"> + <h3>Footer</h3> +</div> + +<div class="footer col-12 p-5 background-primary text-white"> + <div class="footer__wrapper col-lg-11 col-md-12 mx-auto" > + <div class="row" id="footer-lists"> + <ul class="col-lg-3 col-md-4 col-sm-6 col-xs-12" id="footer-i2p-menu"> + <span>I2P</span> + <li><a href="#">About</a></li> + <li><a href="#">Blog</a></li> + <li><a href="#">events</a></li> + <li><a href="#">contact us</a></li> + </ul> + <ul class="col-lg-3 col-md-4 col-sm-6 col-xs-12" id="footer-gettingStarted-menu"> + <span>Getting started</span> + <li><a href="#">guides</a></li> + <li><a href="#">technology</a></li> + <li><a href="#">api</a></li> + <li><a href="#">docs</a></li> + </ul> + <ul class="col-lg-3 col-md-4 col-sm-6 col-xs-12" id="footer-getInvolved-menu"> + <span>get involved</span> + <li><a href="#">contribute</a></li> + <li><a href="#">donate</a></li> + <li><a href="#">partners</a></li> + </ul> + <ul class="col-lg-3 col-md-4 col-sm-6 col-xs-12 mb-5" id="footer-socialMedia-menu"> + <span>Follow us</span> + <div class="row footer__social-media" > + <li> + <svg + class="footer__social-media-icon" + fill="none" + stroke="currentColor" + stroke-width="2" + stroke-linecap="round" + stroke-linejoin="round" + > + <use xlink:href="../assets/images/feather-sprite.svg#github"/> + </svg> + </li> + <li> + <svg + class="footer__social-media-icon" + fill="none" + stroke="currentColor" + stroke-width="2" + stroke-linecap="round" + stroke-linejoin="round" + > + <use xlink:href="../assets/images/feather-sprite.svg#twitter"/> + </svg> + </li> + <li> + <svg + class="footer__social-media-icon" + fill="none" + stroke="currentColor" + stroke-width="2" + stroke-linecap="round" + stroke-linejoin="round" + > + <use xlink:href="../assets/images/feather-sprite.svg#slack"/> + </svg> + </li> + </div> + </ul> + </div> + <div class="spacer col-12" ></div> + <div class="footer-extras row"> + <div class="footer-extras__logo col-md-6 col-sm-12" >--> + <!--<img class="mb-3" src="https://raw.githubusercontent.com/uracreative/works/master/I2P/PNG/horizontal_white.png" class="img-fluid" />--> + <!--<p>© 2018 The Invisible Internet Project<br /> + Content available under a Creative Commons license.</p> + </div> + <div class="col-lg-4 col-sm-12" > + <ul class="d-flex flex-wrap pl-0"> + <li><a href="#">data policy</a></li> + <li><a href="#">legal</a></li> + <li><a href="#">sitemap</a></li> + <li><a href="#">impressum</a></li> + </ul> + </div> + </div> + </div> +</div> +--> diff --git a/i2p2www/pages/global/nav.html b/i2p2www/pages/global/nav.html index 83c27d3002761c6e2d87113a74fa4ea0bb4a5554..be9f1c948552407c9dc7f2499f0d1de02693b02c 100644 --- a/i2p2www/pages/global/nav.html +++ b/i2p2www/pages/global/nav.html @@ -4,6 +4,33 @@ <li class="has-sub"><div class="menuitem"><span>{{ _('About') }}</span></div> <ul> <li><a href="{{ site_url('about/intro') }}"><div class="menuitem"><span>{{ _('Introduction to I2P') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Help') }}</span></div> + <ul> + <li><a href="{{ site_url('faq') }}"><div class="menuitem"><span>{{ _('FAQ') }}</span></div></a></li> + <li><a href="{{ site_url('about/browser-config') }}"><div class="menuitem"><span>{{ _('How to browse I2P') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Community') }}</span></div> + <ul> + <li><a href="http://{{ i2pconv('i2pforum.i2p') }}/"><div class="menuitem"><span>{{ _('Forums') }}</span></div></a></li> + <li><a href="https://reddit.com/r/i2p"><div class="menuitem"><span>Reddit</span></div></a></li> + </ul> + </li> + <li class="has-sub"><div class="menuitem"><span>{{ _('References') }}</span></div> + <ul> + <li><a href="{{ site_url('about/glossary') }}"><div class="menuitem"><span>{{ _('Glossary') }}</span></div></a></li> + <li><a href="{{ site_url('about/performance') }}"><div class="menuitem"><span>{{ _('Performance') }}</span></div></a></li> + </ul> + </li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Verify I2P') }}</span></div> + <ul> + <li><a href="{{ site_url('get-involved/develop/release-signing-key') }}"><div class="menuitem"><span>{{ _('Release signing keys') }}</span></div></a></li> + <li><a href="{{ site_url('get-involved/develop/signed-keys') }}"><div class="menuitem"><span>{{ _('Signed keys') }}</span></div></a></li> + <li><a href="{{ site_url('get-involved/develop/developers-keys') }}"><div class="menuitem"><span>{{ _('Developers keys') }}</span></div></a></li> + </ul> + </li> + <li><a href="{{ site_url('contact') }}"><div class="menuitem"><span>{{ _('Contact us') }}</span></div></a></li> + </ul> + </li> + <li><a href="{{ site_url('get-involved') }}"><div class="menuitem"><span>{{ _('Get involved!') }}</span></div></a></li> <li class="has-sub"><div class="menuitem"><span>{{ _('Comparisons') }}</span></div> <ul> <li><a href="{{ site_url('comparison') }}"><div class="menuitem"><span>{{ _('Overview of comparisons') }}</span></div></a></li> @@ -13,7 +40,24 @@ <li><a href="{{ site_url('comparison/other-networks') }}"><div class="menuitem"><span>{{ _('Other anonymous networks') }}</span></div></a></li> </ul> </li> - <li class="has-sub"><div class="menuitem"><span>{{ _('Documentation') }}</span></div> + <li class="has-sub"><div class="menuitem"><span>{{ _('People') }}</span></div> + <ul> + <li><a href="{{ site_url('about/team') }}"><div class="menuitem"><span>{{ _('Team') }}</span></div></a></li> + <li><a href="{{ site_url('about/hall-of-fame') }}"><div class="menuitem"><span>{{ _('Hall of Fame') }}</span></div></a></li> + <li><a href="{{ site_url('contact') }}"><div class="menuitem"><span>{{ _('Contact us') }}</span></div></a></li> + </ul> + </li> + <!--<li class="has-sub"><div class="menuitem"><span>{{ _('Presentations, Tutorials, Articles, and Media') }}</span></div> + <ul> + <li><a href="{{ get_url('papers_list') }}"><div class="menuitem"><span>{{ _('Academic papers and peer review') }}</span></div></a></li> + <li><a href="{{ site_url('about/media') }}"><div class="menuitem"><span>{{ _('Presentations, tutorials and articles') }}</span></div></a></li> + <li><a href="{{ site_url('impressum') }}"><div class="menuitem"><span>{{ _('Impressum') }}</span></div></a></li> + </ul> + </li>--> + <li><a href="{{ site_url('links') }}"><div class="menuitem"><span>{{ _('Links') }}</span></div></a></li> + </ul> + <li><a href="{{ site_url('get-involved/donate') }}"><div class="menuitem"><span class="donateitem">{{ _('Donate') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Docs') }}</span></div> <ul> <li><a href="{{ site_url('docs') }}"><div class="menuitem"><span>{{ _('Documentation index') }}</span></div></a></li> <li class="has-sub"><div class="menuitem"><span>{{ _('How does it work?') }}</span></div> @@ -74,45 +118,28 @@ <li><a href="{{ site_url('docs/reseed') }}"><div class="menuitem"><span>{{ _('Reseed') }}</span></div></a></li> </ul> </li> - <li><a href="{{ site_url('about/team') }}"><div class="menuitem"><span>{{ _('Team') }}</span></div></a></li> - <li><a href="{{ site_url('about/hall-of-fame') }}"><div class="menuitem"><span>{{ _('Hall of Fame') }}</span></div></a></li> - <li><a href="{{ get_url('papers_list') }}"><div class="menuitem"><span>{{ _('Academic papers and peer review') }}</span></div></a></li> - <li><a href="{{ site_url('about/i2pcon') }}"><div class="menuitem"><span>I2PCon</span></div></a></li> - <li><a href="{{ site_url('about/media') }}"><div class="menuitem"><span>{{ _('Presentations, tutorials and articles') }}</span></div></a></li> - <li><a href="{{ site_url('contact') }}"><div class="menuitem"><span>{{ _('Contact us') }}</span></div></a></li> - <li><a href="{{ site_url('links') }}"><div class="menuitem"><span>{{ _('Links') }}</span></div></a></li> - <li><a href="{{ site_url('impressum') }}"><div class="menuitem"><span>{{ _('Impressum') }}</span></div></a></li> - </ul> - </li> - <li class="has-sub"><div class="menuitem"><span>{{ _('Help') }}</span></div> + <li class="has-sub"><div class="menuitem"><span>{{ _('Research') }}</span></div> <ul> - <li><a href="{{ site_url('faq') }}"><div class="menuitem"><span>{{ _('FAQ') }}</span></div></a></li> - <li><a href="{{ site_url('about/browser-config') }}"><div class="menuitem"><span>{{ _('How to browse I2P') }}</span></div></a></li> - <li><a href="{{ site_url('about/glossary') }}"><div class="menuitem"><span>{{ _('Glossary') }}</span></div></a></li> - <li><a href="{{ site_url('about/performance') }}"><div class="menuitem"><span>{{ _('Performance') }}</span></div></a></li> - <li><a href="http://{{ i2pconv('i2pforum.i2p') }}/"><div class="menuitem"><span>{{ _('Forums') }}</span></div></a></li> - <li><a href="https://reddit.com/r/i2p"><div class="menuitem"><span>Reddit</span></div></a></li> - <li class="has-sub"><div class="menuitem"><span>{{ _('Verify I2P') }}</span></div> - <ul> - <li><a href="{{ site_url('get-involved/develop/release-signing-key') }}"><div class="menuitem"><span>{{ _('Release signing keys') }}</span></div></a></li> - <li><a href="{{ site_url('get-involved/develop/signed-keys') }}"><div class="menuitem"><span>{{ _('Signed keys') }}</span></div></a></li> - <li><a href="{{ site_url('get-involved/develop/developers-keys') }}"><div class="menuitem"><span>{{ _('Developers keys') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Research') }}</span></div> + <ul> + <li><a href="{{ site_url('research') }}"><div class="menuitem"><span>{{ _('Academic research') }}</span></div></a></li> + <li><a href="{{ site_url('research/questions') }}"><div class="menuitem"><span>{{ _('Open research questions') }}</span></div></a></li> </ul> + <li><a href="{{ get_url('papers_list') }}"><div class="menuitem"><span>{{ _('Academic papers and peer review') }}</span></div></a></li> </li> - </ul> - </li> - <li class="has-sub"><div class="menuitem"><span>{{ _('Volunteer') }}</span></div> - <ul> - <li><a href="{{ site_url('get-involved') }}"><div class="menuitem"><span>{{ _('Get involved!') }}</span></div></a></li> - <li class="has-sub"><div class="menuitem"><span>{{ _('Develop') }}</span></div> + <li class="has-sub"><div class="menuitem"><span>{{ _('Presentations, tutorials and articles') }}</span></div> <ul> - <li><a href="{{ site_url('get-involved/develop/applications') }}"><div class="menuitem"><span>{{ _('Applications') }}</span></div></a></li> - <li><a href="{{ site_url('get-involved/develop/licenses') }}"><div class="menuitem"><span>{{ _('Licenses') }}</span></div></a></li> - <li><a href="http://{{ i2pconv('trac.i2p2.i2p') }}/"><div class="menuitem"><span>{{ _('Bug tracker') }}</span></div></a></li> + <li><a href="{{ site_url('about/media') }}"><div class="menuitem"><span>Media</span></div></li> + <li><a href="{{ site_url('about/i2pcon') }}"><div class="menuitem"><span>I2PCon</span></div></a></li> </ul> </li> - <li><a href="{{ site_url('research') }}"><div class="menuitem"><span>{{ _('Academic research') }}</span></div></a></li> - <li><a href="{{ site_url('research/questions') }}"><div class="menuitem"><span>{{ _('Open research questions') }}</span></div></a></li> + <li><a href="{{ site_url('impressum') }}"><div class="menuitem"><span>{{ _('Impressum') }}</span></div></a></li> + <li><a href="https://i2p-metrics.np-tokumei.net/"><div class="menuitem"><span>{{ _('I2P Metrics') }}</span></div></a></li> + </ul> + </li> + </li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Develop') }}</span></div> + <ul> <li class="has-sub"><div class="menuitem"><span>{{ _('Guides') }}</span></div> <ul> <li><a href="{{ site_url('get-involved/guides/new-developers') }}"><div class="menuitem"><span>{{ _('New developers') }}</span></div></a></li> @@ -122,14 +149,40 @@ <li><a href="{{ site_url('get-involved/guides/new-translators') }}"><div class="menuitem"><span>{{ _('New translators') }}</span></div></a></li> </ul> </li> - <li><a href="{{ site_url('get-involved/donate') }}"><div class="menuitem"><span>{{ _('Donate') }}</span></div></a></li> - <li><a href="{{ get_url('meetings_index') }}"><div class="menuitem"><span>{{ _('Meetings') }}</span></div></a></li> - <li><a href="{{ site_url('get-involved/roadmap') }}"><div class="menuitem"><span>{{ _('Roadmap') }}</span></div></a></li> - <li><a href="{{ site_url('get-involved/todo') }}"><div class="menuitem"><span>{{ _('Task list') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('API') }}</span></div> + <ul> + <li><a href="{{ site_url('docs/api/i2ptunnel') }}"><div class="menuitem"><span>I2PTunnel</span></div></a></li> + <li><a href="{{ site_url('docs/api/socks') }}"><div class="menuitem"><span>SOCKS</span></div></a></li> + <li><a href="{{ site_url('docs/api/samv3') }}"><div class="menuitem"><span>SAM v3</span></div></a></li> + <li><a href="{{ site_url('docs/api/bob') }}"><div class="menuitem"><span>BOB</span></div></a></li> + <li><a href="{{ site_url('docs/api/streaming') }}"><div class="menuitem"><span>{{ _('Streaming library') }}</span></div></a></li> + <li><a href="{{ site_url('docs/api/datagrams') }}"><div class="menuitem"><span>{{ _('Datagrams') }}</span></div></a></li> + <li><a href="{{ site_url('docs/api/i2pcontrol') }}"><div class="menuitem"><span>I2PControl</span></div></a></li> + </ul> + </li> + <li class="has-sub"><div class="menuitem"><span>{{ _('License') }}</span></div> + <ul> + <li><a href="{{ site_url('get-involved/develop/applications') }}"><div class="menuitem"><span>{{ _('Applications') }}</span></div></a></li> + <li><a href="{{ site_url('get-involved/develop/licenses') }}"><div class="menuitem"><span>{{ _('Licenses') }}</span></div></a></li> + </ul> + </li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Meetings, Roadmap') }}</span></div> + <ul> + <li><a href="{{ get_url('meetings_index') }}"><div class="menuitem"><span>{{ _('Meeting Logs') }}</span></div></a></li> + <li><a href="{{ site_url('get-involved/roadmap') }}"><div class="menuitem"><span>{{ _('Project Roadmap') }}</span></div></a></li> + <li><a href="{{ site_url('get-involved/todo') }}"><div class="menuitem"><span>{{ _('Task list') }}</span></div></a></li> + </ul> + </li> + <li><a href="http://{{ i2pconv('trac.i2p2.i2p') }}/"><div class="menuitem"><span>{{ _('Bug tracker') }}</span></div></a></li> </ul> </li> <li><a href="{{ get_url('blog_index') }}"><div class="menuitem"><span>{{ _('Blog') }}</span></div></a></li> - <li><a href="{{ site_url('download/lab') }}"><div class="menuitem"><span>{{ _('Lab') }}</span></div></a></li> + <li class="has-sub"><div class="menuitem"><span>{{ _('Labs') }}</span></div> + <ul> + <li><a href="{{ site_url('download/lab') }}"><div class="menuitem"><span>{{ _('I2P Labs') }}</span></div></a></li> + <li><a href="{{ site_url('browser') }}"><div class="menuitem browseritem"><span>{{ _('I2P Browser (Beta)') }}</span></div></a></li> + </ul> + </li> <li class="has-sub right"><div class="menuitem"><span><img src="{{ get_flag() }}" /> {{ _('Language') }}</span></div> {% include "global/lang.html" %} </li> diff --git a/i2p2www/pages/site/about/glossary.html b/i2p2www/pages/site/about/glossary.html index 73f4a77dedfdb17ff8ba5a978c3efc6f7fdefbe6..67c6ff2624efcf899efa285d56a0ebaa44deb4dd 100644 --- a/i2p2www/pages/site/about/glossary.html +++ b/i2p2www/pages/site/about/glossary.html @@ -5,29 +5,13 @@ This page lists often-used terminology when discussing I2P and cryptography. {%- endtrans %} <table> - <tr> - <td>I2P</td> - <td>Invisible Internet Project: a project meant to provide an anonymity layer, so user can communicate anonymously using a range of applications.</td> - </tr> - <tr> - <td>Router</td> - <td>The core I2P software, which routes encrypted packets on the I2P network. All routers by default participate in the network, which both helps the network and provides cover traffic for any clients or servers connecting to the I2P network through the router.</td> - </tr> - <tr> - <td>RouterIdentity</td> - <td>A collection of information required to communicate directly with a router, such as its IP address and listening port, public signing and encryption keys etc.</td> - </tr> - <tr> - <td>Tunnel</td> - <td>An anonymous communication pathway between a client or server and the I2P network. Tunnels are unidirectional, so any one client or server must have at least two Tunnels - one for inbound traffic and one for outbound traffic.</td> - </tr> - <tr> - <td>Destination</td> - <td>The cryptographic identity of a tunnel. These are the identities of clients and servers within the I2P network, and are analogous to the IP:port of a computer on the normal internet.</td> - </tr> - <tr> - <td>LeaseSet</td> - <td>A collection of information required to communicate with a client or server at a particular Destination, such as the gateways of the inbound Tunnels for that Destination.</td> - </tr> + <ul> + <li>I2P: Invisible Internet Project: a project meant to provide an anonymity layer, so user can communicate anonymously using a range of applications.</li> + <li>Router: The core I2P software, which routes encrypted packets on the I2P network. All routers by default participate in the network, which both helps the network and provides cover traffic for any clients or servers connecting to the I2P network through the router.</li> + <li>RouterIdentity: A collection of information required to communicate directly with a router, such as its IP address and listening port, public signing and encryption keys etc.</li> + <li>Tunnel: An anonymous communication pathway between a client or server and the I2P network. Tunnels are unidirectional, so any one client or server must have at least two Tunnels - one for inbound traffic and one for outbound traffic.</li> + <li>Destination: The cryptographic identity of a tunnel. These are the identities of clients and servers within the I2P network, and are analogous to the IP:port of a computer on the normal internet.</li> + <li>LeaseSet: A collection of information required to communicate with a client or server at a particular Destination, such as the gateways of the inbound Tunnels for that Destination.</li> + </ul> </table> {% endblock %} diff --git a/i2p2www/pages/site/browser/_front.html b/i2p2www/pages/site/browser/_front.html index a25cb6aec2beb2d6005ee21ce3b9759851a973dd..5b6572c02df3ef2a200d9f2a5d3df3127af18049 100644 --- a/i2p2www/pages/site/browser/_front.html +++ b/i2p2www/pages/site/browser/_front.html @@ -5,13 +5,15 @@ <li style="list-style: none; display: inline"> <h4>{{ _('Navigation') }}</h4> </li> -<li style="list-style: none;">{% trans intro=get_url('browser_intro') %}<a href="{{ intro }}">Introduction</a>{% endtrans %}</li> -<li style="list-style: none;">{% trans download=get_url('browser_download') %}<a href="{{ download }}">The downloads</a>{% endtrans %}</li> -<li style="list-style: none;">{% trans troubleshooting=get_url('browser_troubleshooting') %}<a href="{{ troubleshooting }}">Troubleshooting</a>{% endtrans %}</li> -<li style="list-style: none;">{% trans known_issues=get_url('browser_known_issues') %}<a href="{{ known_issues }}">Known Issues</a>{% endtrans %}</li> +<li style="list-style: none;">{% trans intro=get_url('browser_intro') %}<a href="{{ intro }}">About</a>{% endtrans %}</li> +<li style="list-style: none;">{% trans download=get_url('browser_download') %}<a href="{{ download }}">Download</a>{% endtrans %}</li> +<!--<li style="list-style: none;">{% trans troubleshooting=get_url('browser_troubleshooting') %}<a href="{{ troubleshooting }}">Troubleshooting</a>{% endtrans %}</li>--> +<!--<li style="list-style: none;">{% trans known_issues=get_url('browser_known_issues') %}<a href="{{ known_issues }}">Known Issues</a>{% endtrans %}</li>--> <li style="list-style: none;">{% trans releasenotes=get_url('browser_releasenotes') %}<a href="{{ releasenotes }}">Release Notes</a>{% endtrans %}</li> -<li style="list-style: none;">{% trans updates=get_url('browser_updating') %}<a href="{{ updates }}">Updating</a>{% endtrans %}</li> -<li style="list-style: none;">{% trans faq=get_url('browser_faq') %}<a href="{{ faq }}">I2P Browser FAQ</a>{% endtrans %}</li> +<li style="list-style: none;">{% trans develop=get_url('browser_develop') %}<a href="{{ develop }}">Get Involved</a>{% endtrans %}</li> +<li style="list-style: none;">{% trans donate=site_url('get-involved/donate') %}<a href="{{ donate }}">Donate</a>{% endtrans %}</li> + +<!--<li style="list-style: none;">{% trans faq=get_url('browser_faq') %}<a href="{{ faq }}">I2P Browser FAQ</a>{% endtrans %}</li>--> </ol> {% endblock %} @@ -35,7 +37,7 @@ <h1>{% trans %}Resist. Block. Defend.{% endtrans %}</h1> {%- if detected_os == 'windows' -%} {%- set name = 'Windows' -%} - {%- set icon = 'images/download/windows.png' -%} + {%- set icon = 'images/browser/garlic.svg' -%} {%- set link = 'https://download.i2p2.de/experimental/i2pbrowser-beta4/windows64/i2pbrowser-install-win64-2.0-beta4_en-US.exe' -%} {% call browser_download(name, icon, link) %} Download I2P Browser for Windows @@ -43,7 +45,7 @@ {%- elif detected_os == 'macosx' -%} {%- set name = 'Mac OS X' -%} - {%- set icon = 'images/download/mac-osx.png' -%} + {%- set icon = 'images/barowser/garlic.svg' -%} {%- set link = 'https://download.i2p2.de/experimental/i2pbrowser-beta4/macosx64/I2PBrowser-2.0-beta4-osx64_en-US.dmg' -%} {% call browser_download(name, icon, link) %} Download I2P Browser for Mac OS X @@ -51,7 +53,7 @@ {%- elif detected_os == 'linux' -%} {%- set name = 'Linux' -%} - {%- set icon = 'images/download/freebsd-tux.png' -%} + {%- set icon = 'images/browser/garlic.svg' -%} {%- set link = 'https://download.i2p2.de/experimental/i2pbrowser-beta4/linux64/i2p-browser-linux64-2.0-beta4_en-US.tar.xz' -%} {% call browser_download(name, icon, link) %} Download I2P Browser for Linux x64 diff --git a/i2p2www/pages/site/browser/download.html b/i2p2www/pages/site/browser/download.html index ed6b6830d41f7292db0ba25a20d4769622156253..d2706827a32f113cc393d52df32b04652c255853 100644 --- a/i2p2www/pages/site/browser/download.html +++ b/i2p2www/pages/site/browser/download.html @@ -22,20 +22,22 @@ <section id="download"> - <h1>{{ _('I2P Browser download page') }}</h1> + <h1>{{ _('Download I2P Browser') }}</h1> <p>{% trans -%} - The Invisible Internet browser is a fork of TorBrowser/Mozilla Firefox ESR that comes preconfigured with proxy - settings, NoScript and i2pbutton which contains some security/privacy improvements like a drag and drop filter and - external app blocker. + The Invisible Internet Browser is a fork of TorBrowser/Mozilla Firefox ESR + that comes preconfigured with proxy settings, NoScript and + <a href="https://github.com/mikalv/i2pbutton">I2PButton</a> which contains + security and privacy improvements like a drag and drop filter and external + app blocker. {%- endtrans %}</p> <p>{% trans -%} - Builds for Linux, Windows and Mac OS X are available. Currently we provide binaries for 64bit systems. 32bit builds - for Linux and Windows are planned. + Builds for Linux, Windows and Mac OS X are available. Currently we provide + binaries for 64bit systems. 32bit builds for Linux and Windows are planned. {%- endtrans %}</p> <p>{% trans -%} - At this time I2P Browser does not ship with its own I2P router. Ensure that you have I2P installed and running - before you launch the I2P Browser. + At this time I2P Browser does not ship with its own I2P router. Ensure that + you have I2P installed and running before you launch the I2P Browser. {%- endtrans %}</p> {% trans %} Status: Beta-4 @@ -125,4 +127,4 @@ {% endcall %} </section> -{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/i2p2www/pages/site/browser/intro.html b/i2p2www/pages/site/browser/intro.html index a4ed131f0f3699dd7e69eb22a2540c04387f61bd..eb5707110a5395886c4572d441b7fce19b0bbd15 100644 --- a/i2p2www/pages/site/browser/intro.html +++ b/i2p2www/pages/site/browser/intro.html @@ -12,12 +12,32 @@ {% block content %} -<h1>The I2P Browser Introduction</h1> - - - - -TBA. - +<h1>About</h1> +<p> +I2P Browser is for anyone who wants to protect their privacy either for +preference or safety. It enables netizens to defend themselves from tracking, +surveillance, spyware and in some cases it will help to circumvent censorship. +</p> +<p> +Like other browsers, I2P Browser enables you to browse and search the internet. +I2P Browser however, is very focused on the privacy rights of the user and does +not monetize data in trade of your privacy. +</p> +<p> +Most websites now use numerous third-party services, including social networking +“Like†buttons, analytics trackers, and advertising beacons, all of which can +link your activity across different sites. And because of that, the I2P Browser +is designed to prevent websites from “fingerprinting†or identifying you based +on your browser configuration. By default, I2P Browser does not keep any +browsing history. Cookies are only valid for a single session (until I2P Browser +is exited or a New Identity is requested). +</p> +<p> +I2P Browser blocks plugins like Flash, RealPlayer, Quicktime and others that can +be manipulated into revealing your IP address. I2P Browser also comes with +NoScript and other patches to protect your privacy and security. We do not +recommend installing additional plugins or add-ons to I2P Browser since they may +bypass or compromise your privacy. +</p> {% endblock %} diff --git a/i2p2www/pages/site/browser/known_issues.html b/i2p2www/pages/site/browser/known_issues.html deleted file mode 100644 index c0e4e71d7421eb1a22c41c44e67ac11fec15d01c..0000000000000000000000000000000000000000 --- a/i2p2www/pages/site/browser/known_issues.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends "global/layout.html" %} -{% block title %}{{ _('The I2P Browser') }}{% endblock %} -{% block content_nav %} -<ol> -<li style="list-style: none; display: inline"> -<h4>{{ _('Navigation') }}</h4> -</li> -<li style="list-style: none;">{% trans browser_main=get_url('browser_frontpage') %}<a href="{{ browser_main }}">Back to browser front page</a>{% endtrans %}</li> -</ol> -{% endblock %} - - -{% block content %} - -<h1>{% trans %}Known issues with the I2P Browser{% endtrans %}</h1> - - - - -TBA. - -{% endblock %} - diff --git a/i2p2www/pages/site/browser/troubleshooting.html b/i2p2www/pages/site/browser/troubleshooting.html deleted file mode 100644 index 383cfbcc0663424de10128299be52fb6d3b18006..0000000000000000000000000000000000000000 --- a/i2p2www/pages/site/browser/troubleshooting.html +++ /dev/null @@ -1,23 +0,0 @@ -{% extends "global/layout.html" %} -{% block title %}{{ _('The I2P Browser') }}{% endblock %} -{% block content_nav %} -<ol> -<li style="list-style: none; display: inline"> -<h4>{{ _('Navigation') }}</h4> -</li> -<li style="list-style: none;">{% trans browser_main=get_url('browser_frontpage') %}<a href="{{ browser_main }}">Back to browser front page</a>{% endtrans %}</li> -</ol> -{% endblock %} - - -{% block content %} - -<h1>{% trans %}Browser Troubleshooting{% endtrans %}</h1> - - - - -TBA. - -{% endblock %} - diff --git a/i2p2www/pages/site/contact.html b/i2p2www/pages/site/contact.html index 43059e982e8de04da2cd6ef97c96f544b7327a1c..4d8ba52a5bba8db0057aa991eccf8726e84e7fa1 100644 --- a/i2p2www/pages/site/contact.html +++ b/i2p2www/pages/site/contact.html @@ -49,7 +49,7 @@ GPG Key fingerprint: <tt>EA27 06D6 14F5 28DB 764B F47E CFCD C461 75E6 694A</tt> <h2>{{ _('Mailing lists') }}</h2> <p>{% trans -%} - I2P does have a mailing list, but it is rarely used as the current small team of developers prefer to communicate via IRC or the developer forum. This may change in future. + I2P has recently reinstated it's mailing lists, and they are primarily used to discuss I2P browser development. {%- endtrans %}</p> @@ -66,11 +66,15 @@ GPG Key fingerprint: <tt>EA27 06D6 14F5 28DB 764B F47E CFCD C461 75E6 694A</tt> <h3>{{ _('Lists') }}</h3> <ul> <li> - <a href="http://{{ i2pconv('lists.i2p2.i2p') }}/mailman/listinfo/i2p-dev">i2p-dev</a> (<a href="http://{{ i2pconv('lists.i2p2.i2p') }}/pipermail/i2p-dev/">{{ _('Archive') }}</a>)<br/> + <a href="http://{{ i2pconv('lists.i2p') }}/postorius/lists/i2p-browser-dev.{{ i2pconv('lists.i2p') }}/">i2p-browser-dev</a> (<a href="http://{{ i2pconv('lists.i2p') }}/hyperkitty/lists/i2p-browser-dev@{{ i2pconv('lists.i2p') }}/">{{ _('Archive') }}</a>)<br/> {% trans %}I2P developer discussions - anything related to development of I2P{% endtrans %} </li> <li> - <a href="http://{{ i2pconv('lists.i2p2.i2p') }}/mailman/listinfo/i2p-general">i2p-general</a> (<a href="http://{{ i2pconv('lists.i2p2.i2p') }}/pipermail/i2p-general/">{{ _('Archive') }}</a>)<br/> + <a href="http://{{ i2pconv('lists.i2p') }}/postorius/lists/i2p-browser-announce.{{ i2pconv('lists.i2p') }}/">i2p-browser-announce</a> (<a href="http://{{ i2pconv('lists.i2p') }}/hyperkitty/lists/i2p-browser-announce@{{ i2pconv('lists.i2p') }}/">{{ _('Archive') }}</a>)<br/> + {% trans %}General I2P discussion - anything that doesn't fit in a different list goes here{% endtrans %} + </li> + <li> + <a href="http://{{ i2pconv('lists.i2p') }}/postorius/lists/i2p-outproxy-dev.{{ i2pconv('lists.i2p') }}/">i2p-outproxy-dev</a> (<a href="http://{{ i2pconv('lists.i2p') }}/hyperkitty/lists/i2p-outproxy-dev@{{ i2pconv('lists.i2p') }}/">{{ _('Archive') }}</a>)<br/> {% trans %}General I2P discussion - anything that doesn't fit in a different list goes here{% endtrans %} </li> </ul> diff --git a/i2p2www/static/images/browser/garlic.svg b/i2p2www/static/images/browser/garlic.svg new file mode 100644 index 0000000000000000000000000000000000000000..e7a3fd20375ff0c08cc178570260b0047bd9590c --- /dev/null +++ b/i2p2www/static/images/browser/garlic.svg @@ -0,0 +1 @@ +<?xml version="1.0" encoding="UTF-8"?><svg version="1.1" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><!--Generated by IJSVG (https://github.com/iconjar/IJSVG)--><g transform="matrix(12.8,0,0,12.8,0,0)"><path fill="none" d="M-1,-1h582v402h-582Z"></path><path fill="#60AB60" fill-rule="evenodd" d="M28.218,30.009c1.963,-1.108 3.178,-2.915 3.178,-5.696c0.185,-4.073 -2.383,-5.924 -4.218,-8.611c-2.31,-3.384 -2.918,-6.306 -3.438,-6.043c-0.101,0.051 0.161,1.668 0.975,3.848c0.198,0.532 1.53,3.683 1.727,4.152c1.624,3.869 2.764,8.536 -0.262,12.116c-0.185,0.219 -0.38,0.423 -0.584,0.612c-1.68,1.57 2.012,-0.033 2.622,-0.378v0Zm-8.9,2.53c-0.094,0.059 -0.193,0.118 -0.294,0.177c-0.893,0.514 -1.688,0.809 -1.777,0.655c-0.088,-0.153 0.564,-0.695 1.457,-1.211c0.7,-0.404 0.88,-0.25 1.875,-0.258c0.837,-0.007 1.201,-0.176 1.953,0.258c0.893,0.515 1.545,1.058 1.457,1.211c-0.089,0.153 -0.884,-0.14 -1.777,-0.656c-0.122,-0.07 -0.24,-0.142 -0.352,-0.212c0.745,0.888 1.199,1.658 1.043,1.798c-0.165,0.147 -0.956,-0.462 -1.81,-1.384c-0.054,1.106 -0.232,1.933 -0.436,1.931c-0.212,-0.002 -0.38,-0.902 -0.404,-2.081c-0.906,1.005 -1.772,1.689 -1.947,1.534c-0.155,-0.139 0.285,-0.889 1.012,-1.762v0Zm-0.361,-26.988c0.244,-1.124 0.873,-0.763 0.821,0.488c-0.1,2.416 -0.267,4.382 -0.477,6.03c0.703,-2.233 1.368,-4.302 1.689,-5.986c0.339,-1.781 1.249,-0.301 1.299,1.416c0.78,5.177 2.008,8.101 2.998,10.459c0.872,2.077 1.555,3.872 1.555,6.232v-0.163h0.001c0,2.688 -0.908,4.579 -2.215,5.793c-0.571,0.531 -1.221,0.936 -1.904,1.221c-0.9,0.377 -1.508,0.599 -2.339,-0.001c-0.2,-0.146 -0.396,-0.323 -0.583,-0.535c-2.151,-1.751 -2.907,-4.253 -2.906,-7.058c-0.016,0.276 -0.024,0.563 -0.024,0.863c0,1.108 0.094,2.098 0.262,2.968c0.242,1.259 0.612,2.288 1.129,3.044c0.831,1.214 0.803,1.117 -0.965,0.81c-0.261,-0.045 -0.506,-0.141 -0.75,-0.222c-1.81,-0.603 -3.946,-1.516 -5.509,-2.804c0.482,0.722 1.081,1.366 1.762,1.941c0.971,0.818 1.015,1.061 -0.754,0.409c-3.516,-1.294 -5.919,-3.637 -5.308,-7.913c0.466,-3.266 2.817,-4.566 5.003,-6.604c4.835,-4.513 2.322,-1.381 -0.182,1.843c-0.771,0.991 -1.291,2.069 -1.573,3.336c1.868,-2.738 5.545,-5.811 7.354,-10.754c0.698,-1.303 1.197,-2.884 1.616,-4.813v0Zm10.499,10.854c2.495,1.844 4.59,3.451 5.039,6.139c0.393,2.357 -0.439,4.263 -2.044,5.681c-0.72,0.636 -2.069,2.084 -0.568,-0.459c0.545,-0.925 0.73,-2.107 0.73,-3.453c0,-3.422 -1.644,-5.304 -3.509,-7.439c-0.893,-0.936 -0.75,-1.284 0.352,-0.469Z"></path></g></svg> \ No newline at end of file diff --git a/i2p2www/static/styles/duck/default.css b/i2p2www/static/styles/duck/default.css index 63c8483699f8316a086e151aca2803c3150c019e..fd8483c9a05b42cb37a8363045174a8533d81e39 100644 --- a/i2p2www/static/styles/duck/default.css +++ b/i2p2www/static/styles/duck/default.css @@ -711,6 +711,10 @@ pre.literal-block { box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), 1em 3em 2em 0.5em rgba(255, 255, 255, 0.3) inset, inset -.2em -.5em 1em -0em rgba(0,0,0,.3); } +a.get-i2p-browser:hover { + color: var(--i2pgrey); +} + .browser-front-wrapper { text-align: center; } @@ -727,6 +731,7 @@ pre.literal-block { -ms-border-radius: 50%; -o-border-radius: 50%; border-radius: 50%; + padding-bottom: 1rem; } .browser-onboarding { @@ -835,3 +840,79 @@ div#content .emailbutton { div#content .messagebox { height: 100px; } + + +element { +} +.background-primary { + background-color: #4661A9; +} +.text-white { + color: #fff !important; +} +.p-5 { + padding: 3rem !important; +} +.col-12 { + -ms-flex: 0 0 100%; + flex: 0 0 100%; + max-width: 100%; +} +.col, .col-1, .col-10, .col-11, .col-12, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-auto, .col-lg, .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-auto, .col-md, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-auto, .col-sm, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-auto, .col-xl, .col-xl-1, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-auto { + position: relative; + width: 100%; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +*, ::after, ::before { + box-sizing: border-box; +} +body { + color: #212529; + font-family: "Source Sans Pro",sans-serif !important; + font-size: 1rem; +} +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: left; +} +:root { + --blue: #007bff; + --indigo: #6610f2; + --purple: #6f42c1; + --pink: #e83e8c; + --red: #dc3545; + --orange: #fd7e14; + --yellow: #ffc107; + --green: #28a745; + --teal: #20c997; + --cyan: #17a2b8; + --white: #fff; + --gray: #6c757d; + --gray-dark: #343a40; + --primary: #007bff; + --secondary: #6c757d; + --success: #28a745; + --info: #17a2b8; + --warning: #ffc107; + --danger: #dc3545; + --light: #f8f9fa; + --dark: #343a40; + --breakpoint-xs: 0; + --breakpoint-sm: 576px; + --breakpoint-md: 768px; + --breakpoint-lg: 992px; + --breakpoint-xl: 1200px; + --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; +} diff --git a/i2p2www/static/styles/duck/desktop.css b/i2p2www/static/styles/duck/desktop.css index dfa4cca39ff55b5f4040da9085485abeb7a1781b..04c9b9426c32558e413efa09d2d0d3ab95fe48cc 100644 --- a/i2p2www/static/styles/duck/desktop.css +++ b/i2p2www/static/styles/duck/desktop.css @@ -81,6 +81,25 @@ menu ul, position: relative; display: block; } +/* +#cssmenu span.donateitem { + background-color: #60ab60; + border-color: #60ab60; + border-radius: 15%; + padding-left: 10px; + padding-right: 10px; + border-style: ridge; + border-width: 5px; + display: inline; +} +*/ +#cssmenu span.browseritem { + font-weight: bold; +} + +#cssmenu span.donateitem:hover { + box-shadow: inset 0 0 500px 500px rgba(255, 255, 255, 0.5); +} #cssmenu { height: 40px diff --git a/i2p2www/templatevars.py b/i2p2www/templatevars.py index a201bdc7314d4e61cc5b854a4e5601f758f2107f..767484d6ac0d1eff534a62bc3c3ff2067825047c 100644 --- a/i2p2www/templatevars.py +++ b/i2p2www/templatevars.py @@ -22,7 +22,7 @@ I2P_TO_CLEAR = { 'i2pforum.i2p': 'i2pforum.net', # New I2P Forum 'trac.i2p2.i2p': 'trac.i2p2.de', 'mail.i2p': 'i2pmail.org', - 'lists.i2p2.i2p': 'lists.i2p2.de', + 'lists.i2p': 'lists.i2p.email', 'i2p-javadocs.i2p': 'docs.i2p-projekt.de/javadoc', # Hacky to include the path, but it works! 'echelon.i2p/javadoc': 'docs.i2p-projekt.de/javadoc', # Hacky to include the path, but it works! 'stats.i2p': 'stats.i2p', # Inproxy disabled at request of site owner diff --git a/i2p2www/urls.py b/i2p2www/urls.py index 363ecd608b2add18625499fba27f80aeb5054f4e..737979d4254550e9f9246a5a4d6b297f52f868c4 100644 --- a/i2p2www/urls.py +++ b/i2p2www/urls.py @@ -84,6 +84,8 @@ url('/<lang:lang>/browser/troubleshooting', 'browser.browser_troubleshooting') url('/<lang:lang>/browser/releasenotes', 'browser.browser_releasenotes') url('/<lang:lang>/browser/updating', 'browser.browser_updating') url('/<lang:lang>/browser/download', 'browser.browser_download') +url('/<lang:lang>/browser/donate', 'browser.browser_donate') +url('/<lang:lang>/browser/develop', 'browser.browser_develop') url('/<lang:lang>/download', 'downloads.downloads_list') url('/<lang:lang>/download/debian', 'downloads.downloads_debian')