From f28dbbe3a41521eb02f1cd2c2f920253f0e89d81 Mon Sep 17 00:00:00 2001
From: hankhill19580
Date: Fri, 31 Jan 2020 18:46:51 +0000
Subject: [PATCH] combine browser configuration with post-install guide and
update some screenshots
---
i2p2www/downloads.py | 3 +
i2p2www/pages/downloads/browser-content.html | 142 +++++++++++++++++
i2p2www/pages/downloads/config.html | 7 +
i2p2www/pages/downloads/list.html | 3 -
i2p2www/pages/downloads/post-install.html | 2 +-
i2p2www/pages/downloads/redirect.html | 1 +
i2p2www/pages/site/about/browser-config.html | 144 +-----------------
.../static/images/firefox57.preferences.png | Bin 3347 -> 26686 bytes
i2p2www/static/styles/duck/default.css | 1 +
i2p2www/static/styles/duck/desktop.css | 5 +-
i2p2www/urls.py | 1 +
11 files changed, 161 insertions(+), 148 deletions(-)
create mode 100644 i2p2www/pages/downloads/browser-content.html
create mode 100644 i2p2www/pages/downloads/config.html
diff --git a/i2p2www/downloads.py b/i2p2www/downloads.py
index f2d731b5..9554d57a 100644
--- a/i2p2www/downloads.py
+++ b/i2p2www/downloads.py
@@ -79,6 +79,9 @@ def downloads_firefox():
def downloads_lab():
return render_template('downloads/lab.html')
+def downloads_config():
+ return render_template('downloads/config.html')
+
# Specific file downloader
def downloads_select(version, file):
mirrors=read_mirrors()
diff --git a/i2p2www/pages/downloads/browser-content.html b/i2p2www/pages/downloads/browser-content.html
new file mode 100644
index 00000000..21d74d34
--- /dev/null
+++ b/i2p2www/pages/downloads/browser-content.html
@@ -0,0 +1,142 @@
+{% trans -%}
+Your web browser will need to be configured in order to browse web sites on I2P
+and to utilize the outproxies available within I2P. Below are walkthroughs for
+some of the most popular browsers.
+{%- endtrans %}
+
+{{ _('Firefox Profile for Windows') }}
+{% trans profile='/firefox' -%}
+If you are using Windows, the recommended way of accessing I2P is using the
+Firefox profile.
+{%- endtrans %}
+{% trans -%}
+If you do not wish to use that profile or are not on Windows, you need to
+configure your browser yourself. Read below on how to that.
+{%- endtrans %}
+
+{{ _('How to configure your browser') }}
+
+
+
+
+Firefox
+{% trans %}Instructions for Firefox 57 and above:{% endtrans %}
+{% trans -%}
+From the Menu button in the top right, select Preferences.
+Scroll down until you see the Network Proxy section, as shown in the
+screenshot below. Click on Settings
+{%- endtrans %}
+
+{% trans -%}
+In the Connection Settings pop-up, select Manual proxy
+ configuration. Set both the HTTP and SSL Proxy to address
+127.0.0.1
with port 4444
as shown in the following
+screenshot.
+{%- endtrans %}
+
+{% trans -%}
+Finally, go to the address about:config and find the property
+media.peerConnection.ice.proxy_only. Ensure that this setting is True.
+{%- endtrans %}
+
+
+
+
+Chrome
+{% trans -%}
+Chromium-Based Browsers like Chrome have slightly different places for their
+proxy settings depending on variant and platform. These instructions may be
+slightly different in Brave or Iridium, for instance. From the Main
+menu, navigate to the Settings, and search for the menu item.
+Clicking it will open the right settings for your platform.
+{%- endtrans %}
+
+{% trans -%}
+On Windows, this button will launch you into the shared proxy settings used
+by Internet Explorer, and you can configure it by
+following the Internet Explorer 8 guide.
+{%- endtrans %}
+
+
+
+{{ _('Internet Explorer') }}
+{% trans -%}
+In the start menu search for the the "Network and Internet Settings" to open the
+settings. The last entry in the menu is the Proxy Settings, click it to
+your proxy to connect to I2P.
+{%- endtrans %}
+
+{% trans -%}
+Now set the checkmark at "use a proxy server for your LAN" and at the "Bypass
+proxy server for local addresses". With a click on Advanced-button you open the
+window to open the ports. Enter the values like on the picture, IP 127.0.0.1
+and port 4444 for HTTP, port 4445 for HTTPS. With clicks on OK you save the
+settings and your browser is set to use the I2P proxy.
+{%- endtrans %}
+
+
+
+
+{{ _('Outproxy Terms Of Service') }}
+{% trans -%}
+Remember: I2P was not designed for creating proxies to the outer Internet.
+Instead, it is meant to be used as an internal network.
+{%- endtrans %}
+{% trans -%}
+
The I2P project itself does not run any proxies to the Internet.
+The only outproxy is a service from the privacy solutions project.
+Consider donating to them for a continued stable service. Increased funding will
+allow them to improve this service.
+http://privacysolutions.no
+{%- endtrans %}
+{% trans http='false.i2p', https='outproxy-tor.meeh.i2p' -%}
+By default, I2P comes with two outproxies configured: {{ http }}
+and {{ https }}
. Even the domain names are different, it's the same outproxy you hit.
+(multi-homed/keyed for better performance)
+{%- endtrans %}
+{% trans -%}
+Filtering is active on these outproxies (for example, mibbit and torrent
+tracker access is blocked). Eepsites
+that are accessible via .i2p addresses are also not allowed via the outproxies.
+As a convenience, the outproxy blocks ad servers.
+{%- endtrans %}
+{% trans -%}
+Tor is good application to use as an
+outproxy to the Internet.
+{%- endtrans %}
+
diff --git a/i2p2www/pages/downloads/config.html b/i2p2www/pages/downloads/config.html
new file mode 100644
index 00000000..e3a653ac
--- /dev/null
+++ b/i2p2www/pages/downloads/config.html
@@ -0,0 +1,7 @@
+{% extends "global/layout.html" %}
+{% block title %}{{ _('Configuration') }}{% endblock %}
+{% block content %}
+
+{% include "downloads/post-install.html" %}
+{% include "downloads/browser-content.html" %}
+{% endblock %}
diff --git a/i2p2www/pages/downloads/list.html b/i2p2www/pages/downloads/list.html
index aace478a..1e8ac013 100644
--- a/i2p2www/pages/downloads/list.html
+++ b/i2p2www/pages/downloads/list.html
@@ -199,9 +199,6 @@ The Mac OS X native installer is signed by {{ signer }} with his Apple Developer
whose key is here.
{%- endtrans %}
-
-{% include "downloads/post-install.html" %}
-
{{ _('Updates from earlier releases:') }}
{% trans -%}
diff --git a/i2p2www/pages/downloads/post-install.html b/i2p2www/pages/downloads/post-install.html
index 5e60705c..445eaad5 100644
--- a/i2p2www/pages/downloads/post-install.html
+++ b/i2p2www/pages/downloads/post-install.html
@@ -1,4 +1,4 @@
-
{{ _('Post-install work') }}
+{{ _('Post-install work') }}
{% trans -%}
After running the installer on windows, simply click on the "Start I2P" button
diff --git a/i2p2www/pages/downloads/redirect.html b/i2p2www/pages/downloads/redirect.html
index 523225f5..0b11bf40 100644
--- a/i2p2www/pages/downloads/redirect.html
+++ b/i2p2www/pages/downloads/redirect.html
@@ -11,4 +11,5 @@ Your download will begin shortly. If it doesn't start within 5 seconds, click
{% include "downloads/post-install.html" %}
+{% include "downloads/browser-content.html" %}
{% endblock %}
diff --git a/i2p2www/pages/site/about/browser-config.html b/i2p2www/pages/site/about/browser-config.html
index 57561b26..ffa72773 100644
--- a/i2p2www/pages/site/about/browser-config.html
+++ b/i2p2www/pages/site/about/browser-config.html
@@ -1,147 +1,5 @@
{% extends "global/layout.html" %}
{% block title %}{{ _('Web Browser Configuration') }}{% endblock %}
{% block content %}
-
-{% trans -%}
-Your web browser will need to be configured in order to browse eepsites and to
-utilize the outproxies available within I2P. Below are walkthroughs for some of
-the most popular browsers.
-{%- endtrans %}
-
-{{ _('Firefox Profile for Windows') }}
-{% trans profile='/firefox' -%}
-If you are using Windows, the recommended way of accessing I2P is using the
-Firefox profile.
-{%- endtrans %}
-{% trans -%}
-If you do not wish to use that profile or are not on Windows, you need to
-configure your browser yourself. Read below on how to that.
-{%- endtrans %}
-
-{{ _('How to configure your browser') }}
-
-
-
-
-
Firefox
-{% trans %}Instructions for Firefox 57 and above:{% endtrans %}
-{% trans -%}
-From the Menu button in the top right, select Preferences.
-Scroll down until you see the Network Proxy section, as shown in the
-screenshot below. Click on Settings
-{%- endtrans %}
-
-{% trans -%}
-In the Connection Settings pop-up, select Manual proxy
- configuration. Set both the HTTP and SSL Proxy to address
-127.0.0.1
with port 4444
as shown in the following
-screenshot.
-{%- endtrans %}
-
-{% trans -%}
-Finally, go to the address about:config and find the property
-media.peerConnection.ice.proxy_only. Ensure that this setting is True.
-{%- endtrans %}
-
-
-
-
-Chrome
-{% trans -%}
-Chromium-Based Browsers like Chrome have slightly different places for their
-proxy settings depending on variant and platform. These instructions may be
-slightly different in Brave or Iridium, for instance. From the Main
-menu, navigate to the Settings, and search for the menu item.
-Clicking it will open the right settings for your platform.
-{%- endtrans %}
-
-{% trans -%}
-On Windows, this button will launch you into the shared proxy settings used
-by Internet Explorer, and you can configure it by
-following the Internet Explorer 8 guide.
-{%- endtrans %}
-
-
-
-{{ _('Internet Explorer') }}
-{% trans -%}
-In the start menu search for the the "Network and Internet Settings" to open the
-settings. The last entry in the menu is the Proxy Settings, click it to
-your proxy to connect to I2P.
-{%- endtrans %}
-
-{% trans -%}
-Now set the checkmark at "use a proxy server for your LAN" and at the "Bypass
-proxy server for local addresses". With a click on Advanced-button you open the
-window to open the ports. Enter the values like on the picture, IP 127.0.0.1
-and port 4444 for HTTP, port 4445 for HTTPS. With clicks on OK you save the
-settings and your browser is set to use the I2P proxy.
-{%- endtrans %}
-
-
-
-
-{{ _('Outproxy Terms Of Service') }}
-{% trans -%}
-Remember: I2P was not designed for creating proxies to the outer Internet.
-Instead, it is meant to be used as an internal network.
-{%- endtrans %}
-{% trans -%}
-
The I2P project itself does not run any proxies to the Internet.
-The only outproxy is a service from the privacy solutions project.
-Consider donating to them for a continued stable service. Higher bandwidth will
-increase with the founding of the organization. Maybe more outproxies too.
-http://privacysolutions.no
-{%- endtrans %}
-{% trans http='false.i2p', https='outproxy-tor.meeh.i2p' -%}
-By default, I2P comes with two outproxies configured: {{ http }}
-and {{ https }}
. Even the domain names are different, it's the same outproxy you hit.
-(multi-homed/keyed for better performance)
-{%- endtrans %}
-{% trans -%}
-Filtering is active on these outproxies (for example, mibbit and torrent
-tracker access is blocked). Eepsites
-that are accessible via .i2p addresses are also not allowed via the outproxies.
-As a convenience, the outproxy blocks ad servers.
-{%- endtrans %}
-{% trans -%}
-Tor is good application to use as an
-outproxy to the Internet.
-{%- endtrans %}
-
+{% include "downloads/browser-content.html" %}
{% endblock %}
diff --git a/i2p2www/static/images/firefox57.preferences.png b/i2p2www/static/images/firefox57.preferences.png
index 7c4f83de5a6e737ff8a84c8330cde90b4e05b87f..400e34eb83c2e983fd343af5a08b07e1d0f3d29d 100644
GIT binary patch
literal 26686
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%0AlMvUzr4+lz
zD30uGQbO&p_H@Xa&1>+q@|8iwWl$W=3Mo95WF6|h6A~-SBdPYvV)Q!Qd__r##1fWT
z*m948ezr9w@YrGp-QmL;z++
z0bm1nsr;{Zt^7$5V8FWUErnW*BJ57HE1}ZuK$P`G>mzYc5Ug+OVb|kK`cSLaA!^lP
z+c80W@$=Qg<%p(^uNQ6wYT5h~#oCtR%@f-JV?jP{hd#KBnkmp^6|>&@H;*J@Zu1R(
zgi)r(zH6>!*6xgg@yRW7391L!0p8I@ohB{CQjV$Lbp$YvH@BMJMK?usI;d52m}YQZ
zS3LqQ`CoHR$F43lPiwLRws|0gEk2j>r^M_|O!5qk<17fVbZjG!Dh_ss0{7QNtlEL`kUH~O?r@NDhpx?cdkwQVdF=yOg!Et3+>@dcwQ*0}=0RV6
zdt_bUWLOd;4gA^Qa$>;RZDiG!XFGF8!}}<3t35shy}IVB-?+OkT?|JOYObCOhRC8E
zQ{+NZW-c+h2PRB64o+iBR1@y_$|`+lW#z}M<(nVoqHmM8qSP`(sk69yTH;4eMsoCA
zwMkVJ{aGCw=wJZASCwXZ>IjdgVl|zgB*R{C!%VxfU~VO9l-zj(-lI7GID}DHwC{|k
z-)+5D@3E``PDgOT*5yI_gt$Y2rd33R-e8Ck9Rn0mccjSDnbhAuLoo>>DX6E4P^6A-
zW0uXH$Nu|*oAq{Mnyt~LiIHtm{7y^LfL#(`(7ULbaM72rEuTR9bmR4Tqq^3+PY>R1
zMlwyTEexk?3iLM;n0xO}-9N>yHy^s;VswwKiFB>a$OHm&(;snnmCJe{KZ#st;BaZ0
zeT7N=FUH$v7w#4k+#MfetI7qNk-q5+^H6t!V(Joya$Dn5FijS6G}12UZ|FY;t*!VCan9p3=6d<^6)-&>Th6|lKSbeG`ea>E=-)rjgz?9`!y#a3D
z;nIEC@zLA)M>1+De>duVpTfENh|`aTV2`na+;jkRgy4~@NhoNP`PR&CJjQj4_3PCF
z)c1H$DvE4TuA|14Yx_Yd$@4o~1lN9To=pZ{ASdtLLFyV8S5!K$M8=x&-2O4^x9;#y
zny@K=ljZe}z8VpbxA9a&p>4#m(1lvY-n)tU%FISagsR@@;do|~Rd94AQ
z#DP}&WwH;_s|`YD+tW!$U)hM?0y4)k`06p54r#z!#fkfgHTKMNn;2PMV>fTZCh~i}
zIe)m-SUB+Mja$PnM+4g
zYztP<@mvArB@`#8!=dVH)5DgS8q1^o1T^b;Z^XvV&@|6P+nVIBmY2@_Zni4>#1q#$
zpX(?XHplTBtL?-*Jqa<0g}S@C1voLQec#-
z;Th(lW@3u?u9ODc=_q%4D(wpa7!2C@s+Q(H`Z_hPMUOSOTD7*gI2L?=xXeF3!%=aX
zi#vwRN?b%k+HWQJHkn|OqZiCm&rOyrVWn6sy*J;KOfXkRRbuSbdbLTIvC{0HR7N(d
z&dL;lh>>o(K7IL>gg7bhRJ@#}`FO&eGHua_Uu_HOG3tQm9+s+wMt1^4rwPO1bZ<9Hn=CE`%|Sq
zhCp(H;uh30vgO)wAuSp}+728W!O1S1S|^H!OBOZ|uZtQ!zS%@uM4QT~LWhop+^hh(
z>_@(k4@Y-_@(2p1XL$2*STPfW$m_WAJFu6rw?*C9#ms>VDxnp6=Qj@FWY)D=jC}vr{_V)4DY$mZsi=8uvY`p
zU}pyk8d|nnPwSmG^;(+i{>`x9xg=qJ8BHMA{C2CH(|6G}%05YDz)}er4J+F(8fd7!
z=uiTki`tSNq8u3(Tk;q3suUwJOv1FD=Rc+1pA(d5`O3Bf01xekYcC(wpe4}-g%0Xh
zuHU+z9WKNj9kJo3zv}^~W^3$jO3Eyjt~n6{0^%>*_&ydz4d#$Q4&BS6kRr*~ip?XT
zorr9Z9S#`8^Bw8^{LSpShen`Eqmk8N<7+{I^%pfaMyu~vKKa%P@l5pb+a6+gM@Q!<
zKPrsx1-w5fH-6c-?@&dm|DqJpc(qsw-~~3Msqr>h4K6+IT2fw~sZf(#_>g;BFKc_*
zB-zsbiRtD>`8&ab$BRNi`p*~w2S@YMvbGmZT`}2N)2@A;gX!gC&aoas!x2%dnkn+i
z*_LD1UiaK-WSfH$_b)#+H=NL7hB>0t$z@}IYOcG+gfkA$a&J>;zICM{UgmcVV=-^u
zEnN`#EaqCi;?#S%vP!X65Y;kBZYsL)fpEU5jfP$W?Cx6?I-ED&=<(np!|Crtp4#)!w1v9QUpY#AB-8e6Gh;Z9zE>hqAtONv&x{EJeX
zi6V?(BrNK7w@3p1nw9bHxka8?6|2Dx9q4GLP^o@hmd8?%{o}?5%@dP$D5Oy2?CFay
z=sW>lM%HJ|#(}5Tn~S<=4%^oJ^|E0Q3WP)`baoe$m+u1#qjsVSW9Kw?I@Mmq!lKF-
zA7YW~q%#wi_Tm?jV;p81Dksb~+f?0Hm?9JVfGw(8Ysy{czA@9uby`klV6GIp+V
z{I*4&QB*5n#ldZT+J9oK&gfAwWSlHtpizb?l`XNnYu|Yj&1q_L5{-G;Mm#x`5
zyK$U&nVG1>g>PvRT=*Aunh-Racm2!)`CV4)lQ^@opJ`6N?UsM~PaAGh6FWTedgOI3
zjq|p{Z?qYCd387TT84Be@`&e;Q4rQ*$JXRxFfU8dP*r0#{mKoA#-X#BDvX|n-3@~M
z>f{qE;0FqaqE^G(klBE{#zs=->4e7)+rx@%+wLZF+(gJk!L7vxq;X=B*KZ&Tq?A0q_%4}|{Utk}%54<64w8F`c6$arhh%s1
zre9CCOsYtOir>k>b17BsnvJl-iOGF|xPcAzx{HAL=Ct(7bXAj9PD5D63|mLM-HM;F
z4(c5a=L>*cybR*YlstF)`5gb2&HEBa=3YN6Dt|$GG?|*KaY3f2hKiC&E>pBjVt+O*
zfF%Ql`ym@+CqY7l#_<;7d$a#`cU2jopmXbhK4DJXZWBu@h#0l90HX=3crd-WlrkB$
z@TYPjxUSK~C0hS-R5v$hw%M-fW^>n3D{G)M>+*K?%SWD_Efaq&3MH}UH!J#4n6qXH0!^A9z056qVGZA)c
zyn=daV!ZG51p<;htCka1}
z)08ZYw?#*`IqLBS_baYnnjg-mu1^Ub+PtKsWeTJ-di4yId^|!vGf7yZ-h82I!ajj=8v_Av=8y-5pV5RWS3
z`O)XDa3rsXmNj%gH$Kju>h_HaT?@P+pI+n)&!^jqVHLV!JHVSm@>c|CCP;Yl0%
zu#ryQ@!5&Apryso&T_bx+o?^nIrx*eIVL$nB^dQy4FLiTrLqGi^k_6Ml_9xYE5~pkk1!CyJg_M2IP!R|3KkAW0t1-!l&Jsy-1xqw(
zyTa>w-0>)VKm;;Gb|n)a_ukNV>ZEQ3^N2OyZ>sAnE_PUTc2+2cdzl<&PS^9GI~oLE
zcrcxWdFtrgHelPETp;ERbZ%cRq!^lQ70aEfQu_&E(V6yU-8ava3g-2gowBOMBKHm)
z_l|M--(j~JaH14QX#UWyyoJLHcU}oh{p=Qcaz8Qic0W<qm8Bm_h)>GP%xanPrZ>R={{U1Wus~#R$lhhedB8P
zC=cdG2wqz1i8#Px6T&A6c)!a2*ql-i`9K?YT4g>+lfmMnYgjTKN3(z1#csh4c>n+d@y}B_(9;xMN|0@2xeFXH;9T&HNrMe2$00*
z9{Fy|K!X5!bs|9=k#9ItyiA?;VJt6)qUPRg3+nWqh9>LnbBR?%&2c$FM4_sOdT!&
zASnJ7qbPnr@?tp4%PcO2!rx7;A<)RXr)z0wt&;t==RCG-F;>lQj=hMr`d~iz1O!$p6(yTzE2F
z7E`$TVd|?XyI>;TN6!DRwW|t>gXywJfCNpj0KuK$&M;U4B*9&Sg#>p33