tbb-commits
Threads by month
- ----- 2025 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18685 discussions

[tor-browser/tor-browser-38.6.0esr-6.0-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Feb '16
by gk@torproject.org 01 Feb '16
01 Feb '16
commit 0585610798a61273268b99daa490c7630ce09980
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Jan 28 14:47:03 2016 -0800
fixup! TB4: Tor Browser's Firefox preference overrides.
This patch fixes https://bugs.torproject.org/18169
---
browser/app/profile/000-tor-browser.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index bf33260..bd8e58c 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -283,7 +283,7 @@ pref("font.name.sans-serif.ar", "Arial");
#endif
#ifdef XP_WIN
-pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft YaHei, 微软雅黑, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
+pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
#endif
#ifdef XP_LINUX
1
0

[tor-browser/tor-browser-38.6.0esr-5.5-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Feb '16
by gk@torproject.org 01 Feb '16
01 Feb '16
commit db6d52d44439430de088dbca46ab9bf70bc5e4e4
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Jan 28 14:56:24 2016 -0800
fixup! TB4: Tor Browser's Firefox preference overrides.
Fix for https://bugs.torproject.org/18172 (missing emoji fonts)
(Windows and OS X part)
---
browser/app/profile/000-tor-browser.js | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index bd8e58c..c022719 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -270,7 +270,7 @@ pref("browser.download.panel.shown", true);
#ifdef MOZ_BUNDLED_FONTS
#ifdef XP_MACOSX
-pref("font.system.whitelist", "AppleGothic, Arial, Courier, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, .Helvetica Neue DeskInterface, Hiragino Kaku Gothic ProN, Lucida Grande, Monaco, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi, STHeiti, STIX Math, Tahoma, Thonburi, Times, Times New Roman, Verdana");
+pref("font.system.whitelist", "AppleGothic, Apple Color Emoji, Arial, Courier, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, .Helvetica Neue DeskInterface, Hiragino Kaku Gothic ProN, Lucida Grande, Monaco, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi, STHeiti, STIX Math, Tahoma, Thonburi, Times, Times New Roman, Verdana");
pref("font.name-list.cursive.x-unicode", "Apple Chancery, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
pref("font.name-list.fantasy.x-unicode", "Papyrus, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
pref("font.name-list.monospace.x-unicode", "Courier, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
@@ -283,7 +283,7 @@ pref("font.name.sans-serif.ar", "Arial");
#endif
#ifdef XP_WIN
-pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
+pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Segoe UI Emoji, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
#endif
#ifdef XP_LINUX
1
0

[tor-browser/tor-browser-38.6.0esr-5.5-1] fixup! TB4: Tor Browser's Firefox preference overrides.
by gk@torproject.org 01 Feb '16
by gk@torproject.org 01 Feb '16
01 Feb '16
commit d78f5c707b357bc3fe88c1c46a95aae03f27b491
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Jan 28 14:47:03 2016 -0800
fixup! TB4: Tor Browser's Firefox preference overrides.
This patch fixes https://bugs.torproject.org/18169
---
browser/app/profile/000-tor-browser.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/app/profile/000-tor-browser.js b/browser/app/profile/000-tor-browser.js
index bf33260..bd8e58c 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -283,7 +283,7 @@ pref("font.name.sans-serif.ar", "Arial");
#endif
#ifdef XP_WIN
-pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft YaHei, 微软雅黑, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
+pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
#endif
#ifdef XP_LINUX
1
0

28 Jan '16
commit 1b38c9077f520de68cc17cde4f8c801d031da018
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 16:00:51 2016 +0000
add new default bridge 'Azadi'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f2d8c96..adb5c98 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -29,6 +29,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:568
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10”, "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/hardened-builds] add new default bridge 'JonbesheSabz'
by gk@torproject.org 28 Jan '16
by gk@torproject.org 28 Jan '16
28 Jan '16
commit f595c5f83ef7e73d45dd29d71cccf2d8da722882
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 15:59:28 2016 +0000
add new default bridge 'JonbesheSabz'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 421e1aa..f2d8c96 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -28,6 +28,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213
pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/maint-5.5] add new default bridge 'JonbesheSabz'
by gk@torproject.org 28 Jan '16
by gk@torproject.org 28 Jan '16
28 Jan '16
commit a40f75c19425abc348bb861a49339fa3a22208dd
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 15:59:28 2016 +0000
add new default bridge 'JonbesheSabz'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 421e1aa..f2d8c96 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -28,6 +28,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213
pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

28 Jan '16
commit f1385ff84e99aa673421a567eda636dfb75e7ff3
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 16:00:51 2016 +0000
add new default bridge 'Azadi'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f2d8c96..adb5c98 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -29,6 +29,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:568
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10”, "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

28 Jan '16
commit 5197d12127ec482bab1bde5dddca274c884b8e50
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 16:00:51 2016 +0000
add new default bridge 'Azadi'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f2d8c96..adb5c98 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -29,6 +29,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:568
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10”, "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

28 Jan '16
commit 6230f6d4d268326801187654372fc61e7909cd7f
Author: Nima Fatemi <nima(a)torproject.org>
Date: Sun Jan 24 15:59:28 2016 +0000
add new default bridge 'JonbesheSabz'
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 421e1aa..f2d8c96 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -28,6 +28,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213
pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9”, "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/hardened-builds] Bump nightly versions for hardened-builds
by gk@torproject.org 26 Jan '16
by gk@torproject.org 26 Jan '16
26 Jan '16
commit 9b4dfc9dbed50b4012caa70aae56e6b5d3cb9c0d
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 26 13:54:43 2016 +0000
Bump nightly versions for hardened-builds
---
gitian/versions.nightly | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index d209c6a..44e4ddb 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -14,11 +14,11 @@ MULTI_LINGUAL=1
VERIFY_TAGS=0
-FIREFOX_VERSION=38.5.0esr
+FIREFOX_VERSION=38.6.0esr
TORBROWSER_UPDATE_CHANNEL=default
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.0-1
TOR_TAG=master
TORLAUNCHER_TAG=master
TORBUTTON_TAG=master
@@ -48,7 +48,7 @@ GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.2.0
PYTHON_VER=2.7.5
@@ -67,7 +67,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9.0.2-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -97,7 +97,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
+NOSCRIPT_HASH=f3c9dec710e02d809fa85ac76750e5f074656105c1bde03d400cb597b2eb1fba
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
1
0

[tor-browser-bundle/hardened-builds] Version bump and changelog update
by gk@torproject.org 26 Jan '16
by gk@torproject.org 26 Jan '16
26 Jan '16
commit f2d76bc061d14c15b81b40e744b9bf1826df95d6
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 26 05:23:29 2016 +0000
Version bump and changelog update
---
Bundle-Data/Docs/ChangeLog.txt | 2 +-
gitian/versions.alpha | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 47897d0..4210100 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -8,7 +8,7 @@ Tor Browser 6.0a1-hardened -- January 27 2016
* Bug 18004: Remove Tor fundraising donation banner
* Code cleanup
* Translation updates
- * Update Tor Launcher to 0.2.8.2
+ * Update Tor Launcher to 0.2.8.3
* Bug 18113: Randomly permutate available default bridges of chosen type
* Bug 11773: Setup wizard UI flow improvements
* Translation updates
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 6b35ce3..f1ef483 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -17,7 +17,7 @@ TORBROWSER_UPDATE_CHANNEL=hardened
TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.0-1-build1
TOR_TAG=tor-0.2.7.6
-TORLAUNCHER_TAG=0.2.8.2
+TORLAUNCHER_TAG=0.2.8.3
TORBUTTON_TAG=1.9.5
HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
1
0
commit 85091369814453ce5976581c4fac47094b74d350
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 26 05:21:26 2016 +0000
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index 4a9944b..5c81e17 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.8.1</em:version>
+ <em:version>0.2.8.3</em:version>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
<em:updateKey>-</em:updateKey>
1
0

[tor-browser-bundle/hardened-builds] Changelog update; fallback to 3.x-8-gpgsux
by gk@torproject.org 25 Jan '16
by gk@torproject.org 25 Jan '16
25 Jan '16
commit a212253f22d444618946a497e27f705b3e9b7223
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 25 08:07:34 2016 +0000
Changelog update; fallback to 3.x-8-gpgsux
---
Bundle-Data/Docs/ChangeLog.txt | 5 +----
gitian/versions.alpha | 2 +-
2 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 88cf359..47897d0 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -13,15 +13,12 @@ Tor Browser 6.0a1-hardened -- January 27 2016
* Bug 11773: Setup wizard UI flow improvements
* Translation updates
* Bug 17428: Remove Flashproxy
- * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18115+18104+18071+18091: Update/add new obfs4 bridge
* Bug 18072: Change recommended pluggable transport type to obfs4
* Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
* Bug 16322: Use onion address for DuckDuckGo search engine
* Bug 17917: Changelog after update is empty if JS is disabled
* Bug 17790: Map the proper SHIFT characters to the digit keys (fix of #15646)
- * Build System
- * Linux
- * Bug 15578: Switch to Debian Wheezy guest VMs (10.04 LTS is EOL)
Tor Browser 5.5a6-hardened -- January 7 2016
* All Platforms
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 6c6d566..6b35ce3 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -40,7 +40,7 @@ GO_X_NET_TAG=7dbad50ab5b31073856416cdcfeb2796d682f844
OBFS4_TAG=obfs4proxy-0.0.5
NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
-GITIAN_TAG=tor-browser-builder-3.x-9
+GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
1
0

[tor-browser-bundle/hardened-builds] Revert "Bug 15578: Switch Linux descriptors over to Wheezy"
by gk@torproject.org 25 Jan '16
by gk@torproject.org 25 Jan '16
25 Jan '16
commit a125e1c1bfc3babae9636750b4722b4ab7010ca3
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 25 08:05:41 2016 +0000
Revert "Bug 15578: Switch Linux descriptors over to Wheezy"
This reverts commit 763784f552779b6dd4e58a76f441a8602b9018ba.
---
gitian/Makefile | 2 +-
gitian/README.build | 2 +-
gitian/check-prerequisites.sh | 41 ++++++++++----------
gitian/descriptors/linux/gitian-bundle.yml | 6 ++-
gitian/descriptors/linux/gitian-firefox.yml | 9 +++--
.../linux/gitian-pluggable-transports.yml | 7 ++--
gitian/descriptors/linux/gitian-tor.yml | 7 ++--
gitian/descriptors/linux/gitian-utils.yml | 38 +++++-------------
gitian/make-vms.sh | 29 ++++++--------
9 files changed, 57 insertions(+), 84 deletions(-)
diff --git a/gitian/Makefile b/gitian/Makefile
index 36b5ec3..5718d76 100644
--- a/gitian/Makefile
+++ b/gitian/Makefile
@@ -119,7 +119,7 @@ clean-bundle:
vmclean:
rm -rf ../../gitian-builder/*.qcow2
rm -rf ../../gitian-builder/base-*
- rm -rf ../../gitian-builder/target-{lucid,wheezy,precise}*
+ rm -rf ../../gitian-builder/target-{lucid,precise}*
distclean: vmclean
rm -rf ../../gitian-builder/inputs/*
diff --git a/gitian/README.build b/gitian/README.build
index 4d01d6a..f289791 100644
--- a/gitian/README.build
+++ b/gitian/README.build
@@ -177,7 +177,7 @@ Known Issues and Quirks:
where 'make vmclean' causes the rebuild of two VMs in a row.. This might
trigger weird bugs in python-vm-builder.. To rebuild only one set of VMs,
use either 'rm ../../gitian-builder/*precise*' (to remove the Windows/Mac
- VMs) or 'rm ../../gitian-builder/*wheezy*' (to remove the Linux VMs).
+ VMs) or 'rm ../../gitian-builder/*lucid*' (to remove the Linux VMs).
You probably want to make sure you have no stray qemu processes before
rebuilding the VMs or starting a new build, too. 'killall qemu-kvm' is
diff --git a/gitian/check-prerequisites.sh b/gitian/check-prerequisites.sh
index a5f8393..cc16d0e 100755
--- a/gitian/check-prerequisites.sh
+++ b/gitian/check-prerequisites.sh
@@ -17,7 +17,7 @@ then
VERSION=`cat /etc/issue | grep -Eo '[0-9]{2}' | head -1`
if [ "$VERSION" -ge "14" ];
then
- dpkg -s ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
+ dpkg -s ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
if [ $? -ne 0 ];
then
@@ -25,7 +25,7 @@ then
echo
echo "Please run:"
echo " sudo apt-get install torsocks tor"
- echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
+ echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
exit 1
fi
else
@@ -45,29 +45,28 @@ then
echo " sudo torsocks apt-get install ruby git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot zip unzip python-cheetah debootstrap parted kpartx rsync"
exit 1
fi
+
+ # python-vm-builder is special as we don't have a Debian package for it.
+ vmbuilder --help 2>/dev/null >/dev/null
+ if [ $? -ne 0 ];
+ then
+ echo "The VM tool python-vm-builder is missing."
+ echo
+ echo "Please run"
+ echo 'torsocks wget -U "" http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12…'
+ echo 'echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c'
+ echo "# (verification -- must return OK)"
+ echo "tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz"
+ echo "cd vm-builder-0.12.4+bzr489"
+ echo "sudo python setup.py install"
+ echo "cd .."
+ exit 1
+ fi
else
echo "We need Debian or Ubuntu which seem to be missing. Aborting."
exit 1
fi
-# vmbuilder is special as we don't have a package for it yet.
-# XXX: Make sure an already installed vmbuilder is recent enough.
-vmbuilder --help 2>/dev/null >/dev/null
-if [ $? -ne 0 ];
-then
- echo "The VM tool python-vm-builder is missing."
- echo
- echo "Please run"
- echo 'torsocks wget -U "" https://bugs.launchpad.net/ubuntu/+archive/primary/+files/vm-builder_0.12.4…'
- echo 'echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c'
- echo "# (verification -- must return OK)"
- echo "tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz"
- echo "cd vm-builder-0.12.4+bzr494"
- echo "sudo python setup.py install"
- echo "cd .."
- exit 1
-fi
-
update_responses_pkg="libyaml-perl libfile-slurp-perl libxml-writer-perl libio-captureoutput-perl libfile-which-perl libparallel-forkmanager-perl libxml-libxml-perl libwww-perl libjson-perl"
missing_pkg=''
for pkg in $update_responses_pkg
@@ -81,7 +80,7 @@ if [ -n "$missing_pkg" ]
then
echo "You are missing one or more dependencies for the update_responses script"
echo "Please run"
- echo " sudo torsocks apt-get install $missing_pkg"
+ echo " sudo apt-get install $missing_pkg"
exit 1
fi
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 8f282e0..48c68eb 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -1,8 +1,7 @@
---
name: "bundle-linux"
-distro: "debian"
suites:
-- "wheezy"
+- "lucid"
architectures:
- "amd64"
packages:
@@ -107,6 +106,9 @@ script: |
cd ../../../
#
cd https-everywhere
+ # Workaround for git not knowing `git submodule -f` in the version shipped in
+ # 10.04.
+ sed 's/recursive -f/recursive/' -i makexpi.sh
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
# The solution there does not work for us as doing something like
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index a0fc8e3..3c6c1f1 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -1,8 +1,7 @@
---
name: "torbrowser-linux"
-distro: "debian"
suites:
-- "wheezy"
+- "lucid"
architectures:
- "amd64"
packages:
@@ -11,10 +10,9 @@ packages:
- "autoconf2.13"
- "libgtk2.0-dev"
- "libdbus-glib-1-dev"
-- "yasm"
+- "yasm-1"
- "libasound2-dev"
- "libgstreamer-plugins-base0.10-dev"
-- "libxt-dev"
- "hardening-wrapper"
# To pass configure since ESR 31.
- "libpulse-dev"
@@ -47,6 +45,9 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
+ mkdir -p $INSTDIR/build/bin/
+ ln -s /usr/bin/yasm-1 $INSTDIR/build/bin/yasm
+ export PATH=$PATH:$INSTDIR/build/bin
# Preparing Python for Tor Browser
unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
# TODO: We might want to have a smarter solution than hard-coding the version.
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index a886572..25b5a1b 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -1,8 +1,7 @@
---
name: "pluggable-transports-linux"
-distro: "debian"
suites:
-- "wheezy"
+- "lucid"
architectures:
- "amd64"
packages:
@@ -55,6 +54,7 @@ script: |
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/Tor/PluggableTransports"
mkdir -p $PTDIR
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -248,8 +248,7 @@ script: |
cp -a obfs4proxy $PTDIR
cd ../..
- # Grabbing the results and making sure timestamps don't spoil them
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ # Grabbing the results
cd $INSTDIR
~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-gbuilt.zip Tor/ Docs/
cp pluggable-transports-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index f8f83e9..630c2e0 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -1,8 +1,7 @@
---
name: "tor-linux"
-distro: "debian"
suites:
-- "wheezy"
+- "lucid"
architectures:
- "amd64"
packages:
@@ -28,6 +27,7 @@ files:
script: |
INSTDIR="$HOME/install"
source versions
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -90,8 +90,7 @@ script: |
objcopy --add-gnu-debuglink=./Debug/Tor/$LIB $INSTDIR/Tor/$LIB
done
- # Grabbing the results and making sure timestamps don't spoil them
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ # Grabbing the results
~/build/dzip.sh tor-linux$GBUILD_BITS-gbuilt.zip Data/ Tor/
~/build/dzip.sh tor-linux$GBUILD_BITS-debug.zip Debug/
cp tor-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index c581248..a742c4e 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -1,8 +1,7 @@
---
name: "utils-linux"
-distro: "debian"
suites:
-- "wheezy"
+- "lucid"
architectures:
- "amd64"
packages:
@@ -22,8 +21,6 @@ packages:
- "libxslt-dev"
# Needed for passing the Python related part of configure in ESR 31.
- "libssl-dev"
-# Needed for binutils (64bit) as we are building with PIE enabled.
-- "libstdc++6-4.7-pic"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://github.com/libevent/libevent.git"
@@ -43,7 +40,6 @@ script: |
source versions
export TZ=UTC
export LC_ALL=C
- export FAKETIME=$REFERENCE_DATETIME
umask 0022
# Config options for hardening-wrapper
@@ -55,14 +51,6 @@ script: |
# Building Binutils
tar xjf binutils.tar.bz2
- # The libstdc++ shipped by default is non-PIC which breaks the binutils build
- # if we build with DEB_BUILD_HARDENING_PIE=1. We need to install a PIC one AND
- # make sure it gets used before the non-PIC one would.
- if [ $GBUILD_BITS == "64" ];
- then
- ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++_pic.a libstdc++.a
- export LDFLAGS="-L/home/debian -lstdc++"
- fi
cd binutils*
# We want to use gold as the linker in our toolchain mainly as it is way
# faster when linking Tor Browser code (especially libxul). But apart from
@@ -74,15 +62,6 @@ script: |
cd ..
export PATH=$INSTDIR/binutils/bin:$PATH
- export LDFLAGS=""
- # We need to disable `-Werror=format-security` as GCC does not build with it
- # anymore. It seems it got audited for those problems already:
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48817.
- export DEB_BUILD_HARDENING_FORMAT=0
- # libfaketime gets into our way when building GCC 4.9.x. See:
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
- # avoid it for the toolchain and cross our fingers.
- # TODO: Test a newer libfaketime than 0.8.
# Building GCC
tar xjf gcc.tar.bz2
cd gcc-*
@@ -92,7 +71,13 @@ script: |
make install
cd ..
- export DEB_BUILD_HARDENING_FORMAT=1
+ # libfaketime gets into our way when building GCC 4.9.x. See:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
+ # avoid it for the toolchain and cross our fingers.
+ # TODO: Test a newer libfaketime than 0.8.
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ export FAKETIME=$REFERENCE_DATETIME
+
# Building Libevent
cd libevent
./autogen.sh
@@ -103,7 +88,6 @@ script: |
cd ..
# Building OpenSSL
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
tar xzf openssl.tar.gz
cd openssl-*
find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
@@ -124,7 +108,6 @@ script: |
cd ..
# Building lxml
- export LD_PRELOAD=""
tar xzf lxml.tar.gz
cd lxml-*
# Make sure we use our freshly built python binary here. Otherwise bad things
@@ -132,9 +115,7 @@ script: |
# rules.
$INSTDIR/python/bin/python2.7 setup.py build
cd build/lib*
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
- export LD_PRELOAD=""
cp *utils.zip $OUTDIR
cd ../../../
@@ -151,8 +132,7 @@ script: |
make install
cd ..
- # Grabbing the remaining results and making sure timestamps don't spoil them
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ # Grabbing the remaining results
cd $INSTDIR
~/build/dzip.sh binutils-$BINUTILS_VER-linux$GBUILD_BITS-utils.zip binutils
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
diff --git a/gitian/make-vms.sh b/gitian/make-vms.sh
index 469a9ca..a3b43b5 100755
--- a/gitian/make-vms.sh
+++ b/gitian/make-vms.sh
@@ -33,14 +33,7 @@ build_and_test_vm() {
export LXC_ARCH=$arch
./bin/make-base-vm --suite $dist --lxc --arch $arch
else
- if [ "$dist" = "wheezy" ];
- then
- export DISTRO=debian
- ./bin/make-base-vm --distro debian --suite $dist --arch $arch
- else
- export DISTRO=ubuntu
- ./bin/make-base-vm --suite $dist --arch $arch
- fi
+ ./bin/make-base-vm --suite $dist --arch $arch
fi
make-clean-vm --suite $dist --arch $arch
@@ -63,21 +56,21 @@ build_and_test_vm() {
return 0
}
-while ! build_and_test_vm wheezy i386 32
+while ! build_and_test_vm lucid i386 32
do
- stop-target 32 wheezy
- rm ./base-wheezy-i386*
+ stop-target 32 lucid
+ rm ./base-lucid-i386*
echo
- echo "Wheezy i386 VM build failed... Trying again"
+ echo "Lucid i386 VM build failed... Trying again"
echo
done
-while ! build_and_test_vm wheezy amd64 64
+while ! build_and_test_vm lucid amd64 64
do
- stop-target 64 wheezy
- rm ./base-wheezy-amd64*
+ stop-target 64 lucid
+ rm ./base-lucid-amd64*
echo
- echo "Wheezy amd64 VM build failed... Trying again"
+ echo "Lucid amd64 VM build failed... Trying again"
echo
done
@@ -86,7 +79,7 @@ do
stop-target 32 precise
rm ./base-precise-i386*
echo
- echo "Precise amd64 VM build failed... Trying again"
+ echo "Lucid amd64 VM build failed... Trying again"
echo
done
@@ -95,7 +88,7 @@ do
stop-target 64 precise
rm ./base-precise-amd64*
echo
- echo "Precise amd64 VM build failed... Trying again"
+ echo "Lucid amd64 VM build failed... Trying again"
echo
done
1
0

[tor-browser-bundle/hardened-builds] Revert "Bug 15578: drop our Python build"
by gk@torproject.org 25 Jan '16
by gk@torproject.org 25 Jan '16
25 Jan '16
commit 92d04ecc79e97a3306e12807af289c434be5da00
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 25 08:05:35 2016 +0000
Revert "Bug 15578: drop our Python build"
This reverts commit 2d57f0452aaa35d1a7e96c9d84af23dd6b785cb2.
---
gitian/descriptors/linux/gitian-bundle.yml | 7 ++++++-
gitian/descriptors/linux/gitian-firefox.yml | 7 ++++++-
gitian/descriptors/linux/gitian-utils.yml | 25 +++++++++++++++++++++++++
gitian/fetch-inputs.sh | 7 +++++--
gitian/mkbundle-linux.sh | 6 ++++++
gitian/verify-tags.sh | 5 +++--
gitian/versions | 5 +++++
gitian/versions.alpha | 5 +++++
gitian/versions.beta | 5 +++++
gitian/versions.nightly | 5 +++++
10 files changed, 71 insertions(+), 6 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index d2baacf..8f282e0 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -13,7 +13,6 @@ packages:
- "libxslt1.1"
- "libxml2-utils"
- "sqlite3"
-- "python-lxml"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor-launcher.git"
@@ -33,6 +32,8 @@ files:
- "tor-browser-linux64-gbuilt.zip"
- "tor-linux64-gbuilt.zip"
- "pluggable-transports-linux64-gbuilt.zip"
+- "python-linux64-utils.zip"
+- "lxml-linux64-utils.zip"
- "mar-tools-linux64.zip"
- "torrc-defaults-appendix-linux"
- "bridge_prefs.js"
@@ -76,6 +77,10 @@ script: |
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/Caches
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Docs/sources/
+ # Preparing Python for HTTPS-Everywhere.
+ unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
+ export PATH=$INSTDIR/python/bin:$PATH
+ unzip -d $INSTDIR/python/lib/python2.7 lxml-linux$GBUILD_BITS-utils.zip
#
# Extract the MAR tools.
unzip -d ~/build ~/build/mar-tools-linux${GBUILD_BITS}.zip
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index c49636a..a0fc8e3 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -16,7 +16,6 @@ packages:
- "libgstreamer-plugins-base0.10-dev"
- "libxt-dev"
- "hardening-wrapper"
-- "python-dev"
# To pass configure since ESR 31.
- "libpulse-dev"
# We built GCC but not the libmpc2, thus we need to install it.
@@ -30,6 +29,7 @@ remotes:
files:
- "binutils-linux64-utils.zip"
- "gcc-linux64-utils.zip"
+- "python-linux64-utils.zip"
- "re-dzip.sh"
- "dzip.sh"
- "versions"
@@ -47,6 +47,11 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
+ # Preparing Python for Tor Browser
+ unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
+ # TODO: We might want to have a smarter solution than hard-coding the version.
+ ln -sf $INSTDIR/python/bin/python2.7 $INSTDIR/python/bin/python
+ export PATH=$INSTDIR/python/bin:$PATH
# Preparing Binutils and GCC for Tor Browser
unzip -d $INSTDIR binutils-linux$GBUILD_BITS-utils.zip
# Make sure gold is used with the hardening wrapper for full RELRO, see
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 673dc5a..c581248 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -32,6 +32,8 @@ files:
- "binutils.tar.bz2"
- "gcc.tar.bz2"
- "openssl.tar.gz"
+- "python.tar.bz2"
+- "lxml.tar.gz"
- "gmp.tar.bz2"
- "versions"
- "dzip.sh"
@@ -112,7 +114,29 @@ script: |
make install
cd ..
+ # Building Python
+ # Fx 24 ESR and HTTPS Everywhere >= 3.5 do not work with Python < 2.7 anymore.
+ # But 10.04 does only ship with Python 2.6. Thus, we compile 2.7 ourselves...
+ tar xjf python.tar.bz2
+ cd Python-*
+ ./configure
+ make $MAKEOPTS altinstall prefix=$INSTDIR/python exec-prefix=$INSTDIR/python
+ cd ..
+
+ # Building lxml
+ export LD_PRELOAD=""
+ tar xzf lxml.tar.gz
+ cd lxml-*
+ # Make sure we use our freshly built python binary here. Otherwise bad things
+ # may happen when we do so in the bundle step assembling the HTTPS-Everywhere
+ # rules.
+ $INSTDIR/python/bin/python2.7 setup.py build
+ cd build/lib*
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
+ ~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
export LD_PRELOAD=""
+ cp *utils.zip $OUTDIR
+ cd ../../../
# Building GMP
tar xjf gmp.tar.bz2
@@ -134,5 +158,6 @@ script: |
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
+ ~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp
cp *utils.zip $OUTDIR/
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 9d6f2f3..206023b 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,11 +112,12 @@ update_git() {
##############################################################################
# Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -225,6 +226,7 @@ ln -sf "$NOSCRIPT_PACKAGE" noscript(a)noscript.net.xpi
ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
ln -sf "$GCC_PACKAGE" gcc.tar.bz2
+ln -sf "$PYTHON_PACKAGE" python.tar.bz2
ln -sf "$PYTHON_MSI_PACKAGE" python.msi
ln -sf "$PYCRYPTO_PACKAGE" pycrypto.tar.gz
ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
@@ -234,6 +236,7 @@ ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
ln -sf "$PY2EXE_PACKAGE" py2exe.exe
ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
ln -sf "$GMP_PACKAGE" gmp.tar.bz2
+ln -sf "$LXML_PACKAGE" lxml.tar.gz
ln -sf "$PARSLEY_PACKAGE" parsley.tar.gz
ln -sf "$GO_PACKAGE" go.tar.gz
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index a1674dd..5fa3966 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -104,6 +104,8 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-linux64-utils.zip -o \
! -f inputs/gcc-$GCC_VER-linux64-utils.zip -o \
! -f inputs/openssl-$OPENSSL_VER-linux64-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip -o \
+ ! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
+ ! -f inputs/lxml-$LXML_VER-linux64-utils.zip -o \
! -f inputs/gmp-$GMP_VER-linux64-utils.zip ];
then
echo
@@ -123,6 +125,8 @@ then
ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
+ ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
+ ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
#cp -a result/utils-linux-res.yml inputs/
@@ -137,6 +141,8 @@ else
ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
+ ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
+ ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
fi
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index fc62344..82a810a 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -121,11 +121,12 @@ noto-fonts $NOTOFONTS_TAG
EOF
# Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
diff --git a/gitian/versions b/gitian/versions
index 522b37f..8e35391 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -55,6 +55,7 @@ TWISTED_VER=13.2.0
M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -70,6 +71,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -79,6 +81,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -116,6 +119,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -126,6 +130,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 6943f2a..6c6d566 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -56,6 +56,7 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -71,6 +72,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -79,6 +81,7 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -115,6 +118,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -124,6 +128,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 1bde7e5..43c5fde 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -48,6 +48,7 @@ TWISTED_VER=13.2.0
M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -63,6 +64,7 @@ MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -72,6 +74,7 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -108,6 +111,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -118,6 +122,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 9325e9d..d209c6a 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -59,6 +59,7 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
+LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -74,6 +75,7 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
+PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -82,6 +84,7 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
+LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -118,6 +121,7 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
+PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -127,6 +131,7 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
+LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
1
0
commit 9febcedd7263a90d226cfe8b73663fdf64a6ccc2
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 25 08:08:39 2016 +0000
Fix typo in changelog
---
Bundle-Data/Docs/ChangeLog.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index d08a7bc..dcd0398 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -30,7 +30,7 @@ Tor Browser 5.5 -- January 26 2016
* Bug 16620: Move window.name handling into a Firefox patch
* Bug 17220: Support math symbols in font whitelist
* Bug 10599+17305: Include updater and build patches needed for hardened builds
- * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18115+18104+18071+18091: Update/add new obfs4 bridge
* Bug 18072: Change recommended pluggable transport type to obfs4
* Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
* Bug 16322: Use onion address for DuckDuckGo search engine
1
0
commit 3338773523e13ff85339512235ad9ef8a344874e
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 25 08:04:05 2016 +0000
Typo fix in changelog
Thanks dcf
---
Bundle-Data/Docs/ChangeLog.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 6f85c75..5eabaa4 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -13,7 +13,7 @@ Tor Browser 6.0a1 -- January 27 2016
* Bug 11773: Setup wizard UI flow improvements
* Translation updates
* Bug 17428: Remove Flashproxy
- * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18115+18104+18071+18091: Update/add new obfs4 bridge
* Bug 18072: Change recommended pluggable transport type to obfs4
* Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
* Bug 16322: Use onion address for DuckDuckGo search engine
@@ -55,7 +55,7 @@ Tor Browser 5.5 -- January 26 2016
* Bug 16620: Move window.name handling into a Firefox patch
* Bug 17220: Support math symbols in font whitelist
* Bug 10599+17305: Include updater and build patches needed for hardened builds
- * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18115+18104+18071+18091: Update/add new obfs4 bridge
* Bug 18072: Change recommended pluggable transport type to obfs4
* Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
* Bug 16322: Use onion address for DuckDuckGo search engine
1
0

[tor-browser-bundle/hardened-builds] Bug 15578: Switch Linux descriptors over to Wheezy
by gk@torproject.org 24 Jan '16
by gk@torproject.org 24 Jan '16
24 Jan '16
commit 763784f552779b6dd4e58a76f441a8602b9018ba
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 7 12:33:16 2015 +0000
Bug 15578: Switch Linux descriptors over to Wheezy
Besides using Wheezy for building Linux bundles this patch cleans up our
usage of libfaketime as well to make it obvious where exactly we still
need it.
---
gitian/Makefile | 2 +-
gitian/README.build | 2 +-
gitian/check-prerequisites.sh | 41 ++++++++++----------
gitian/descriptors/linux/gitian-bundle.yml | 6 +--
gitian/descriptors/linux/gitian-firefox.yml | 9 ++---
.../linux/gitian-pluggable-transports.yml | 7 ++--
gitian/descriptors/linux/gitian-tor.yml | 7 ++--
gitian/descriptors/linux/gitian-utils.yml | 38 +++++++++++++-----
gitian/make-vms.sh | 29 ++++++++------
9 files changed, 84 insertions(+), 57 deletions(-)
diff --git a/gitian/Makefile b/gitian/Makefile
index 5718d76..36b5ec3 100644
--- a/gitian/Makefile
+++ b/gitian/Makefile
@@ -119,7 +119,7 @@ clean-bundle:
vmclean:
rm -rf ../../gitian-builder/*.qcow2
rm -rf ../../gitian-builder/base-*
- rm -rf ../../gitian-builder/target-{lucid,precise}*
+ rm -rf ../../gitian-builder/target-{lucid,wheezy,precise}*
distclean: vmclean
rm -rf ../../gitian-builder/inputs/*
diff --git a/gitian/README.build b/gitian/README.build
index f289791..4d01d6a 100644
--- a/gitian/README.build
+++ b/gitian/README.build
@@ -177,7 +177,7 @@ Known Issues and Quirks:
where 'make vmclean' causes the rebuild of two VMs in a row.. This might
trigger weird bugs in python-vm-builder.. To rebuild only one set of VMs,
use either 'rm ../../gitian-builder/*precise*' (to remove the Windows/Mac
- VMs) or 'rm ../../gitian-builder/*lucid*' (to remove the Linux VMs).
+ VMs) or 'rm ../../gitian-builder/*wheezy*' (to remove the Linux VMs).
You probably want to make sure you have no stray qemu processes before
rebuilding the VMs or starting a new build, too. 'killall qemu-kvm' is
diff --git a/gitian/check-prerequisites.sh b/gitian/check-prerequisites.sh
index cc16d0e..a5f8393 100755
--- a/gitian/check-prerequisites.sh
+++ b/gitian/check-prerequisites.sh
@@ -17,7 +17,7 @@ then
VERSION=`cat /etc/issue | grep -Eo '[0-9]{2}' | head -1`
if [ "$VERSION" -ge "14" ];
then
- dpkg -s ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
+ dpkg -s ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
if [ $? -ne 0 ];
then
@@ -25,7 +25,7 @@ then
echo
echo "Please run:"
echo " sudo apt-get install torsocks tor"
- echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
+ echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
exit 1
fi
else
@@ -45,28 +45,29 @@ then
echo " sudo torsocks apt-get install ruby git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot zip unzip python-cheetah debootstrap parted kpartx rsync"
exit 1
fi
-
- # python-vm-builder is special as we don't have a Debian package for it.
- vmbuilder --help 2>/dev/null >/dev/null
- if [ $? -ne 0 ];
- then
- echo "The VM tool python-vm-builder is missing."
- echo
- echo "Please run"
- echo 'torsocks wget -U "" http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12…'
- echo 'echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c'
- echo "# (verification -- must return OK)"
- echo "tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz"
- echo "cd vm-builder-0.12.4+bzr489"
- echo "sudo python setup.py install"
- echo "cd .."
- exit 1
- fi
else
echo "We need Debian or Ubuntu which seem to be missing. Aborting."
exit 1
fi
+# vmbuilder is special as we don't have a package for it yet.
+# XXX: Make sure an already installed vmbuilder is recent enough.
+vmbuilder --help 2>/dev/null >/dev/null
+if [ $? -ne 0 ];
+then
+ echo "The VM tool python-vm-builder is missing."
+ echo
+ echo "Please run"
+ echo 'torsocks wget -U "" https://bugs.launchpad.net/ubuntu/+archive/primary/+files/vm-builder_0.12.4…'
+ echo 'echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c'
+ echo "# (verification -- must return OK)"
+ echo "tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz"
+ echo "cd vm-builder-0.12.4+bzr494"
+ echo "sudo python setup.py install"
+ echo "cd .."
+ exit 1
+fi
+
update_responses_pkg="libyaml-perl libfile-slurp-perl libxml-writer-perl libio-captureoutput-perl libfile-which-perl libparallel-forkmanager-perl libxml-libxml-perl libwww-perl libjson-perl"
missing_pkg=''
for pkg in $update_responses_pkg
@@ -80,7 +81,7 @@ if [ -n "$missing_pkg" ]
then
echo "You are missing one or more dependencies for the update_responses script"
echo "Please run"
- echo " sudo apt-get install $missing_pkg"
+ echo " sudo torsocks apt-get install $missing_pkg"
exit 1
fi
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 48c68eb..8f282e0 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -1,7 +1,8 @@
---
name: "bundle-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "amd64"
packages:
@@ -106,9 +107,6 @@ script: |
cd ../../../
#
cd https-everywhere
- # Workaround for git not knowing `git submodule -f` in the version shipped in
- # 10.04.
- sed 's/recursive -f/recursive/' -i makexpi.sh
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
# The solution there does not work for us as doing something like
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index 3c6c1f1..a0fc8e3 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -1,7 +1,8 @@
---
name: "torbrowser-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "amd64"
packages:
@@ -10,9 +11,10 @@ packages:
- "autoconf2.13"
- "libgtk2.0-dev"
- "libdbus-glib-1-dev"
-- "yasm-1"
+- "yasm"
- "libasound2-dev"
- "libgstreamer-plugins-base0.10-dev"
+- "libxt-dev"
- "hardening-wrapper"
# To pass configure since ESR 31.
- "libpulse-dev"
@@ -45,9 +47,6 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
- mkdir -p $INSTDIR/build/bin/
- ln -s /usr/bin/yasm-1 $INSTDIR/build/bin/yasm
- export PATH=$PATH:$INSTDIR/build/bin
# Preparing Python for Tor Browser
unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
# TODO: We might want to have a smarter solution than hard-coding the version.
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 25b5a1b..a886572 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -1,7 +1,8 @@
---
name: "pluggable-transports-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "amd64"
packages:
@@ -54,7 +55,6 @@ script: |
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/Tor/PluggableTransports"
mkdir -p $PTDIR
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -248,7 +248,8 @@ script: |
cp -a obfs4proxy $PTDIR
cd ../..
- # Grabbing the results
+ # Grabbing the results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
cd $INSTDIR
~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-gbuilt.zip Tor/ Docs/
cp pluggable-transports-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index 630c2e0..f8f83e9 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -1,7 +1,8 @@
---
name: "tor-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "amd64"
packages:
@@ -27,7 +28,6 @@ files:
script: |
INSTDIR="$HOME/install"
source versions
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -90,7 +90,8 @@ script: |
objcopy --add-gnu-debuglink=./Debug/Tor/$LIB $INSTDIR/Tor/$LIB
done
- # Grabbing the results
+ # Grabbing the results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
~/build/dzip.sh tor-linux$GBUILD_BITS-gbuilt.zip Data/ Tor/
~/build/dzip.sh tor-linux$GBUILD_BITS-debug.zip Debug/
cp tor-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index a742c4e..c581248 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -1,7 +1,8 @@
---
name: "utils-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "amd64"
packages:
@@ -21,6 +22,8 @@ packages:
- "libxslt-dev"
# Needed for passing the Python related part of configure in ESR 31.
- "libssl-dev"
+# Needed for binutils (64bit) as we are building with PIE enabled.
+- "libstdc++6-4.7-pic"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://github.com/libevent/libevent.git"
@@ -40,6 +43,7 @@ script: |
source versions
export TZ=UTC
export LC_ALL=C
+ export FAKETIME=$REFERENCE_DATETIME
umask 0022
# Config options for hardening-wrapper
@@ -51,6 +55,14 @@ script: |
# Building Binutils
tar xjf binutils.tar.bz2
+ # The libstdc++ shipped by default is non-PIC which breaks the binutils build
+ # if we build with DEB_BUILD_HARDENING_PIE=1. We need to install a PIC one AND
+ # make sure it gets used before the non-PIC one would.
+ if [ $GBUILD_BITS == "64" ];
+ then
+ ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++_pic.a libstdc++.a
+ export LDFLAGS="-L/home/debian -lstdc++"
+ fi
cd binutils*
# We want to use gold as the linker in our toolchain mainly as it is way
# faster when linking Tor Browser code (especially libxul). But apart from
@@ -62,6 +74,15 @@ script: |
cd ..
export PATH=$INSTDIR/binutils/bin:$PATH
+ export LDFLAGS=""
+ # We need to disable `-Werror=format-security` as GCC does not build with it
+ # anymore. It seems it got audited for those problems already:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48817.
+ export DEB_BUILD_HARDENING_FORMAT=0
+ # libfaketime gets into our way when building GCC 4.9.x. See:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
+ # avoid it for the toolchain and cross our fingers.
+ # TODO: Test a newer libfaketime than 0.8.
# Building GCC
tar xjf gcc.tar.bz2
cd gcc-*
@@ -71,13 +92,7 @@ script: |
make install
cd ..
- # libfaketime gets into our way when building GCC 4.9.x. See:
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
- # avoid it for the toolchain and cross our fingers.
- # TODO: Test a newer libfaketime than 0.8.
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- export FAKETIME=$REFERENCE_DATETIME
-
+ export DEB_BUILD_HARDENING_FORMAT=1
# Building Libevent
cd libevent
./autogen.sh
@@ -88,6 +103,7 @@ script: |
cd ..
# Building OpenSSL
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
tar xzf openssl.tar.gz
cd openssl-*
find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
@@ -108,6 +124,7 @@ script: |
cd ..
# Building lxml
+ export LD_PRELOAD=""
tar xzf lxml.tar.gz
cd lxml-*
# Make sure we use our freshly built python binary here. Otherwise bad things
@@ -115,7 +132,9 @@ script: |
# rules.
$INSTDIR/python/bin/python2.7 setup.py build
cd build/lib*
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
+ export LD_PRELOAD=""
cp *utils.zip $OUTDIR
cd ../../../
@@ -132,7 +151,8 @@ script: |
make install
cd ..
- # Grabbing the remaining results
+ # Grabbing the remaining results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
cd $INSTDIR
~/build/dzip.sh binutils-$BINUTILS_VER-linux$GBUILD_BITS-utils.zip binutils
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
diff --git a/gitian/make-vms.sh b/gitian/make-vms.sh
index a3b43b5..469a9ca 100755
--- a/gitian/make-vms.sh
+++ b/gitian/make-vms.sh
@@ -33,7 +33,14 @@ build_and_test_vm() {
export LXC_ARCH=$arch
./bin/make-base-vm --suite $dist --lxc --arch $arch
else
- ./bin/make-base-vm --suite $dist --arch $arch
+ if [ "$dist" = "wheezy" ];
+ then
+ export DISTRO=debian
+ ./bin/make-base-vm --distro debian --suite $dist --arch $arch
+ else
+ export DISTRO=ubuntu
+ ./bin/make-base-vm --suite $dist --arch $arch
+ fi
fi
make-clean-vm --suite $dist --arch $arch
@@ -56,21 +63,21 @@ build_and_test_vm() {
return 0
}
-while ! build_and_test_vm lucid i386 32
+while ! build_and_test_vm wheezy i386 32
do
- stop-target 32 lucid
- rm ./base-lucid-i386*
+ stop-target 32 wheezy
+ rm ./base-wheezy-i386*
echo
- echo "Lucid i386 VM build failed... Trying again"
+ echo "Wheezy i386 VM build failed... Trying again"
echo
done
-while ! build_and_test_vm lucid amd64 64
+while ! build_and_test_vm wheezy amd64 64
do
- stop-target 64 lucid
- rm ./base-lucid-amd64*
+ stop-target 64 wheezy
+ rm ./base-wheezy-amd64*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Wheezy amd64 VM build failed... Trying again"
echo
done
@@ -79,7 +86,7 @@ do
stop-target 32 precise
rm ./base-precise-i386*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Precise amd64 VM build failed... Trying again"
echo
done
@@ -88,7 +95,7 @@ do
stop-target 64 precise
rm ./base-precise-amd64*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Precise amd64 VM build failed... Trying again"
echo
done
1
0

[tor-browser-bundle/hardened-builds] Bug 15578: drop our Python build
by gk@torproject.org 24 Jan '16
by gk@torproject.org 24 Jan '16
24 Jan '16
commit 2d57f0452aaa35d1a7e96c9d84af23dd6b785cb2
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Jan 10 17:09:43 2016 +0100
Bug 15578: drop our Python build
After switching to Debian Wheezy, we don't need to build Python since
the version provided by the distribution is recent enough.
---
gitian/descriptors/linux/gitian-bundle.yml | 7 +------
gitian/descriptors/linux/gitian-firefox.yml | 7 +------
gitian/descriptors/linux/gitian-utils.yml | 25 -------------------------
gitian/fetch-inputs.sh | 7 ++-----
gitian/mkbundle-linux.sh | 6 ------
gitian/verify-tags.sh | 5 ++---
gitian/versions | 5 -----
gitian/versions.alpha | 5 -----
gitian/versions.beta | 5 -----
gitian/versions.nightly | 5 -----
10 files changed, 6 insertions(+), 71 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 8f282e0..d2baacf 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -13,6 +13,7 @@ packages:
- "libxslt1.1"
- "libxml2-utils"
- "sqlite3"
+- "python-lxml"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor-launcher.git"
@@ -32,8 +33,6 @@ files:
- "tor-browser-linux64-gbuilt.zip"
- "tor-linux64-gbuilt.zip"
- "pluggable-transports-linux64-gbuilt.zip"
-- "python-linux64-utils.zip"
-- "lxml-linux64-utils.zip"
- "mar-tools-linux64.zip"
- "torrc-defaults-appendix-linux"
- "bridge_prefs.js"
@@ -77,10 +76,6 @@ script: |
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/Caches
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Docs/sources/
- # Preparing Python for HTTPS-Everywhere.
- unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
- export PATH=$INSTDIR/python/bin:$PATH
- unzip -d $INSTDIR/python/lib/python2.7 lxml-linux$GBUILD_BITS-utils.zip
#
# Extract the MAR tools.
unzip -d ~/build ~/build/mar-tools-linux${GBUILD_BITS}.zip
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index a0fc8e3..c49636a 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -16,6 +16,7 @@ packages:
- "libgstreamer-plugins-base0.10-dev"
- "libxt-dev"
- "hardening-wrapper"
+- "python-dev"
# To pass configure since ESR 31.
- "libpulse-dev"
# We built GCC but not the libmpc2, thus we need to install it.
@@ -29,7 +30,6 @@ remotes:
files:
- "binutils-linux64-utils.zip"
- "gcc-linux64-utils.zip"
-- "python-linux64-utils.zip"
- "re-dzip.sh"
- "dzip.sh"
- "versions"
@@ -47,11 +47,6 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
- # Preparing Python for Tor Browser
- unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
- # TODO: We might want to have a smarter solution than hard-coding the version.
- ln -sf $INSTDIR/python/bin/python2.7 $INSTDIR/python/bin/python
- export PATH=$INSTDIR/python/bin:$PATH
# Preparing Binutils and GCC for Tor Browser
unzip -d $INSTDIR binutils-linux$GBUILD_BITS-utils.zip
# Make sure gold is used with the hardening wrapper for full RELRO, see
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index c581248..673dc5a 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -32,8 +32,6 @@ files:
- "binutils.tar.bz2"
- "gcc.tar.bz2"
- "openssl.tar.gz"
-- "python.tar.bz2"
-- "lxml.tar.gz"
- "gmp.tar.bz2"
- "versions"
- "dzip.sh"
@@ -114,29 +112,7 @@ script: |
make install
cd ..
- # Building Python
- # Fx 24 ESR and HTTPS Everywhere >= 3.5 do not work with Python < 2.7 anymore.
- # But 10.04 does only ship with Python 2.6. Thus, we compile 2.7 ourselves...
- tar xjf python.tar.bz2
- cd Python-*
- ./configure
- make $MAKEOPTS altinstall prefix=$INSTDIR/python exec-prefix=$INSTDIR/python
- cd ..
-
- # Building lxml
- export LD_PRELOAD=""
- tar xzf lxml.tar.gz
- cd lxml-*
- # Make sure we use our freshly built python binary here. Otherwise bad things
- # may happen when we do so in the bundle step assembling the HTTPS-Everywhere
- # rules.
- $INSTDIR/python/bin/python2.7 setup.py build
- cd build/lib*
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- ~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
export LD_PRELOAD=""
- cp *utils.zip $OUTDIR
- cd ../../../
# Building GMP
tar xjf gmp.tar.bz2
@@ -158,6 +134,5 @@ script: |
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
- ~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp
cp *utils.zip $OUTDIR/
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 206023b..9d6f2f3 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,12 +112,11 @@ update_git() {
##############################################################################
# Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
- "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -226,7 +225,6 @@ ln -sf "$NOSCRIPT_PACKAGE" noscript(a)noscript.net.xpi
ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
ln -sf "$GCC_PACKAGE" gcc.tar.bz2
-ln -sf "$PYTHON_PACKAGE" python.tar.bz2
ln -sf "$PYTHON_MSI_PACKAGE" python.msi
ln -sf "$PYCRYPTO_PACKAGE" pycrypto.tar.gz
ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
@@ -236,7 +234,6 @@ ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
ln -sf "$PY2EXE_PACKAGE" py2exe.exe
ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
ln -sf "$GMP_PACKAGE" gmp.tar.bz2
-ln -sf "$LXML_PACKAGE" lxml.tar.gz
ln -sf "$PARSLEY_PACKAGE" parsley.tar.gz
ln -sf "$GO_PACKAGE" go.tar.gz
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 5fa3966..a1674dd 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -104,8 +104,6 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-linux64-utils.zip -o \
! -f inputs/gcc-$GCC_VER-linux64-utils.zip -o \
! -f inputs/openssl-$OPENSSL_VER-linux64-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip -o \
- ! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
- ! -f inputs/lxml-$LXML_VER-linux64-utils.zip -o \
! -f inputs/gmp-$GMP_VER-linux64-utils.zip ];
then
echo
@@ -125,8 +123,6 @@ then
ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
- ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
- ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
#cp -a result/utils-linux-res.yml inputs/
@@ -141,8 +137,6 @@ else
ln -sf gcc-$GCC_VER-linux64-utils.zip gcc-linux64-utils.zip
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
- ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
- ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
fi
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 82a810a..fc62344 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -121,12 +121,11 @@ noto-fonts $NOTOFONTS_TAG
EOF
# Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
- "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
diff --git a/gitian/versions b/gitian/versions
index 8e35391..522b37f 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -55,7 +55,6 @@ TWISTED_VER=13.2.0
M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -71,7 +70,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -81,7 +79,6 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -119,7 +116,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -130,7 +126,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 6c6d566..6943f2a 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -56,7 +56,6 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -72,7 +71,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -81,7 +79,6 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -118,7 +115,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -128,7 +124,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 43c5fde..1bde7e5 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -48,7 +48,6 @@ TWISTED_VER=13.2.0
M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -64,7 +63,6 @@ MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -74,7 +72,6 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -111,7 +108,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -122,7 +118,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index d209c6a..9325e9d 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -59,7 +59,6 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -75,7 +74,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -84,7 +82,6 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -121,7 +118,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -131,7 +127,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
1
0

23 Jan '16
commit f161c69ea44bd17af3289bc62dc8287b75a55624
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Jan 23 20:45:09 2016 +0000
Release preparations
Changelog update, version bumps and config.yml update
---
Bundle-Data/Docs/ChangeLog.txt | 25 +++++++++++++++++++++++++
gitian/versions.alpha | 16 ++++++++--------
tools/update-responses/config.yml | 12 ++++++------
3 files changed, 39 insertions(+), 14 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index fd05337..88cf359 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,28 @@
+Tor Browser 6.0a1-hardened -- January 27 2016
+ * All Platforms
+ * Update Firefox to 38.6.0esr
+ * Update NoScript to 2.9.0.2
+ * Update Torbutton to 1.9.5
+ * Bug 16990: Show circuit display for connections using multi-party channels
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
+ * Bug 18004: Remove Tor fundraising donation banner
+ * Code cleanup
+ * Translation updates
+ * Update Tor Launcher to 0.2.8.2
+ * Bug 18113: Randomly permutate available default bridges of chosen type
+ * Bug 11773: Setup wizard UI flow improvements
+ * Translation updates
+ * Bug 17428: Remove Flashproxy
+ * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18072: Change recommended pluggable transport type to obfs4
+ * Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
+ * Bug 16322: Use onion address for DuckDuckGo search engine
+ * Bug 17917: Changelog after update is empty if JS is disabled
+ * Bug 17790: Map the proper SHIFT characters to the digit keys (fix of #15646)
+ * Build System
+ * Linux
+ * Bug 15578: Switch to Debian Wheezy guest VMs (10.04 LTS is EOL)
+
Tor Browser 5.5a6-hardened -- January 7 2016
* All Platforms
* Update NoScript to 2.9
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index fd03b8b..6c6d566 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -11,14 +11,14 @@ MULTI_LINGUAL=1
VERIFY_TAGS=1
-FIREFOX_VERSION=38.5.0esr
+FIREFOX_VERSION=38.6.0esr
TORBROWSER_UPDATE_CHANNEL=hardened
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build2
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.0-1-build1
TOR_TAG=tor-0.2.7.6
-TORLAUNCHER_TAG=0.2.8.1
-TORBUTTON_TAG=1.9.4.2
+TORLAUNCHER_TAG=0.2.8.2
+TORBUTTON_TAG=1.9.5
HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
@@ -40,12 +40,12 @@ GO_X_NET_TAG=7dbad50ab5b31073856416cdcfeb2796d682f844
OBFS4_TAG=obfs4proxy-0.0.5
NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
-GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
+GITIAN_TAG=tor-browser-builder-3.x-9
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.2.0
PYTHON_VER=2.7.5
@@ -64,7 +64,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9.0.2-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -94,7 +94,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
+NOSCRIPT_HASH=f3c9dec710e02d809fa85ac76750e5f074656105c1bde03d400cb597b2eb1fba
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index fc3ee99..c66cec5 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -9,7 +9,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- hardened: 5.5a6-hardened
+ hardened: 6.0a1-hardened
release: 5.0
versions:
5.0:
@@ -23,12 +23,12 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 5.5a6-hardened:
- platformVersion: 38.5.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-55a6-hardened-released
- download_url: https://www.torproject.org/dist/torbrowser/5.5a6-hardened
+ 6.0a1-hardened:
+ platformVersion: 38.6.0
+ detailsURL: https://blog.torproject.org/blog/tor-browser-60a1-hardened-released
+ download_url: https://www.torproject.org/dist/torbrowser/6.0a1-hardened
incremental_from:
- - 5.5a5-hardened
+ - 5.5a6-hardened
migrate_archs:
osx32: osx64
osx32:
1
0
commit e6ea0ecfc7e1aee2b7368767e188a9b02f26b84e
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 14:46:23 2016 +0000
Translation updates
---
src/chrome/locale/ach/network-settings.dtd | 15 +++-
src/chrome/locale/ach/progress.dtd | 2 +-
src/chrome/locale/ady/network-settings.dtd | 15 +++-
src/chrome/locale/ady/progress.dtd | 2 +-
src/chrome/locale/af/network-settings.dtd | 15 +++-
src/chrome/locale/af/progress.dtd | 2 +-
src/chrome/locale/ak/network-settings.dtd | 15 +++-
src/chrome/locale/ak/progress.dtd | 2 +-
src/chrome/locale/am-ET/network-settings.dtd | 15 +++-
src/chrome/locale/am-ET/progress.dtd | 2 +-
src/chrome/locale/am/network-settings.dtd | 15 +++-
src/chrome/locale/am/progress.dtd | 2 +-
src/chrome/locale/ar/network-settings.dtd | 15 +++-
src/chrome/locale/ar/progress.dtd | 2 +-
src/chrome/locale/arn/network-settings.dtd | 15 +++-
src/chrome/locale/arn/progress.dtd | 2 +-
src/chrome/locale/ast/network-settings.dtd | 15 +++-
src/chrome/locale/ast/progress.dtd | 2 +-
src/chrome/locale/az/network-settings.dtd | 16 ++--
src/chrome/locale/az/progress.dtd | 2 +-
src/chrome/locale/be/network-settings.dtd | 15 +++-
src/chrome/locale/be/progress.dtd | 2 +-
src/chrome/locale/bg/network-settings.dtd | 15 +++-
src/chrome/locale/bg/progress.dtd | 2 +-
src/chrome/locale/bn-BD/network-settings.dtd | 15 +++-
src/chrome/locale/bn-BD/progress.dtd | 2 +-
src/chrome/locale/bn-IN/network-settings.dtd | 15 +++-
src/chrome/locale/bn-IN/progress.dtd | 2 +-
src/chrome/locale/bn/network-settings.dtd | 15 +++-
src/chrome/locale/bn/progress.dtd | 2 +-
src/chrome/locale/bo/network-settings.dtd | 15 +++-
src/chrome/locale/bo/progress.dtd | 2 +-
src/chrome/locale/br/network-settings.dtd | 15 +++-
src/chrome/locale/br/progress.dtd | 2 +-
src/chrome/locale/bs/network-settings.dtd | 15 +++-
src/chrome/locale/bs/progress.dtd | 2 +-
src/chrome/locale/ca/network-settings.dtd | 27 ++++---
src/chrome/locale/ca/progress.dtd | 2 +-
src/chrome/locale/cs-CZ/network-settings.dtd | 15 +++-
src/chrome/locale/cs-CZ/progress.dtd | 2 +-
src/chrome/locale/cs/network-settings.dtd | 19 +++--
src/chrome/locale/cs/progress.dtd | 2 +-
src/chrome/locale/csb/network-settings.dtd | 15 +++-
src/chrome/locale/csb/progress.dtd | 2 +-
src/chrome/locale/cv/network-settings.dtd | 15 +++-
src/chrome/locale/cv/progress.dtd | 2 +-
src/chrome/locale/cy/network-settings.dtd | 15 +++-
src/chrome/locale/cy/progress.dtd | 2 +-
src/chrome/locale/da/network-settings.dtd | 15 +++-
src/chrome/locale/da/progress.dtd | 2 +-
src/chrome/locale/de/network-settings.dtd | 15 +++-
src/chrome/locale/de/progress.dtd | 2 +-
src/chrome/locale/dz/network-settings.dtd | 15 +++-
src/chrome/locale/dz/progress.dtd | 2 +-
src/chrome/locale/el/network-settings.dtd | 15 +++-
src/chrome/locale/el/progress.dtd | 2 +-
src/chrome/locale/en-GB/network-settings.dtd | 15 +++-
src/chrome/locale/en-GB/progress.dtd | 2 +-
src/chrome/locale/eo/network-settings.dtd | 15 +++-
src/chrome/locale/eo/progress.dtd | 2 +-
src/chrome/locale/es-AR/network-settings.dtd | 15 +++-
src/chrome/locale/es-AR/progress.dtd | 2 +-
src/chrome/locale/es-CL/network-settings.dtd | 15 +++-
src/chrome/locale/es-CL/progress.dtd | 2 +-
src/chrome/locale/es-CO/network-settings.dtd | 15 +++-
src/chrome/locale/es-CO/progress.dtd | 2 +-
src/chrome/locale/es-MX/network-settings.dtd | 15 +++-
src/chrome/locale/es-MX/progress.dtd | 2 +-
src/chrome/locale/es/network-settings.dtd | 19 +++--
src/chrome/locale/es/progress.dtd | 2 +-
src/chrome/locale/et/network-settings.dtd | 15 +++-
src/chrome/locale/et/progress.dtd | 2 +-
src/chrome/locale/eu/network-settings.dtd | 15 +++-
src/chrome/locale/eu/progress.dtd | 2 +-
src/chrome/locale/fa/network-settings.dtd | 15 +++-
src/chrome/locale/fa/progress.dtd | 2 +-
src/chrome/locale/fi/network-settings.dtd | 15 +++-
src/chrome/locale/fi/progress.dtd | 2 +-
src/chrome/locale/fil/network-settings.dtd | 15 +++-
src/chrome/locale/fil/progress.dtd | 2 +-
src/chrome/locale/fo/network-settings.dtd | 15 +++-
src/chrome/locale/fo/progress.dtd | 2 +-
src/chrome/locale/fr-CA/network-settings.dtd | 17 ++--
src/chrome/locale/fr-CA/progress.dtd | 2 +-
src/chrome/locale/fr/network-settings.dtd | 15 +++-
src/chrome/locale/fr/progress.dtd | 2 +-
src/chrome/locale/fur/network-settings.dtd | 15 +++-
src/chrome/locale/fur/progress.dtd | 2 +-
src/chrome/locale/fy/network-settings.dtd | 15 +++-
src/chrome/locale/fy/progress.dtd | 2 +-
src/chrome/locale/ga/network-settings.dtd | 15 +++-
src/chrome/locale/ga/progress.dtd | 2 +-
src/chrome/locale/gl/network-settings.dtd | 15 +++-
src/chrome/locale/gl/progress.dtd | 2 +-
src/chrome/locale/gu-IN/network-settings.dtd | 15 +++-
src/chrome/locale/gu-IN/progress.dtd | 2 +-
src/chrome/locale/gu/network-settings.dtd | 15 +++-
src/chrome/locale/gu/progress.dtd | 2 +-
src/chrome/locale/gun/network-settings.dtd | 15 +++-
src/chrome/locale/gun/progress.dtd | 2 +-
src/chrome/locale/ha/network-settings.dtd | 15 +++-
src/chrome/locale/ha/progress.dtd | 2 +-
src/chrome/locale/he/network-settings.dtd | 15 +++-
src/chrome/locale/he/progress.dtd | 2 +-
src/chrome/locale/hi/network-settings.dtd | 15 +++-
src/chrome/locale/hi/progress.dtd | 2 +-
src/chrome/locale/hr-HR/network-settings.dtd | 15 +++-
src/chrome/locale/hr-HR/progress.dtd | 2 +-
src/chrome/locale/hr/network-settings.dtd | 15 +++-
src/chrome/locale/hr/progress.dtd | 2 +-
src/chrome/locale/ht/network-settings.dtd | 15 +++-
src/chrome/locale/ht/progress.dtd | 2 +-
src/chrome/locale/hu/network-settings.dtd | 15 +++-
src/chrome/locale/hu/progress.dtd | 2 +-
src/chrome/locale/hy-AM/network-settings.dtd | 15 +++-
src/chrome/locale/hy-AM/progress.dtd | 2 +-
src/chrome/locale/hy/network-settings.dtd | 15 +++-
src/chrome/locale/hy/progress.dtd | 2 +-
src/chrome/locale/ia/network-settings.dtd | 15 +++-
src/chrome/locale/ia/progress.dtd | 2 +-
src/chrome/locale/id/network-settings.dtd | 15 +++-
src/chrome/locale/id/progress.dtd | 4 +-
src/chrome/locale/is/network-settings.dtd | 51 ++++++------
src/chrome/locale/is/progress.dtd | 2 +-
src/chrome/locale/it/network-settings.dtd | 15 +++-
src/chrome/locale/it/progress.dtd | 2 +-
src/chrome/locale/ja/network-settings.dtd | 19 +++--
src/chrome/locale/ja/progress.dtd | 2 +-
src/chrome/locale/jv/network-settings.dtd | 15 +++-
src/chrome/locale/jv/progress.dtd | 2 +-
src/chrome/locale/ka/network-settings.dtd | 15 +++-
src/chrome/locale/ka/progress.dtd | 2 +-
src/chrome/locale/kk/network-settings.dtd | 15 +++-
src/chrome/locale/kk/progress.dtd | 2 +-
src/chrome/locale/km/network-settings.dtd | 15 +++-
src/chrome/locale/km/progress.dtd | 2 +-
src/chrome/locale/kn/network-settings.dtd | 15 +++-
src/chrome/locale/kn/progress.dtd | 2 +-
src/chrome/locale/ko-KR/network-settings.dtd | 15 +++-
src/chrome/locale/ko-KR/progress.dtd | 2 +-
src/chrome/locale/ko/network-settings.dtd | 23 ++++--
src/chrome/locale/ko/progress.dtd | 2 +-
src/chrome/locale/ku/network-settings.dtd | 15 +++-
src/chrome/locale/ku/progress.dtd | 2 +-
src/chrome/locale/kw/network-settings.dtd | 15 +++-
src/chrome/locale/kw/progress.dtd | 2 +-
src/chrome/locale/ky/network-settings.dtd | 15 +++-
src/chrome/locale/ky/progress.dtd | 2 +-
src/chrome/locale/lb/network-settings.dtd | 15 +++-
src/chrome/locale/lb/progress.dtd | 2 +-
src/chrome/locale/lg/network-settings.dtd | 15 +++-
src/chrome/locale/lg/progress.dtd | 2 +-
src/chrome/locale/ln/network-settings.dtd | 15 +++-
src/chrome/locale/ln/progress.dtd | 2 +-
src/chrome/locale/lo/network-settings.dtd | 15 +++-
src/chrome/locale/lo/progress.dtd | 2 +-
src/chrome/locale/lt/network-settings.dtd | 39 ++++++----
src/chrome/locale/lt/progress.dtd | 2 +-
src/chrome/locale/lv/network-settings.dtd | 15 +++-
src/chrome/locale/lv/progress.dtd | 2 +-
src/chrome/locale/mg/network-settings.dtd | 15 +++-
src/chrome/locale/mg/progress.dtd | 2 +-
src/chrome/locale/mi/network-settings.dtd | 15 +++-
src/chrome/locale/mi/progress.dtd | 2 +-
src/chrome/locale/mk/network-settings.dtd | 15 +++-
src/chrome/locale/mk/progress.dtd | 2 +-
src/chrome/locale/ml/network-settings.dtd | 15 +++-
src/chrome/locale/ml/progress.dtd | 2 +-
src/chrome/locale/mn/network-settings.dtd | 15 +++-
src/chrome/locale/mn/progress.dtd | 2 +-
src/chrome/locale/mr/network-settings.dtd | 17 ++--
src/chrome/locale/mr/progress.dtd | 2 +-
src/chrome/locale/ms-MY/network-settings.dtd | 15 +++-
src/chrome/locale/ms-MY/progress.dtd | 2 +-
src/chrome/locale/mt/network-settings.dtd | 15 +++-
src/chrome/locale/mt/progress.dtd | 2 +-
src/chrome/locale/my/network-settings.dtd | 15 +++-
src/chrome/locale/my/progress.dtd | 2 +-
src/chrome/locale/nah/network-settings.dtd | 15 +++-
src/chrome/locale/nah/progress.dtd | 2 +-
src/chrome/locale/nap/network-settings.dtd | 15 +++-
src/chrome/locale/nap/progress.dtd | 2 +-
src/chrome/locale/nb/network-settings.dtd | 17 ++--
src/chrome/locale/nb/progress.dtd | 2 +-
src/chrome/locale/nds/network-settings.dtd | 15 +++-
src/chrome/locale/nds/progress.dtd | 2 +-
src/chrome/locale/ne/network-settings.dtd | 15 +++-
src/chrome/locale/ne/progress.dtd | 2 +-
src/chrome/locale/nl-BE/network-settings.dtd | 15 +++-
src/chrome/locale/nl-BE/progress.dtd | 2 +-
src/chrome/locale/nl/network-settings.dtd | 15 +++-
src/chrome/locale/nl/progress.dtd | 2 +-
src/chrome/locale/nn/network-settings.dtd | 15 +++-
src/chrome/locale/nn/progress.dtd | 2 +-
src/chrome/locale/nso/network-settings.dtd | 15 +++-
src/chrome/locale/nso/progress.dtd | 2 +-
src/chrome/locale/oc/network-settings.dtd | 15 +++-
src/chrome/locale/oc/progress.dtd | 2 +-
src/chrome/locale/or/network-settings.dtd | 15 +++-
src/chrome/locale/or/progress.dtd | 2 +-
src/chrome/locale/pa/network-settings.dtd | 15 +++-
src/chrome/locale/pa/progress.dtd | 2 +-
src/chrome/locale/pap/network-settings.dtd | 15 +++-
src/chrome/locale/pap/progress.dtd | 2 +-
src/chrome/locale/pl/network-settings.dtd | 15 +++-
src/chrome/locale/pl/progress.dtd | 2 +-
src/chrome/locale/pms/network-settings.dtd | 15 +++-
src/chrome/locale/pms/progress.dtd | 2 +-
src/chrome/locale/ps/network-settings.dtd | 15 +++-
src/chrome/locale/ps/progress.dtd | 2 +-
src/chrome/locale/pt-BR/network-settings.dtd | 21 +++--
src/chrome/locale/pt-BR/progress.dtd | 2 +-
src/chrome/locale/pt-BR/torlauncher.properties | 6 +-
src/chrome/locale/pt/network-settings.dtd | 15 +++-
src/chrome/locale/pt/progress.dtd | 2 +-
src/chrome/locale/ro/network-settings.dtd | 15 +++-
src/chrome/locale/ro/progress.dtd | 2 +-
src/chrome/locale/ru/network-settings.dtd | 15 +++-
src/chrome/locale/ru/progress.dtd | 2 +-
src/chrome/locale/ru(a)petr1708/network-settings.dtd | 15 +++-
src/chrome/locale/ru(a)petr1708/progress.dtd | 2 +-
src/chrome/locale/sco/network-settings.dtd | 15 +++-
src/chrome/locale/sco/progress.dtd | 2 +-
src/chrome/locale/si-LK/network-settings.dtd | 15 +++-
src/chrome/locale/si-LK/progress.dtd | 2 +-
src/chrome/locale/sk-SK/network-settings.dtd | 15 +++-
src/chrome/locale/sk-SK/progress.dtd | 2 +-
src/chrome/locale/sk/network-settings.dtd | 17 ++--
src/chrome/locale/sk/progress.dtd | 2 +-
src/chrome/locale/sl-SI/network-settings.dtd | 15 +++-
src/chrome/locale/sl-SI/progress.dtd | 2 +-
src/chrome/locale/sl/network-settings.dtd | 15 +++-
src/chrome/locale/sl/progress.dtd | 2 +-
src/chrome/locale/sn/network-settings.dtd | 15 +++-
src/chrome/locale/sn/progress.dtd | 2 +-
src/chrome/locale/so/network-settings.dtd | 15 +++-
src/chrome/locale/so/progress.dtd | 2 +-
src/chrome/locale/son/network-settings.dtd | 15 +++-
src/chrome/locale/son/progress.dtd | 2 +-
src/chrome/locale/sq-AL/network-settings.dtd | 15 +++-
src/chrome/locale/sq-AL/progress.dtd | 2 +-
src/chrome/locale/sq/network-settings.dtd | 15 +++-
src/chrome/locale/sq/progress.dtd | 2 +-
src/chrome/locale/sr/network-settings.dtd | 15 +++-
src/chrome/locale/sr/progress.dtd | 2 +-
src/chrome/locale/sr(a)latin/network-settings.dtd | 15 +++-
src/chrome/locale/sr(a)latin/progress.dtd | 2 +-
src/chrome/locale/st/network-settings.dtd | 15 +++-
src/chrome/locale/st/progress.dtd | 2 +-
src/chrome/locale/su/network-settings.dtd | 15 +++-
src/chrome/locale/su/progress.dtd | 2 +-
src/chrome/locale/sv/network-settings.dtd | 15 +++-
src/chrome/locale/sv/progress.dtd | 2 +-
src/chrome/locale/sw/network-settings.dtd | 15 +++-
src/chrome/locale/sw/progress.dtd | 2 +-
src/chrome/locale/szl/network-settings.dtd | 15 +++-
src/chrome/locale/szl/progress.dtd | 2 +-
src/chrome/locale/ta/network-settings.dtd | 15 +++-
src/chrome/locale/ta/progress.dtd | 2 +-
src/chrome/locale/te-IN/network-settings.dtd | 15 +++-
src/chrome/locale/te-IN/progress.dtd | 2 +-
src/chrome/locale/te/network-settings.dtd | 15 +++-
src/chrome/locale/te/progress.dtd | 2 +-
src/chrome/locale/tg/network-settings.dtd | 15 +++-
src/chrome/locale/tg/progress.dtd | 2 +-
src/chrome/locale/th/network-settings.dtd | 15 +++-
src/chrome/locale/th/progress.dtd | 2 +-
src/chrome/locale/ti/network-settings.dtd | 15 +++-
src/chrome/locale/ti/progress.dtd | 2 +-
src/chrome/locale/tk/network-settings.dtd | 15 +++-
src/chrome/locale/tk/progress.dtd | 2 +-
src/chrome/locale/tr/network-settings.dtd | 29 ++++---
src/chrome/locale/tr/progress.dtd | 2 +-
src/chrome/locale/tr/torlauncher.properties | 4 +-
src/chrome/locale/uk/network-settings.dtd | 15 +++-
src/chrome/locale/uk/progress.dtd | 2 +-
src/chrome/locale/ur-PK/network-settings.dtd | 15 +++-
src/chrome/locale/ur-PK/progress.dtd | 3 +-
src/chrome/locale/ur/network-settings.dtd | 15 +++-
src/chrome/locale/ur/progress.dtd | 2 +-
src/chrome/locale/uz/network-settings.dtd | 15 +++-
src/chrome/locale/uz/progress.dtd | 2 +-
src/chrome/locale/ve/network-settings.dtd | 15 +++-
src/chrome/locale/ve/progress.dtd | 2 +-
src/chrome/locale/vi/network-settings.dtd | 15 +++-
src/chrome/locale/vi/progress.dtd | 2 +-
src/chrome/locale/wa/network-settings.dtd | 15 +++-
src/chrome/locale/wa/progress.dtd | 2 +-
src/chrome/locale/wo/network-settings.dtd | 15 +++-
src/chrome/locale/wo/progress.dtd | 2 +-
src/chrome/locale/zh-CN/network-settings.dtd | 15 +++-
src/chrome/locale/zh-CN/progress.dtd | 2 +-
src/chrome/locale/zh-HK/network-settings.dtd | 15 +++-
src/chrome/locale/zh-HK/progress.dtd | 2 +-
src/chrome/locale/zh-TW/network-settings.dtd | 81 +++++++++++---------
src/chrome/locale/zh-TW/progress.dtd | 2 +-
src/chrome/locale/zh-TW/torlauncher.properties | 4 +-
src/chrome/locale/zu/network-settings.dtd | 15 +++-
src/chrome/locale/zu/progress.dtd | 2 +-
299 files changed, 1877 insertions(+), 843 deletions(-)
diff --git a/src/chrome/locale/ach/network-settings.dtd b/src/chrome/locale/ach/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ach/network-settings.dtd
+++ b/src/chrome/locale/ach/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ach/progress.dtd b/src/chrome/locale/ach/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ach/progress.dtd
+++ b/src/chrome/locale/ach/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ady/network-settings.dtd b/src/chrome/locale/ady/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ady/network-settings.dtd
+++ b/src/chrome/locale/ady/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ady/progress.dtd b/src/chrome/locale/ady/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ady/progress.dtd
+++ b/src/chrome/locale/ady/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/af/network-settings.dtd b/src/chrome/locale/af/network-settings.dtd
index 4248631..93e2527 100644
--- a/src/chrome/locale/af/network-settings.dtd
+++ b/src/chrome/locale/af/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "As jy nie seker is hoe om hierdie vraag te beantwoord nie, kies Nee.  As jy Ja kies, sal jy gevra word om Tor Bridges, wat ongenoteerde relays is wat die moeiliker maak om verbindings na die Tor Netwerk blok, in te stel.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Toegelate Poorte:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Diensverskaffer (IDV) blok konneksies na die Tor netwerk">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/af/progress.dtd b/src/chrome/locale/af/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/af/progress.dtd
+++ b/src/chrome/locale/af/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ak/network-settings.dtd b/src/chrome/locale/ak/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ak/network-settings.dtd
+++ b/src/chrome/locale/ak/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ak/progress.dtd b/src/chrome/locale/ak/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ak/progress.dtd
+++ b/src/chrome/locale/ak/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am-ET/network-settings.dtd b/src/chrome/locale/am-ET/network-settings.dtd
index fb9eb3c..23aae0a 100644
--- a/src/chrome/locale/am-ET/network-settings.dtd
+++ b/src/chrome/locale/am-ET/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/am-ET/progress.dtd b/src/chrome/locale/am-ET/progress.dtd
index a38a578..8ce4f0e 100644
--- a/src/chrome/locale/am-ET/progress.dtd
+++ b/src/chrome/locale/am-ET/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "የቶር ይዞታ">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/am/network-settings.dtd b/src/chrome/locale/am/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/am/network-settings.dtd
+++ b/src/chrome/locale/am/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/am/progress.dtd b/src/chrome/locale/am/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/am/progress.dtd
+++ b/src/chrome/locale/am/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ar/network-settings.dtd b/src/chrome/locale/ar/network-settings.dtd
index a581606..9d42278 100644
--- a/src/chrome/locale/ar/network-settings.dtd
+++ b/src/chrome/locale/ar/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "أي مما يلي يعتبر وصف افضل لموقفك؟">
<!ENTITY torSettings.configurePrompt1 "اتصال هذا الحاسب بالإنترنت محجوب أو له بروكسي.">
-<!ENTITY torSettings.configurePrompt2 "أحتاج لإعداد جسر أو بروكسي محلي.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "تكوين">
-<!ENTITY torSettings.connectPrompt2 "أود الاتصال مباشرة إلى شبكة تور.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "سيصلح هذا في معظم الحالات.">
<!ENTITY torSettings.connect "اتصل">
<!ENTITY torSettings.proxyPageTitle "إعداد البروكسي المحلّي">
<!ENTITY torSettings.proxyQuestion "هل يحتاج هذا الكمبيوتر لاستخدام وكيل محلي للاتصال بالإنترنت؟">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "إذا كنت غير متأكد من كيفية الإجابة على هذا السؤال، أنظر الى إعدادات الإنترنت في متصفح آخر لمعرفة ما إذا تمت تهيئتة لاستخدام وكيل محلي.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "أدخل إعدادات البروكسي.">
<!ENTITY torSettings.bridgePageTitle "إعداد جسور تور.">
<!ENTITY torSettings.bridgeQuestion "هل يقوم مقدم خدمة الإنترنت (ISP) الذي تتعامل معه بحجب الاتصالات بشبكة Tor أو مراقبتها بطريقة أخرى؟">
-<!ENTITY torSettings.bridgeHelp "إذا لم تكن متأكدا من إجابة هذا السؤال، قم باختيار لا.   إذا قمت باختيار نعم، فسيطلب منك تكوين جسور Tor والتي هي منافذ ترحيل غير مدرجة تصعب عملية حظر الاتصالات بشبكة Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "يمكنك استخدام مجموعة الجسور المتوفرة أو الحصول على مجموعة مخصصة من الجسور.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "في انتظار تور حتي يبدء بالعمل...">
<!ENTITY torsettings.restartTor "إعادة تشغيل تور">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "اختياري">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "المنافذ المسموح بها:">
<!ENTITY torsettings.useBridges.checkbox "مزود خدمة الإنترنت الخاص بي (ISP) يمنع الاتصالات بشبكة تور">
<!ENTITY torsettings.useBridges.default "الاتصال بالجسور المتوفرة">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "نوع النقل:">
<!ENTITY torsettings.useBridges.custom "إدخال جسور مخصصة">
<!ENTITY torsettings.useBridges.label "ادخل جسر او اكثر (جسر واحد في كل سطر).">
diff --git a/src/chrome/locale/ar/progress.dtd b/src/chrome/locale/ar/progress.dtd
index 6f4907d..ef4cfb9 100644
--- a/src/chrome/locale/ar/progress.dtd
+++ b/src/chrome/locale/ar/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "حالة تور">
<!ENTITY torprogress.openSettings "افتح الإعدادات">
<!ENTITY torprogress.heading "جاري الاتصال بشبكة تور">
-<!ENTITY torprogress.pleaseWait "الرجاء الانتظار، يتم الان إنشاء اتصال بشبكة تور.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/arn/network-settings.dtd b/src/chrome/locale/arn/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/arn/network-settings.dtd
+++ b/src/chrome/locale/arn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/arn/progress.dtd b/src/chrome/locale/arn/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/arn/progress.dtd
+++ b/src/chrome/locale/arn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ast/network-settings.dtd b/src/chrome/locale/ast/network-settings.dtd
index fdbc39c..caa9d55 100644
--- a/src/chrome/locale/ast/network-settings.dtd
+++ b/src/chrome/locale/ast/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ast/progress.dtd b/src/chrome/locale/ast/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ast/progress.dtd
+++ b/src/chrome/locale/ast/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/az/network-settings.dtd b/src/chrome/locale/az/network-settings.dtd
index cd8cbcb..eb34988 100644
--- a/src/chrome/locale/az/network-settings.dtd
+++ b/src/chrome/locale/az/network-settings.dtd
@@ -13,27 +13,32 @@
<!ENTITY torSettings.firstQuestion "Aşağıdakılardan hansı sizin vəziyyətinizi tam təsvir edir?">
<!ENTITY torSettings.configurePrompt1 "Bu kompüterin internet şəbəkəsi senzorlu vəya proksilidir.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Quraşdır">
-<!ENTITY torSettings.connectPrompt2 "Mən birbaşa Tor şəbəkəsinə qoşulmaq istəyirəm.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Bu əksər hallarda işləyir.">
<!ENTITY torSettings.connect "Qoşul">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Proksy parametrlərini daxil edin">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Sizin internet provayderiniz(İSP) Tor şəbəkəsinə hər-hansı qadağa qoyub?">
-<!ENTITY torSettings.bridgeHelp "Əgər bu saula nə cavab verəcəyinizi bilirsinizsə Xeyr seçin.No. 
-Əgər bəli seçsəniz, sizdən Tor körpüsü quraşdırmağınız tələb olunacaq,hansı ki bunlar qeydə alınmamış, qarşısının alınması daha çətin olan vasitələrdir.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Siz təmin olunmuş körpü dəstindən istifadə edə, və ya özünüz şəxsi körpü dəsti daxil edə bilərsiz.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Torun açılması üçün gözləyin...">
<!ENTITY torsettings.restartTor "Tor`u yenidən başlat">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Əlavə">
@@ -51,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "İczaə verilən portlar:">
<!ENTITY torsettings.useBridges.checkbox "Mənim İnternet provayderim(İSP) Tor şəbəkəsinə qoşulmağı qadağan edir">
<!ENTITY torsettings.useBridges.default "Təmin olunmuş köpüdən istifadə et">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Nəqliyyat tipi:">
<!ENTITY torsettings.useBridges.custom "Körpü daxil edin">
<!ENTITY torsettings.useBridges.label "Bir və ya daha çox Körpü qoşqusu daxil edin (hər sətirə ancaq bir dənə)">
diff --git a/src/chrome/locale/az/progress.dtd b/src/chrome/locale/az/progress.dtd
index 473b050..31e6b48 100644
--- a/src/chrome/locale/az/progress.dtd
+++ b/src/chrome/locale/az/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Statusu">
<!ENTITY torprogress.openSettings "Parametrləri aç">
<!ENTITY torprogress.heading "Tor şəbəkəsinə qoşulur">
-<!ENTITY torprogress.pleaseWait "Zəhmət olmasa biz Tor şəbəkəsini quraşdiranadək gözləyin.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/be/network-settings.dtd b/src/chrome/locale/be/network-settings.dtd
index fe05a5c..ad37df4 100644
--- a/src/chrome/locale/be/network-settings.dtd
+++ b/src/chrome/locale/be/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Што з прыведзеннага ніжэй лепш апісвае вашу сітуацыю?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "Мне патрэбна наладзіць мост ці лакальныя налады проксі-сервера">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Наладзіць">
-<!ENTITY torSettings.connectPrompt2 "Я бы хацеў злучыцца з сеткай Тор наўпрост.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Гэта будзе працаваць у большасці выпадкаў.">
<!ENTITY torSettings.connect "Злучэнне">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Ці патрабуе гэты капутар выкарыстоўвання лакальнага проксі-сервера для доступа ў інтэрнэт?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/be/progress.dtd b/src/chrome/locale/be/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/be/progress.dtd
+++ b/src/chrome/locale/be/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bg/network-settings.dtd b/src/chrome/locale/bg/network-settings.dtd
index 46165b8..94bd5f1 100644
--- a/src/chrome/locale/bg/network-settings.dtd
+++ b/src/chrome/locale/bg/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Кое от следните описва най-добре вашата ситуация?">
<!ENTITY torSettings.configurePrompt1 "Интернет връзката на този компютър е цензурирана или минава през proxy сървър.">
-<!ENTITY torSettings.configurePrompt2 "Трябва да конфигурирам bridge или proxy настройки.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Конфигурирай">
-<!ENTITY torSettings.connectPrompt2 "Бих искал да се свържа директно към Tor мрежата.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Това ще работи при повечето ситуации.">
<!ENTITY torSettings.connect "Свържи се">
<!ENTITY torSettings.proxyPageTitle "Локални прокси настройки">
<!ENTITY torSettings.proxyQuestion "Този компютър използва ли локално прокси за достъп до Интернет?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ако не сте сигурни как да отговорите на този въпрос проверете интернет настройките на друг браузър,за да видите дали е настроен да използва прокси.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Въведете настройките за прокси.">
<!ENTITY torSettings.bridgePageTitle "Настройки на Тор бриджове">
<!ENTITY torSettings.bridgeQuestion "Блокирани или цензурирани ли са връзките към Tor Мрежата от вашият Интернет Доставчик(ISP)?">
-<!ENTITY torSettings.bridgeHelp "Ако не сте сигурни как да отговорите на този въпрос, изберете No.  Ако изберете Yes, вие ще бъдете помолен да конфигурирате Tor Bridges, непубликувани relays които правят блокирането на връзката към Tor Network по трудна.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Вие може да използвате предложените комплекти от bridges или може да изисквате персонализиран комплект от тях.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Изчакване на Tor да стартира...">
<!ENTITY torsettings.restartTor "Рестартирайте Тор">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Допълнителен">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Позволени портове:">
<!ENTITY torsettings.useBridges.checkbox "Моят Интернет Доставчик (ISP) блокира връзките към Tor мрежата">
<!ENTITY torsettings.useBridges.default "Свържи се с предоставените bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Тип транспортиране:">
<!ENTITY torsettings.useBridges.custom "Въведи персонални bridges">
<!ENTITY torsettings.useBridges.label "Въведи един или повече bridge relays (по един на линия).">
diff --git a/src/chrome/locale/bg/progress.dtd b/src/chrome/locale/bg/progress.dtd
index 45a5ee3..1c89f2e 100644
--- a/src/chrome/locale/bg/progress.dtd
+++ b/src/chrome/locale/bg/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Състояние на Тор">
<!ENTITY torprogress.openSettings "Отвори настройки">
<!ENTITY torprogress.heading "Свързване с Тор мрежата">
-<!ENTITY torprogress.pleaseWait "Моля изчакайте,докато установим връзка с Тор мрежата.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-BD/network-settings.dtd b/src/chrome/locale/bn-BD/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/bn-BD/network-settings.dtd
+++ b/src/chrome/locale/bn-BD/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/bn-BD/progress.dtd b/src/chrome/locale/bn-BD/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/bn-BD/progress.dtd
+++ b/src/chrome/locale/bn-BD/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn-IN/network-settings.dtd b/src/chrome/locale/bn-IN/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/bn-IN/network-settings.dtd
+++ b/src/chrome/locale/bn-IN/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/bn-IN/progress.dtd b/src/chrome/locale/bn-IN/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/bn-IN/progress.dtd
+++ b/src/chrome/locale/bn-IN/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bn/network-settings.dtd b/src/chrome/locale/bn/network-settings.dtd
index 8f2f987..2c55dd3 100644
--- a/src/chrome/locale/bn/network-settings.dtd
+++ b/src/chrome/locale/bn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "সংযোগ করুন">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/bn/progress.dtd b/src/chrome/locale/bn/progress.dtd
index e324946..9819d83 100644
--- a/src/chrome/locale/bn/progress.dtd
+++ b/src/chrome/locale/bn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "টর অবস্থা">
<!ENTITY torprogress.openSettings "সেটিংস খুলুন">
<!ENTITY torprogress.heading "টর নেটওয়ার্কের সাথে সংযুক্ত হচ্ছে">
-<!ENTITY torprogress.pleaseWait "আমরা টর নেটওয়ার্কের সাথে সংযোগ স্থাপন করার সময় অনুগ্রহ করে অপেক্ষা করুন।">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bo/network-settings.dtd b/src/chrome/locale/bo/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/bo/network-settings.dtd
+++ b/src/chrome/locale/bo/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/bo/progress.dtd b/src/chrome/locale/bo/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/bo/progress.dtd
+++ b/src/chrome/locale/bo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/br/network-settings.dtd b/src/chrome/locale/br/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/br/network-settings.dtd
+++ b/src/chrome/locale/br/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/br/progress.dtd b/src/chrome/locale/br/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/br/progress.dtd
+++ b/src/chrome/locale/br/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/bs/network-settings.dtd b/src/chrome/locale/bs/network-settings.dtd
index 3750fd2..cd1efa7 100644
--- a/src/chrome/locale/bs/network-settings.dtd
+++ b/src/chrome/locale/bs/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/bs/progress.dtd b/src/chrome/locale/bs/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/bs/progress.dtd
+++ b/src/chrome/locale/bs/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ca/network-settings.dtd b/src/chrome/locale/ca/network-settings.dtd
index 78253a0..e344598 100644
--- a/src/chrome/locale/ca/network-settings.dtd
+++ b/src/chrome/locale/ca/network-settings.dtd
@@ -1,38 +1,44 @@
-<!ENTITY torsettings.dialog.title "Configuració de la Tor Network">
+<!ENTITY torsettings.dialog.title "Configuració de la xarxa Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Llengua del navegador Tor">
+<!ENTITY torlauncher.localePicker.prompt "Sel·leccioneu una llengua">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Abans de connectar-te a la xarxa Thor, necessites introduir informació sobre el ordinador que fas servir per la connexió a internet.">
+<!ENTITY torsettings.prompt "Abans de connectar-vos a la xarxa Tor, heu d'introduir informació sobre la connexió a internet de l'ordinador que feu servir. ">
<!ENTITY torSettings.yes "Sí">
<!ENTITY torSettings.no "No">
<!ENTITY torSettings.firstQuestion "Quina de les següuens descriula teva situació?">
<!ENTITY torSettings.configurePrompt1 "La connexió a internet d'aquest ordinador està censurada o configurada amb un proxy. ">
-<!ENTITY torSettings.configurePrompt2 "He de configurar preferències de ponts o de proxy local.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configura">
-<!ENTITY torSettings.connectPrompt2 "M'agradaria conectar-me directament a la xarxa Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Això funciona en la majoria dels casos.">
<!ENTITY torSettings.connect "Conectar">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
+<!ENTITY torSettings.proxyPageTitle "Configuració del servidor intermediari local">
<!ENTITY torSettings.proxyQuestion "Aquest ordinador ha de fer servir un proxy local per accedir a internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Si no esteu segurs de com respondre aquesta pregunta, mireu les preferències d'internet d'un altre navegador per veure si està configurat per usar un proxy local. ">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Introdueix les opcions del proxy.">
-<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
+<!ENTITY torSettings.bridgePageTitle "Configuració dels ponts Tor">
<!ENTITY torSettings.bridgeQuestion "El vostre proveïdor d'Internet (ISP) bloqueja o censura les connexions a la Xarxa Tor?">
-<!ENTITY torSettings.bridgeHelp "Si no esteu segurs de com respondre a aquesta pregunta, escolliu No.  Si escolliu Sí, se us demanarà que configureu Ponts Tor, que són relés no llistats que fan més dificil de bloquejar les connexions a la Xarxa Tor">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Hauries d'utilitzar el set de repetidors provist o customitzar el teu propi.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Esperant a Tor per començar...">
<!ENTITY torsettings.restartTor "Reinicia Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcional
">
@@ -51,6 +57,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Ports permesos:">
<!ENTITY torsettings.useBridges.checkbox "El meu proveidor d'internet (ISP) bloqueja les conexions a la xarxa Tor">
<!ENTITY torsettings.useBridges.default "Connectar amb els repetidors porvistos.">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tipus de transport:">
<!ENTITY torsettings.useBridges.custom "Entra als repetidors customitzats.">
<!ENTITY torsettings.useBridges.label "Entra en un o més repetidors (un per linia).">
diff --git a/src/chrome/locale/ca/progress.dtd b/src/chrome/locale/ca/progress.dtd
index cb62f1b..331193c 100644
--- a/src/chrome/locale/ca/progress.dtd
+++ b/src/chrome/locale/ca/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estat de Tor">
<!ENTITY torprogress.openSettings "Obrir preferències.">
<!ENTITY torprogress.heading "S'està connectant a la xarxa Tor">
-<!ENTITY torprogress.pleaseWait "Si us plau, espereu mentre establim una connexió a la xarxa Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cs-CZ/network-settings.dtd b/src/chrome/locale/cs-CZ/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/cs-CZ/network-settings.dtd
+++ b/src/chrome/locale/cs-CZ/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/cs-CZ/progress.dtd b/src/chrome/locale/cs-CZ/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/cs-CZ/progress.dtd
+++ b/src/chrome/locale/cs-CZ/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cs/network-settings.dtd b/src/chrome/locale/cs/network-settings.dtd
index 4829311..b08348b 100644
--- a/src/chrome/locale/cs/network-settings.dtd
+++ b/src/chrome/locale/cs/network-settings.dtd
@@ -1,8 +1,8 @@
<!ENTITY torsettings.dialog.title "Síťové nastavení TORu">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Jazyk Tor Prohlížeče">
+<!ENTITY torlauncher.localePicker.prompt "Prosím zvolte jazyk.">
<!-- For "first run" wizard: -->
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Která možnost nejlépe popisuje Vaši situaci?">
<!ENTITY torSettings.configurePrompt1 "Připojení k internetu u tohoto pořítače je cenzorováno nebo proxováno.">
-<!ENTITY torSettings.configurePrompt2 "Potřebuji nastavit most, nebo lokální nastavení proxy.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurovat">
-<!ENTITY torSettings.connectPrompt2 "Chtěl bych se přímo připojit k Tor síti.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Toto bude fungovat ve většině případů.">
<!ENTITY torSettings.connect "Připojit">
<!ENTITY torSettings.proxyPageTitle "Konfigurace místní proxy">
<!ENTITY torSettings.proxyQuestion "Potřebuje tento počítač zapnutí lokální proxy, aby se připojil k internetu?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Pokud nevíte, jak odpovědět, podívejte se na nastavení sítě Internet v jiném prohlížeči, abyste zjistili, zda je nakonfigurován k používání proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Zadejte nastavení serveru proxy.">
<!ENTITY torSettings.bridgePageTitle "Konfigurace Tor přemostění">
<!ENTITY torSettings.bridgeQuestion "Blokuje nebo jinak cenzuruje váš poskytovatel internetového připojení (ISP) spojení se sítí TORu?">
-<!ENTITY torSettings.bridgeHelp "Pokud si nejste jistí jak odpovědět na tuto otázku, zvolte No.  Pokud vyberete Ano, budete vyzváni k nastavení Mostů TORu, což jsou přenašeče neuvedené v seznamu, které dělají blokování spojení se sítí TORu složitější.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Můžete použít poskytnutou sadu síťových mostů nebo můžete získat a zadat vlastní sadu.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Čekání na start TORu">
<!ENTITY torsettings.restartTor "Restartovat Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Volitelný">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Povolené porty:">
<!ENTITY torsettings.useBridges.checkbox "Můj internetový poskytovatel (ISP) blokuje připojení k Tor síti">
<!ENTITY torsettings.useBridges.default "Připojit pomocí poskytnuté sady mostů">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Typ přenosu:">
<!ENTITY torsettings.useBridges.custom "Zadejete vlastní mosty">
<!ENTITY torsettings.useBridges.label "Zadejte jedno nebo více mostních relé (jedno na řádek).">
diff --git a/src/chrome/locale/cs/progress.dtd b/src/chrome/locale/cs/progress.dtd
index c953214..e91a01f 100644
--- a/src/chrome/locale/cs/progress.dtd
+++ b/src/chrome/locale/cs/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Stav">
<!ENTITY torprogress.openSettings "Otevřít nastavení">
<!ENTITY torprogress.heading "Připojuji se k síti Tor">
-<!ENTITY torprogress.pleaseWait "Prosím vyčkejte než bude sestaveno připojení k síti Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/csb/network-settings.dtd b/src/chrome/locale/csb/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/csb/network-settings.dtd
+++ b/src/chrome/locale/csb/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/csb/progress.dtd b/src/chrome/locale/csb/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/csb/progress.dtd
+++ b/src/chrome/locale/csb/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cv/network-settings.dtd b/src/chrome/locale/cv/network-settings.dtd
index 866ddd6..f3d44b5 100644
--- a/src/chrome/locale/cv/network-settings.dtd
+++ b/src/chrome/locale/cv/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Çыхăнтар">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/cv/progress.dtd b/src/chrome/locale/cv/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/cv/progress.dtd
+++ b/src/chrome/locale/cv/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/cy/network-settings.dtd b/src/chrome/locale/cy/network-settings.dtd
index 7dfcd46..e743cc1 100644
--- a/src/chrome/locale/cy/network-settings.dtd
+++ b/src/chrome/locale/cy/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Pa un o'r canlynol sy'n disgrifio'ch sefyllfa orau?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Ffurfweddu">
-<!ENTITY torSettings.connectPrompt2 "Hoffwn gysylltu'n uniongyrchol â rhwydwaith Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Cysylltu">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Rhowch osodiadau'r dirprwy.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Yn aros am Tor i gychwyn…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Dewisiol">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Pyrth a ganiateir:">
<!ENTITY torsettings.useBridges.checkbox "Mae fy Narparydd Gwasanaeth Rhyngrwyd (ISP) yn atal cysylltiadau â rhwydwaith Tor">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/cy/progress.dtd b/src/chrome/locale/cy/progress.dtd
index 507d1c6..c4f29d7 100644
--- a/src/chrome/locale/cy/progress.dtd
+++ b/src/chrome/locale/cy/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Statws Tor">
<!ENTITY torprogress.openSettings "Agor Gosodiadau">
<!ENTITY torprogress.heading "Yn cysylltu â rhwydwaith Tor">
-<!ENTITY torprogress.pleaseWait "Arhoswch tra ein bod yn cysylltu â rhwydwaith Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/da/network-settings.dtd b/src/chrome/locale/da/network-settings.dtd
index a59c8d6..f8f4c0f 100644
--- a/src/chrome/locale/da/network-settings.dtd
+++ b/src/chrome/locale/da/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Hvilke af de følgende beskriver bedst din situation?">
<!ENTITY torSettings.configurePrompt1 "Denne computers internetforbindelse er censureret eller er etableret gennem en proxy.">
-<!ENTITY torSettings.configurePrompt2 "Jeg har brug for at konfigurere bro eller lokale proxy indstillinger.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Indstil">
-<!ENTITY torSettings.connectPrompt2 "Jeg vil forbinde direkte til Tor netværket.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Dette vil virker i de fleste situationer">
<!ENTITY torSettings.connect "Tilslut">
<!ENTITY torSettings.proxyPageTitle "Lokale proxy indstillinger">
<!ENTITY torSettings.proxyQuestion "Behøver denne computer bruge en lokal proxy for at tilgå Internettet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Hvis du ikke er sikker på svaret på dette spørgsmål, så kig på Internetindstillingerne i en anden browser for at se om den er konfigureret til at bruge en lokal proxy. ">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Indtast proxy-indstillinger.">
<!ENTITY torSettings.bridgePageTitle "Tor bridge konfiguration">
<!ENTITY torSettings.bridgeQuestion "Blokerer eller censurerer din internetudbyder (ISP) forbindelser til Tor netværket?">
-<!ENTITY torSettings.bridgeHelp "Hvis du er usikker på svaret til dette spørgsmål, vælg No.  Hvis du vælger Ja, vil du blive bedt om at konfigurere Tor Broer, der er ulistede relays, som gør det sværere at blokere forbindelser til Tor Netværket.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Du kan bruge det tildelte sæt broer eller du kan hente og indtaste et skræddersyet sæt broer.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Venter på at Tor starter...">
<!ENTITY torsettings.restartTor "Genstart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Valgfri">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Tilladte Porte:">
<!ENTITY torsettings.useBridges.checkbox "Min udbyder (ISP) blokerer forbindelse til Tor netværket">
<!ENTITY torsettings.useBridges.default "Forbind med tildelte broer">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Indtast skræddersyede broer">
<!ENTITY torsettings.useBridges.label "Indtast et eller flere bro-relæer (et per linie)">
diff --git a/src/chrome/locale/da/progress.dtd b/src/chrome/locale/da/progress.dtd
index 7e3f342..2a8a41a 100644
--- a/src/chrome/locale/da/progress.dtd
+++ b/src/chrome/locale/da/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Åben Indstillinger">
<!ENTITY torprogress.heading "Forbinder til Tor netværket">
-<!ENTITY torprogress.pleaseWait "Vent venligst imens vi etablerer en forbindelse til Tor netværket.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/de/network-settings.dtd b/src/chrome/locale/de/network-settings.dtd
index cf394a3..ef926d5 100644
--- a/src/chrome/locale/de/network-settings.dtd
+++ b/src/chrome/locale/de/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Was beschreibt Ihre Situation am besten?">
<!ENTITY torSettings.configurePrompt1 "Die Internetverbindung dieses Rechner ist zensiert oder vermittelt.">
-<!ENTITY torSettings.configurePrompt2 "Ich muss Bridge- oder lokale Proxy-Einstellungen konfigurieren">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurieren">
-<!ENTITY torSettings.connectPrompt2 "Ich würde gerne direkt eine Verbindung zum Tor-Netzwerk herstellen.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Das wird in den meisten Situationen funktionieren.">
<!ENTITY torSettings.connect "Verbinden">
<!ENTITY torSettings.proxyPageTitle "Lokale Proxy-Konfiguration">
<!ENTITY torSettings.proxyQuestion "Benötigt dieser Rechner einen lokalen Proxy um auf das Internet zuzugreifen?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Wenn Sie unsicher sind, schauen Sie in den Interneteinstellungen in einem andern Browser nach, um zu sehen ob ein lokaler Proxy konfiguriert ist.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Proxy-Einstellungen eingeben.">
<!ENTITY torSettings.bridgePageTitle "Torbrücken-Konfiguration">
<!ENTITY torSettings.bridgeQuestion "Blockiert oder zensiert Ihr Internetdienstanbieter (ISP) Verbindungen zum Tor-Netzwerk?">
-<!ENTITY torSettings.bridgeHelp "Wenn Sie sich nicht sicher sind, wie Sie diese Frage beantworten sollen, wählen Sie Nr.  Wenn Sie Ja wählen, werden Sie aufgefordert, die Torbrücken zu konfigurieren. Die nicht aufgeführte Relais sind, was es schwieriger macht, Verbindungen zum Tor-Netzwerk zu blockieren.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Sie könne den bereitgestellten Satz an Brücken verwenden oder Sie können welche erhalten, und geben einen benutzerdefinierten Satz an Brücken ein.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Auf den Start von Tor wird gewartet …">
<!ENTITY torsettings.restartTor "Tor neu starten">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Erlaubte Anschlüsse:">
<!ENTITY torsettings.useBridges.checkbox "Mein Internetdienstanbieter (ISP) blockiert Verbindungen zum Tor-Netzwerk">
<!ENTITY torsettings.useBridges.default "Mit bereitgestellten Brücken verbinden ">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Übertragungstyp:">
<!ENTITY torsettings.useBridges.custom "Benutzerdefinierte Brücken eingeben">
<!ENTITY torsettings.useBridges.label "Ein oder mehrere Brückenrelais eingeben (eins pro Zeile).">
diff --git a/src/chrome/locale/de/progress.dtd b/src/chrome/locale/de/progress.dtd
index 9433d6f..d087f69 100644
--- a/src/chrome/locale/de/progress.dtd
+++ b/src/chrome/locale/de/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor-Status">
<!ENTITY torprogress.openSettings "Einstellungen öffnen">
<!ENTITY torprogress.heading "Verbindung mit dem Tor-Netzwerk wird hergestellt">
-<!ENTITY torprogress.pleaseWait "Bitte warten Sie, während eine Verbindung zum Tor-Netzwerk hergestellt wird">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/dz/network-settings.dtd b/src/chrome/locale/dz/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/dz/network-settings.dtd
+++ b/src/chrome/locale/dz/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/dz/progress.dtd b/src/chrome/locale/dz/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/dz/progress.dtd
+++ b/src/chrome/locale/dz/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/el/network-settings.dtd b/src/chrome/locale/el/network-settings.dtd
index 371b8c5..d776892 100644
--- a/src/chrome/locale/el/network-settings.dtd
+++ b/src/chrome/locale/el/network-settings.dtd
@@ -13,27 +13,33 @@
<!ENTITY torSettings.firstQuestion "Ποιο από τα παρακάτω περιγράφει καλύτερα την κατάστασή σας;">
<!ENTITY torSettings.configurePrompt1 "Σύνδεση στο Internet αυτού του υπολογιστή λογοκρίνεται ή προσεγγίζεται">
-<!ENTITY torSettings.configurePrompt2 "Χρειάζομαι να ρυθμίσω την γέφυρα ή τις τοπικές ρυθμίσεις proxy">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Ρύθμιση ">
-<!ENTITY torSettings.connectPrompt2 "Θα ήθελα να συνδεθεί άμεσα με το δίκτυο Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Αυτό θα λειτουργήσει στις περισσότερες περιπτώσεις.">
<!ENTITY torSettings.connect "Σύνδεση">
<!ENTITY torSettings.proxyPageTitle "Τοπική διαμόρφωση Proxy">
<!ENTITY torSettings.proxyQuestion "Μήπως αυτός ο υπολογιστής πρέπει να χρησιμοποιήσει ένα τοπικό proxy για την πρόσβαση στο Διαδίκτυο;">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Αν δεν είστε σίγουροι πως να απαντήσετε σε αυτήν την ερώτηση, κοιτάξτε τις ρυθμίσεις του Internet σε κάποιο άλλο πρόγραμμα περιήγησης για να δείτε αν έχει ρυθμιστεί να χρησιμοποιεί ένα τοπικό proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Εισάγωγη των ρυθμίσεων διακομιστή μεσολάβησης.">
<!ENTITY torSettings.bridgePageTitle "Διαμόρφωση Γεφυρών Tor">
<!ENTITY torSettings.bridgeQuestion "Γνωρίζετε αν ο πάροχος (ISP) σας μπλοκάρει ή με οποιοδήποτε τρόπο ελέγχει συνδέσεις
στο δίκτυο Tor?">
-<!ENTITY torSettings.bridgeHelp "Αν δε ξέρετε πώς να απαντήσετε εδώ, επιλέξτε "Όχι".  Αν επιλέξετε "Ναι", θα σας ζητήσω να ρυθμίσετε γέφυρες Tor, που είναι μη ευρέως γνωστά κανάλια εισόδου στο δίκτυο Tor, που δυσκολεύουν όσους προσπαθούν να μπλοκάρουν τις συνδέσεις στο δίκτυο Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Μπορείτε να χρησιμοποιήσετε τις προκαθορισμένες γέφυρες, ή να αποκτήσετε και εισάγετε νέες διευθύνσεις γεφυρών.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Αναμονή για να ξεκινήσει το Tor... ">
<!ENTITY torsettings.restartTor "Eπανεκκίνηση Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Προεραιτικα">
@@ -51,6 +57,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Επιτρεπόμενες Θύρες:">
<!ENTITY torsettings.useBridges.checkbox "Ο πάροχος διαδικτυου (ISP) μπλοκάρει τις συνδέσεις στο δίκτυο του Tor">
<!ENTITY torsettings.useBridges.default "Σύνδεση με προκαθορισμένες γέφυρες">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Τύπος μεταφοράς:">
<!ENTITY torsettings.useBridges.custom "Εισαγωγή άλλων γεφυρών">
<!ENTITY torsettings.useBridges.label "Εισάγετε μια ή περισσότερες διευθύνσεις γεφυρών (μία ανά γραμμή).">
diff --git a/src/chrome/locale/el/progress.dtd b/src/chrome/locale/el/progress.dtd
index 70b8fc5..9f96b8d 100644
--- a/src/chrome/locale/el/progress.dtd
+++ b/src/chrome/locale/el/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Κατάσταση του Tor ">
<!ENTITY torprogress.openSettings "Ανοιγμα ρυθμισεων">
<!ENTITY torprogress.heading "Δημιουργια σύνδεσης στο δίκτυο Tor">
-<!ENTITY torprogress.pleaseWait "Παρακαλώ περιμένετε ενώ δημιουργούμε μια σύνδεση με το δίκτυο Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en-GB/network-settings.dtd b/src/chrome/locale/en-GB/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/en-GB/network-settings.dtd
+++ b/src/chrome/locale/en-GB/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/en-GB/progress.dtd b/src/chrome/locale/en-GB/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/en-GB/progress.dtd
+++ b/src/chrome/locale/en-GB/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/eo/network-settings.dtd b/src/chrome/locale/eo/network-settings.dtd
index 263ade0..89f752b 100644
--- a/src/chrome/locale/eo/network-settings.dtd
+++ b/src/chrome/locale/eo/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Konekti">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restartigi Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/eo/progress.dtd b/src/chrome/locale/eo/progress.dtd
index 9fc2f3b..c03f16a 100644
--- a/src/chrome/locale/eo/progress.dtd
+++ b/src/chrome/locale/eo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Stato de Tor">
<!ENTITY torprogress.openSettings "Malfermi agordojn">
<!ENTITY torprogress.heading "Konektante al Tor-reto">
-<!ENTITY torprogress.pleaseWait "Bonvolu atendi ĝis kiam ni ne starigos konekton al la Tor-reto.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-AR/network-settings.dtd b/src/chrome/locale/es-AR/network-settings.dtd
index 2c3f300..9dd4ef3 100644
--- a/src/chrome/locale/es-AR/network-settings.dtd
+++ b/src/chrome/locale/es-AR/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "¿Cuál de las siguientes opciones describe mejor su situación?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configurar">
-<!ENTITY torSettings.connectPrompt2 "Me gustaría conectar directamente a la red Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Esto debería funcionar en la mayoría de situaciones.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Reiniciar Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/es-AR/progress.dtd b/src/chrome/locale/es-AR/progress.dtd
index 10a52dd..f8029aa 100644
--- a/src/chrome/locale/es-AR/progress.dtd
+++ b/src/chrome/locale/es-AR/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado de Tor">
<!ENTITY torprogress.openSettings "Abrir Configuraciones">
<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!ENTITY torprogress.pleaseWait "Por favor, espere mientras establecemos una conexión a la red Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CL/network-settings.dtd b/src/chrome/locale/es-CL/network-settings.dtd
index c3b8e6e..b6cd80c 100644
--- a/src/chrome/locale/es-CL/network-settings.dtd
+++ b/src/chrome/locale/es-CL/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/es-CL/progress.dtd b/src/chrome/locale/es-CL/progress.dtd
index 73f1bbf..87e2523 100644
--- a/src/chrome/locale/es-CL/progress.dtd
+++ b/src/chrome/locale/es-CL/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado Del Modulo Tor">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!ENTITY torprogress.pleaseWait "Por favor espere mientras establecemos una conexión a la red Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-CO/network-settings.dtd b/src/chrome/locale/es-CO/network-settings.dtd
index b630a4a..8ec90ba 100644
--- a/src/chrome/locale/es-CO/network-settings.dtd
+++ b/src/chrome/locale/es-CO/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/es-CO/progress.dtd b/src/chrome/locale/es-CO/progress.dtd
index a5ee7b4..f59998a 100644
--- a/src/chrome/locale/es-CO/progress.dtd
+++ b/src/chrome/locale/es-CO/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado de Tor">
<!ENTITY torprogress.openSettings "Configuraciones abiertas">
<!ENTITY torprogress.heading "Conectando a la red de Tor">
-<!ENTITY torprogress.pleaseWait "Por favor espere mientras establecemos una coneccion a la red de Tor">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es-MX/network-settings.dtd b/src/chrome/locale/es-MX/network-settings.dtd
index 0c7dbb6..0d8f71d 100644
--- a/src/chrome/locale/es-MX/network-settings.dtd
+++ b/src/chrome/locale/es-MX/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Reiniciar Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/es-MX/progress.dtd b/src/chrome/locale/es-MX/progress.dtd
index 614ad59..d1d6bb5 100644
--- a/src/chrome/locale/es-MX/progress.dtd
+++ b/src/chrome/locale/es-MX/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado de Tor">
<!ENTITY torprogress.openSettings "Abrir Ajustes">
<!ENTITY torprogress.heading "Conectando a la red Tor">
-<!ENTITY torprogress.pleaseWait "Porfavor espere mientras establecemos una conexión con la red Tor">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/es/network-settings.dtd b/src/chrome/locale/es/network-settings.dtd
index 64547c1..13b8c28 100644
--- a/src/chrome/locale/es/network-settings.dtd
+++ b/src/chrome/locale/es/network-settings.dtd
@@ -13,33 +13,39 @@
<!ENTITY torSettings.firstQuestion "¿Cuál de las siguientes opciones describe mejor su situación?">
<!ENTITY torSettings.configurePrompt1 "La conexión a Internet de este equipo está censurada o proxificada.">
-<!ENTITY torSettings.configurePrompt2 "Necesito ajustar la configuración del repetidor puente(bridge) o del proxy local.">
+<!ENTITY torSettings.configurePrompt2 "Necesito configurar bridge o los ajustes del proxy local antes de conectar a la red Tor. ">
<!ENTITY torSettings.configure "Configurar">
-<!ENTITY torSettings.connectPrompt2 "Me gustaría conectarme directamente a la red Tor.">
+<!ENTITY torSettings.connectPrompt2 "Quisiera hacer una conexión directa a la red Tor.">
<!ENTITY torSettings.connectPrompt3 "Esto funcionará en la mayoría de las situaciones.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyPageTitle "Configuración del proxy local">
<!ENTITY torSettings.proxyQuestion "¿Necesita mi computadora utilizar un proxy local para acceder a Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Si no está seguro de cómo responder a esta pregunta, mire la configuración de Internet en otro navegador para ver si está configurado para utilizar un proxy (interpuesto) local.">
+<!ENTITY torSettings.proxyExplanation1 "En la mayoría de los casos no se requiere un proxy (interpuesto) local, pero puede ser necesario al realizar una conexión a través de una red de empresa, de escuela, o universitaria. ">
+<!ENTITY torSettings.proxyExplanation2 "Si no está seguro de cómo responder a esta pregunta, mire la configuración de Internet en otro navegador o compruebe la configuración de red de su sistema para ver si un proxy local es necesario.">
<!ENTITY torSettings.enterProxy "Introduzca los ajustes del proxy.">
<!ENTITY torSettings.bridgePageTitle "Configuración de puentes Tor">
<!ENTITY torSettings.bridgeQuestion "Su proveedor de servicios de Internet (ISP) bloquea o censura de alguna forma las conexiones hacia la red Tor?">
-<!ENTITY torSettings.bridgeHelp "Si no está seguro de como responder a esta pregunta, elija No.  Si usted elige Sí, se le pedirá configurar puentes Tor, los cuales son repetidores no listados que hacen más difícil el bloqueo de las conexiones hacia la red Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "Si no está seguro de cómo responder a esta pregunta, elija No (si no puede conectarse a la red Tor sin un puente (bridge), puede añadir uno más adelante).">
+<!ENTITY torSettings.bridgeExplanation2 "Si elige Sí, se le pedirá que configure los puentes (bridges) de Tor, que son repetidores no listados que dificultan el bloqueo de conexiones hacia la red Tor.">
<!ENTITY torSettings.bridgeSettingsPrompt "Puede utilizar el conjunto de repetidores puente (bridge) proporcionado, o puede obtener e introducir un juego de puentes personalizado.">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "Esperando a que Tor arranque...">
+<!ENTITY torsettings.startingTor "Esperando a que Tor se inicie...">
<!ENTITY torsettings.restartTor "Reiniciar Tor">
+<!ENTITY torsettings.reconfigTor "Configurar de nuevo">
+
+<!ENTITY torsettings.discardSettings.prompt "Ha configurado los puentes (bridges) de Tor o ha introducido los ajustes para proxy (interpuesto) local.  Para realizar una conexión directa a la red Tor, estos ajustes deben ser borrados.">
+<!ENTITY torsettings.discardSettings.proceed "Eliminar ajustes y conectar">
<!ENTITY torsettings.optional "Opcional">
<!ENTITY torsettings.useProxy.checkbox "Esta computadora necesita utilizar un proxy local para acceder a Internet">
<!ENTITY torsettings.useProxy.type "Tipo de proxy:">
<!ENTITY torsettings.useProxy.address "Dirección:">
-<!ENTITY torsettings.useProxy.address.placeholder "Dirección IP o nombre de máquina ('hostname')">
+<!ENTITY torsettings.useProxy.address.placeholder "Dirección IP o nombre de máquina (host)">
<!ENTITY torsettings.useProxy.port "Puerto:">
<!ENTITY torsettings.useProxy.username "Nombre de usuario:">
<!ENTITY torsettings.useProxy.password "Contraseña:">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Puertos permitidos:">
<!ENTITY torsettings.useBridges.checkbox "Mi Proveedor de Servicios de Internet (ISP) bloquea las conexiones a la red Tor">
<!ENTITY torsettings.useBridges.default "Conectar con los puentes proporcionados">
+<!ENTITY torsettings.useBridges.note "Cada tipo de puente (bridge) usa un método diferente para evitar la censura.  Si un repetidor puente no funciona, inténtelo de nuevo utilizando otro distinto.">
<!ENTITY torsettings.useBridges.type "Tipo de transporte:">
<!ENTITY torsettings.useBridges.custom "Introducir puentes personalizados">
<!ENTITY torsettings.useBridges.label "Introduzca uno o más repetidores puente(uno por línea).">
diff --git a/src/chrome/locale/es/progress.dtd b/src/chrome/locale/es/progress.dtd
index 1d3683d..a8703de 100644
--- a/src/chrome/locale/es/progress.dtd
+++ b/src/chrome/locale/es/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado de Tor">
<!ENTITY torprogress.openSettings "Abrir Preferencias">
<!ENTITY torprogress.heading "Conectando con la red de Tor">
-<!ENTITY torprogress.pleaseWait "Espere mientras se establece una conexión con la red de Tor.">
+<!ENTITY torprogress.pleaseWait "Por favor, espere a que establezcamos una conexión a la red Tor.  Esto puede llevar varios minutos.">
diff --git a/src/chrome/locale/et/network-settings.dtd b/src/chrome/locale/et/network-settings.dtd
index b5db33d..d4e4c14 100644
--- a/src/chrome/locale/et/network-settings.dtd
+++ b/src/chrome/locale/et/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/et/progress.dtd b/src/chrome/locale/et/progress.dtd
index 2d50f46..6b93dff 100644
--- a/src/chrome/locale/et/progress.dtd
+++ b/src/chrome/locale/et/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tori staatus">
<!ENTITY torprogress.openSettings "Ava seaded">
<!ENTITY torprogress.heading "Tor võrgustikuga ühendumine">
-<!ENTITY torprogress.pleaseWait "Palun oota, kuna ühendus Tor võrgustikuga on saavutatud.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/eu/network-settings.dtd b/src/chrome/locale/eu/network-settings.dtd
index 6190d66..e034658 100644
--- a/src/chrome/locale/eu/network-settings.dtd
+++ b/src/chrome/locale/eu/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Hurrengoetako zeinek deskribatzen du zure egoera hobekien?">
<!ENTITY torSettings.configurePrompt1 "Ordenagailu honen Interneteko konexioa zentsuratuta dago edo proxy batetik igarotzen da.">
-<!ENTITY torSettings.configurePrompt2 "Zubi edo proxy lokalaren ezarpenak konfiguratu behar ditut.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfiguratu">
-<!ENTITY torSettings.connectPrompt2 "Tor sarera zuzenean konektatu nahiko nuke.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Hau egoera gehienetan funtzionatuko du.">
<!ENTITY torSettings.connect "Konektatu">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Ordenagailu honek Internetera sartzeko proxy lokalen bat erabili behar al du?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Galdera hau nola erantzuteaz zalantzan bazaude, begiratu beste nabigatzaile batean Interneteko ezarpenak proxy lokal bat erabiltzeko konfiguratuta dagoen ikusteko.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Sartu proxy ezarpenak.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Zure Interneteko Zerbitzu Hornitzaileak (ISP ingeleraz) Tor sarera doazen konexioak blokeatu edo zentsuratu egiten ditu?">
-<!ENTITY torSettings.bridgeHelp "Galdera hau nola erantzuteaz ziur ez bazaude, aukeratu Ez.  Bai aukeratzen baduzu, Tor zubiak konfigura ditzazun eskatuko zaizu, hau da zerrendatuta ez dauden eta Tor sarera doazen konexioak blokeatzea zailago egiten duten erreleak.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Emandako zubi taldea erabili dezakezu edo zubi talde pertsonalizatua eskuratu eta sar dezakezu.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Tor abiarazi dadin itxaroten...">
<!ENTITY torsettings.restartTor "Tor berrabiarazi">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Hautazkoa">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Baimendutako atakak:">
<!ENTITY torsettings.useBridges.checkbox "Nire Internet Zerbitzu Hornitzaileak (ISP ingeleraz) Tor sarera konektatzea blokeatzen dit.">
<!ENTITY torsettings.useBridges.default "Emandako zubiekin konektatu">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Garraio mota:">
<!ENTITY torsettings.useBridges.custom "Sartu zubi pertsonalizatuak">
<!ENTITY torsettings.useBridges.label "Sartu zubi errele bat edo gehiago (bat lerro bakoitzeko).">
diff --git a/src/chrome/locale/eu/progress.dtd b/src/chrome/locale/eu/progress.dtd
index 3e9f084..caa9a98 100644
--- a/src/chrome/locale/eu/progress.dtd
+++ b/src/chrome/locale/eu/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor egoera">
<!ENTITY torprogress.openSettings "Ezarpenak ireki">
<!ENTITY torprogress.heading "Tor sarera konektatzen">
-<!ENTITY torprogress.pleaseWait "Mesedez itxaron Tor-sarera konexioa ezartzen dugun bitartean.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fa/network-settings.dtd b/src/chrome/locale/fa/network-settings.dtd
index b7d2076..3a95731 100644
--- a/src/chrome/locale/fa/network-settings.dtd
+++ b/src/chrome/locale/fa/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "کدام یک از موارد زیر وضعیت شما را بهتر بیان میکند؟">
<!ENTITY torSettings.configurePrompt1 "اتصال به اینترنت این کامپیوتر یا فیلترینگ شدید دارد و یا پراکسی دارد.">
-<!ENTITY torSettings.configurePrompt2 "من نیاز به پیکربندی پل و یا تنظیمات پروکسی محلی دارم.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "پیکربندی">
-<!ENTITY torSettings.connectPrompt2 "تمایل دارم مستقیما به شبکهی تور متصل شوم.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "این در بیشتر مواقع کار خواهد کرد.">
<!ENTITY torSettings.connect "اتصال">
<!ENTITY torSettings.proxyPageTitle "پیکربندی پراکسی محلی">
<!ENTITY torSettings.proxyQuestion "آیا این کامپیوتر نیاز به استفاده از یک پروکسی محلی برای دسترسی به اینترنت دارد؟">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "اگر شما مطمئن نیستید که چگونه به این سوال پاسخ دهید، به تنظیمات سایر مرورگرهای خود نگاهی بیاندازید تا متوجه شوید که آیا باید یک پروکسی محلی استفاده شود؟">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "تنظیمات پراکسی را وارد کنید.">
<!ENTITY torSettings.bridgePageTitle "پیکربندی پل تور">
<!ENTITY torSettings.bridgeQuestion "آیا شرکتی که از آن اینترنت گرفته اید (ISP)، دسترسی به شبکه تور را فیلتر، سانسور و یا مسدود می کند؟">
-<!ENTITY torSettings.bridgeHelp "اگر مطمئن نیستید چطور به این سوال پاسخ دهید، «نه» یا انتخاب کنید.  اگر «بله» را انتخاب کنید، می بایست تنظیمات مربوط به «پل های» تور را انجام دهید. پل ها مسیرهای دور زدن فیلتر هستند که لیست مشخصی از آن ها وجود ندارد و فیلتر کردن آن ها بسیار مشکل است.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "شما میتوانید از مجموعهای از پلهای آماده و یا پلهای شخصی خودتان استفاده کنید.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "در انتظار آغاز به کار تور...">
<!ENTITY torsettings.restartTor "تور را دوباره شوروع کنید.">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "اختیاری">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "پورت های مجاز:">
<!ENTITY torsettings.useBridges.checkbox "سرویس دهنده اینترنت (ISP) من اتصال به شبکه تور را مسدود میکند.">
<!ENTITY torsettings.useBridges.default "اتصال از طریق پلهای انتخاب شده">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "نوع انتقال:">
<!ENTITY torsettings.useBridges.custom "پلهای شخصی را وارد کنید">
<!ENTITY torsettings.useBridges.label "یک یا چند پل ارتباطی را وارد نمایید. (در هر خط یکی)">
diff --git a/src/chrome/locale/fa/progress.dtd b/src/chrome/locale/fa/progress.dtd
index 5f8eee1..5efcd93 100644
--- a/src/chrome/locale/fa/progress.dtd
+++ b/src/chrome/locale/fa/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "وضعیت تور">
<!ENTITY torprogress.openSettings "تنظیماترا باز کنید">
<!ENTITY torprogress.heading "درحال اتصال به شبکه تُر">
-<!ENTITY torprogress.pleaseWait "لطفا برای اتصال به شبکه تور منتظر بمانید.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fi/network-settings.dtd b/src/chrome/locale/fi/network-settings.dtd
index 55a218f..6338e04 100644
--- a/src/chrome/locale/fi/network-settings.dtd
+++ b/src/chrome/locale/fi/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Mikä seuraavista kuvailee parhaiten tilannettasi?">
<!ENTITY torSettings.configurePrompt1 "Tämän tietokoneen internet-yhteys on sensuroitu tai kulkee välityspalvelimen kautta.">
-<!ENTITY torSettings.configurePrompt2 "Minun on asetettava sillan tai paikallisen välityspalvelimen asetukset">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Määritä">
-<!ENTITY torSettings.connectPrompt2 "Haluan yhdistää suoraan Tor-verkkoon.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Tämä toimii useimmissa tilanteissa.">
<!ENTITY torSettings.connect "Yhdistä">
<!ENTITY torSettings.proxyPageTitle "Paikallisen välityspalvelimen määritys">
<!ENTITY torSettings.proxyQuestion "Tarvitseeko tämän tietokoneen käyttää paikallista välityspalvelinta Internet-pääsyyn?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Jos et ole varma, kuinka vastata tähän kysymykseen, katso toisen selaimen Internet-asetuksista, onko se asetettu käyttämään paikallista välityspalvelinta.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Kirjoita välityspalvelinasetukset.">
<!ENTITY torSettings.bridgePageTitle "Tor-siltojen määritys">
<!ENTITY torSettings.bridgeQuestion "Sensuroiko tai estääkö sinun operaattorisi (ISP) yhteydet Tor-verkkoon?">
-<!ENTITY torSettings.bridgeHelp "Ellet ole varma kuinka vastata tähän kysymykseen, valitse Ei.  Jos valitset Kyllä, sinua pyydetään määrittämään Tor-sillat, jotka ovat listaamattomia välityspalvelimia, jotta yhteyksiä olisi vaikeampi estää Tor-verkkoon yhdistettäessä.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Voit käyttää tarjottua siltajoukkoa tai voit hankkia ja kirjoittaa oman siltojen joukon.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Odotetaan Tor-sovelluksen käynnistymistä...">
<!ENTITY torsettings.restartTor "Käynnistä Tor uudelleen">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Vaihtoehtoinen">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Sallitut portit:">
<!ENTITY torsettings.useBridges.checkbox "Minun internet-yhteyden tarjoajani (ISP) estää yhteydet Tor-verkkoon">
<!ENTITY torsettings.useBridges.default "Yhdistä tarjotuilla silloilla">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Siirtotyyppi:">
<!ENTITY torsettings.useBridges.custom "Kirjoita omat sillat">
<!ENTITY torsettings.useBridges.label "Kirjoita yksi tai useampi siltavälityspalvelin (yksi per rivi).">
diff --git a/src/chrome/locale/fi/progress.dtd b/src/chrome/locale/fi/progress.dtd
index 1ddad9b..5850aa9 100644
--- a/src/chrome/locale/fi/progress.dtd
+++ b/src/chrome/locale/fi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor-tila">
<!ENTITY torprogress.openSettings "Avaa asetukset">
<!ENTITY torprogress.heading "Yhdistetään Tor-verkkoon">
-<!ENTITY torprogress.pleaseWait "Odota hetki yhteyden muodostamista Tor-verkkoon.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fil/network-settings.dtd b/src/chrome/locale/fil/network-settings.dtd
index 001b446..78c45b7 100644
--- a/src/chrome/locale/fil/network-settings.dtd
+++ b/src/chrome/locale/fil/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Alin dito ang pinaka angkop na nagsasaad ng iyong sitwasyon?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Makipag-ugnay">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "I-restart ang Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/fil/progress.dtd b/src/chrome/locale/fil/progress.dtd
index 33bbaca..b8256ea 100644
--- a/src/chrome/locale/fil/progress.dtd
+++ b/src/chrome/locale/fil/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Buksan ang Settings">
<!ENTITY torprogress.heading "Nakikipag-ugnayan sa network ng Tor.">
-<!ENTITY torprogress.pleaseWait "Pakihintay sandali habang tayo ay nakikipag-ugnayan sa kabalagan ng Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fo/network-settings.dtd b/src/chrome/locale/fo/network-settings.dtd
index e113692..14dac48 100644
--- a/src/chrome/locale/fo/network-settings.dtd
+++ b/src/chrome/locale/fo/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/fo/progress.dtd b/src/chrome/locale/fo/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/fo/progress.dtd
+++ b/src/chrome/locale/fo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fr-CA/network-settings.dtd b/src/chrome/locale/fr-CA/network-settings.dtd
index 9e3094d..111e80e 100644
--- a/src/chrome/locale/fr-CA/network-settings.dtd
+++ b/src/chrome/locale/fr-CA/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Laquelle des suivantes décrit le mieux votre situation?">
<!ENTITY torSettings.configurePrompt1 "La connexion Internet de cet ordinateur est censurée ou relayée.">
-<!ENTITY torSettings.configurePrompt2 "Je dois configurer des paramètres de pont ou de serveur mandataire local.">
+<!ENTITY torSettings.configurePrompt2 "Je dois paramétrer un pont ou un mandataire local avant de me connecter au réseau  Tor.">
<!ENTITY torSettings.configure "Configurer">
-<!ENTITY torSettings.connectPrompt2 "Je voudrais me connecter directement au réseau Tor.">
+<!ENTITY torSettings.connectPrompt2 "J'aimerais établir une connexion directe vers le réseau Tor.">
<!ENTITY torSettings.connectPrompt3 "Ceci fonctionnera dans la plupart des situations.">
<!ENTITY torSettings.connect "Se connecter">
<!ENTITY torSettings.proxyPageTitle "Configuration du mandataire local">
<!ENTITY torSettings.proxyQuestion "Cet ordinateur doit-il utiliser un serveur mandataire local pour accéder à Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Si vous n'êtes pas certain de connaître la réponse à cette question, vérifiez les paramètres Internet d'un autre navigateur pour voir s'il est configuré pour utiliser un mandataire local.">
+<!ENTITY torSettings.proxyExplanation1 "Dans la plupart des cas, un serveur mandataire local n'est pas requis, mais il pourrait être exigé pour une connexion par un réseau d'entreprise, d'école ou d'université.">
+<!ENTITY torSettings.proxyExplanation2 "Si vous n'êtes pas certain de savoir comment répondre à cette question, vérifier les paramètres Internet d'un autre navigateur ou vérifier les paramètres réseau de votre système pour voir si un serveur mandataire local est requis.">
<!ENTITY torSettings.enterProxy "Saisir les paramètres du serveur mandataire.">
<!ENTITY torSettings.bridgePageTitle "Configuration des ponts Tor">
<!ENTITY torSettings.bridgeQuestion "Votre fournisseur de service Internet (FSI) bloque-t-il ou censure-t-il vos connexions au réseau Tor?">
-<!ENTITY torSettings.bridgeHelp "Si vous ne savez pas comment répondre à cette question, choisissez Non.  Si vous choisissez Oui, on vous demandera de configurer les ponts Tor qui sont des relais non listés rendant le bloquage des connexions au réseau Tor plus difficile.">
+<!ENTITY torSettings.bridgeExplanation1 "Si vous n'êtes pas certain de savoir comment répondre à cette question, choisir Non (si vous n'arrivez pas à vous connecter au réseau Tor sans pont, pour pourrez en ajouter un ultérieurement).">
+<!ENTITY torSettings.bridgeExplanation2 "Si vous choisissez Oui, l'on vous demandera de configurer des ponts Tor, qui sont des relais non répertoriés rendant le blocage des connexions au réseau Tor plus difficile.">
<!ENTITY torSettings.bridgeSettingsPrompt "Vous pouvez utiliser le jeu de ponts fourni ou vous pouvez obtenir et saisir un jeu de ponts personnalisé.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "En attente du démarrage de Tor...">
<!ENTITY torsettings.restartTor "Redémarrer Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigurer">
+
+<!ENTITY torsettings.discardSettings.prompt "Vous avez configuré des ponts Tor ou vous avez saisi des paramètres de mandataire local.  Pour établir une connexion directe vers le réseau Tor, ces paramètres doivent être supprimés.">
+<!ENTITY torsettings.discardSettings.proceed "Supprimer les paramètres et se connecter">
<!ENTITY torsettings.optional "Optionnel">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés :">
<!ENTITY torsettings.useBridges.checkbox "Mon fournisseur d'accès à Internet (FAI) bloque les connexions au réseau Tor">
<!ENTITY torsettings.useBridges.default "Se connecter avec les ponts fournis">
+<!ENTITY torsettings.useBridges.note "Chaque type de pont utilise une méthode différente pour contourner la censure.  Si un pont ne fonctionne pas, ressayer en utilisant un autre type.">
<!ENTITY torsettings.useBridges.type "Type de transport :">
<!ENTITY torsettings.useBridges.custom "Saisir les ponts personnalisés">
<!ENTITY torsettings.useBridges.label "Saisir un ou plusieurs relais-ponts (un par ligne).">
@@ -57,7 +64,7 @@
<!ENTITY torsettings.copyLog "Copier le journal de Tor dans le presse-papier">
<!ENTITY torsettings.bridgeHelpTitle "Aide pour les relais-ponts">
-<!ENTITY torsettings.bridgeHelp1 "Si vous ne pouvez pas vous connecter au réseau Tor, il se peut que votre fournisseur d'accès à Internet (FAI) ou une autre agence bloque Tor.  Vous pouvez souvent le contourner en utilisant des ponts Tor qui sont des relais non répertoriés, plus difficiles à bloquer.">
+<!ENTITY torsettings.bridgeHelp1 "Si vous ne pouvez pas vous connecter au réseau Tor, il se peut que votre fournisseur d'accès à Internet (FAI) ou une autre organisme bloque Tor.  Vous pouvez souvent le contourner en utilisant des ponts Tor qui sont des relais non répertoriés, plus difficiles à bloquer.">
<!ENTITY torsettings.bridgeHelp1B "Vous pouvez utiliser le jeu préconfiguré d'adresses de ponts fourni ou vous pouvez obtenir un jeu personnalisé d'adresses en utilisant une de ces trois méthodes :">
<!ENTITY torsettings.bridgeHelp2Heading "par le Web">
<!ENTITY torsettings.bridgeHelp2 "en utilisant un navigateur Web pour visiter https://bridges.torproject.org">
diff --git a/src/chrome/locale/fr-CA/progress.dtd b/src/chrome/locale/fr-CA/progress.dtd
index 99c632e..39a0643 100644
--- a/src/chrome/locale/fr-CA/progress.dtd
+++ b/src/chrome/locale/fr-CA/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "État de Tor">
<!ENTITY torprogress.openSettings "Ouvrir les paramètres">
<!ENTITY torprogress.heading "Connexion au réseau Tor">
-<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion avec le réseau Tor.">
+<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que nous établissons une connexion vers le réseau Tor.  Cela pourrait prendre plusieurs minutes.">
diff --git a/src/chrome/locale/fr/network-settings.dtd b/src/chrome/locale/fr/network-settings.dtd
index cfc1c0f..e3b06af 100644
--- a/src/chrome/locale/fr/network-settings.dtd
+++ b/src/chrome/locale/fr/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Laquelle des phrases suivantes décrit le mieux votre situation ?">
<!ENTITY torSettings.configurePrompt1 "Le connexion internet de cet ordinateur est restreinte (censurée) ou passe par un proxy.">
-<!ENTITY torSettings.configurePrompt2 "Je dois configurer le pont réseau ou les paramètres du proxy.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configurer">
-<!ENTITY torSettings.connectPrompt2 "Je souhaite me connecter directement au réseau Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Cela fonctionnera dans la plupart des situations.">
<!ENTITY torSettings.connect "Se connecter">
<!ENTITY torSettings.proxyPageTitle "Configuration du proxy local">
<!ENTITY torSettings.proxyQuestion "Est-ce que cet ordinateur a besoin d'utiliser un proxy pour accéder à internet ?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Si vous n'êtes pas sur de la réponse à cette question, regardez les paramètres internet dans un autre navigateur pour voir si il est configuré pour l'utilisation d'un proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Entrez les paramètres de votre proxy.">
<!ENTITY torSettings.bridgePageTitle "Configuration des relais TOR">
<!ENTITY torSettings.bridgeQuestion "Est-ce que votre Fournisseur d'Accès Internet (FAI) bloque les connexions au réseau Tor ?">
-<!ENTITY torSettings.bridgeHelp "Si vous ne savez pas comment répondre à cette question, choisissez Non.  Si vous choisissez Oui, il vous sera demandé de configurer les ponts Tor qui sont des relais non listés et qui rendent plus difficile le blocage du réseau Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Vous pouvez utiliser les ponts fournis ou bien saisir votre liste de ponts personnels.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "En attente du démarrage de Tor...">
<!ENTITY torsettings.restartTor "Relancer Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optionnel">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Ports autorisés :">
<!ENTITY torsettings.useBridges.checkbox "Mon Fournisseur d'Accès à Internet (FAI) bloque les connexions au réseau Tor">
<!ENTITY torsettings.useBridges.default "Se connecter en utilisant les ponts pré-configurés">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Mode de transport:">
<!ENTITY torsettings.useBridges.custom "Entrez vos ponts personnels">
<!ENTITY torsettings.useBridges.label "Saisir un ou davantage de ponts relais (un par ligne).">
diff --git a/src/chrome/locale/fr/progress.dtd b/src/chrome/locale/fr/progress.dtd
index d028d4c..157276d 100644
--- a/src/chrome/locale/fr/progress.dtd
+++ b/src/chrome/locale/fr/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "État de Tor">
<!ENTITY torprogress.openSettings "Ouvrir les paramètres">
<!ENTITY torprogress.heading "Connexion au réseau Tor">
-<!ENTITY torprogress.pleaseWait "Veuillez patienter pendant que la connexion au réseau Tor s'établit.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fur/network-settings.dtd b/src/chrome/locale/fur/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/fur/network-settings.dtd
+++ b/src/chrome/locale/fur/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/fur/progress.dtd b/src/chrome/locale/fur/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/fur/progress.dtd
+++ b/src/chrome/locale/fur/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/fy/network-settings.dtd b/src/chrome/locale/fy/network-settings.dtd
index 6c6c869..8165a1a 100644
--- a/src/chrome/locale/fy/network-settings.dtd
+++ b/src/chrome/locale/fy/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/fy/progress.dtd b/src/chrome/locale/fy/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/fy/progress.dtd
+++ b/src/chrome/locale/fy/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ga/network-settings.dtd b/src/chrome/locale/ga/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ga/network-settings.dtd
+++ b/src/chrome/locale/ga/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ga/progress.dtd b/src/chrome/locale/ga/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ga/progress.dtd
+++ b/src/chrome/locale/ga/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gl/network-settings.dtd b/src/chrome/locale/gl/network-settings.dtd
index bcf88eb..c4703b1 100644
--- a/src/chrome/locale/gl/network-settings.dtd
+++ b/src/chrome/locale/gl/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Cal das seguintes alternativas describe mellor a súa situación?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configurar">
-<!ENTITY torSettings.connectPrompt2 "Gustaríame conectar directamente á rede Tor">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Introduza a configuración do proxy.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Á espera de que Tor comece ...">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Portos permitidos:">
<!ENTITY torsettings.useBridges.checkbox "O meu Provedor Servizos de Internet (ISP) bloquea as conexións á rede Tor">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/gl/progress.dtd b/src/chrome/locale/gl/progress.dtd
index 8aee80a..84c3935 100644
--- a/src/chrome/locale/gl/progress.dtd
+++ b/src/chrome/locale/gl/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado do Tor">
<!ENTITY torprogress.openSettings "Abrir axustes">
<!ENTITY torprogress.heading "Conexión á rede Tor">
-<!ENTITY torprogress.pleaseWait "Por faver, espera mentres estabelecemos a conexión coa rede Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu-IN/network-settings.dtd b/src/chrome/locale/gu-IN/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/gu-IN/network-settings.dtd
+++ b/src/chrome/locale/gu-IN/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/gu-IN/progress.dtd b/src/chrome/locale/gu-IN/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/gu-IN/progress.dtd
+++ b/src/chrome/locale/gu-IN/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gu/network-settings.dtd b/src/chrome/locale/gu/network-settings.dtd
index 2e06d74..93ec7cb 100644
--- a/src/chrome/locale/gu/network-settings.dtd
+++ b/src/chrome/locale/gu/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/gu/progress.dtd b/src/chrome/locale/gu/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/gu/progress.dtd
+++ b/src/chrome/locale/gu/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/gun/network-settings.dtd b/src/chrome/locale/gun/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/gun/network-settings.dtd
+++ b/src/chrome/locale/gun/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/gun/progress.dtd b/src/chrome/locale/gun/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/gun/progress.dtd
+++ b/src/chrome/locale/gun/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ha/network-settings.dtd b/src/chrome/locale/ha/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ha/network-settings.dtd
+++ b/src/chrome/locale/ha/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ha/progress.dtd b/src/chrome/locale/ha/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ha/progress.dtd
+++ b/src/chrome/locale/ha/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/he/network-settings.dtd b/src/chrome/locale/he/network-settings.dtd
index d4b3d16..6fd02c7 100644
--- a/src/chrome/locale/he/network-settings.dtd
+++ b/src/chrome/locale/he/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "אילו מן הבאים מתאר את מצבך בצורה המדויקת ביותר?">
<!ENTITY torSettings.configurePrompt1 "חיבור האינטרנט של מחשב זה מסונן או עובר דרך שרת פרוקסי.">
-<!ENTITY torSettings.configurePrompt2 "ברצוני להגדיר גשר או שרת פרוקסי מקומי.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "הגדר">
-<!ENTITY torSettings.connectPrompt2 "ברצוני להתחבר ישירות לרשת Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "דבר זה יעבוד במרבית המקרים.">
<!ENTITY torSettings.connect "התחבר">
<!ENTITY torSettings.proxyPageTitle "הגדרות שרת פרוקסי מקומי">
<!ENTITY torSettings.proxyQuestion "האם מחשב זה מוכרח להשתמש בשרת פרוקסי מקומי כדי לקבל גישה לאינטרנט?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "אם אינך בטוח כיצד להשיב לשאלה זו, בחן את הגדרות האינטרנט בדפדפן אחר כדי לראות האם הגדרות ההתחברות שלו כוללות שימוש בשרת פרוקסי מקומי.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "הזן את הגדרות הפרוקסי.">
<!ENTITY torSettings.bridgePageTitle "הגדרת גשרים ל-Tor">
<!ENTITY torSettings.bridgeQuestion "האם ספק שירותי האינטרנט (ISP) שלך חוסם או מסנן חיבורים לרשת Tor ?">
-<!ENTITY torSettings.bridgeHelp "אם אינך בטוח כיצד לענות לשאלה זו, בחר ב-'לא'. אם תבחר ב-'כן', תתבקש להגדיר גשרים ל-Tor, שהם שרתים לא פומביים המסייעים לעקוף חסימות גישה לרשת Tor. ">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "באפשרותך להשתמש ברשימת הגשרים המוכנה או להשיג בעצמך ולהזין רשימת גשרים חדשה.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "ממתין כעת עבור Tor כדי להתחיל…">
<!ENTITY torsettings.restartTor "התחל מחדש את Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "אופציונלי">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "פורטים מורשים:">
<!ENTITY torsettings.useBridges.checkbox "ספק האינטרנט שלי (ISP) חוסם חיבורים לרשת Tor">
<!ENTITY torsettings.useBridges.default "התחבר באמצעות הגשרים המוכנים מראש">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "סוג מסווה תעבורה:">
<!ENTITY torsettings.useBridges.custom "הזן רשימת גשרים חדשה">
<!ENTITY torsettings.useBridges.label "הזן פרטי גשר אחד לפחות (אחד לכל שורה)">
diff --git a/src/chrome/locale/he/progress.dtd b/src/chrome/locale/he/progress.dtd
index 891697d..ee4943a 100644
--- a/src/chrome/locale/he/progress.dtd
+++ b/src/chrome/locale/he/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "מצב Tor">
<!ENTITY torprogress.openSettings "פתח הגדרות">
<!ENTITY torprogress.heading "מתחבר כעת אל רשת Tor">
-<!ENTITY torprogress.pleaseWait "אנא המתן בעת שאנו מתחברים לרשת Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hi/network-settings.dtd b/src/chrome/locale/hi/network-settings.dtd
index f852698..d63adb7 100644
--- a/src/chrome/locale/hi/network-settings.dtd
+++ b/src/chrome/locale/hi/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "जोड़ें">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/hi/progress.dtd b/src/chrome/locale/hi/progress.dtd
index 87f2f41..14111f6 100644
--- a/src/chrome/locale/hi/progress.dtd
+++ b/src/chrome/locale/hi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "टोर स्थिति">
<!ENTITY torprogress.openSettings "व्यवस्था खोलें">
<!ENTITY torprogress.heading "टोर संजाल से जुड़ रहा है">
-<!ENTITY torprogress.pleaseWait "टोर संजाल से संचार स्थापित होने तक प्रतीक्षा करें।">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hr-HR/network-settings.dtd b/src/chrome/locale/hr-HR/network-settings.dtd
index 74d4ce2..657b7f9 100644
--- a/src/chrome/locale/hr-HR/network-settings.dtd
+++ b/src/chrome/locale/hr-HR/network-settings.dtd
@@ -14,27 +14,33 @@ internetskoj vezi ovog računala.">
<!ENTITY torSettings.firstQuestion "Koje od sljedećeg najbolje opisuje Vašu situaciju?">
<!ENTITY torSettings.configurePrompt1 "Veza ovog računal s Internetom je cenzurirana ili iza proxy-a.">
-<!ENTITY torSettings.configurePrompt2 "Trebam konfigurirati postavke mosta ili lokalnog proxy-a.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Podesi">
-<!ENTITY torSettings.connectPrompt2 "Želim se izravno spojiti na Tor mrežu.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Ovo će raditi u većini situacija.">
<!ENTITY torSettings.connect "Spajanje">
<!ENTITY torSettings.proxyPageTitle "Konfiguracija lokalnog proxy-a">
<!ENTITY torSettings.proxyQuestion "Treba li ovo računalo koristiti lokalni proxy da pristupi Internetu?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ako niste sigurni kako odgovoriti na ovo pitanje, pogledajte Internet postavke u drugom pregledniku da vidite jeli postavljen da koristi lokalni proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Unesite postavke proxyj-a.">
<!ENTITY torSettings.bridgePageTitle "Konfiguracija Tor mostova">
<!ENTITY torSettings.bridgeQuestion "Blokira li Vaš davetelj Internet usluge (ISP) ili drugačije cenzurira veze
s Tor mrežom?">
-<!ENTITY torSettings.bridgeHelp "Ako niste sigurni kako da odgovorite na ovo pitanje, odaberite Ne.  Ako odaberete Da, od Vas će se tražiti da konfigurirate Tor Mostove, koji su neizlistani releji koji otežavaju blokiranje povezivanja s Tor mrežom.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Možete koristiti osigurani set adresa mostova ili možete unijeti vlasiti set mostova.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Čekanje da se Tor pokrene...">
<!ENTITY torsettings.restartTor "Ponovno pokreni Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcionalno">
@@ -52,6 +58,7 @@ s Tor mrežom?">
<!ENTITY torsettings.firewall.allowedPorts "Dozvoljeni portovi:">
<!ENTITY torsettings.useBridges.checkbox "Moj pružatelj internetskih usluga (ISP) blokira veze prema Tor mreži">
<!ENTITY torsettings.useBridges.default "Spoji se s osiguranim mostovima">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tip transporta:">
<!ENTITY torsettings.useBridges.custom "Unesi vlastite mostove">
<!ENTITY torsettings.useBridges.label "Unesite jedan ili više mostova (jedan po retku).">
diff --git a/src/chrome/locale/hr-HR/progress.dtd b/src/chrome/locale/hr-HR/progress.dtd
index ea7118a..405b87e 100644
--- a/src/chrome/locale/hr-HR/progress.dtd
+++ b/src/chrome/locale/hr-HR/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Otvori Postavke">
<!ENTITY torprogress.heading "Spajanje na Tor mrežu">
-<!ENTITY torprogress.pleaseWait "Molimo pričekajte dok ne uspostavimo vezu s Tor mrežom.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hr/network-settings.dtd b/src/chrome/locale/hr/network-settings.dtd
index 0ccf030..b229c09 100644
--- a/src/chrome/locale/hr/network-settings.dtd
+++ b/src/chrome/locale/hr/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Što od sljedećeg najbolje opisuje tvoju situaciju?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfiguriraj">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Ovo će raditi u većini situacija.">
<!ENTITY torSettings.connect "Poveži se">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Unesi proxy postavke.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/hr/progress.dtd b/src/chrome/locale/hr/progress.dtd
index 9c3caaf..4bacee4 100644
--- a/src/chrome/locale/hr/progress.dtd
+++ b/src/chrome/locale/hr/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Status Tor-a">
<!ENTITY torprogress.openSettings "Otvori Postavke">
<!ENTITY torprogress.heading "Spajanje na Tor mrežu">
-<!ENTITY torprogress.pleaseWait "Molimo pričekajte dok uspostavimo konekciju sa Tor mrežom.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ht/network-settings.dtd b/src/chrome/locale/ht/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ht/network-settings.dtd
+++ b/src/chrome/locale/ht/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ht/progress.dtd b/src/chrome/locale/ht/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ht/progress.dtd
+++ b/src/chrome/locale/ht/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hu/network-settings.dtd b/src/chrome/locale/hu/network-settings.dtd
index afdfafc..0f7de0c 100644
--- a/src/chrome/locale/hu/network-settings.dtd
+++ b/src/chrome/locale/hu/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "A következők közül melyik illik jobban a szituációhoz?">
<!ENTITY torSettings.configurePrompt1 "Ennek a számítógépnek a forgalma cenzorált vagy proxizott.">
-<!ENTITY torSettings.configurePrompt2 "Szükségem van híd vagy helyi proxy beállítására.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Beállít">
-<!ENTITY torSettings.connectPrompt2 "Szeretnék közvetlenül kapcsolódni a Tor hálózathoz.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "A legtöbb esetben ez működni fog.">
<!ENTITY torSettings.connect "Csatlakozás">
<!ENTITY torSettings.proxyPageTitle "Helyi proxybeállítások">
<!ENTITY torSettings.proxyQuestion "Ez a számítgép helyi proxyn keresztül éri el az Internetet? ">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ha nem biztos ennek a kérdésnek a megválaszolásában, kattintson az Internet beállításokra a másik böngészőjében, és tekintse meg, hog van-e benne beállítva helyiproxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Adja meg a proxy beállításokat.">
<!ENTITY torSettings.bridgePageTitle "Tor hidak konfigurálása">
<!ENTITY torSettings.bridgeQuestion "Az internet szolgáltatód (ISP) blokkolja vagy cenzúrázza a kapcsolatot a Tor hálózathoz?">
-<!ENTITY torSettings.bridgeHelp "Ha nem vagy biztos a válaszban, válaszd a Nem-et.  Ha az Igen-t választod neked kell konfigurálni a Tor bridges amik nem listázott átjátszók és nehezebbé teszik a Tor hálózat kapcsolódásának a blokkolását.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Használhatod a szolgáltatott bridge címeket vagy beszerezhetsz egyedi bridge címeket.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Várakozás a Tor indulására...">
<!ENTITY torsettings.restartTor "Tor újraindítása">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcionális">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Engedélyezett portok:">
<!ENTITY torsettings.useBridges.checkbox "Az internet szolgáltatóm (ISP) blokkolja a Tor hálózathoz való csatlakozásokat">
<!ENTITY torsettings.useBridges.default "Csatlakozás a szolgáltatott bridge címekkel.">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Átvitel típusa:">
<!ENTITY torsettings.useBridges.custom "Addj meg egyedi bridge címeket">
<!ENTITY torsettings.useBridges.label "Addj meg egy vagy több bridge relay címet (soronként egy)">
diff --git a/src/chrome/locale/hu/progress.dtd b/src/chrome/locale/hu/progress.dtd
index b19344f..bdcab7a 100644
--- a/src/chrome/locale/hu/progress.dtd
+++ b/src/chrome/locale/hu/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor állapot">
<!ENTITY torprogress.openSettings "Beállítások megnyitása">
<!ENTITY torprogress.heading "Kapcsolódás a Tor hálózathoz">
-<!ENTITY torprogress.pleaseWait "Kérlek várj amíg a kapcsolat létrejön a Tor hálózattal.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy-AM/network-settings.dtd b/src/chrome/locale/hy-AM/network-settings.dtd
index 0daa0a7..f6b89c5 100644
--- a/src/chrome/locale/hy-AM/network-settings.dtd
+++ b/src/chrome/locale/hy-AM/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Միանալ">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/hy-AM/progress.dtd b/src/chrome/locale/hy-AM/progress.dtd
index 3be7837..545668d 100644
--- a/src/chrome/locale/hy-AM/progress.dtd
+++ b/src/chrome/locale/hy-AM/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor-ի կարգավիճակը">
<!ENTITY torprogress.openSettings "Բացել Կարգավորումները">
<!ENTITY torprogress.heading "Միացում Tor ցանցին">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/hy/network-settings.dtd b/src/chrome/locale/hy/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/hy/network-settings.dtd
+++ b/src/chrome/locale/hy/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/hy/progress.dtd b/src/chrome/locale/hy/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/hy/progress.dtd
+++ b/src/chrome/locale/hy/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ia/network-settings.dtd b/src/chrome/locale/ia/network-settings.dtd
index 13fc151..0abeba8 100644
--- a/src/chrome/locale/ia/network-settings.dtd
+++ b/src/chrome/locale/ia/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ia/progress.dtd b/src/chrome/locale/ia/progress.dtd
index 8d94c15..3f9c00f 100644
--- a/src/chrome/locale/ia/progress.dtd
+++ b/src/chrome/locale/ia/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Stato de Tor">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/id/network-settings.dtd b/src/chrome/locale/id/network-settings.dtd
index 2062d8c..990cbac 100644
--- a/src/chrome/locale/id/network-settings.dtd
+++ b/src/chrome/locale/id/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Mana dari yang berikut ini tepat menjelaskan situasi Anda?">
<!ENTITY torSettings.configurePrompt1 "Koneksi Internet komputer ini disensor atau terproksi.">
-<!ENTITY torSettings.configurePrompt2 "Saya perlu mengonfigurasi pengaturan jembatan atau proksi lokal.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigur">
-<!ENTITY torSettings.connectPrompt2 "Saya ingin terhubung secara langsung ke jaringan Tor.">
+<!ENTITY torSettings.connectPrompt2 "Saya ingin membuat koneksi langsung ke jaringan Tor.">
<!ENTITY torSettings.connectPrompt3 "Ini akan bekerja dalam kebanyakan situasi.">
<!ENTITY torSettings.connect "Sambung">
<!ENTITY torSettings.proxyPageTitle "Konfigurasi Proksi Lokal">
<!ENTITY torSettings.proxyQuestion "Apakah komputer ini memerlukan proksi lokal untuk dapat mengakses Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Jika Anda tidak yakin bagaimana menjawab pertanyaan ini, llihatlah pengaturan Internet di peramban lain untuk memastikan apakah dikonfigurasi untuk menggunakan proksi lokal.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Masuk ke pengaturan proksi.">
<!ENTITY torSettings.bridgePageTitle "Konfigurasi Jembatan Tor">
<!ENTITY torSettings.bridgeQuestion "Apakah Penyedia Layanan Internet (ISP) Anda memblokir atau menyensor sambungan ke Jaringan Tor?">
-<!ENTITY torSettings.bridgeHelp "Jika Anda tidak yakin bagaimana untuk menjawab pertanyaan ini, pilih No.  Jika Anda memilih Ya, Anda akan diminta untuk mengkonfigurasi Jembatan Tor, yang merupakan relai tidak terdaftar yang akan membuat semakin sulit untuk memblokir sambungan ke Jaringan Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Anda dapat menggunakan setelan jembatan yang disediakan atau Anda dapat memperoleh dan memasukkan setelan jembatan ubahsuai.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Menunggu Tor untuk memulai...">
<!ENTITY torsettings.restartTor "Muat Ulang Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Buang Pengaturan dan Sambung">
<!ENTITY torsettings.optional "Opsional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Port yang diizinkan:">
<!ENTITY torsettings.useBridges.checkbox "Internet Service Provider (ISP) saya memblokir koneksi ke jaringan Tor">
<!ENTITY torsettings.useBridges.default "Terhubung dengan bridge yang disediakan">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Jenis Transport :">
<!ENTITY torsettings.useBridges.custom "Masukkan bridge yang biasa digunakan">
<!ENTITY torsettings.useBridges.label "Masukkan satu atau beberapa jembatan penyambung (satu per baris).">
diff --git a/src/chrome/locale/id/progress.dtd b/src/chrome/locale/id/progress.dtd
index 526e6e1..da6956f 100644
--- a/src/chrome/locale/id/progress.dtd
+++ b/src/chrome/locale/id/progress.dtd
@@ -1,4 +1,4 @@
-<!ENTITY torprogress.dialog.title "Status Tor ">
+<!ENTITY torprogress.dialog.title "Status Tor">
<!ENTITY torprogress.openSettings "Buka Pengaturan">
<!ENTITY torprogress.heading "Menyambung ke jaringan Tor">
-<!ENTITY torprogress.pleaseWait "Mohon tunggu saat kami membangun koneksi ke jaringan Tor.">
+<!ENTITY torprogress.pleaseWait "Mohon tunggu sementara kami menyambung ke jaringan Tor.  Ini mungkin memakan waktu beberapa menit.">
diff --git a/src/chrome/locale/is/network-settings.dtd b/src/chrome/locale/is/network-settings.dtd
index 9af70e1..d151c0d 100644
--- a/src/chrome/locale/is/network-settings.dtd
+++ b/src/chrome/locale/is/network-settings.dtd
@@ -1,8 +1,8 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
+<!ENTITY torsettings.dialog.title "Netkerfisstillingar Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Tungumál Tor-vafra">
+<!ENTITY torlauncher.localePicker.prompt "Veldu tungumál">
<!-- For "first run" wizard: -->
@@ -11,56 +11,63 @@
<!ENTITY torSettings.yes "Já">
<!ENTITY torSettings.no "Nei">
-<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
+<!ENTITY torSettings.firstQuestion "Hvað af eftirfarandi lýsir best aðstæðum þínum?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
-<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
+<!ENTITY torSettings.configure "Stilla">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
+<!ENTITY torSettings.connectPrompt3 "Þetta mun virka í flestum tilfellum.">
<!ENTITY torSettings.connect "Tengjast">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
+<!ENTITY torsettings.startingTor "Bíð eftir að Tor ræsist...">
<!ENTITY torsettings.restartTor "Endurræsa Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
-<!ENTITY torsettings.optional "Optional">
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
+
+<!ENTITY torsettings.optional "Valkvætt">
<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
+<!ENTITY torsettings.useProxy.type "Gerð milliþjóns:">
+<!ENTITY torsettings.useProxy.address "Vistfang:">
+<!ENTITY torsettings.useProxy.address.placeholder "IP-vistfang eða vélarheiti">
+<!ENTITY torsettings.useProxy.port "Gátt:">
+<!ENTITY torsettings.useProxy.username "Notandanafn:">
+<!ENTITY torsettings.useProxy.password "Lykilorð:">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
+<!ENTITY torsettings.firewall.allowedPorts "Leyfðar gáttir:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
-<!ENTITY torsettings.useBridges.placeholder "type address:port">
+<!ENTITY torsettings.useBridges.placeholder "settu inn vistfang:gátt">
<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
-<!ENTITY torsettings.bridgeHelp2Heading "Through the Web">
-<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp2Heading "Í gegnum vefinn">
+<!ENTITY torsettings.bridgeHelp2 "Notaðu vafra til að skoða https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
diff --git a/src/chrome/locale/is/progress.dtd b/src/chrome/locale/is/progress.dtd
index 1541026..c6f500e 100644
--- a/src/chrome/locale/is/progress.dtd
+++ b/src/chrome/locale/is/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Staða Tor">
<!ENTITY torprogress.openSettings "Opna stillingar">
<!ENTITY torprogress.heading "Tengist Tor-netinu">
-<!ENTITY torprogress.pleaseWait "Bíddu aðeins á meðan komið er á tengingu við Tor-netið">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/it/network-settings.dtd b/src/chrome/locale/it/network-settings.dtd
index 6888c98..4d67204 100644
--- a/src/chrome/locale/it/network-settings.dtd
+++ b/src/chrome/locale/it/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Quale delle seguenti descrizioni raffigura meglio la tua situazione?">
<!ENTITY torSettings.configurePrompt1 "La connessione a Internet di questo computer è bloccata da censura o utilizza un proxy.">
-<!ENTITY torSettings.configurePrompt2 "Devo configurare un bridge o le impostazioni del proxy locale.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configura">
-<!ENTITY torSettings.connectPrompt2 "Vorrei connettermi direttamente alla rete Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Questo funzionerà nella maggior parte delle situazioni.">
<!ENTITY torSettings.connect "Connetti">
<!ENTITY torSettings.proxyPageTitle "Configurazione Proxy locale">
<!ENTITY torSettings.proxyQuestion "Questo computer richiede l'uso di un proxy locale per accedere ad Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Se non sei sicuro su come rispondere a questa domanda, guarda alle impostazioni Internet in un altro browser per vedere come è configurato per l'uso di un proxy locale.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Inserisci le impostazioni del proxy.">
<!ENTITY torSettings.bridgePageTitle "Configurazione Bridge di Tor">
<!ENTITY torSettings.bridgeQuestion "Il tuo fornitore di servizi internet (ISP) blocca o censura la connessione alla rete Tor?">
-<!ENTITY torSettings.bridgeHelp "Se non sei sicuro di come rispondere alla domanda, scegli No.  Se scegli Sì, ti verrà chiesto di configurare Tor Bridges, che consiste in relay non elencati che rendono più difficile bloccare le connessioni alla Rete Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Puoi usare il set preconfigurato di bridge o ottenere ed inserire un set personale di bridge.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "In attesa di avviare Tor...">
<!ENTITY torsettings.restartTor "Riavvia Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Facoltativo">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Porte consentite:">
<!ENTITY torsettings.useBridges.checkbox "Il mio fornitore di servizi Internet (ISP) blocca le connessioni alla rete Tor">
<!ENTITY torsettings.useBridges.default "Collegati usando i bridge preconfigurati">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tipo di trasporto:">
<!ENTITY torsettings.useBridges.custom "Inserire bridge personaizzati">
<!ENTITY torsettings.useBridges.label "Inserisci uno o più bridge relay (uno per riga)">
diff --git a/src/chrome/locale/it/progress.dtd b/src/chrome/locale/it/progress.dtd
index fcc4b08..ef30289 100644
--- a/src/chrome/locale/it/progress.dtd
+++ b/src/chrome/locale/it/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Stato di Tor">
<!ENTITY torprogress.openSettings "Apertura impostazioni">
<!ENTITY torprogress.heading "Connessione in corso alla rete Tor">
-<!ENTITY torprogress.pleaseWait "Si prega di attendere: stiamo stabilendo una connessione alla rete Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ja/network-settings.dtd b/src/chrome/locale/ja/network-settings.dtd
index dc7f76f..6fe3ede 100644
--- a/src/chrome/locale/ja/network-settings.dtd
+++ b/src/chrome/locale/ja/network-settings.dtd
@@ -1,8 +1,8 @@
<!ENTITY torsettings.dialog.title "Torネットワーク設定">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Tor ブラウザー言語">
+<!ENTITY torlauncher.localePicker.prompt "言語を選択してください。">
<!-- For "first run" wizard: -->
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "以下のうちあなたの状態に最も適しているのはどれですか?">
<!ENTITY torSettings.configurePrompt1 "このコンピュータのインターネット接続は、検閲されているかプロキシを通します。">
-<!ENTITY torSettings.configurePrompt2 "ブリッジやローカルプロキシの設定を構成する必要があります。">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "構成">
-<!ENTITY torSettings.connectPrompt2 "Torネットワークへ直接接続します。">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "これはほとんどの状況で動作します。">
<!ENTITY torSettings.connect "接続">
<!ENTITY torSettings.proxyPageTitle "ローカルプロキシの設定">
<!ENTITY torSettings.proxyQuestion "インターネットに接続するためにローカルプロキシを通す必要がありますか?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "もし分からなければ、他のブラウザーのインターネット設定でローカルプロキシを使用しているかを確認してください。">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "プロキシ設定を入力">
<!ENTITY torSettings.bridgePageTitle "Torブリッジの設定">
<!ENTITY torSettings.bridgeQuestion "あなたのインターネットサービスプロバイダー (ISP) は Tor ネットワークへの接続をブロックしているか、あるいは別のやり方で検閲していますか?">
-<!ENTITY torSettings.bridgeHelp "この質問にどう答えるべきかよくわからない場合は、いいえを選択してください。  はいを選択すると、Tor ネットワークへの接続をブロックすることをさらに困難にするリスト化されていないリレーである Tor Bridges を構成することが求められます。">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "提供されたブリッジのセットを使用するか、あるいはカスタムのブリッジのセットを取得して入力することができます。">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Torの開始を待っています...">
<!ENTITY torsettings.restartTor "Torを再起動する">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "オプション">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "許可されたポート:">
<!ENTITY torsettings.useBridges.checkbox "私のインターネットサービスプロバイダ(ISP)はTorネットワークへの接続をブロックします">
<!ENTITY torsettings.useBridges.default "提供されたブリッジで接続">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "トランスポートタイプ:">
<!ENTITY torsettings.useBridges.custom "カスタムブリッジを入力">
<!ENTITY torsettings.useBridges.label "1つ以上のブリッジリレーを入力してください(行あたり1つ)。">
diff --git a/src/chrome/locale/ja/progress.dtd b/src/chrome/locale/ja/progress.dtd
index 9d03c6b..31c0943 100644
--- a/src/chrome/locale/ja/progress.dtd
+++ b/src/chrome/locale/ja/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Torの状態">
<!ENTITY torprogress.openSettings "設定を開く">
<!ENTITY torprogress.heading "Torネットワークに接続しています">
-<!ENTITY torprogress.pleaseWait "Tor ネットワークへの接続を確立するまでの間お待ちください。">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/jv/network-settings.dtd b/src/chrome/locale/jv/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/jv/network-settings.dtd
+++ b/src/chrome/locale/jv/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/jv/progress.dtd b/src/chrome/locale/jv/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/jv/progress.dtd
+++ b/src/chrome/locale/jv/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ka/network-settings.dtd b/src/chrome/locale/ka/network-settings.dtd
index 7551c74..135c799 100644
--- a/src/chrome/locale/ka/network-settings.dtd
+++ b/src/chrome/locale/ka/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ka/progress.dtd b/src/chrome/locale/ka/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ka/progress.dtd
+++ b/src/chrome/locale/ka/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kk/network-settings.dtd b/src/chrome/locale/kk/network-settings.dtd
index f1d2205..ce471c2 100644
--- a/src/chrome/locale/kk/network-settings.dtd
+++ b/src/chrome/locale/kk/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/kk/progress.dtd b/src/chrome/locale/kk/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/kk/progress.dtd
+++ b/src/chrome/locale/kk/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/km/network-settings.dtd b/src/chrome/locale/km/network-settings.dtd
index eff2770..b2af430 100644
--- a/src/chrome/locale/km/network-settings.dtd
+++ b/src/chrome/locale/km/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "តើការពណ៌នាណាមួយដូចខាងក្រោមនេះល្អបំផុតសម្រាប់ស្ថានភាពរបស់អ្នក?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "កំណត់រចនាសម្ព័ន្ធ">
-<!ENTITY torSettings.connectPrompt2 "ខ្ញុំចង់ភ្ជាប់ដោយផ្ទាល់ទៅបណ្ដាញ Tor ។">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "វានឹងដំណើរការក្នុងស្ថានភាពភាគច្រើន។">
<!ENTITY torSettings.connect "តភ្ជាប់">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "បញ្ចូលការកំណត់ប្រូកស៊ី។">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "តើក្រុមហ៊ុនផ្ដល់អ៊ីនធឺណិតរបស់អ្នក (ISP) ទប់ស្កាត់ ឬបើមិនដូច្នេះទេការភ្ជាប់ឧបករណ៍ចាប់សញ្ញាទៅបណ្ដាញ Tor ?">
-<!ENTITY torSettings.bridgeHelp "បើអ្នកប្រាកដពីវិធីឆ្លើយសំណួរនេះ ជ្រើសទេ។   បើអ្នកជ្រើសបាទ/ចាស អ្នកនឹងត្រូវបានស្នើឲ្យកំណត់រចនាសម្ព័ន្ធប៊្រីត Tor ដែលជាការបញ្ជូនបន្តមិនបានរាយដែលធ្វើឲ្យវាកាន់តែលំបាកក្នុងការទប់ស្កាត់ការភ្ជាប់ទៅបណ្ដាញ Tor ។">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "អ្នកអាចប្រើការកំណត់ប៊្រីតដែលបានផ្ដល់ ឬអ្នកអាចយក និងបញ្ចូលការកំណត់ប៊្រីតផ្ទាល់ខ្លួន។">
<!-- Other: -->
<!ENTITY torsettings.startingTor "កំពុងរង់ចាំ Tor ចាប់ផ្ដើម...">
<!ENTITY torsettings.restartTor "ចាប់ផ្ដើម Tor ឡើងវិញ">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "ជាជម្រើស">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "ច្រកបានអនុញ្ញាត៖">
<!ENTITY torsettings.useBridges.checkbox "ក្រុមហ៊ុនផ្ដល់សេវាកម្មអ៊ីនធឺណិត (ISP) របស់ខ្ញុំទប់ស្កាត់ការភ្ជាប់ទៅបណ្ដាញ Tor ។">
<!ENTITY torsettings.useBridges.default "ភ្ជាប់ជាមួយប៊្រីតបានផ្ដល់">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "ប្រភេទបញ្ជូន៖">
<!ENTITY torsettings.useBridges.custom "បញ្ចូលប៊្រីតផ្ទាល់ខ្លួន">
<!ENTITY torsettings.useBridges.label "បញ្ចូលការបញ្ជូនប្រ៊ីតបន្តមួយ ឬច្រើន (មួយក្នុងមួយជួរ)។">
diff --git a/src/chrome/locale/km/progress.dtd b/src/chrome/locale/km/progress.dtd
index b09663c..76d75ce 100644
--- a/src/chrome/locale/km/progress.dtd
+++ b/src/chrome/locale/km/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ស្ថានភាព Tor">
<!ENTITY torprogress.openSettings "បើកការកំណត់">
<!ENTITY torprogress.heading "ភ្ជាប់ទៅបណ្ដាញ Tor">
-<!ENTITY torprogress.pleaseWait "សូមរង់ចាំខណៈដែលយើងបង្កើតការភ្ជាប់ទៅបណ្ដាញ Tor ។">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kn/network-settings.dtd b/src/chrome/locale/kn/network-settings.dtd
index 2c14637..6cd943a 100644
--- a/src/chrome/locale/kn/network-settings.dtd
+++ b/src/chrome/locale/kn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/kn/progress.dtd b/src/chrome/locale/kn/progress.dtd
index 7b197ab..b6e3b70 100644
--- a/src/chrome/locale/kn/progress.dtd
+++ b/src/chrome/locale/kn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ಟಾರ್ನ ಸ್ಥಿತಿ">
<!ENTITY torprogress.openSettings "ಅಪೂರ್ಣ ಸೆಟ್ಟಿಂಗ್ಗಳು">
<!ENTITY torprogress.heading "ಟಾರ್ ಜಾಲಕ್ಕೆ ಸೇರಿಕೋತಾ ಇದೀವಿ.">
-<!ENTITY torprogress.pleaseWait "ನಾವು ಟಾರ್ ಜಾಲಬಂಧಕ್ಕೆ ಸಂಪರ್ಕವನ್ನು ಕಲ್ಪಿಸುತ್ತಿದ್ದೆವೆ. ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko-KR/network-settings.dtd b/src/chrome/locale/ko-KR/network-settings.dtd
index 63fb382..74b8c4a 100644
--- a/src/chrome/locale/ko-KR/network-settings.dtd
+++ b/src/chrome/locale/ko-KR/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "허용된 포트:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ko-KR/progress.dtd b/src/chrome/locale/ko-KR/progress.dtd
index 896bd56..7c2da43 100644
--- a/src/chrome/locale/ko-KR/progress.dtd
+++ b/src/chrome/locale/ko-KR/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Tor 네트워크로 연결하고 있어요">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ko/network-settings.dtd b/src/chrome/locale/ko/network-settings.dtd
index 88ba8b1..8ac0ad0 100644
--- a/src/chrome/locale/ko/network-settings.dtd
+++ b/src/chrome/locale/ko/network-settings.dtd
@@ -1,8 +1,8 @@
<!ENTITY torsettings.dialog.title "Tor 네트워크 설정">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Tor 브라우저 언어">
+<!ENTITY torlauncher.localePicker.prompt "언어를 선택해 주십시오.">
<!-- For "first run" wizard: -->
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "어떤 것이 귀하의 상황에 가깝습니까?">
<!ENTITY torSettings.configurePrompt1 "이 컴퓨터의 인터넷 연결은 검열되어 있거나 프록시를 통합니다.">
-<!ENTITY torSettings.configurePrompt2 "브릿지 또는 프록시 설정 구성을 해야 합니다.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "구성">
-<!ENTITY torSettings.connectPrompt2 "Tor 네트워크에 직접 연결하고 싶습니다.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "이것은 대부분의 상황에서 동작합니다">
<!ENTITY torSettings.connect "연결">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
+<!ENTITY torSettings.proxyPageTitle "로컬 프록시 설정">
<!ENTITY torSettings.proxyQuestion "이 컴퓨터는 인터넷에 접속하는 데 프록시가 필요한가요?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "뭔 질문인지 잘 모르시겠다면, 다른 브라우저의 인터넷 설정을 보고 프록시가 어떻게 설정되어 있는지 참고하세요.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "프록시 설정에 들어갑니다.">
-<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
+<!ENTITY torSettings.bridgePageTitle "Tor 브릿지 설정">
<!ENTITY torSettings.bridgeQuestion "인터넷 서비스 공급자(ISP)가 Tor 네트워크 접속을 차단하거나 검열하고 있나요?">
-<!ENTITY torSettings.bridgeHelp "이 질문에 어떻게 대답해야할지 잘 모르는 경우 아니오를 선택하십시오.  예를 선택하면 Tor 네트워크에 대한 연결을 차단하는 것을 더욱 어렵게하는 목록 화되지 않은 릴레이이고 Tor Bridges을 구성하는 것이 요구됩니다.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "제공된 브릿지 세트를 사용하거나 사용자 지정 브릿지 세트를 취득하여 입력 할 수 있습니다.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Tor 시작 대기 중...">
<!ENTITY torsettings.restartTor "Tor 재시작">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "선택">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "허용된 포트:">
<!ENTITY torsettings.useBridges.checkbox "인터넷 서비스 공급자(ISP)가 Tor 네트워크 접속을 차단합니다.">
<!ENTITY torsettings.useBridges.default "제공된 브릿지에 연결">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "전송 유형:">
<!ENTITY torsettings.useBridges.custom "이용자 브릿지 접속">
<!ENTITY torsettings.useBridges.label "1개 이상의 브릿지 중계 서버를 입력해 주세요. (각 줄에 한 개씩)">
diff --git a/src/chrome/locale/ko/progress.dtd b/src/chrome/locale/ko/progress.dtd
index bb931d0..7669c26 100644
--- a/src/chrome/locale/ko/progress.dtd
+++ b/src/chrome/locale/ko/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor 상태">
<!ENTITY torprogress.openSettings "시작 설정">
<!ENTITY torprogress.heading "Tor 네트워크에 연결중">
-<!ENTITY torprogress.pleaseWait "Tor네트워크로 확실히 연결할 때까지 기다리세요.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ku/network-settings.dtd b/src/chrome/locale/ku/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ku/network-settings.dtd
+++ b/src/chrome/locale/ku/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ku/progress.dtd b/src/chrome/locale/ku/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ku/progress.dtd
+++ b/src/chrome/locale/ku/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/kw/network-settings.dtd b/src/chrome/locale/kw/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/kw/network-settings.dtd
+++ b/src/chrome/locale/kw/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/kw/progress.dtd b/src/chrome/locale/kw/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/kw/progress.dtd
+++ b/src/chrome/locale/kw/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ky/network-settings.dtd b/src/chrome/locale/ky/network-settings.dtd
index fee491d..2f61a16 100644
--- a/src/chrome/locale/ky/network-settings.dtd
+++ b/src/chrome/locale/ky/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ky/progress.dtd b/src/chrome/locale/ky/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ky/progress.dtd
+++ b/src/chrome/locale/ky/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lb/network-settings.dtd b/src/chrome/locale/lb/network-settings.dtd
index 0aabd24..5d56d79 100644
--- a/src/chrome/locale/lb/network-settings.dtd
+++ b/src/chrome/locale/lb/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/lb/progress.dtd b/src/chrome/locale/lb/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/lb/progress.dtd
+++ b/src/chrome/locale/lb/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lg/network-settings.dtd b/src/chrome/locale/lg/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/lg/network-settings.dtd
+++ b/src/chrome/locale/lg/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/lg/progress.dtd b/src/chrome/locale/lg/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/lg/progress.dtd
+++ b/src/chrome/locale/lg/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ln/network-settings.dtd b/src/chrome/locale/ln/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ln/network-settings.dtd
+++ b/src/chrome/locale/ln/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ln/progress.dtd b/src/chrome/locale/ln/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ln/progress.dtd
+++ b/src/chrome/locale/ln/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lo/network-settings.dtd b/src/chrome/locale/lo/network-settings.dtd
index bc62da0..7c0e752 100644
--- a/src/chrome/locale/lo/network-settings.dtd
+++ b/src/chrome/locale/lo/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "ອັນໃດ ຕໍ່ໄປນີ້ ທີ່ ບັນຍາຍ ຢ່າງ ລະອຽດ ທີ່ສຸດ ກ່ຽວກັບ ສະພາບ ຂອງ ທ່ານ?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "ກຳນົດຄ່າ">
-<!ENTITY torSettings.connectPrompt2 "ຂ້ອຍຕ້ອງການເຊື່ອມໂດຍກົງກັບເຄືອຂ່າຍ Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "ນີ້ຈະໃຊ້ໄດ້ກັບສະຖານະການສ່ວນໃຫຍ່.">
<!ENTITY torSettings.connect "ເຊື່ອມຕໍ່">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "ປ້ອນ ການຕັ້ງຄ່າ ພຣັອກຊີ ເຂົ້າໄປ.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "ຜູ້ໃຫ້ບໍລິການ ອິນເຕີເນັດ (ISP) ກັນໄວ້ບໍ່ ຫຼືບໍ່ ກໍແມ່ນ ມີການກວດສອບ ກ່ອນທີ່ຈະເຊື່ອມຕໍ່ເຂົ້າກັບເຄືອຂ່າຍ Tor?">
-<!ENTITY torSettings.bridgeHelp "ຖ້າທ່ານຍັງບໍ່ແນ່ໃຈວ່າຈະຕອບຄໍາຖາມນີ້ແນວໃດ, ໃຫ້ເລືອກ No.  ຖ້າທ່ານເລືກ Yes, ທ່ານ ຈະ ຖືກບອກ ໃຫ້ກຳນົດຄ່າ Tor Bridge ທີ່ບໍ່ໄດ້ຢູ່ໃນລາຍການ ຊຶ່ງຈະເຮັດໃຫ້ຫຍຸ້ງຍາກຕື່ມ ໃນການກັ້ນ ການເຊື່ອມຕໍ່ເຂົ້າເຄືອຂ່າຍ Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/lo/progress.dtd b/src/chrome/locale/lo/progress.dtd
index f364bd9..fb3aeb4 100644
--- a/src/chrome/locale/lo/progress.dtd
+++ b/src/chrome/locale/lo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ສະຖານະ Tor">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/lt/network-settings.dtd b/src/chrome/locale/lt/network-settings.dtd
index c66d60d..78e4d6d 100644
--- a/src/chrome/locale/lt/network-settings.dtd
+++ b/src/chrome/locale/lt/network-settings.dtd
@@ -1,42 +1,48 @@
<!ENTITY torsettings.dialog.title "Tor tinklo nustatymai">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "Tor Browser kalba">
+<!ENTITY torlauncher.localePicker.prompt "Prašome pasirinkti kalbą.">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
+<!ENTITY torsettings.prompt "Prieš tai, kaip prisijungsite prie Tor tinklo, jūs turite pateikti informaciją apie šio kompiuterio interneto ryšį.">
<!ENTITY torSettings.yes "Taip">
<!ENTITY torSettings.no "Ne">
<!ENTITY torSettings.firstQuestion "Kuris iš žemiau pateiktų apibrėžimų labiausiai atspindi Jūsų padėtį?">
-<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.configurePrompt1 "Šio kompiuterio interneto ryšys yra cenzūruojamas arba jungiamas per įgaliotąjį serverį.">
+<!ENTITY torSettings.configurePrompt2 "Prieš jungiantis prie Tor tinklo, man reikia sukonfigūruoti tinklų tiltą ar vietinius įgaliotojo serverio nustatymus.">
+<!ENTITY torSettings.configure "Konfigūruoti">
+<!ENTITY torSettings.connectPrompt2 "Aš norėčiau tiesiogiai prisijungti prie Tor tinklo.">
<!ENTITY torSettings.connectPrompt3 "Tai suveiks daugeliu situacijų.">
<!ENTITY torSettings.connect "Prisijungti">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
+<!ENTITY torSettings.proxyPageTitle "Vietinio įgaliotojo serverio konfigūracija">
<!ENTITY torSettings.proxyQuestion "Ar šis kompiuteris naudoja vietinį proxy prisijungimui prie interneto?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "Daugelyje atveju, vietinis įgaliotasis serveris yra nereikalingas, tačiau jo gali prireikti, jungiantis per kompanijos, mokyklos ar universiteto tinklą.">
+<!ENTITY torSettings.proxyExplanation2 "Jeigu nesate tikri kaip atsakyti į šį klausimą, pažiūrėkite interneto nustatymus kitoje naršyklėje arba patikrinkite savo sistemos tinklo nustatymus, kad pamatytumėte ar vietinis įgaliotasis serveris yra reikalingas.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
-<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeQuestion "Ar jūsų interneto paslaugų tiekėjas (ISP) blokuoja ar kitaip cenzūruoja prisijungimus prie Tor tinklo?">
+<!ENTITY torSettings.bridgeExplanation1 "Jeigu nesate tikri kaip atsakyti į šį klausimą, pasirinkite Ne (jeigu negalite prisijungti prie Tor tinklo be tinklų tilto, jūs galėsite jį pridėti vėliau).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Pakartotinai paleisti Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "Jūs esate sukofigūravę Tor tinklų tiltus arba esate įvedę vietinio įgaliotojo serverio nustatymus.  Tam, kad galėtumėte tiesiogiai prisijungti prie Tor tinklo, šie nustatymai privalo būti pašalinti.">
+<!ENTITY torsettings.discardSettings.proceed "Šalinti nustatymus ir prisijungti">
<!ENTITY torsettings.optional "Nebūtina">
-<!ENTITY torsettings.useProxy.checkbox "This computer needs to use a local proxy to access the Internet">
+<!ENTITY torsettings.useProxy.checkbox "Šis kompiuteris turi naudoti vietinį įgaliotąjį serverį, kad gautų prieigą prie internetą.">
<!ENTITY torsettings.useProxy.type "Proxy tipas:">
<!ENTITY torsettings.useProxy.address "Adresas:">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
@@ -47,15 +53,16 @@
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
+<!ENTITY torsettings.firewall.allowedPorts "Leidžiami prievadai:">
+<!ENTITY torsettings.useBridges.checkbox "Mano interneto paslaugų tiekėjas (ISP) blokuoja prisijungimus prie Tor tinklo">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
<!ENTITY torsettings.useBridges.placeholder "type address:port">
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
+<!ENTITY torsettings.copyLog "Kopijuoti Tor žurnalą į iškarpinę">
<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
<!ENTITY torsettings.bridgeHelp1 "If you are unable to connect to the Tor network, it could be that your Internet Service Provider (ISP) or another agency is blocking Tor.  Often, you can work around this problem by using Tor Bridges, which are unlisted relays that are more difficult to block.">
<!ENTITY torsettings.bridgeHelp1B "You may use the preconfigured, provided set of bridge addresses or you may obtain a custom set of addresses by using one of these three methods:">
@@ -63,6 +70,6 @@
<!ENTITY torsettings.bridgeHelp2 "Use a web browser to visit https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "Through the Email Autoresponder">
<!ENTITY torsettings.bridgeHelp3.emailDesc "Send email to bridges(a)torproject.org with the line 'get bridges' by itself in the body of the message.  However, to make it harder for an attacker to learn a lot of bridge addresses, you must send this request from one of the following email providers (listed in order of preference):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, or https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, ar https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "Through the Help Desk">
<!ENTITY torsettings.bridgeHelp4 "As a last resort, you can request bridge addresses by sending a polite email message to help(a)rt.torproject.org.  Please note that a person will need to respond to each request.">
diff --git a/src/chrome/locale/lt/progress.dtd b/src/chrome/locale/lt/progress.dtd
index 326cfcf..0989f9f 100644
--- a/src/chrome/locale/lt/progress.dtd
+++ b/src/chrome/locale/lt/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor būsena">
<!ENTITY torprogress.openSettings "Atverti nustatymus">
<!ENTITY torprogress.heading "Jungiamasi prie Tor tinklo">
-<!ENTITY torprogress.pleaseWait "Prašome palaukti kol sujungsime su Tor tinklu.">
+<!ENTITY torprogress.pleaseWait "Prašome palaukti, kol mes užmegsime ryšį su Tor tinklu.  Tai gali užtrukti kelias minutes.">
diff --git a/src/chrome/locale/lv/network-settings.dtd b/src/chrome/locale/lv/network-settings.dtd
index 074d77f..3bd53a8 100644
--- a/src/chrome/locale/lv/network-settings.dtd
+++ b/src/chrome/locale/lv/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Kura situācija vislabāk atbilst jūsējai?">
<!ENTITY torSettings.configurePrompt1 "Datora savienojums ar internetu ir cenzēts vai starpniekots.">
-<!ENTITY torSettings.configurePrompt2 "Man jānokonfigurē tiltu vai lokālo starpniekserveru iestatījumi.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurēt">
-<!ENTITY torSettings.connectPrompt2 "Es vēlos tieši pieslēgties tīklam Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Šis strādās vairumā gadījumu.">
<!ENTITY torSettings.connect "Veidot savienojumu">
<!ENTITY torSettings.proxyPageTitle "Lokālā starpniekservera konfigurēšana">
<!ENTITY torSettings.proxyQuestion "Vai šim datoram jāizmanto lokālais starpniekserveris, lai piekļūtu internetam?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ja neesat pārliecināts par atbildi uz šo jautājumu, apskatiet cita pārlūka interneta iestatījumus, lai redzētu vai pārlūks ir nokonfigurēts lokāla starpniekservera izmantošanai. ">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Ievadiet starpnieka iestatījumus.">
<!ENTITY torSettings.bridgePageTitle "Tor tiltu konfigurēšana">
<!ENTITY torSettings.bridgeQuestion "Vai Jūsu interneta pakalpojumu sniedzējs (ISP) bloķē vai savādāk cenzē savienojumus ar tīklu Tor?">
-<!ENTITY torSettings.bridgeHelp "Ja nezināt atbildi, izvēlieties No.  ja izvēlēsities Jā, Jums lūgs konfigurēt Tor tiltus jeb Tor Bridges, proti, neuzskaitītus retranslatorus, kuri apgrūtina savienojumu bloķēšanu ar tīklu Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Jūs varat izmantot piedāvāto tiltu kopumu vai varat ievadīt tiltu pielāgotu sarakstu. ">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Gaida, kamēr Tor startēs...">
<!ENTITY torsettings.restartTor "Restartēt Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Neobligāts">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Atļautie porti:">
<!ENTITY torsettings.useBridges.checkbox "Mans interneta pakalpojumu sniedzējs (IPS) bloķē savienojumu izveidošanu ar tīklu Tor">
<!ENTITY torsettings.useBridges.default "Veidot savienojumu ar piedāvātajiem tiltiem">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transporta veids:">
<!ENTITY torsettings.useBridges.custom "Ievadiet pielāgotus tiltus">
<!ENTITY torsettings.useBridges.label "Ievadiet vienu vai vairākus tilta retranslatorus (vienu rindā).">
diff --git a/src/chrome/locale/lv/progress.dtd b/src/chrome/locale/lv/progress.dtd
index 3924775..2e1be38 100644
--- a/src/chrome/locale/lv/progress.dtd
+++ b/src/chrome/locale/lv/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor'a statuss">
<!ENTITY torprogress.openSettings "Atvērt iestatījumus">
<!ENTITY torprogress.heading "Veido savienojumu ar Tor'a tīklu">
-<!ENTITY torprogress.pleaseWait "Lūdzu, gaidiet, kamēr izveidojam savienojumu ar tīklu Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mg/network-settings.dtd b/src/chrome/locale/mg/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/mg/network-settings.dtd
+++ b/src/chrome/locale/mg/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mg/progress.dtd b/src/chrome/locale/mg/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/mg/progress.dtd
+++ b/src/chrome/locale/mg/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mi/network-settings.dtd b/src/chrome/locale/mi/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/mi/network-settings.dtd
+++ b/src/chrome/locale/mi/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mi/progress.dtd b/src/chrome/locale/mi/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/mi/progress.dtd
+++ b/src/chrome/locale/mi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mk/network-settings.dtd b/src/chrome/locale/mk/network-settings.dtd
index d62a729..05cad9a 100644
--- a/src/chrome/locale/mk/network-settings.dtd
+++ b/src/chrome/locale/mk/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mk/progress.dtd b/src/chrome/locale/mk/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/mk/progress.dtd
+++ b/src/chrome/locale/mk/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ml/network-settings.dtd b/src/chrome/locale/ml/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ml/network-settings.dtd
+++ b/src/chrome/locale/ml/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ml/progress.dtd b/src/chrome/locale/ml/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ml/progress.dtd
+++ b/src/chrome/locale/ml/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mn/network-settings.dtd b/src/chrome/locale/mn/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/mn/network-settings.dtd
+++ b/src/chrome/locale/mn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mn/progress.dtd b/src/chrome/locale/mn/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/mn/progress.dtd
+++ b/src/chrome/locale/mn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mr/network-settings.dtd b/src/chrome/locale/mr/network-settings.dtd
index aa410db..c31e040 100644
--- a/src/chrome/locale/mr/network-settings.dtd
+++ b/src/chrome/locale/mr/network-settings.dtd
@@ -9,30 +9,36 @@
<!ENTITY torsettings.prompt "Before you connect to the Tor network, you need to provide information about this computer's Internet connection.">
<!ENTITY torSettings.yes "Yes">
-<!ENTITY torSettings.no "No">
+<!ENTITY torSettings.no "नाही">
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "जोडा">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mr/progress.dtd b/src/chrome/locale/mr/progress.dtd
index 9c675c1..e37501b 100644
--- a/src/chrome/locale/mr/progress.dtd
+++ b/src/chrome/locale/mr/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "टॉर स्थिती">
<!ENTITY torprogress.openSettings "सेटिंग्स उघडा">
<!ENTITY torprogress.heading "टॉर जाळ्याला जोडणी करणे चालू आहे">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ms-MY/network-settings.dtd b/src/chrome/locale/ms-MY/network-settings.dtd
index 20a6de7..c7eb7d1 100644
--- a/src/chrome/locale/ms-MY/network-settings.dtd
+++ b/src/chrome/locale/ms-MY/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Antara berikut yang manakah terbaik menerangkan keadaan anda?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurasi">
-<!ENTITY torSettings.connectPrompt2 "Saya ingin berhubung terus kepada rangkaian Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Menyambung">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Masukkan tetapan proksi.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Menunggu Tor untuk dimulakan...">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Port yang dibenarkan:">
<!ENTITY torsettings.useBridges.checkbox "Pembekal Perkhidmatan Internet saya (ISP) menghalang sambungan kepada rangkaian Tor">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Masukkan satu atau lebih bridge relay (satu per baris).">
diff --git a/src/chrome/locale/ms-MY/progress.dtd b/src/chrome/locale/ms-MY/progress.dtd
index f24ab09..1735116 100644
--- a/src/chrome/locale/ms-MY/progress.dtd
+++ b/src/chrome/locale/ms-MY/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Buka tetapan.">
<!ENTITY torprogress.heading "Menyambung ke rangkaian Tor.">
-<!ENTITY torprogress.pleaseWait "Sila tunggu sementara kami wujudkan sambung ke rangkaian Tor. ">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/mt/network-settings.dtd b/src/chrome/locale/mt/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/mt/network-settings.dtd
+++ b/src/chrome/locale/mt/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/mt/progress.dtd b/src/chrome/locale/mt/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/mt/progress.dtd
+++ b/src/chrome/locale/mt/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/my/network-settings.dtd b/src/chrome/locale/my/network-settings.dtd
index b1adfef..a3d9240 100644
--- a/src/chrome/locale/my/network-settings.dtd
+++ b/src/chrome/locale/my/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "ခွင့်ပြုထားသော Ports များ -">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/my/progress.dtd b/src/chrome/locale/my/progress.dtd
index 7b35c53..97fdfb1 100644
--- a/src/chrome/locale/my/progress.dtd
+++ b/src/chrome/locale/my/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor အနေအထား">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Tor ကွန်ရက်ကို ဆက်သွယ်နေသည်">
-<!ENTITY torprogress.pleaseWait "Tor ကွန်ယက်နှင့် ချိတ်ဆက်မှုပြုလုပ်နေစဥ်စောင့်ဆိုင်းပေးပါ။">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nah/network-settings.dtd b/src/chrome/locale/nah/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/nah/network-settings.dtd
+++ b/src/chrome/locale/nah/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nah/progress.dtd b/src/chrome/locale/nah/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/nah/progress.dtd
+++ b/src/chrome/locale/nah/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nap/network-settings.dtd b/src/chrome/locale/nap/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/nap/network-settings.dtd
+++ b/src/chrome/locale/nap/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nap/progress.dtd b/src/chrome/locale/nap/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/nap/progress.dtd
+++ b/src/chrome/locale/nap/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nb/network-settings.dtd b/src/chrome/locale/nb/network-settings.dtd
index 1bc8963..802253c 100644
--- a/src/chrome/locale/nb/network-settings.dtd
+++ b/src/chrome/locale/nb/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Hvilket av følgende beskriver best din situasjon?">
<!ENTITY torSettings.configurePrompt1 "Computeren's internett tilkobling er sensurert eller under proxy.">
-<!ENTITY torSettings.configurePrompt2 "Jeg trenger å konfigurere en bro eller lokale mellomtjener innstillinger.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurer">
-<!ENTITY torSettings.connectPrompt2 "Jeg vil koble direkte til Tor-nettverket.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Dette vil fungere i de fleste situasjoner.">
<!ENTITY torSettings.connect "Koble til">
<!ENTITY torSettings.proxyPageTitle "Lokal proxy-konfigurasjon">
<!ENTITY torSettings.proxyQuestion "Trenger denne maskinen å bruke en lokal mellomtjener for å nå Internett?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Dersom du er usikker på hvordan du skal svare på dette spørsmålet, sjekk Internett innstillingene i en annen nettleser for å se om den er konfigurert til å bruke en lokal mellomtjener.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Skriv inn proxy-innstillingene.">
<!ENTITY torSettings.bridgePageTitle "Oppsett av Tor-broer.">
<!ENTITY torSettings.bridgeQuestion "Blokkerer eller sensurerer internettleverandøren (ISP) din tilkoblinger til Tor-nettverket?">
-<!ENTITY torSettings.bridgeHelp "Hvis du er usikker på hva du skal svare på dette spørsmålet, velg Nei.  Hvis du velger Ja, vil du bli bedt om å konfigurere Tor-broer, som er ulistede reléer som gjør det vanskeligere å blokkere tilkoblinger til Tor-nettverket.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Du kan bruke de angitte broene eller du kan skaffe og oppgi egendefinerte broer.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Venter på at Tor skal starte...">
<!ENTITY torsettings.restartTor "Omstart av Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Valgfritt">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Tillatte Porter:">
<!ENTITY torsettings.useBridges.checkbox "Min Internettleverandør (ISP) blokkerer tilkoblinger til Tor-nettverket">
<!ENTITY torsettings.useBridges.default "Koble til med angitte broer">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tilkoblingstype:">
<!ENTITY torsettings.useBridges.custom "Angi egendefinerte broer">
<!ENTITY torsettings.useBridges.label "Angi én eller flere bro-reléer (én per linje).">
@@ -60,7 +67,7 @@
<!ENTITY torsettings.bridgeHelp1 "Hvis du ikke får koblet til Tor-nettverket, kan det være at internettleverandøren din (ISP), eller et annet byrå/institusjon/etat blokkerer Tor.  Som regel kan du omgå dette problemet ved å bruke Tor-broer, som er ulistede reléer og derfor vanskeligere å blokkere.">
<!ENTITY torsettings.bridgeHelp1B "Du kan bruke de prekonfigurerte, angitte bro-adressene eller du kan skaffe deg egendefinerte adresser ved å bruke en av følgende tre metoder:">
<!ENTITY torsettings.bridgeHelp2Heading "Via nettet">
-<!ENTITY torsettings.bridgeHelp2 "Bruk en nettleser for å besøke https://bridges.torproject.org">
+<!ENTITY torsettings.bridgeHelp2 "Bruk en nettleser for å besøke https://bridges.torproject.org/?lang=nb">
<!ENTITY torsettings.bridgeHelp3Heading "Via e-post autosvar">
<!ENTITY torsettings.bridgeHelp3.emailDesc "Send en e-post til bridges(a)torproject.org med 'get bridges' enten i emnefeltet eller i meldingen.  For å gjøre det vanskeligere for en angriper å ta rede på en mengde bro-adresser, må du sende denne forespørselen fra en av følgende i listen over e-posttilbydere (opplistet etter preferanse):">
<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, eller https://mail.yahoo.com">
diff --git a/src/chrome/locale/nb/progress.dtd b/src/chrome/locale/nb/progress.dtd
index 3052326..2d7049a 100644
--- a/src/chrome/locale/nb/progress.dtd
+++ b/src/chrome/locale/nb/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Åpne Innstillinger">
<!ENTITY torprogress.heading "Kobler til Tor-nettverket">
-<!ENTITY torprogress.pleaseWait "Vennligst vent mens vi etablerer en forbindelse til Tor-nettverket.">
+<!ENTITY torprogress.pleaseWait "Vennligst vent mens vi oppretter en tilkobling til Tor-nettverket.  Dette kan ta flere minutter.">
diff --git a/src/chrome/locale/nds/network-settings.dtd b/src/chrome/locale/nds/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/nds/network-settings.dtd
+++ b/src/chrome/locale/nds/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nds/progress.dtd b/src/chrome/locale/nds/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/nds/progress.dtd
+++ b/src/chrome/locale/nds/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ne/network-settings.dtd b/src/chrome/locale/ne/network-settings.dtd
index a853c53..aea700a 100644
--- a/src/chrome/locale/ne/network-settings.dtd
+++ b/src/chrome/locale/ne/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "जडान गर्नुहोस् ">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ne/progress.dtd b/src/chrome/locale/ne/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ne/progress.dtd
+++ b/src/chrome/locale/ne/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl-BE/network-settings.dtd b/src/chrome/locale/nl-BE/network-settings.dtd
index 0cb285b..95f0a12 100644
--- a/src/chrome/locale/nl-BE/network-settings.dtd
+++ b/src/chrome/locale/nl-BE/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Welke van devolgende situaties beschrijft uw situatie het best?">
<!ENTITY torSettings.configurePrompt1 "De Internet connectie van deze computer is gecensureerd of connecteert via een proxy.">
-<!ENTITY torSettings.configurePrompt2 "Ik dien bridge of lokale proxy instellingen te configureren.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configureer">
-<!ENTITY torSettings.connectPrompt2 "Ik zou direct naar het Tor netwerk willen connecteren.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Dit zal werken in de meeste situaties.">
<!ENTITY torSettings.connect "Verbinden">
<!ENTITY torSettings.proxyPageTitle "Lokale Proxy Configuratie.">
<!ENTITY torSettings.proxyQuestion "Gebruikt deze computer een lokale proxy om verbinding te maken met het Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Geef de proxy instellingen in">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuratie">
<!ENTITY torSettings.bridgeQuestion "Blokkeert of censureert uw internetleverancier (ISP) connecties naar het Tor netwerk?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Wachten tot Tor opstart...">
<!ENTITY torsettings.restartTor "Tor herstarten">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optioneel">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nl-BE/progress.dtd b/src/chrome/locale/nl-BE/progress.dtd
index 40774a0..9d01a14 100644
--- a/src/chrome/locale/nl-BE/progress.dtd
+++ b/src/chrome/locale/nl-BE/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Instellingen">
<!ENTITY torprogress.heading "Connecteren naar het Tor netwerk">
-<!ENTITY torprogress.pleaseWait "Gelieve te wachten tot we een connectie opzetten naar het Tor netwerk.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nl/network-settings.dtd b/src/chrome/locale/nl/network-settings.dtd
index 5415366..ab35d6b 100644
--- a/src/chrome/locale/nl/network-settings.dtd
+++ b/src/chrome/locale/nl/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Welke van de volgende beschrijft het best jouw situatie?">
<!ENTITY torSettings.configurePrompt1 "De internetverbinding van deze computer is gecensureerd of loopt via een proxy.">
-<!ENTITY torSettings.configurePrompt2 "Ik moet de instellingen van bridge of lokale proxy aanpassen.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configureren">
-<!ENTITY torSettings.connectPrompt2 "Ik zou graag rechtstreeks met het Tor-netwerk verbinden.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Dit zal in de meeste omstandigheden werken.">
<!ENTITY torSettings.connect "Verbinden">
<!ENTITY torSettings.proxyPageTitle "Lokale proxy-configuratie">
<!ENTITY torSettings.proxyQuestion "Heeft deze computer een lokale proxy nodig om toegang tot het internet te krijgen?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Als je niet zeker weet hoe deze vraag te beantwoorden, kijk naar de internetinstellingen in een andere browser om te zien of deze is geconfigureerd om een lokale proxy te gebruiken.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Voer de proxy-instellingen in.">
<!ENTITY torSettings.bridgePageTitle "Tor bridge-configuratie">
<!ENTITY torSettings.bridgeQuestion "Blokkeert of filtert je Internet Service Provider (ISP) verbindingen met het Tor-netwerk?">
-<!ENTITY torSettings.bridgeHelp "Als je niet zeker weet hoe je deze vraag moet beantwoorden, kies dan Nee.  Als je Ja kiest, moet je Tor bridges instellen, die doordat ze geen bekende relays zijn het moeilijker maken om verbindingen met het Tor-netwerk te blokkeren.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Je ka de opgegeven bridges gebruiken, of je kan je eigen bridges verkrijgen en instellen. ">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Wachten tot Tor gestart is…">
<!ENTITY torsettings.restartTor "Herstart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Facultatief">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Toegestane poorten:">
<!ENTITY torsettings.useBridges.checkbox "Mijn Internet Service Provider (ISP) blokkeert verbindingen naar het Tor-netwerk">
<!ENTITY torsettings.useBridges.default "Verbinden met ingestelde bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transporttype:">
<!ENTITY torsettings.useBridges.custom "Eigen bridge-instellingen">
<!ENTITY torsettings.useBridges.label "Voer een of meer bridge relays in (een per regel).">
diff --git a/src/chrome/locale/nl/progress.dtd b/src/chrome/locale/nl/progress.dtd
index 89b7b7c..fb513ad 100644
--- a/src/chrome/locale/nl/progress.dtd
+++ b/src/chrome/locale/nl/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor status">
<!ENTITY torprogress.openSettings "Open Instellingen">
<!ENTITY torprogress.heading "Bezig met verbinden met het Tor-netwerk">
-<!ENTITY torprogress.pleaseWait "Wacht alstublieft terwijl we een verbinding met het Tor-netwerk tot stand brengen.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nn/network-settings.dtd b/src/chrome/locale/nn/network-settings.dtd
index 8a75a1f..4bd82f0 100644
--- a/src/chrome/locale/nn/network-settings.dtd
+++ b/src/chrome/locale/nn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "Eg vil kopla til direkte til Tor-nettverket.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Dette vil fungera i dei fleste høve">
<!ENTITY torSettings.connect "Kopla til">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Skriv inn mellomtenarinnstillingane.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Start Tor på nytt">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Valfritt">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Tillatne portar:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transporttype:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nn/progress.dtd b/src/chrome/locale/nn/progress.dtd
index 90fe3e6..0664105 100644
--- a/src/chrome/locale/nn/progress.dtd
+++ b/src/chrome/locale/nn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor-status">
<!ENTITY torprogress.openSettings "Opne innstillingar">
<!ENTITY torprogress.heading "Koplar til Tor-nettverket">
-<!ENTITY torprogress.pleaseWait "Gjer vel og vent medan me opprettar samband med Tor-nettverket.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/nso/network-settings.dtd b/src/chrome/locale/nso/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/nso/network-settings.dtd
+++ b/src/chrome/locale/nso/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/nso/progress.dtd b/src/chrome/locale/nso/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/nso/progress.dtd
+++ b/src/chrome/locale/nso/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/oc/network-settings.dtd b/src/chrome/locale/oc/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/oc/network-settings.dtd
+++ b/src/chrome/locale/oc/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/oc/progress.dtd b/src/chrome/locale/oc/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/oc/progress.dtd
+++ b/src/chrome/locale/oc/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/or/network-settings.dtd b/src/chrome/locale/or/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/or/network-settings.dtd
+++ b/src/chrome/locale/or/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/or/progress.dtd b/src/chrome/locale/or/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/or/progress.dtd
+++ b/src/chrome/locale/or/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pa/network-settings.dtd b/src/chrome/locale/pa/network-settings.dtd
index 4270144..127f5c6 100644
--- a/src/chrome/locale/pa/network-settings.dtd
+++ b/src/chrome/locale/pa/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "ਸੰਰਚਨਾ">
-<!ENTITY torSettings.connectPrompt2 "ਮੈਂ ਟੋਰ ਨੈੱਟਵਰਕ ਨਾਲ ਸਿੱਧਾ ਕੁਨੈਕਟ ਹੋਣਾ ਚਾਹੁੰਦਾ/ਚਾਹੁੰਦੀ ਹਾਂ।">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "ਇਹ ਬਹੁਤੇ ਹਾਲਤਾਂ ਵਿੱਚ ਕੰਮ ਕਰੇਗਾ।">
<!ENTITY torSettings.connect "ਕੁਨੈਕਟ ਕਰੋ">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "...ਟੋਰ ਸ਼ੁਰੂ ਹੋਣ ਤੱਕ ਉਡੀਕੋ">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "ਚੋਣਵਾਂ">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "ਦਿੱਤੇ ਬਰਿਜ਼ ਰਾਹੀਂ ਕੁਨੈਕਟ">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "ਟਰਾਂਸਪੋਰਟ ਕਿਸਮ:">
<!ENTITY torsettings.useBridges.custom "ਪਸੰਦੀਦਾ ਬਰਿੱਜ਼ ਦਿਓ">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/pa/progress.dtd b/src/chrome/locale/pa/progress.dtd
index 0a1de0c..ec821bc 100644
--- a/src/chrome/locale/pa/progress.dtd
+++ b/src/chrome/locale/pa/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "ਟੋਰ ਸਥਿਤੀ">
<!ENTITY torprogress.openSettings "ਸੈਟਿੰਗ ਖੋਲ੍ਹੋ">
<!ENTITY torprogress.heading "ਟੋਰ ਨੈੱਟਵਰਕ ਨਾਲ ਕੁਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ">
-<!ENTITY torprogress.pleaseWait "ਸਾਡੇ ਵਲੋਂ ਟੋਰ ਨੈੱਟਵਰਕ ਨਾਲ ਕੁਨੈਕਸ਼ਨ ਤਿਆਰ ਕਰਨ ਤੱਕ ਉਡੀਕ ਕੋਰ ਜੀ।">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pap/network-settings.dtd b/src/chrome/locale/pap/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/pap/network-settings.dtd
+++ b/src/chrome/locale/pap/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/pap/progress.dtd b/src/chrome/locale/pap/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/pap/progress.dtd
+++ b/src/chrome/locale/pap/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pl/network-settings.dtd b/src/chrome/locale/pl/network-settings.dtd
index a7af06b..42180fa 100644
--- a/src/chrome/locale/pl/network-settings.dtd
+++ b/src/chrome/locale/pl/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Które z poniższych najlepiej opisuje Twoją sytuację?">
<!ENTITY torSettings.configurePrompt1 "Połączenie internetowe tego komputera jest ocenzurowane lub przepuszczane przez proxy.">
-<!ENTITY torSettings.configurePrompt2 "Muszę skonfigurować bridge lub lokalne ustawienia proxy.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfiguruj">
-<!ENTITY torSettings.connectPrompt2 "Chcę połączyć się bezpośrednio z siecią Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "To zadziała w większości sytuacji.">
<!ENTITY torSettings.connect "Połącz">
<!ENTITY torSettings.proxyPageTitle "Ustawienia lokalnego proxy">
<!ENTITY torSettings.proxyQuestion "Czy ten komputer musi używać lokalnego proxy, aby połączyć się z Internetem?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Jeśli nie jesteś pewny jak odpowiedzieć na to pytanie, to sprawdź swoje ustawienia internetu w innej przeglądarce, aby zobaczyć czy ma ona skonfigurowane lokalne proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Wprowadź ustawienia serwera proxy">
<!ENTITY torSettings.bridgePageTitle "Ustawienia Tor Bridges">
<!ENTITY torSettings.bridgeQuestion "Czy Twój dostawca usług internetowych (ISP) blokuje lub cenzuruje połączenia sieci Tor?">
-<!ENTITY torSettings.bridgeHelp "Jeśli nie jesteś pewny odpowiedzi na to pytanie proszę wybrać odpowiedź Nie.  Jeśli wybierzesz Tak, to będziesz poproszony o skonfigurowanie mostków Tora, które nie są publicznie wymienione, dzięki czemu będzie trudniej zablokować połączenia do sieci Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Możesz wybrać dostępny zestaw mostków, albo możesz uzyskać i wprowadzić niestandardowy zestaw mostów.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Uruchamianie oprogramowania Tor">
<!ENTITY torsettings.restartTor "Zrestartuj Tora">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "(opcjonalnie)">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Dozwolone porty:">
<!ENTITY torsettings.useBridges.checkbox "Mój dostawca internetu blokuje połączenia do sieci Tor">
<!ENTITY torsettings.useBridges.default "Połącz z dostępnymi mostami.">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Typ Transportu:">
<!ENTITY torsettings.useBridges.custom "Wprowadź własne mosty">
<!ENTITY torsettings.useBridges.label "Dodaj jeden lub więcej przekaźników mostowych (jeden w każdej linijce)">
diff --git a/src/chrome/locale/pl/progress.dtd b/src/chrome/locale/pl/progress.dtd
index f8d75cc..f30af87 100644
--- a/src/chrome/locale/pl/progress.dtd
+++ b/src/chrome/locale/pl/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Status sieci Tor">
<!ENTITY torprogress.openSettings "Ustawienia">
<!ENTITY torprogress.heading "Łączenie z siecią Tor">
-<!ENTITY torprogress.pleaseWait "Poczekaj chwilę, aż ustanowimy połączenie z siecią Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pms/network-settings.dtd b/src/chrome/locale/pms/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/pms/network-settings.dtd
+++ b/src/chrome/locale/pms/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/pms/progress.dtd b/src/chrome/locale/pms/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/pms/progress.dtd
+++ b/src/chrome/locale/pms/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ps/network-settings.dtd b/src/chrome/locale/ps/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ps/network-settings.dtd
+++ b/src/chrome/locale/ps/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ps/progress.dtd b/src/chrome/locale/ps/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ps/progress.dtd
+++ b/src/chrome/locale/ps/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pt-BR/network-settings.dtd b/src/chrome/locale/pt-BR/network-settings.dtd
index 4bb00f0..1379f93 100644
--- a/src/chrome/locale/pt-BR/network-settings.dtd
+++ b/src/chrome/locale/pt-BR/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Quais opções descrevem melhor a sua situação?">
<!ENTITY torSettings.configurePrompt1 "A conexão à Internet deste computador foi censurada, filtrada ou limitada por um proxy.">
-<!ENTITY torSettings.configurePrompt2 "Eu preciso configurar as configurações de ponte ou de proxy local.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configurar">
-<!ENTITY torSettings.connectPrompt2 "Eu gostaria de me conectar diretamente à rede Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Isso funcionará na maioria dos casos.">
<!ENTITY torSettings.connect "Conectar">
<!ENTITY torSettings.proxyPageTitle "Configuração de Proxy Local">
<!ENTITY torSettings.proxyQuestion "Este computador necessita de um proxy local para acessar a Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Se você não tiver certeza de como responder a esta pergunta, dê uma olhada nas configurações de Internet de um outro navegador para ver se ele está configurado para usar um proxy local.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Insira as configurações de proxy.">
<!ENTITY torSettings.bridgePageTitle "Configuração de Pontes Tor">
<!ENTITY torSettings.bridgeQuestion "Seu provedor de serviços de internet (ISP) bloqueia ou censura conexões à rede Tor?">
-<!ENTITY torSettings.bridgeHelp "Se você não estiver seguro sobre como responder a essa questão, escolha Não . Se você escolher Sim, será preciso configurar pontes Tor, que são retransmissores não-listados que dificultam possíveis bloqueios à rede Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Você pode usar o conjunto de pontes fornecidas ou obter e adicionar um conjunto de pontes personalizadas. ">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Esperando que Tor inicie...">
<!ENTITY torsettings.restartTor "Reiniciar o Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcional">
@@ -50,14 +56,15 @@
<!ENTITY torsettings.firewall.allowedPorts "Portas habilitadas:">
<!ENTITY torsettings.useBridges.checkbox "Meu Provedor de Serviços Internet (ISP) bloqueia as conexões à rede Tor">
<!ENTITY torsettings.useBridges.default "Conectar com as pontes fornecidas">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tipo de transporte:">
<!ENTITY torsettings.useBridges.custom "Adicionar pontes personalizadas">
-<!ENTITY torsettings.useBridges.label "Insira um ou mais retransmissores de pontes (um por linha).">
+<!ENTITY torsettings.useBridges.label "Insira um ou mais relés de pontes (um por linha).">
<!ENTITY torsettings.useBridges.placeholder "tipo de endereço:porta">
<!ENTITY torsettings.copyLog "Copiar o registro do Tor na área de transferência">
-<!ENTITY torsettings.bridgeHelpTitle "Ajuda Retransmissor de Ponte">
-<!ENTITY torsettings.bridgeHelp1 "Se for impossível conectar-se à rede Tor, talvez o seu Provedor de Internet (ISP) ou outra instância esteja bloqueando o Tor. . Normalmente, é possível contornar esse problema utilizando Pontes Tor, que são retransmissores ocultos (não listados), mais difíceis de bloquear.">
+<!ENTITY torsettings.bridgeHelpTitle "Ajuda Relé de Ponte">
+<!ENTITY torsettings.bridgeHelp1 "Se for impossível conectar-se à rede Tor, talvez o seu Provedor de Internet (ISP) ou outra instância esteja bloqueando o Tor. . Normalmente, é possível contornar esse problema utilizando Pontes Tor, que são relés ocultos (não listados), mais difíceis de bloquear.">
<!ENTITY torsettings.bridgeHelp1B "Você pode usar o conjunto de endereços de pontes fornecidas, já configuradas, ou pode obter um conjunto personalizado, usando um desses três métodos:">
<!ENTITY torsettings.bridgeHelp2Heading "Através da Web">
<!ENTITY torsettings.bridgeHelp2 "Use um navegador internet para visitar https://bridges.torproject.org">
diff --git a/src/chrome/locale/pt-BR/progress.dtd b/src/chrome/locale/pt-BR/progress.dtd
index f41b13c..b2f8eb3 100644
--- a/src/chrome/locale/pt-BR/progress.dtd
+++ b/src/chrome/locale/pt-BR/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Status do Tor">
<!ENTITY torprogress.openSettings "Abrir Configurações ">
<!ENTITY torprogress.heading "Conectando à rede Tor">
-<!ENTITY torprogress.pleaseWait "Por favor, aguarde enquanto nós estabelecemos uma conexão à rede Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/pt-BR/torlauncher.properties b/src/chrome/locale/pt-BR/torlauncher.properties
index 0c56aff..295770d 100644
--- a/src/chrome/locale/pt-BR/torlauncher.properties
+++ b/src/chrome/locale/pt-BR/torlauncher.properties
@@ -39,13 +39,13 @@ torlauncher.forAssistance=Para assistência, contacte
torlauncher.copiedNLogMessages=Cópia concluída. As mensagens %S do Tor log estão prontas para ser copiadas em um editor de texto ou em uma mensagem de e-mail.
-torlauncher.bootstrapStatus.conn_dir=Conectando a um diretório de retransmissores
+torlauncher.bootstrapStatus.conn_dir=Conectando a um diretório de relés
torlauncher.bootstrapStatus.handshake_dir=Estabelecendo uma conexão de diretório criptografado
torlauncher.bootstrapStatus.requesting_status=Recebendo estado da rede
torlauncher.bootstrapStatus.loading_status=Carregando estado da rede
torlauncher.bootstrapStatus.loading_keys=Carregando certificados de autoridade
-torlauncher.bootstrapStatus.requesting_descriptors=Requisitando informações do retransmissor
-torlauncher.bootstrapStatus.loading_descriptors=Carregando informações do retransmissor
+torlauncher.bootstrapStatus.requesting_descriptors=Requisitando informações do relé
+torlauncher.bootstrapStatus.loading_descriptors=Carregando informações do relé
torlauncher.bootstrapStatus.conn_or=Conectando à rede Tor
torlauncher.bootstrapStatus.handshake_or=Estabelecendo um circuito Tor
torlauncher.bootstrapStatus.done=Conectado à rede Tor!
diff --git a/src/chrome/locale/pt/network-settings.dtd b/src/chrome/locale/pt/network-settings.dtd
index 7790807..03dfb80 100644
--- a/src/chrome/locale/pt/network-settings.dtd
+++ b/src/chrome/locale/pt/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Qual das seguintes frases melhor descreve a sua situação?">
<!ENTITY torSettings.configurePrompt1 "Esta ligação à Internet deste computador está censurada ou é efetuada via proxy.">
-<!ENTITY torSettings.configurePrompt2 "Eu preciso de configurar a ponte ou as definições de proxy local.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configurar">
-<!ENTITY torSettings.connectPrompt2 "Eu gostaria de me ligar diretamente à rede Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Isto irá funcionar na maior parte das situações.">
<!ENTITY torSettings.connect "Ligar">
<!ENTITY torSettings.proxyPageTitle "Configuração do Proxy Local">
<!ENTITY torSettings.proxyQuestion "Este computador precisa de utilizar um proxy para aceder à Internet.">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Se não tem a certeza de como responder a esta questão, procure nas definições da Internet de outro navegador para ver se este está configurado para utilizar um proxy local.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Insira as definições do proxy.">
<!ENTITY torSettings.bridgePageTitle "Configuração das Pontes Tor">
<!ENTITY torSettings.bridgeQuestion "O seu Provedor de Serviços da Internet (ISP) bloqueia ou então censura as ligações à Rede Tor?">
-<!ENTITY torSettings.bridgeHelp "Se não tem a certeza de como responder a esta questão, escolha No.  Se escolher 'Sim', ser-lhe-á pedido para configurar as Pontes do Tor, que são retransmissões não listadas e que torna mais difícil o bloqueio das ligações à Rede Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Poderá utilizar o conjunto de pontes fornecido ou poderá obter um conjunto de pontes personalizadas.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "A aguardar que o Tor inicie...">
<!ENTITY torsettings.restartTor "Reiniciar o Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opcional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas:">
<!ENTITY torsettings.useBridges.checkbox "O meu Provedor de Serviço da Internet (ISP) bloqueia as ligações à rede Tor">
<!ENTITY torsettings.useBridges.default "Ligar com as pontes fornecidas">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tipo de transporte:">
<!ENTITY torsettings.useBridges.custom "Insira as pontes personalizadas">
<!ENTITY torsettings.useBridges.label "Insira uma ou mais retransmissões de ponte (uma por linha).">
diff --git a/src/chrome/locale/pt/progress.dtd b/src/chrome/locale/pt/progress.dtd
index 473438c..85cf672 100644
--- a/src/chrome/locale/pt/progress.dtd
+++ b/src/chrome/locale/pt/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Estado do Tor">
<!ENTITY torprogress.openSettings "Abrir Configurações">
<!ENTITY torprogress.heading "A conetar à rede Tor">
-<!ENTITY torprogress.pleaseWait "Por favor, aguarde, enquanto nós estabelecemos uma ligação à rede Tor">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ro/network-settings.dtd b/src/chrome/locale/ro/network-settings.dtd
index 5e77179..1ab990d 100644
--- a/src/chrome/locale/ro/network-settings.dtd
+++ b/src/chrome/locale/ro/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Care din următoarele descrie cel mai bine situația dvs?">
<!ENTITY torSettings.configurePrompt1 "Această conexiune la internet a computerului este cenzurată sau prin proxy.">
-<!ENTITY torSettings.configurePrompt2 "Am nevoie să configurez puntea sau configurările locale proxy.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configuraţi ">
-<!ENTITY torSettings.connectPrompt2 "Vreau sa ma conectez direct la reţeaua Tor .">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Aceasta funcționează în cele mai multe situații.">
<!ENTITY torSettings.connect "Conectare">
<!ENTITY torSettings.proxyPageTitle "Configurare Proxy local">
<!ENTITY torSettings.proxyQuestion "Are nevoie acest computer să utilizeze un proxy local pentru accesarea internetului?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Dacă nu știi sigur cum să răspunzi la această întrebare, uită-te la setările de Internet într-un alt browser pentru a vedea dacă este configurat să folosească un proxy local.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Introduceţi setările pentru proxy .">
<!ENTITY torSettings.bridgePageTitle "Configurare Punți Tor ">
<!ENTITY torSettings.bridgeQuestion "Internet Service Providerul (ISP) dvs blochează sau cenzurează conexiunile către rețeaua Tor?">
-<!ENTITY torSettings.bridgeHelp "Dacă nu sînteți sigur cum să răspundeți la această întrebare, alegeți Nu.  Dacă alegeți Da, vi se va cere să configurați punțile Tor, care sînt relayuri nelistate care fac mai dificilă blocarea conexiunilor la rețeaua Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Puteți folosi setul de punți oferit sau puteți obține și introduce un set particular de punți.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Aștept Tor să pornească...">
<!ENTITY torsettings.restartTor "Repornește Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opțional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Porturi permise:">
<!ENTITY torsettings.useBridges.checkbox "Internet Service Providerul (ISP) meu blochează conexiunile către rețeaua Tor">
<!ENTITY torsettings.useBridges.default "Conectați-vă punțile oferite">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tip de transport:">
<!ENTITY torsettings.useBridges.custom "Introduceți punți personalizate">
<!ENTITY torsettings.useBridges.label "Introduceți una sau mai multe bridge relays (una pe linie).">
diff --git a/src/chrome/locale/ro/progress.dtd b/src/chrome/locale/ro/progress.dtd
index f81f1b2..bda4ccc 100644
--- a/src/chrome/locale/ro/progress.dtd
+++ b/src/chrome/locale/ro/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Stare Tor">
<!ENTITY torprogress.openSettings "Setări">
<!ENTITY torprogress.heading "Conctare la reţeaua Tor">
-<!ENTITY torprogress.pleaseWait "Așteptați pînă stabilim o conexiune la rețeaua Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ru/network-settings.dtd b/src/chrome/locale/ru/network-settings.dtd
index 41072da..fbf9702 100644
--- a/src/chrome/locale/ru/network-settings.dtd
+++ b/src/chrome/locale/ru/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Что лучше описывает вашу ситуацию?">
<!ENTITY torSettings.configurePrompt1 "Интернет-соединение этого компьютера цензурируется или находится за прокси.">
-<!ENTITY torSettings.configurePrompt2 "Мне необходимо сконфигурировать настройки моста или локального прокси">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Настроить">
-<!ENTITY torSettings.connectPrompt2 "Я бы хотел соединиться с сетью Tor напрямую.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Это должно работать в большинстве ситуаций.">
<!ENTITY torSettings.connect "Соединиться">
<!ENTITY torSettings.proxyPageTitle "Настройки локального прокси">
<!ENTITY torSettings.proxyQuestion "Требуется ли этому компьютеру локальный прокси для доступа к Интернету?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Если Вы не уверены в ответе на этот вопрос, посмотрите настройки Интернета в другом браузере, чтобы проверить, настроен ли он для использования локального прокси.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Введите настройки прокси.">
<!ENTITY torSettings.bridgePageTitle "Настройки шлюзов Tor">
<!ENTITY torSettings.bridgeQuestion "Ваш провайдер (ISP) блокирует или как-либо цензурирует подключения к сети Tor?">
-<!ENTITY torSettings.bridgeHelp "Если вы не знаете, как ответить на этот вопрос, выбирайте Нет.  Если вы выберете Да, вас попросят настроить мосты Tor, которые являются неопубликованными маршрутизаторами, что затрудняет их блокировку.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Вы можете использовать предопределенный набор мостов или получить и ввести список мостов вручную.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Ожидание запуска Tor...">
<!ENTITY torsettings.restartTor "Перезапустить Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Необязательно">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Разрешенные порты:">
<!ENTITY torsettings.useBridges.checkbox "Мой провайдер блокирует доступ к сети Tor">
<!ENTITY torsettings.useBridges.default "Подключиться к предопределенным мостам">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Тип транспорта:">
<!ENTITY torsettings.useBridges.custom "Ввести мосты вручную">
<!ENTITY torsettings.useBridges.label "Введите один или несколько ретрансляторов типа мост (один на строку)">
diff --git a/src/chrome/locale/ru/progress.dtd b/src/chrome/locale/ru/progress.dtd
index 47827da..aa09819 100644
--- a/src/chrome/locale/ru/progress.dtd
+++ b/src/chrome/locale/ru/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Статус Tor">
<!ENTITY torprogress.openSettings "Открыть Настройки">
<!ENTITY torprogress.heading "Подключение к сети Tor">
-<!ENTITY torprogress.pleaseWait "Пожалуйста, подождите, пока будет установлено соединение с сетью Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ru(a)petr1708/network-settings.dtd b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
index 3c1d225..9987337 100644
--- a/src/chrome/locale/ru(a)petr1708/network-settings.dtd
+++ b/src/chrome/locale/ru(a)petr1708/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ru(a)petr1708/progress.dtd b/src/chrome/locale/ru(a)petr1708/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ru(a)petr1708/progress.dtd
+++ b/src/chrome/locale/ru(a)petr1708/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sco/network-settings.dtd b/src/chrome/locale/sco/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/sco/network-settings.dtd
+++ b/src/chrome/locale/sco/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sco/progress.dtd b/src/chrome/locale/sco/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/sco/progress.dtd
+++ b/src/chrome/locale/sco/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/si-LK/network-settings.dtd b/src/chrome/locale/si-LK/network-settings.dtd
index 0ef880c..d5c5fb1 100644
--- a/src/chrome/locale/si-LK/network-settings.dtd
+++ b/src/chrome/locale/si-LK/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "පහත සදහන් කුමක් ඔබගේ තත්ත්වය හොදින්ම විස්තර කරයිද?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "වින්යාස කරන්න">
-<!ENTITY torSettings.connectPrompt2 "මම ඍජුවම Tor ජාලය හා සම්බන්ධ වීමට කැමතිය.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "සම්බන්ධ වෙන්න">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "නියුතු සේවාදායක සැකසුම් ඇතුළත් කරන්න">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "TOR ආරම්භ වනතුරු …">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "අමතර">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "අනුමත Ports">
<!ENTITY torsettings.useBridges.checkbox "මාගේ අන්තර්ජාල සේවා සපයන්නා(ISP) විසින් TOR ජාලය සදහා සබදතාවය අවහිර කර ඇත.">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/si-LK/progress.dtd b/src/chrome/locale/si-LK/progress.dtd
index f1d7045..6377cf4 100644
--- a/src/chrome/locale/si-LK/progress.dtd
+++ b/src/chrome/locale/si-LK/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor තත්ත්වය ">
<!ENTITY torprogress.openSettings "සිටුවම් විවෘත කරන්න">
<!ENTITY torprogress.heading "Tor ජාලය හා සම්බන්ධ වෙමින්">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sk-SK/network-settings.dtd b/src/chrome/locale/sk-SK/network-settings.dtd
index 8520626..81deede 100644
--- a/src/chrome/locale/sk-SK/network-settings.dtd
+++ b/src/chrome/locale/sk-SK/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Ktorá z nasledujúcich situácií najlepšie popisuje vašu?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurovať">
-<!ENTITY torSettings.connectPrompt2 "Rád by som sa pripojil priamo do siete Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Toto by vo väčšine prípadov malo fungovať.">
<!ENTITY torSettings.connect "Pripojiť">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Zadajte nastavenia proxy.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Blokuje váš poskytovateľ internetového pripojenia (ISP) alebo inak cenzuruje pripojenia do siete Tor Network?">
-<!ENTITY torSettings.bridgeHelp "Ak si nie ste istí, ako odpovedať, zvoľte Nie.  Ak zvolíte Áno, bude potrebné nakonfigurovať Tor Bridges, čo sú nikde nezapísané relé, použitie ktorých robí blokovanie pripojenia do Tor Network ešte obtiažnejším.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Môžete použiť dodanú sadu premostení alebo si môžete zaobstarať a zadať vlastnú sadu premostení.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Čakanie na štart Toru...">
<!ENTITY torsettings.restartTor "Reštartovať Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Voliteľné">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Povolené porty:">
<!ENTITY torsettings.useBridges.checkbox "Môj poskytovateľ internetového pripojenia blokuje spojenie do siete Tor">
<!ENTITY torsettings.useBridges.default "Pripojiť sa cez dodané premostenia">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Typ transportu:">
<!ENTITY torsettings.useBridges.custom "Zadajte vlastné premostenia">
<!ENTITY torsettings.useBridges.label "Zadaj jedno alebo viac premostení relé (jedno na riadok).">
diff --git a/src/chrome/locale/sk-SK/progress.dtd b/src/chrome/locale/sk-SK/progress.dtd
index cdf3509..58926c8 100644
--- a/src/chrome/locale/sk-SK/progress.dtd
+++ b/src/chrome/locale/sk-SK/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Otvoriť nastavenia">
<!ENTITY torprogress.heading "Pripájanie do siete Tor ">
-<!ENTITY torprogress.pleaseWait "Čakajte, prosím, kým sa vytvorí spojenie do siete Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sk/network-settings.dtd b/src/chrome/locale/sk/network-settings.dtd
index 4360063..5826392 100644
--- a/src/chrome/locale/sk/network-settings.dtd
+++ b/src/chrome/locale/sk/network-settings.dtd
@@ -1,7 +1,7 @@
<!ENTITY torsettings.dialog.title "Sieťové Nastavenia Tor">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
+<!ENTITY torlauncher.localePicker.title "Jazyk Prehliadača Tor">
<!ENTITY torlauncher.localePicker.prompt "Prosím vyberte si jazyk">
<!-- For "first run" wizard: -->
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Ktoré z nasledujúcich možností najlepšie opisuje Vašu situáciu?">
<!ENTITY torSettings.configurePrompt1 "Pripojenie tohto počítača k Internetu je cenzurované, filtrované alebo sprostredkovávané.">
-<!ENTITY torSettings.configurePrompt2 "Potrebujem nastaviť premostenie alebo lokálne proxy nastavenia.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurácia">
-<!ENTITY torSettings.connectPrompt2 "Chcem sa pripojiť priamo do siete Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Toto bude vo väčšine prípadov fungovať.">
<!ENTITY torSettings.connect "Pripojiť">
<!ENTITY torSettings.proxyPageTitle "Lokálne proxy nastavenie">
<!ENTITY torSettings.proxyQuestion "Potrebuje tento počítač používať lokálne proxy k prístupu na internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ak si nie ste istý ako odpovedať na túto otázku, pozrite sa do internetových nastavení iného prehliadača aby ste pochopili či je nastavený tak aby používal lokálne proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Vstúpiť do nastavení proxy.">
<!ENTITY torSettings.bridgePageTitle "Nastavenie Tor premostení">
<!ENTITY torSettings.bridgeQuestion "Blokuje alebo nejak cenzuruje váš Poskytovateľ Internetu (ISP) pripojenia k Sieti Tor?">
-<!ENTITY torSettings.bridgeHelp "Ak ste si nie istý ako zodpovedať túto otázku, zvoľte Nie.  Ak zvolíte Áno, budete vyzvaný na konfiguráciu Mostov Toru, čo sú nezaradené relé značne sťažujúce blokovanie pripojení k Sieti Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Môžete použiť poskytnutú sadu mostov alebo získať a vložiť vlastnú sadu.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Čakám kým sa Tor spustí...">
<!ENTITY torsettings.restartTor "Reštartujte Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Voliteľné">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Povolené porty:">
<!ENTITY torsettings.useBridges.checkbox "Môj Internetový provider (ISP) blokuje pripojenia do siete Toru">
<!ENTITY torsettings.useBridges.default "Pripojiť sa s poskytnutými mostami">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Prepravný typ:">
<!ENTITY torsettings.useBridges.custom "Vložiť vlastné mosty">
<!ENTITY torsettings.useBridges.label "Vložte jedno alebo viacero relé premostení (každé do nového riadka).">
diff --git a/src/chrome/locale/sk/progress.dtd b/src/chrome/locale/sk/progress.dtd
index 81c3a1a..fcb403f 100644
--- a/src/chrome/locale/sk/progress.dtd
+++ b/src/chrome/locale/sk/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor status">
<!ENTITY torprogress.openSettings "Otvor nastavenia">
<!ENTITY torprogress.heading "Pripájanie do siete Tor">
-<!ENTITY torprogress.pleaseWait "Prosíme počkajte kým nadviažeme spojenie so sieťou Toru.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl-SI/network-settings.dtd b/src/chrome/locale/sl-SI/network-settings.dtd
index e80491f..a5b4388 100644
--- a/src/chrome/locale/sl-SI/network-settings.dtd
+++ b/src/chrome/locale/sl-SI/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Kaj od sledečega najbolj ustzrezno opisuje vašo situacijo?">
<!ENTITY torSettings.configurePrompt1 "Ta računalniška internet povezava je cenzurirana ali neposredna.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Oblikovanje">
-<!ENTITY torSettings.connectPrompt2 "Hočem se neposredno povezati na Tor omrežje.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "To deluje v večini primerov.">
<!ENTITY torSettings.connect "Povezava">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Vnesite nastavitve strežnika proxy.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Ali vaš internetni ponudnik (ISP) blokira ali kako drugače cenzurira povezavo na Tor omrežje?">
-<!ENTITY torSettings.bridgeHelp "Če niste prepričani kako odgovoriti na to vprašanje, izberite Ne.  Če ste izbrali Da, boste morali nastaviti Tor premostitve na nenašteta vozlišča, za težje blokiranje povezave na Tor omrežje.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Lahko uporabite pripravljene nastavitve povezav ali pridobite in vnesete običajne nastavitve povezav.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Čakanje na zagon Tor-a...">
<!ENTITY torsettings.restartTor "Ponovno zaženite Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Po izbiri">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Dovoljena vrata:">
<!ENTITY torsettings.useBridges.checkbox "Moj internetni ponudnik (ISP) blokira povezave na Tor omrežje">
<!ENTITY torsettings.useBridges.default "Povezava z ponujeno premostitvijo">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Tip prometa:">
<!ENTITY torsettings.useBridges.custom "Vnesite običajne premostitve">
<!ENTITY torsettings.useBridges.label "Vnesite enega ali več premostitvenih vozlišč (vsakega v svojo vrsto)">
diff --git a/src/chrome/locale/sl-SI/progress.dtd b/src/chrome/locale/sl-SI/progress.dtd
index 3153326..95372f9 100644
--- a/src/chrome/locale/sl-SI/progress.dtd
+++ b/src/chrome/locale/sl-SI/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor stanje">
<!ENTITY torprogress.openSettings "Odpri Nastavitve">
<!ENTITY torprogress.heading "Povezovanje v Tor omrežje">
-<!ENTITY torprogress.pleaseWait "Prosim počakajte, da se stabilizira povezava v Tor omrežje.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sl/network-settings.dtd b/src/chrome/locale/sl/network-settings.dtd
index 31e1cfc..73ef092 100644
--- a/src/chrome/locale/sl/network-settings.dtd
+++ b/src/chrome/locale/sl/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Poveži">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sl/progress.dtd b/src/chrome/locale/sl/progress.dtd
index d62303a..5d12bf5 100644
--- a/src/chrome/locale/sl/progress.dtd
+++ b/src/chrome/locale/sl/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor stanje">
<!ENTITY torprogress.openSettings "Odpri nastavitve">
<!ENTITY torprogress.heading "Povezovanje v Tor omrežje">
-<!ENTITY torprogress.pleaseWait "Počakajte, da vzpostavimo povezavo s Tor omrežjem">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sn/network-settings.dtd b/src/chrome/locale/sn/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/sn/network-settings.dtd
+++ b/src/chrome/locale/sn/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sn/progress.dtd b/src/chrome/locale/sn/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/sn/progress.dtd
+++ b/src/chrome/locale/sn/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/so/network-settings.dtd b/src/chrome/locale/so/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/so/network-settings.dtd
+++ b/src/chrome/locale/so/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/so/progress.dtd b/src/chrome/locale/so/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/so/progress.dtd
+++ b/src/chrome/locale/so/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/son/network-settings.dtd b/src/chrome/locale/son/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/son/network-settings.dtd
+++ b/src/chrome/locale/son/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/son/progress.dtd b/src/chrome/locale/son/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/son/progress.dtd
+++ b/src/chrome/locale/son/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq-AL/network-settings.dtd b/src/chrome/locale/sq-AL/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/sq-AL/network-settings.dtd
+++ b/src/chrome/locale/sq-AL/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sq-AL/progress.dtd b/src/chrome/locale/sq-AL/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/sq-AL/progress.dtd
+++ b/src/chrome/locale/sq-AL/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sq/network-settings.dtd b/src/chrome/locale/sq/network-settings.dtd
index 9a627e9..228d865 100644
--- a/src/chrome/locale/sq/network-settings.dtd
+++ b/src/chrome/locale/sq/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Cila nga këto e përshkruan më mirë situatën tuaj të tanishme?">
<!ENTITY torSettings.configurePrompt1 "Lidhja e Internetit të këtij kompjuteri është e censuruar ose me proxy">
-<!ENTITY torSettings.configurePrompt2 "Më duhet të konfiguroj urën ose parametrat e proxy-t.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfiguroni">
-<!ENTITY torSettings.connectPrompt2 "Do të dëshiroja të lidhesha drejtpërdrejt me rrjetin e Tor.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Kjo do të funksionojë në shumë situata.">
<!ENTITY torSettings.connect "Lidhuni">
<!ENTITY torSettings.proxyPageTitle "Konfigurimi i Proxy-t Lokal ">
<!ENTITY torSettings.proxyQuestion "A i nevojitet këtij kompjuteri që të përdorë një proxy lokal, për t'u qasur në Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Nëse s'jeni i sigurt sesi t'i përgjigjeni kësaj pyetje, shikoni tek konfigurimi i Internetit në një tjetër shfletues, për të parë nëse ai është i konfiguruar për të përdorur një proxy lokal.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Futni konfigurimin e proxy-t.">
<!ENTITY torSettings.bridgePageTitle "Konfigurimi i Urave të Tor">
<!ENTITY torSettings.bridgeQuestion "A i pengon ose censuron lidhjet për tek Rrjeti Tor, Ofruesi juaj i Shërbimit Internet (ISP)?">
-<!ENTITY torSettings.bridgeHelp "Nëse s'jeni i sigurt sesi t'i përgjigjeni kësaj pyetje, përzgjidhni "Jo".  Nëse përzgjidhni "Po", do t'ju kërkohet të konfiguroni Tor bridges, të cilat janë rele të palistuara, që e bëjnë më të vështirë pengimin e lidhjeve për tek Rrjeti Tor.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Ju mund të përdorni grupin e dhënë të urave, ose mund të përftoni dhe futni një sasi të personalizuar urash.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Duke pritur që Tor të nisë...">
<!ENTITY torsettings.restartTor "Riniseni Tor-in">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Me zgjedhje">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Portat e Lejuara:">
<!ENTITY torsettings.useBridges.checkbox "Ofruesi im i Shërbimit të Internetit (ISP) pengon lidhjet drejt rrjetit Tor">
<!ENTITY torsettings.useBridges.default "Lidhuni me urat e ofruara">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Lloji i Transportit:">
<!ENTITY torsettings.useBridges.custom "Futini urat e përshtatura">
<!ENTITY torsettings.useBridges.label "Futni një ose më shumë rele urë (një për rresht)">
diff --git a/src/chrome/locale/sq/progress.dtd b/src/chrome/locale/sq/progress.dtd
index 8138a00..167ecd2 100644
--- a/src/chrome/locale/sq/progress.dtd
+++ b/src/chrome/locale/sq/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Gjendja e Tor">
<!ENTITY torprogress.openSettings "Hapeni Konfigurimin">
<!ENTITY torprogress.heading "Duke u lidhur me rrjetin Tor">
-<!ENTITY torprogress.pleaseWait "Ju lutemi prisni derisa të vendoset një lidhje me rrjetin Tor">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr/network-settings.dtd b/src/chrome/locale/sr/network-settings.dtd
index 0883ccf..f4f9098 100644
--- a/src/chrome/locale/sr/network-settings.dtd
+++ b/src/chrome/locale/sr/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Шта од понуђеног најбоље описује Вашу ситуацију?">
<!ENTITY torSettings.configurePrompt1 "Интернет конекција овог рачунара је цензурисана или посредована.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Конфигуриши">
-<!ENTITY torSettings.connectPrompt2 "Желео бих да се повежем директно на Тор мрежу.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Ово ће радити у већини ситуација.">
<!ENTITY torSettings.connect "Повежи се">
<!ENTITY torSettings.proxyPageTitle "Konfiguracija lokalnog proksija">
<!ENTITY torSettings.proxyQuestion "Da li ovaj kompjuter koristi lokalni proksi kao pristup internetu?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Ako niste sigurni kako da odgovorite na ovo pitanje, pogledajte internet podešavanja u drugom brauzeruda biste utvrdili da li je konfigurisan da koristi lokalni proksi.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Унесите proxy подешавања.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Да ли Ваш интернет сервис провајдер (ИСП) блокира или на неки други начин цензурише повезивање на Тор мрежу?">
-<!ENTITY torSettings.bridgeHelp "Ако нисте сигурни како да одговорите на ово питање, изаберите Не.  Ако изаберете Да, бићете замољени да подесите Тор Премошћиваче, који су неизлистани преносници чија је улога да отежавају блокирање повезивања на Тор мрежу.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Можете користити понуђени сет премошћивача или можете добавити или унети жељени сет премошћивача.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Чекамо да се Тор покрене...">
<!ENTITY torsettings.restartTor "Поново покрени Тор">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Опционо">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Дозвољени Портови:">
<!ENTITY torsettings.useBridges.checkbox "Мој интернет сервис провајдер (ИСП) блокира повезивање на Тор мрежу.">
<!ENTITY torsettings.useBridges.default "Повежите се са понуђеним премошћивачима">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Врста транспорта:">
<!ENTITY torsettings.useBridges.custom "Унесите жељене премошћиваче">
<!ENTITY torsettings.useBridges.label "Unesite jedan ili više releja mostova (u svakom redu po jedan).">
diff --git a/src/chrome/locale/sr/progress.dtd b/src/chrome/locale/sr/progress.dtd
index 5e5f506..ef5e90c 100644
--- a/src/chrome/locale/sr/progress.dtd
+++ b/src/chrome/locale/sr/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Тор статус">
<!ENTITY torprogress.openSettings "Отвори подешавања">
<!ENTITY torprogress.heading "Повезивање на Тор мрежу">
-<!ENTITY torprogress.pleaseWait "Молимо вас сачекајте док успоставимо везу са Тор мрежом">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sr(a)latin/network-settings.dtd b/src/chrome/locale/sr(a)latin/network-settings.dtd
index 331278d..dcb6891 100644
--- a/src/chrome/locale/sr(a)latin/network-settings.dtd
+++ b/src/chrome/locale/sr(a)latin/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Koji od ponuđenih najbolje opisuje vašu situaciju?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfiguriši">
-<!ENTITY torSettings.connectPrompt2 "Želim da se direktno povežem na Tor mrežu.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Ovo će raditi u većini situacija.">
<!ENTITY torSettings.connect "Povezivanje">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Da li ovaj kompjuter koristi lokalni proksi za pristup internetu?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Unesite vaša proksi podešavanja.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restartovanje Tor-a">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Opciono">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Dozvoljeni portovi: ">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sr(a)latin/progress.dtd b/src/chrome/locale/sr(a)latin/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/sr(a)latin/progress.dtd
+++ b/src/chrome/locale/sr(a)latin/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/st/network-settings.dtd b/src/chrome/locale/st/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/st/network-settings.dtd
+++ b/src/chrome/locale/st/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/st/progress.dtd b/src/chrome/locale/st/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/st/progress.dtd
+++ b/src/chrome/locale/st/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/su/network-settings.dtd b/src/chrome/locale/su/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/su/network-settings.dtd
+++ b/src/chrome/locale/su/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/su/progress.dtd b/src/chrome/locale/su/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/su/progress.dtd
+++ b/src/chrome/locale/su/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sv/network-settings.dtd b/src/chrome/locale/sv/network-settings.dtd
index c53103f..19fcb74 100644
--- a/src/chrome/locale/sv/network-settings.dtd
+++ b/src/chrome/locale/sv/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Vilket av följande beskriver bäst din situation?">
<!ENTITY torSettings.configurePrompt1 "Den här datorns Internetanslutning är censorerad eller går genom en proxy.">
-<!ENTITY torSettings.configurePrompt2 "Jag behöver konfigurera brygg- eller proxyinställningar.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Konfigurera">
-<!ENTITY torSettings.connectPrompt2 "Jag vill ansluta direkt till Tor-nätverket.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Detta fungerar i de flesta situationer.">
<!ENTITY torSettings.connect "Anslut">
<!ENTITY torSettings.proxyPageTitle "Lokal proxy-konfiguration">
<!ENTITY torSettings.proxyQuestion "Behöver den här datorn använda en lokal proxy för att ansluta till Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Om du är osäker på svaret på frågan, titta på Internetinställningarna i en annan webbläsare för att se om den är konfigurerad att använda en lokal proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Ange proxyinställningarna.">
<!ENTITY torSettings.bridgePageTitle "Konfiguration av Tor-bryggor">
<!ENTITY torSettings.bridgeQuestion "Blockerar eller censurerar din internetleverantör anslutningar till Tor-nätverket?">
-<!ENTITY torSettings.bridgeHelp "Om du är osäker på hur du ska svara på den här frågan, välj Nej.  Om du väljer Ja kommer du ombes att konfigurera Tor-bryggor, vilka är olistade reläer som gör det svårare att blockera anslutningar till Tor-nätverket.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Du kan använda de förkonfigurerade bryggorna, eller skaffa och ange bryggor själv.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Väntar på att Tor ska starta...">
<!ENTITY torsettings.restartTor "Starta om Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Valfri">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Tillåtna portar:">
<!ENTITY torsettings.useBridges.checkbox "Min internetleverantör blockerar anslutningar till Tor-nätverket">
<!ENTITY torsettings.useBridges.default "Anslut med tillgängliga bryggor">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport-typ:">
<!ENTITY torsettings.useBridges.custom "Fyll i anpassade bryggor">
<!ENTITY torsettings.useBridges.label "Ange en eller flera Tor-bryggor (en per rad).">
diff --git a/src/chrome/locale/sv/progress.dtd b/src/chrome/locale/sv/progress.dtd
index c42db4e..7ac45ca 100644
--- a/src/chrome/locale/sv/progress.dtd
+++ b/src/chrome/locale/sv/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor-status">
<!ENTITY torprogress.openSettings "Öppna inställningar">
<!ENTITY torprogress.heading "Ansluter till Tor-nätverket">
-<!ENTITY torprogress.pleaseWait "Vänta medan vi upprättar en anslutning till Tor-nätverket.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/sw/network-settings.dtd b/src/chrome/locale/sw/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/sw/network-settings.dtd
+++ b/src/chrome/locale/sw/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/sw/progress.dtd b/src/chrome/locale/sw/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/sw/progress.dtd
+++ b/src/chrome/locale/sw/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/szl/network-settings.dtd b/src/chrome/locale/szl/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/szl/network-settings.dtd
+++ b/src/chrome/locale/szl/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/szl/progress.dtd b/src/chrome/locale/szl/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/szl/progress.dtd
+++ b/src/chrome/locale/szl/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ta/network-settings.dtd b/src/chrome/locale/ta/network-settings.dtd
index 5e1479c..7ffc083 100644
--- a/src/chrome/locale/ta/network-settings.dtd
+++ b/src/chrome/locale/ta/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "கட்டமைக்க">
-<!ENTITY torSettings.connectPrompt2 "நான் Tor வலையமைப்பில் நேரடியாக இணைக்க விரும்புகிறேன்.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "இணைக்க">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Tor தொடங்குவதற்கு காத்திருக்கிறது...">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "விருப்பத்தேர்வு">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ta/progress.dtd b/src/chrome/locale/ta/progress.dtd
index b8570e4..3bbd799 100644
--- a/src/chrome/locale/ta/progress.dtd
+++ b/src/chrome/locale/ta/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor நிலைமை">
<!ENTITY torprogress.openSettings "அமைப்புக்களை திற">
<!ENTITY torprogress.heading "Tor நெட்வொர்க்கிற்கு இணைக்கிறது">
-<!ENTITY torprogress.pleaseWait "தயவு செய்து பொறுக்கவும், Tor நெட்வொர்க்கிற்கு இணைப்பு தொடர்தாபிக்கப்படுகிறது.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te-IN/network-settings.dtd b/src/chrome/locale/te-IN/network-settings.dtd
index 8943c47..c19ed8a 100644
--- a/src/chrome/locale/te-IN/network-settings.dtd
+++ b/src/chrome/locale/te-IN/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/te-IN/progress.dtd b/src/chrome/locale/te-IN/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/te-IN/progress.dtd
+++ b/src/chrome/locale/te-IN/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/te/network-settings.dtd b/src/chrome/locale/te/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/te/network-settings.dtd
+++ b/src/chrome/locale/te/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/te/progress.dtd b/src/chrome/locale/te/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/te/progress.dtd
+++ b/src/chrome/locale/te/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tg/network-settings.dtd b/src/chrome/locale/tg/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/tg/network-settings.dtd
+++ b/src/chrome/locale/tg/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/tg/progress.dtd b/src/chrome/locale/tg/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/tg/progress.dtd
+++ b/src/chrome/locale/tg/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/th/network-settings.dtd b/src/chrome/locale/th/network-settings.dtd
index 23ad049..c97495e 100644
--- a/src/chrome/locale/th/network-settings.dtd
+++ b/src/chrome/locale/th/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "สิ่งต่อไปนี้อันไหนบ้างที่บรรยายลักษณะสถานการณ์ของคุณ">
<!ENTITY torSettings.configurePrompt1 "การเชื่อมต่ออินเตอร์เน็ตของคอมพิวเตอร์เครื่องนี้ถูกตรวจสอบหรือมีการใช้พร็อกซี่">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "ปรับแต่ง">
-<!ENTITY torSettings.connectPrompt2 "ฉันอยากจะเชื่อมต่อโดยตรงกับเครือข่าย Tor">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "นี่จะทำงานในสถานการณ์ส่วนใหญ่">
<!ENTITY torSettings.connect "เชื่อมต่อ">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "ใส่ค่าติดตั้งพร็อกซี">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "ผู้ให้บริการอินเตอร์เน็ต (ISP) ของคุณปิดกั้นหรือคัดกรองการเชื่อมต่อไปยังเครือข่าย Tor หรือไม่?">
-<!ENTITY torSettings.bridgeHelp "ถ้าคุณไม่แน่ใจ ตอบไม่  ถ้าคุณตอบใช่ คุณจะต้องตั้งค่า Tor Bridge ซึ่งเป็นรีเลย์ที่ไม่ถูกลิสต์ไว้และช่วยให้เป็นไปได้ยากขึ้นที่จะปิดกั้นการเชื่อมต่อไปยังเครือข่าย Tor">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "รอให้ Tor เริ่มทำงาน...">
<!ENTITY torsettings.restartTor "เริ่มการทำงานของ Tor ใหม่">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "ตัวเลือก">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "พอร์ตที่อนุญาต:">
<!ENTITY torsettings.useBridges.checkbox "ผู้ให้บริการอินเทอร์เน็ต (ไอเอสพี) ของฉัน ปิดกั้นการเชื่อมต่อกับเครือข่าย Tor">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "ใส่สะพานรีเลย์อย่างน้อยหนึ่งอัน (บรรทัดละอัน)">
diff --git a/src/chrome/locale/th/progress.dtd b/src/chrome/locale/th/progress.dtd
index 839aade..002e38f 100644
--- a/src/chrome/locale/th/progress.dtd
+++ b/src/chrome/locale/th/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "สถานะ Tor">
<!ENTITY torprogress.openSettings "การตั้งค่า">
<!ENTITY torprogress.heading "กำลังเชื่อมต่อสู่เครือข่าย Tor">
-<!ENTITY torprogress.pleaseWait "กรุณารอขณะที่เรากำลังทำการเชื่อมต่อไปยังเครือข่าย Tor">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ti/network-settings.dtd b/src/chrome/locale/ti/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ti/network-settings.dtd
+++ b/src/chrome/locale/ti/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ti/progress.dtd b/src/chrome/locale/ti/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ti/progress.dtd
+++ b/src/chrome/locale/ti/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tk/network-settings.dtd b/src/chrome/locale/tk/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/tk/network-settings.dtd
+++ b/src/chrome/locale/tk/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/tk/progress.dtd b/src/chrome/locale/tk/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/tk/progress.dtd
+++ b/src/chrome/locale/tk/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tr/network-settings.dtd b/src/chrome/locale/tr/network-settings.dtd
index c37d65d..eb86388 100644
--- a/src/chrome/locale/tr/network-settings.dtd
+++ b/src/chrome/locale/tr/network-settings.dtd
@@ -6,37 +6,43 @@
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "Tor ağına bağlanmadan önce, bu bilgisayarın Internet bağlantısı hakkında bilgi vermeniz gerekiyor.">
+<!ENTITY torsettings.prompt "Tor ağına bağlanmadan önce, bu bilgisayarın İnternet bağlantısı hakkında bilgi vermeniz gerekiyor.">
<!ENTITY torSettings.yes "Evet">
<!ENTITY torSettings.no "Hayır">
<!ENTITY torSettings.firstQuestion "Aşağıdakilerden hangisi durumunuzu en iyi açıklıyor?">
-<!ENTITY torSettings.configurePrompt1 "Bu bilgisayarın Internet bağlantısı sansürlü ya da vekil sunucu arkasında.">
-<!ENTITY torSettings.configurePrompt2 "Köprü ve yerel vekil sunucu ayarlarını yapmam gerekiyor.">
+<!ENTITY torSettings.configurePrompt1 "Bu bilgisayarın İnternet bağlantısı sansürlü ya da vekil sunucu arkasında.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Yapılandır">
-<!ENTITY torSettings.connectPrompt2 "Doğrudan Tor ağına bağlanmak istiyorum.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Bu çoğu durumda çalışır.">
<!ENTITY torSettings.connect "Bağlan">
<!ENTITY torSettings.proxyPageTitle "Yerel Vekil Sunucu Ayarları">
-<!ENTITY torSettings.proxyQuestion "Bu bilgisayarın Internet'e erişmesi için bir yerel vekil sunucu kullanması gerekiyor mu?">
+<!ENTITY torSettings.proxyQuestion "Bu bilgisayarın İnternet'e erişmesi için bir yerel vekil sunucu kullanması gerekiyor mu?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Bu soruyu nasıl yanıtlayacağınızı bilmiyorsanız, başka bir tarayıcıda Internet ayarlarına bakarak bir yerel vekil sunucu kullanılıp kullanılmadığını görün.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Vekil sunucu ayarlarını girin.">
<!ENTITY torSettings.bridgePageTitle "Tor Köprüleri Ayarları">
-<!ENTITY torSettings.bridgeQuestion "Internet Servis Sağlayıcınız (ISS) Tor Ağına olan bağlantıları engelliyor ya da sansürlüyor mu?">
-<!ENTITY torSettings.bridgeHelp "Bu soruyu nasıl yanıtlayacağınızı bilmiyorsanız, Hayır 'ı seçin. Evet'i seçerseniz, Tor Ağı bağlantılarının engellenmesini daha zor hale getiren, listelenmeyen aktarıcılar olan Tor Köprülerini ayarlamanız istenir.">
+<!ENTITY torSettings.bridgeQuestion "İnternet Servis Sağlayıcınız (ISS) Tor Ağına olan bağlantıları engelliyor ya da sansürlüyor mu?">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Sağlanan köprüleri kullanabilir ya da özel köprüler edinip yazabilirsiniz.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Tor'un başlaması bekleniyor…">
<!ENTITY torsettings.restartTor "Tor'u Yeniden Başlat">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "İsteğe bağlı">
-<!ENTITY torsettings.useProxy.checkbox "Bu bilgisayarın Internet'e erişmesi için bir yerel vekil sunucu kullanması gerekiyor">
+<!ENTITY torsettings.useProxy.checkbox "Bu bilgisayarın İnternet'e erişmesi için bir yerel vekil sunucu kullanması gerekiyor">
<!ENTITY torsettings.useProxy.type "Vekil Sunucu Tipi:">
<!ENTITY torsettings.useProxy.address "Adres:">
<!ENTITY torsettings.useProxy.address.placeholder "IP adresi ya da sunucu adı">
@@ -48,8 +54,9 @@
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "Bu bilgisayar yalnız belirli bağlantı noktalarına bağlanmaya izin veren bir güvenlik duvarı kullanıyor">
<!ENTITY torsettings.firewall.allowedPorts "İzin Verilen Bağlantı Noktaları:">
-<!ENTITY torsettings.useBridges.checkbox "Internet Servis Sağlayıcım (ISS) Tor ağına olan bağlantıları engelliyor">
+<!ENTITY torsettings.useBridges.checkbox "İnternet Servis Sağlayıcım (ISS) Tor ağına olan bağlantıları engelliyor">
<!ENTITY torsettings.useBridges.default "Sağlanan köprüler ile bağlan">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Aktarım tipi:">
<!ENTITY torsettings.useBridges.custom "Özel köprüler yazın">
<!ENTITY torsettings.useBridges.label "Bir ya da birkaç köprü aktarıcısı yazın (her satıra bir tane).">
@@ -57,7 +64,7 @@
<!ENTITY torsettings.copyLog "Tor Günlüğünü Panoya Kopyala">
<!ENTITY torsettings.bridgeHelpTitle "Köprü Aktarıcı Yardımı">
-<!ENTITY torsettings.bridgeHelp1 "Tor ağına bağlanamıyorsanız, kullandığınız Internet Servis Sağlayıcısı (ISS) ya da başka bir kurum Tor 'u engelliyor olabilir. Bu sorunu çoğunlukla, engellenmesi daha zor olan listelenmeyen aktarıcılar, Tor Köprülerini kullanarak çözebilirsiniz.">
+<!ENTITY torsettings.bridgeHelp1 "Tor ağına bağlanamıyorsanız, kullandığınız İnternet Servis Sağlayıcısı (ISS) ya da başka bir kurum Tor 'u engelliyor olabilir. Bu sorunu çoğunlukla, engellenmesi daha zor olan listelenmeyen aktarıcılar, Tor Köprülerini kullanarak çözebilirsiniz.">
<!ENTITY torsettings.bridgeHelp1B "Önceden ayarlanmış ve sunulmuş köprü adreslerini kullanabilir ya da şu üç yöntemden birini kullanarak özel adresler edinebilirsiniz:">
<!ENTITY torsettings.bridgeHelp2Heading "Web yoluyla">
<!ENTITY torsettings.bridgeHelp2 "Bir web tarayıcısı kullanarak https://bridges.torproject.org adresini ziyaret edin">
diff --git a/src/chrome/locale/tr/progress.dtd b/src/chrome/locale/tr/progress.dtd
index 353bbbe..e9d4e5c 100644
--- a/src/chrome/locale/tr/progress.dtd
+++ b/src/chrome/locale/tr/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Durumu">
<!ENTITY torprogress.openSettings "Ayarları Aç">
<!ENTITY torprogress.heading "Tor ağına bağlanılıyor">
-<!ENTITY torprogress.pleaseWait "Lütfen Tor ağı ile bağlantı kurulana kadar bekleyin.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/tr/torlauncher.properties b/src/chrome/locale/tr/torlauncher.properties
index 38b0740..cbf467d 100644
--- a/src/chrome/locale/tr/torlauncher.properties
+++ b/src/chrome/locale/tr/torlauncher.properties
@@ -5,7 +5,7 @@ torlauncher.error_title=Tor Başlatıcı
torlauncher.tor_exited=Tor, beklenmedik şekilde sonlandı. Bu durum Tor içinde ya da sisteminizdeki başka bir yazılımda bulunan bir hatadan ya da sorunlu bir donanımdan kaynaklanmış olabilir. Yeniden başlatılana kadar Tor Browser hiçbir web sitesine erişemeyecek. Sorun devam ederse lütfen Tor Günlüğünün bir kopyasını destek takımına gönderin.
torlauncher.tor_exited2=Tor yeniden başlatıldığında tarayıcı sekmeleriniz kapatılmayacak.
-torlauncher.tor_controlconn_failed=Tor denetim kapısına bağlanılamadı.
+torlauncher.tor_controlconn_failed=Tor denetim bağlantı noktasına bağlanılamadı.
torlauncher.tor_failed_to_start=Tor başlatılamadı.
torlauncher.tor_control_failed=Tor denetimi alınamadı.
torlauncher.tor_bootstrap_failed=Tor ağıyla bağlantı kurulamadı.
@@ -21,7 +21,7 @@ torlauncher.failed_to_get_settings=Tor ayarları alınamadı.\n\n%S
torlauncher.failed_to_save_settings=Tor ayarları kaydedilemedi.\n\n%S
torlauncher.ensure_tor_is_running=Lütfen Tor'un çalıştığından emin olun.
-torlauncher.error_proxy_addr_missing=Internet'e bir vekil sunucu üzerinden bağlanmak için bir IP adresi ya da sunucu adı ile bağlantı noktası numarasının yazılması gereklidir.
+torlauncher.error_proxy_addr_missing=İnternet'e bir vekil sunucu üzerinden bağlanmak için bir IP adresi ya da sunucu adı ile bağlantı noktası numarasının yazılması gereklidir.
torlauncher.error_proxy_type_missing=Vekil sunucu tipini seçmelisiniz.
torlauncher.error_bridges_missing=Bir ya da birkaç köprü belirtmelisiniz.
torlauncher.error_default_bridges_type_missing=Sağlanan köprüler için bir aktarım tipi seçmelisiniz.
diff --git a/src/chrome/locale/uk/network-settings.dtd b/src/chrome/locale/uk/network-settings.dtd
index 8703783..ed17b65 100644
--- a/src/chrome/locale/uk/network-settings.dtd
+++ b/src/chrome/locale/uk/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Яке з наступних тверджень найкраще описує Вашу ситуацію?">
<!ENTITY torSettings.configurePrompt1 "Мережеве з'єднання цього комп'ютера цензурується або йде через проксі-сервер.">
-<!ENTITY torSettings.configurePrompt2 "Мені потрібно налаштувати міст або локальний проксі.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Налаштування">
-<!ENTITY torSettings.connectPrompt2 "Я бажаю підключатися до Tor напряму ">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "Це має працювати у більшості ситуацій.">
<!ENTITY torSettings.connect "З'єднатися">
<!ENTITY torSettings.proxyPageTitle "Локальна конфігурація проксі-сервера">
<!ENTITY torSettings.proxyQuestion "Чи потрібно цьому комп'ютеру використовувати локальний проксі для доступу в Інтернет?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "Якщо ви не знаєте, як відповісти на це питання, перевірте налаштування Інтернету в іншому браузері, щоб побачити чи він налаштований на використання локального проксі.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Задати параметри проксі">
<!ENTITY torSettings.bridgePageTitle "Конфігурації Tor-мостів">
<!ENTITY torSettings.bridgeQuestion "Ваш Інтернет-провайдер (ISP) блокує чи яким-небудь чином цензурує підключення до Tor мережі?">
-<!ENTITY torSettings.bridgeHelp "Якщо Ви не знаєте, як відповісти на це питання, виберіть Ні.  Якщо Ви виберете Так, Вам буде запропоновано налаштувати мости Tor, що є приватними трансляторами, які роблять більш важким блокування з'єднань з Tor мережі.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "Ви можете використати визначений перелік мостів або можете отримати і ввести набір мостів вручну.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Підключення до Tor...">
<!ENTITY torsettings.restartTor "Перезапустити Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Додатково">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Дозволенні порти:">
<!ENTITY torsettings.useBridges.checkbox "Мій провайдер блокує доступ до мережі Tor">
<!ENTITY torsettings.useBridges.default "Підключитися з визначеними мостами">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Тип транспорту:">
<!ENTITY torsettings.useBridges.custom "Ввести мости вручну">
<!ENTITY torsettings.useBridges.label "Введіть один або кілька ретрансляторів типу міст (по одному в рядок).">
diff --git a/src/chrome/locale/uk/progress.dtd b/src/chrome/locale/uk/progress.dtd
index 1bf065b..192f5d3 100644
--- a/src/chrome/locale/uk/progress.dtd
+++ b/src/chrome/locale/uk/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Статус Tor">
<!ENTITY torprogress.openSettings "Відкрити Налаштування">
<!ENTITY torprogress.heading "Підключення до мережі Tor">
-<!ENTITY torprogress.pleaseWait "Будь ласка, зачекайте, поки ми підключаємося до мережі Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur-PK/network-settings.dtd b/src/chrome/locale/ur-PK/network-settings.dtd
index c055623..f461264 100644
--- a/src/chrome/locale/ur-PK/network-settings.dtd
+++ b/src/chrome/locale/ur-PK/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "اختیاری">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ur-PK/progress.dtd b/src/chrome/locale/ur-PK/progress.dtd
index 09d3567..4cd92e2 100644
--- a/src/chrome/locale/ur-PK/progress.dtd
+++ b/src/chrome/locale/ur-PK/progress.dtd
@@ -1,5 +1,4 @@
<!ENTITY torprogress.dialog.title "ٹار اسٹیٹس">
<!ENTITY torprogress.openSettings "ترتیبات کھولیں">
<!ENTITY torprogress.heading "ٹار نیٹ ورکس سے رابطہ بنائیں">
-<!ENTITY torprogress.pleaseWait "برائے مہربانی انتظار فرمائیں
-ہم آپ کا رابطہ ٹار نیٹ ورک کے ساتھ کر رہیں">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index cad9bd9..a856870 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ur/progress.dtd b/src/chrome/locale/ur/progress.dtd
index c8710bb..991c7ef 100644
--- a/src/chrome/locale/ur/progress.dtd
+++ b/src/chrome/locale/ur/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "طور کے حیثیت">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/uz/network-settings.dtd b/src/chrome/locale/uz/network-settings.dtd
index e6db699..f8795c1 100644
--- a/src/chrome/locale/uz/network-settings.dtd
+++ b/src/chrome/locale/uz/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Qo'shimcha">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/uz/progress.dtd b/src/chrome/locale/uz/progress.dtd
index 865a7ed..7d6c8ec 100644
--- a/src/chrome/locale/uz/progress.dtd
+++ b/src/chrome/locale/uz/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor holati">
<!ENTITY torprogress.openSettings "Moslamalarni ochish">
<!ENTITY torprogress.heading "Tor tarmog'iga ulanish">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ve/network-settings.dtd b/src/chrome/locale/ve/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/ve/network-settings.dtd
+++ b/src/chrome/locale/ve/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/ve/progress.dtd b/src/chrome/locale/ve/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/ve/progress.dtd
+++ b/src/chrome/locale/ve/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/vi/network-settings.dtd b/src/chrome/locale/vi/network-settings.dtd
index 64e6fcb..7556d04 100644
--- a/src/chrome/locale/vi/network-settings.dtd
+++ b/src/chrome/locale/vi/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Những mục này có miêu tả đúng vị trí của bạn không?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Cấu hình">
-<!ENTITY torSettings.connectPrompt2 "Tôi muốn kết nối trực tiếp đến mạng Tor,">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Kết nối">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Nhà cung cấp dịch vụ (ISP) của bạn có ngăn chặn hoặc kiểm duyệt kết nối đến mạng Tor không?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Chờ đợi để Tor khởi động..">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Tuỳ chọn">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Những Cổng Được phép:">
<!ENTITY torsettings.useBridges.checkbox "Nhà cung cấp dịch vụ của tôi (ISP) đã chặn kết nối đến mạng Tor">
<!ENTITY torsettings.useBridges.default "Kết nối với những cầu được cung cấp">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Loại hình vận chuyển:">
<!ENTITY torsettings.useBridges.custom "Nhập những cầu quen thuộc">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/vi/progress.dtd b/src/chrome/locale/vi/progress.dtd
index 507803b..305cba3 100644
--- a/src/chrome/locale/vi/progress.dtd
+++ b/src/chrome/locale/vi/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Trạng thái Tor">
<!ENTITY torprogress.openSettings "Cài đặt Mở">
<!ENTITY torprogress.heading "Kết nối với mạng Tor">
-<!ENTITY torprogress.pleaseWait "Vui lòng chờ đợi để chúng tôi kết nối đến mạng lưới Tor.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wa/network-settings.dtd b/src/chrome/locale/wa/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/wa/network-settings.dtd
+++ b/src/chrome/locale/wa/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/wa/progress.dtd b/src/chrome/locale/wa/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/wa/progress.dtd
+++ b/src/chrome/locale/wa/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/wo/network-settings.dtd b/src/chrome/locale/wo/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/wo/network-settings.dtd
+++ b/src/chrome/locale/wo/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/wo/progress.dtd b/src/chrome/locale/wo/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/wo/progress.dtd
+++ b/src/chrome/locale/wo/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zh-CN/network-settings.dtd b/src/chrome/locale/zh-CN/network-settings.dtd
index 8afb952..813cd80 100644
--- a/src/chrome/locale/zh-CN/network-settings.dtd
+++ b/src/chrome/locale/zh-CN/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "以下哪个描述与你的情况最为匹配?">
<!ENTITY torSettings.configurePrompt1 "网络连接受到审查或需要代理。">
-<!ENTITY torSettings.configurePrompt2 "需要添加网桥或对本地代理进行配置。">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "配置">
-<!ENTITY torSettings.connectPrompt2 "我想要直接连接 Tor 网络。">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "通常这种方式是有效的。">
<!ENTITY torSettings.connect "连接">
<!ENTITY torSettings.proxyPageTitle "本地代理配置">
<!ENTITY torSettings.proxyQuestion "是否需要本地代理访问互联网?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "如果不知道如何回答该问题,请检查其他浏览器中的互联网设置,查看是否使用本地代理。">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "输入代理设置。">
<!ENTITY torSettings.bridgePageTitle "Tor 网桥配置">
<!ENTITY torSettings.bridgeQuestion "互联网服务提供商 (ISP) 是否对 Tor 网络连接进行了封锁或审查?">
-<!ENTITY torSettings.bridgeHelp "如果不理解该问题,请选择“否”。如果选择“是”,那么需要对 Tor 网桥进行配置。网桥指用于连接 Tor 网络的非公开网络中继,更难于封锁。">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "可以使用集成的网桥,也可以获取网桥,以自定义方式手动输入。">
<!-- Other: -->
<!ENTITY torsettings.startingTor "等待 Tor 启动...">
<!ENTITY torsettings.restartTor "重新启动 Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "可选">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "允许的端口:">
<!ENTITY torsettings.useBridges.checkbox "我的互联网服务提供商 (ISP) 封锁了 Tor 网络连接">
<!ENTITY torsettings.useBridges.default "使用集成的网桥进行连接">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "传输类型:">
<!ENTITY torsettings.useBridges.custom "输入自定义网桥">
<!ENTITY torsettings.useBridges.label "输入一个或多个网桥中继(一行一个)。">
diff --git a/src/chrome/locale/zh-CN/progress.dtd b/src/chrome/locale/zh-CN/progress.dtd
index 90ef643..838d88e 100644
--- a/src/chrome/locale/zh-CN/progress.dtd
+++ b/src/chrome/locale/zh-CN/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor 状态">
<!ENTITY torprogress.openSettings "打开设置">
<!ENTITY torprogress.heading "正在连接 Tor 网络">
-<!ENTITY torprogress.pleaseWait "正在连接 Tor 网络,请稍等。">
+<!ENTITY torprogress.pleaseWait "请等待我们建立到 Tor 网络的连接。这可能会需要几分钟。">
diff --git a/src/chrome/locale/zh-HK/network-settings.dtd b/src/chrome/locale/zh-HK/network-settings.dtd
index bcd5692..03178e9 100644
--- a/src/chrome/locale/zh-HK/network-settings.dtd
+++ b/src/chrome/locale/zh-HK/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "連接">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/zh-HK/progress.dtd b/src/chrome/locale/zh-HK/progress.dtd
index 8a38686..e93a82a 100644
--- a/src/chrome/locale/zh-HK/progress.dtd
+++ b/src/chrome/locale/zh-HK/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor的狀態">
<!ENTITY torprogress.openSettings "打開設定">
<!ENTITY torprogress.heading "連接至Tor的網絡中">
-<!ENTITY torprogress.pleaseWait "跟Tor網絡連接, 請稍候。">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zh-TW/network-settings.dtd b/src/chrome/locale/zh-TW/network-settings.dtd
index d02b3f1..5e54ea1 100644
--- a/src/chrome/locale/zh-TW/network-settings.dtd
+++ b/src/chrome/locale/zh-TW/network-settings.dtd
@@ -1,68 +1,75 @@
-<!ENTITY torsettings.dialog.title "Tor 網路設定">
+<!ENTITY torsettings.dialog.title "洋蔥路由網路設定">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "洋蔥路由瀏覽器之語言">
+<!ENTITY torlauncher.localePicker.prompt "請選擇一種語言。">
<!-- For "first run" wizard: -->
-<!ENTITY torsettings.prompt "在您連接到 Tor 網路前,您需要提供這台電腦網路連線的相關資訊">
+<!ENTITY torsettings.prompt "在您連接到洋蔥路由網路前,您需要提供這台電腦網路連線的相關資訊。">
<!ENTITY torSettings.yes "是">
<!ENTITY torSettings.no "否">
-<!ENTITY torSettings.firstQuestion "下列哪一項最符合您的情況?">
-<!ENTITY torSettings.configurePrompt1 "這部電腦的網路連線是被審查或是有代理的。">
-<!ENTITY torSettings.configurePrompt2 "我需要設定橋接或本地代理設定">
+<!ENTITY torSettings.firstQuestion "下列哪一項敘述最符合您的實際情況?">
+<!ENTITY torSettings.configurePrompt1 "這部電腦的網路連線有被監控過濾或是有透過代理伺服器。">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "設定">
-<!ENTITY torSettings.connectPrompt2 "我想直接連接到 Tor 網路。">
-<!ENTITY torSettings.connectPrompt3 "這將在大多數情況下生效。">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
+<!ENTITY torSettings.connectPrompt3 "這將在大多數情況下正常運作。">
<!ENTITY torSettings.connect "連接">
-<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
+<!ENTITY torSettings.proxyPageTitle "本地端代理伺服器的設定">
<!ENTITY torSettings.proxyQuestion "這台電腦需要使用本地代理伺服器來存取網路嗎?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "若您無法確定如何回答這個問題,請查看其他瀏覽器的網路設定,看它是否設定為透過代理伺服器連線。">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "輸入代理伺服器設定。">
-<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
-<!ENTITY torSettings.bridgeQuestion "您的網際網路服務提供者(ISP)阻擋或審查員連接到 Tor 網路?">
-<!ENTITY torSettings.bridgeHelp "如果您不確定如何回答此問題,請選擇「否」。  如果您選擇「是」,您將被要求設定Tor 橋接,這讓阻止連接到 Tor 網路更加困難。">
-<!ENTITY torSettings.bridgeSettingsPrompt "您可以使用提供的橋接或您可以輸入一組自訂的橋接。">
+<!ENTITY torSettings.bridgePageTitle "洋蔥路由橋接器的設定">
+<!ENTITY torSettings.bridgeQuestion "您的網際網路服務提供者(ISP)是否會阻擋或監控過濾連接到洋蔥路由的網路活動?">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeSettingsPrompt "您可以使用提供的橋接器,您也可以輸入一組自訂的橋接器。">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "正在等待 Tor 啟動…">
-<!ENTITY torsettings.restartTor "重新啟動 Tor">
+<!ENTITY torsettings.startingTor "正在等待洋蔥路由啟動…">
+<!ENTITY torsettings.restartTor "重新啟動洋蔥路由">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "選用">
-<!ENTITY torsettings.useProxy.checkbox "這台電腦需要使用代理伺服器存取網際網路">
-<!ENTITY torsettings.useProxy.type "代理伺服器類型:">
-<!ENTITY torsettings.useProxy.address "位址:">
+<!ENTITY torsettings.useProxy.checkbox "這台電腦需要透過代理伺服器存取網際網路">
+<!ENTITY torsettings.useProxy.type "代理伺服器類型:">
+<!ENTITY torsettings.useProxy.address "位址:">
<!ENTITY torsettings.useProxy.address.placeholder "IP 位址或主機名稱">
-<!ENTITY torsettings.useProxy.port "連接埠:">
-<!ENTITY torsettings.useProxy.username "使用者名稱:">
-<!ENTITY torsettings.useProxy.password "密碼:">
+<!ENTITY torsettings.useProxy.port "連接埠:">
+<!ENTITY torsettings.useProxy.username "使用者名稱:">
+<!ENTITY torsettings.useProxy.password "密碼:">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
<!ENTITY torsettings.firewall.checkbox "這台電腦通過只允許連接至特定連線埠的防火牆">
-<!ENTITY torsettings.firewall.allowedPorts "允許的連接埠:">
-<!ENTITY torsettings.useBridges.checkbox "我的網際網路服務提供者(ISP)阻止連接至 Tor 網路">
-<!ENTITY torsettings.useBridges.default "使用提供的橋接連線">
-<!ENTITY torsettings.useBridges.type "傳輸類型:">
-<!ENTITY torsettings.useBridges.custom "輸入自訂橋接">
-<!ENTITY torsettings.useBridges.label "輸入一個或多個橋接中繼 (每行一個)。">
-<!ENTITY torsettings.useBridges.placeholder "輸入位址:連接埠">
+<!ENTITY torsettings.firewall.allowedPorts "允許的連接埠:">
+<!ENTITY torsettings.useBridges.checkbox "我的網際網路服務提供者(ISP)會過濾阻擋連接至洋蔥路由的網路活動">
+<!ENTITY torsettings.useBridges.default "使用提供的橋接器連線">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
+<!ENTITY torsettings.useBridges.type "傳輸類型:">
+<!ENTITY torsettings.useBridges.custom "輸入自訂的橋接器">
+<!ENTITY torsettings.useBridges.label "輸入一個或多個橋接中繼器 (每行一個)。">
+<!ENTITY torsettings.useBridges.placeholder "請輸入 位址:連接埠">
-<!ENTITY torsettings.copyLog "將 Tor 記錄複製到剪貼簿">
-<!ENTITY torsettings.bridgeHelpTitle "橋接中繼說明">
-<!ENTITY torsettings.bridgeHelp1 "若您無法連接到 Tor 網路,可能是您的網際網路服務提供者 (ISP) 或其它機構已封鎖 Tor。  通常您可以使用更難以封鎖之隱藏中繼的 Tor 橋接來解決此問題。">
-<!ENTITY torsettings.bridgeHelp1B "您可以使用預先設定,提供橋接位址或您可以使用下列三種方法其中之一獲取一組自訂的位址:">
+<!ENTITY torsettings.copyLog "將洋蔥路由的訊息記錄複製到剪貼簿">
+<!ENTITY torsettings.bridgeHelpTitle "橋接中繼器之說明">
+<!ENTITY torsettings.bridgeHelp1 "若您無法連接到洋蔥路由網路,可能是因為您的網際網路服務提供者 (ISP) 或其它機構正在封鎖洋蔥路由網路。  通常您可以使用更難以被封鎖之橋接中繼器來連上洋蔥路由,以便解決此問題。">
+<!ENTITY torsettings.bridgeHelp1B "您可以使用預先設定好的橋接器位址,或您也可以使用下列三種方法的任一種以獲取一組自訂的位址:">
<!ENTITY torsettings.bridgeHelp2Heading "透過網路">
<!ENTITY torsettings.bridgeHelp2 "使用網路瀏覽器造訪 https://bridges.torproject.org">
<!ENTITY torsettings.bridgeHelp3Heading "透過電子郵件自動回覆">
-<!ENTITY torsettings.bridgeHelp3.emailDesc "傳送郵件到 bridges(a)torproject.org 並在內文中輸入 'get bridges'。  然而,要使得駭客更難學習有關橋接位址,您必須是使用以下電子郵件提供者之一來寄送本要求 (列表順序是依照優先偏好):">
-<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com, 或者 https://mail.yahoo.com">
+<!ENTITY torsettings.bridgeHelp3.emailDesc "傳送郵件到 bridges(a)torproject.org 並在內文中輸入「get bridges」字串。  然而,要使得網路攻擊者更難取得橋接器位址,您必須是使用以下電子郵件提供者之一來寄送本要求 (列表順序是依照優先偏好):">
+<!ENTITY torsettings.bridgeHelp3.emailList "https://www.riseup.net, https://mail.google.com 或者 https://mail.yahoo.com">
<!ENTITY torsettings.bridgeHelp4Heading "透過服務台">
-<!ENTITY torsettings.bridgeHelp4 "最後的方法是:您可以發送一封正常的郵件到 help(a)rt.torproject.org.  請注意我們需要一封封地手動回覆郵件。">
+<!ENTITY torsettings.bridgeHelp4 "最後的方法是:您可以發送一封禮貌性的郵件到 help(a)rt.torproject.org.  請注意,對於此類郵件我們必需要一封封地手動回覆。">
diff --git a/src/chrome/locale/zh-TW/progress.dtd b/src/chrome/locale/zh-TW/progress.dtd
index be27a6b..65b0d3e 100644
--- a/src/chrome/locale/zh-TW/progress.dtd
+++ b/src/chrome/locale/zh-TW/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor 狀態">
<!ENTITY torprogress.openSettings "開啟設定">
<!ENTITY torprogress.heading "正在連線至 Tor 網路">
-<!ENTITY torprogress.pleaseWait "我們正在建立 Tor 網路連線,請稍候...">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/zh-TW/torlauncher.properties b/src/chrome/locale/zh-TW/torlauncher.properties
index 7cb086b..6fadc66 100644
--- a/src/chrome/locale/zh-TW/torlauncher.properties
+++ b/src/chrome/locale/zh-TW/torlauncher.properties
@@ -4,9 +4,9 @@
torlauncher.error_title=Tor 啟動工具
torlauncher.tor_exited=Tor 意外地結束。這有可能是 Tor 本身的程式錯誤、您系統上的其它程式或是硬體故障。直到您重新啟動 Tor,Tor Browser將不會造訪任何網站。如果問題仍然存在,請發送您的 Tor 紀錄副本到支援團隊。
-torlauncher.tor_exited2=重新啟動 Tor 將不會關閉您瀏覽器的分頁。
+torlauncher.tor_exited2=重新啟動洋蔥路由將不會關閉您瀏覽器的分頁。
torlauncher.tor_controlconn_failed=無法連接至 Tor 控制連接埠。
-torlauncher.tor_failed_to_start=Tor 無法啟動。
+torlauncher.tor_failed_to_start=洋蔥路由無法啟動。
torlauncher.tor_control_failed=無法控制 Tor。
torlauncher.tor_bootstrap_failed=Tor 無法建立 Tor 網路連線。
torlauncher.tor_bootstrap_failed_details=%1$S 失敗 (%2$S)。
diff --git a/src/chrome/locale/zu/network-settings.dtd b/src/chrome/locale/zu/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/zu/network-settings.dtd
+++ b/src/chrome/locale/zu/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/zu/progress.dtd b/src/chrome/locale/zu/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/zu/progress.dtd
+++ b/src/chrome/locale/zu/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
1
0

23 Jan '16
commit 8c080d718f722410fcf39adc6da3e05d5b25ce50
Merge: e18194b 8869cf4
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 13:28:19 2016 +0000
Merge remote-tracking branch 'isis/bug18113'
src/modules/tl-util.jsm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
1
0

[tor-launcher/master] Bug 18113: Randomly permutate available default bridges of chosen type.
by gk@torproject.org 23 Jan '16
by gk@torproject.org 23 Jan '16
23 Jan '16
commit 8869cf4f01341dd685508afb2b2a10b9b3ea0f26
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Thu Jan 21 03:37:43 2016 +0000
Bug 18113: Randomly permutate available default bridges of chosen type.
* ADDS a new function to TorLauncherUtil, rearrangeBridges() which
takes an array of items and returns a random permutation of that
array.
* CHANGE defaultBridges() getter to call this.rearrangeBridges()
before returning the default bridges. This causing the ordering of
the default bridges in the torrc to vary among clients, resulting
in a more even distribution of clients to default bridges.
---
src/modules/tl-util.jsm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index 812b32b..7f93f39 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -246,6 +246,19 @@ let TorLauncherUtil = // Public
} catch (e) {}
},
+ // Currently, this returns a random permutation of an array, bridgeArray.
+ // Later, we might want to change this function to weight based on the
+ // bridges' bandwidths.
+ rearrangeBridges: function(bridgeArray)
+ {
+ for (var j, x, i = bridgeArray.length; i;
+ j = parseInt(Math.random() * i),
+ x = bridgeArray[--i],
+ bridgeArray[i] = bridgeArray[j],
+ bridgeArray[j] = x);
+ return bridgeArray;
+ },
+
get shouldStartAndOwnTor()
{
const kPrefStartTor = "extensions.torlauncher.start_tor";
@@ -361,6 +374,7 @@ let TorLauncherUtil = // Public
bridgeArray.push(s);
}
}
+ this.rearrangeBridges(bridgeArray);
return bridgeArray;
} catch(e) {};
1
0
1
0
commit f2681509eb0c5a62fce4bc60c28b9170e3b74c85
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 15:02:20 2016 +0000
Changelog fixup
---
Bundle-Data/Docs/ChangeLog.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 6042c2f..d08a7bc 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -24,6 +24,7 @@ Tor Browser 5.5 -- January 26 2016
* Bug 16940: After update, load local change notes
* Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
* Bug 17009: Shift and Alt keys leak physical keyboard layout (fix of #15646)
+ * Bug 17790: Map the proper SHIFT characters to the digit keys (fix of #15646)
* Bug 17369: Disable RC4 fallback
* Bug 17442: Remove custom updater certificate pinning
* Bug 16620: Move window.name handling into a Firefox patch
1
0
commit 63a8a1baef6b8470d9f0e7cab4d299372fe318b2
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 15:00:40 2016 +0000
Changelog update
---
Bundle-Data/Docs/ChangeLog.txt | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 6000e97..6f85c75 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -18,6 +18,7 @@ Tor Browser 6.0a1 -- January 27 2016
* Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
* Bug 16322: Use onion address for DuckDuckGo search engine
* Bug 17917: Changelog after update is empty if JS is disabled
+ * Bug 17790: Map the proper SHIFT characters to the digit keys (fix of #15646)
* Build System
* Linux
* Bug 15578: Switch to Debian Wheezy guest VMs (10.04 LTS is EOL)
@@ -48,6 +49,7 @@ Tor Browser 5.5 -- January 26 2016
* Bug 16940: After update, load local change notes
* Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
* Bug 17009: Shift and Alt keys leak physical keyboard layout (fix of #15646)
+ * Bug 17790: Map the proper SHIFT characters to the digit keys (fix of #15646)
* Bug 17369: Disable RC4 fallback
* Bug 17442: Remove custom updater certificate pinning
* Bug 16620: Move window.name handling into a Firefox patch
1
0
commit 4ef179fd92e788238adc1a1b123779099f201994
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 14:08:50 2016 +0000
nightly version bumps
---
gitian/versions.nightly | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index c64d4bb..4429066 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -14,11 +14,11 @@ MULTI_LINGUAL=1
VERIFY_TAGS=0
-FIREFOX_VERSION=38.5.0esr
+FIREFOX_VERSION=38.6.0esr
TORBROWSER_UPDATE_CHANNEL=default
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.0-1
TOR_TAG=master
TORLAUNCHER_TAG=master
TORBUTTON_TAG=master
@@ -43,12 +43,12 @@ GO_X_NET_TAG=master
OBFS4_TAG=master
NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
-GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
+GITIAN_TAG=tor-browser-builder-3.x-9
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.1.0
PYTHON_VER=2.7.5
@@ -66,7 +66,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9.0.2-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -94,7 +94,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
+NOSCRIPT_HASH=f3c9dec710e02d809fa85ac76750e5f074656105c1bde03d400cb597b2eb1fba
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
1
0
commit fdb68b2ddbe0ba9c4f0a316e850488def5f24c85
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 14:05:32 2016 +0000
Release preparations
Changelog update, version bumps, config.yml update
---
Bundle-Data/Docs/ChangeLog.txt | 24 ++++++++++++++++++++++++
gitian/versions.alpha | 16 ++++++++--------
tools/update-responses/config.yml | 12 ++++++------
3 files changed, 38 insertions(+), 14 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 6042c2f..6000e97 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,27 @@
+Tor Browser 6.0a1 -- January 27 2016
+ * All Platforms
+ * Update Firefox to 38.6.0esr
+ * Update NoScript to 2.9.0.2
+ * Update Torbutton to 1.9.5
+ * Bug 16990: Show circuit display for connections using multi-party channels
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
+ * Bug 18004: Remove Tor fundraising donation banner
+ * Code cleanup
+ * Translation updates
+ * Update Tor Launcher to 0.2.9
+ * Bug 18113: Randomly permutate available default bridges of chosen type
+ * Bug 11773: Setup wizard UI flow improvements
+ * Translation updates
+ * Bug 17428: Remove Flashproxy
+ * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18072: Change recommended pluggable transport type to obfs4
+ * Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
+ * Bug 16322: Use onion address for DuckDuckGo search engine
+ * Bug 17917: Changelog after update is empty if JS is disabled
+ * Build System
+ * Linux
+ * Bug 15578: Switch to Debian Wheezy guest VMs (10.04 LTS is EOL)
+
Tor Browser 5.5 -- January 26 2016
* All Platforms
* Update Firefox to 38.6.0esr
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 5b7ef02..d234e33 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -7,14 +7,14 @@ BUILD_PT_BUNDLES=1
VERIFY_TAGS=1
-FIREFOX_VERSION=38.5.0esr
+FIREFOX_VERSION=38.6.0esr
TORBROWSER_UPDATE_CHANNEL=alpha
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build2
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-6.0-1-build1
TOR_TAG=tor-0.2.7.6
-TORLAUNCHER_TAG=0.2.7.7
-TORBUTTON_TAG=1.9.4.2
+TORLAUNCHER_TAG=0.2.9
+TORBUTTON_TAG=1.9.5
HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
@@ -36,12 +36,12 @@ GO_X_NET_TAG=7dbad50ab5b31073856416cdcfeb2796d682f844
OBFS4_TAG=obfs4proxy-0.0.5
NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
-GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
+GITIAN_TAG=tor-browser-builder-3.x-9
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.1.0
PYTHON_VER=2.7.5
@@ -59,7 +59,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9.0.2-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -87,7 +87,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
+NOSCRIPT_HASH=f3c9dec710e02d809fa85ac76750e5f074656105c1bde03d400cb597b2eb1fba
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 362c146..a0f5309 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -9,7 +9,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- alpha: 5.5a6
+ alpha: 6.0a1
release: 5.5
versions:
5.5:
@@ -23,12 +23,12 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 5.5a6:
- platformVersion: 38.5.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-55a6-released
- download_url: https://www.torproject.org/dist/torbrowser/5.5a6
+ 6.0a1:
+ platformVersion: 38.6.0
+ detailsURL: https://blog.torproject.org/blog/tor-browser-60a1-released
+ download_url: https://www.torproject.org/dist/torbrowser/6.0a1
incremental_from:
- - 5.5a5
+ - 5.5a6
migrate_archs:
osx32: osx64
osx32:
1
0

[torbutton/maint-1.9.4] Make it clear that 1.9.4.3 is coming from 1.9.3.7
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit 430111138560e7605172bf1878a022c64f6f320d
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 12:49:02 2016 +0000
Make it clear that 1.9.4.3 is coming from 1.9.3.7
---
src/CHANGELOG | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index baf3fd0..933eeeb 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -2,7 +2,11 @@
* Bug 16990: Show circuit display for connections using multi-party channels
* Bug 18019: Avoid empty prompt shown after non-en-US update
* Bug 18004: Remove Tor fundraising donation banner
- * Code cleanup
+ * Bug 16940: After update, load local change notes
+ * Bug 17108: Polish about:tor appearance
+ * Bug 17568: Clean up tor-control-port.js
+ * Bug 16620: Move window.name handling into a Firefox patch
+ * Bug 17351: Code cleanup
* Translation updates
1.9.4.2
1
0

[torbutton/master] Make it clear that 1.9.4.3 is coming from 1.9.3.7
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit cebf866143b4deb113a48c1e5ff05a2cf635af50
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 12:46:10 2016 +0000
Make it clear that 1.9.4.3 is coming from 1.9.3.7
---
src/CHANGELOG | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index c31cda9..3c24227 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -9,7 +9,11 @@
* Bug 16990: Show circuit display for connections using multi-party channels
* Bug 18019: Avoid empty prompt shown after non-en-US update
* Bug 18004: Remove Tor fundraising donation banner
- * Code cleanup
+ * Bug 16940: After update, load local change notes
+ * Bug 17108: Polish about:tor appearance
+ * Bug 17568: Clean up tor-control-port.js
+ * Bug 16620: Move window.name handling into a Firefox patch
+ * Bug 17351: Code cleanup
* Translation updates
1.9.4.2
1
0
commit f913aca2d078f738d81c5b59346292269d79a0ab
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Jan 22 12:17:24 2016 +0000
Relase preparations
CHANGELOG update, translation update, version bump
---
src/CHANGELOG | 14 ++++++++++++++
src/chrome/locale/ar/aboutDialog.dtd | 4 ++--
src/chrome/locale/ar/aboutTBUpdate.dtd | 8 ++++----
src/chrome/locale/ar/aboutTor.dtd | 9 +++------
src/chrome/locale/ar/aboutTor.properties | 12 ------------
src/chrome/locale/ar/brand.properties | 2 +-
src/chrome/locale/de/aboutTor.dtd | 3 ---
src/chrome/locale/de/aboutTor.properties | 12 ------------
src/chrome/locale/es/aboutTor.dtd | 9 +++------
src/chrome/locale/es/aboutTor.properties | 12 ------------
src/chrome/locale/eu/aboutTor.dtd | 3 ---
src/chrome/locale/eu/aboutTor.properties | 12 ------------
src/chrome/locale/fa/aboutTor.dtd | 3 ---
src/chrome/locale/fa/aboutTor.properties | 12 ------------
src/chrome/locale/fr/aboutTor.dtd | 3 ---
src/chrome/locale/fr/aboutTor.properties | 12 ------------
src/chrome/locale/it/aboutTBUpdate.dtd | 10 +++++-----
src/chrome/locale/it/aboutTor.dtd | 9 +++------
src/chrome/locale/it/aboutTor.properties | 12 ------------
src/chrome/locale/ja/aboutTBUpdate.dtd | 10 +++++-----
src/chrome/locale/ja/aboutTor.dtd | 9 +++------
src/chrome/locale/ja/aboutTor.properties | 12 ------------
src/chrome/locale/ko/aboutTBUpdate.dtd | 10 +++++-----
src/chrome/locale/ko/aboutTor.dtd | 11 ++++-------
src/chrome/locale/ko/aboutTor.properties | 18 +++---------------
src/chrome/locale/ko/brand.dtd | 2 +-
src/chrome/locale/ko/brand.properties | 2 +-
src/chrome/locale/nl/aboutTor.dtd | 3 ---
src/chrome/locale/nl/aboutTor.properties | 12 ------------
src/chrome/locale/pl/aboutTor.dtd | 9 +++------
src/chrome/locale/pl/aboutTor.properties | 12 ------------
src/chrome/locale/pt/aboutTBUpdate.dtd | 10 +++++-----
src/chrome/locale/pt/aboutTor.dtd | 25 +++++++++++--------------
src/chrome/locale/pt/aboutTor.properties | 12 ------------
src/chrome/locale/ru/aboutTor.dtd | 3 ---
src/chrome/locale/ru/aboutTor.properties | 12 ------------
src/chrome/locale/sv/aboutTor.dtd | 9 +++------
src/chrome/locale/sv/aboutTor.properties | 12 ------------
src/chrome/locale/tr/aboutTBUpdate.dtd | 4 ++--
src/chrome/locale/tr/aboutTor.dtd | 9 +++------
src/chrome/locale/tr/aboutTor.properties | 12 ------------
src/chrome/locale/vi/aboutTor.dtd | 3 ---
src/chrome/locale/vi/aboutTor.properties | 12 ------------
src/chrome/locale/zh-CN/aboutTor.dtd | 3 ---
src/chrome/locale/zh-CN/aboutTor.properties | 18 +++---------------
src/chrome/locale/zh-CN/torbutton.dtd | 2 +-
src/install.rdf | 2 +-
47 files changed, 89 insertions(+), 330 deletions(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index c56939d..c31cda9 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,17 @@
+1.9.5
+ * Bug 16990: Show circuit display for connections using multi-party channels
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
+ * Bug 18004: Remove Tor fundraising donation banner
+ * Code cleanup
+ * Translation updates
+
+1.9.4.3
+ * Bug 16990: Show circuit display for connections using multi-party channels
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
+ * Bug 18004: Remove Tor fundraising donation banner
+ * Code cleanup
+ * Translation updates
+
1.9.4.2
* Bug 16940: After update, load local change notes
* Bug 16990: Avoid matching '250 ' to the end of node name
diff --git a/src/chrome/locale/ar/aboutDialog.dtd b/src/chrome/locale/ar/aboutDialog.dtd
index 2d808e6..248786e 100644
--- a/src/chrome/locale/ar/aboutDialog.dtd
+++ b/src/chrome/locale/ar/aboutDialog.dtd
@@ -5,13 +5,13 @@
<!ENTITY help.start "هل ترغب في المساعدة؟">
<!-- LOCALIZATION NOTE (help.donate): This is a link title that links to https://www.torproject.org/donate/donate.html.en -->
-<!ENTITY help.donateLink "تبرع">
+<!ENTITY help.donateLink "تبرّع">
<!ENTITY help.or "أو">
<!-- LOCALIZATION NOTE (help.getInvolvedLink): This is a link title that links to https://www.torproject.org/getinvolved/volunteer.html.en -->
<!ENTITY help.getInvolvedLink "شارك">
<!ENTITY help.end "علامة تعجب">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/docs/trademark-faq.html.en -->
-<!ENTITY bottomLinks.questions "أى أسئلة؟">
+<!ENTITY bottomLinks.questions "أية أسئلة؟">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to https://www.torproject.org/getinvolved/relays -->
<!ENTITY bottomLinks.grow "ساعد شبكة تور على النمو">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
diff --git a/src/chrome/locale/ar/aboutTBUpdate.dtd b/src/chrome/locale/ar/aboutTBUpdate.dtd
index 37567bd..ce40b98 100644
--- a/src/chrome/locale/ar/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ar/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser Update">
-<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.title "تحديث متصفح تور">
+<!ENTITY aboutTBUpdate.updated "لقد تم تحديث متصفح تور.">
+<!ENTITY aboutTBUpdate.linkPrefix "للحصول على أحدث المعلومات حول هذا الإصدار.">
+<!ENTITY aboutTBUpdate.linkLabel "زُر موقعنا">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "Changelog:">
diff --git a/src/chrome/locale/ar/aboutTor.dtd b/src/chrome/locale/ar/aboutTor.dtd
index 4d3caae..8945674 100644
--- a/src/chrome/locale/ar/aboutTor.dtd
+++ b/src/chrome/locale/ar/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "عن تور">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "هذا المتصفح خارج التحديث">
<!ENTITY aboutTor.outOfDateTorOff.label "أيضاً، هذه نسخة قديمة من المتصفح.">
<!ENTITY aboutTor.outOfDate2.label "اضغط على رمز البصلة ثم اختر "تحقق من تحديثات متصفح تور"">
<!ENTITY aboutTor.check.label "اختبر إعدادات شبكة تور.">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "مرحبا بك في متصفح تور">
+<!ENTITY aboutTor.success2.label "تم الإتصال بشبكة تور">
<!ENTITY aboutTor.success3.label "يمكنك الآن تصفح الانترنت بشكل يحمي هويتك.">
<!ENTITY aboutTor.failure.label "حدث خطأ ما!">
<!ENTITY aboutTor.failure2.label "تور لا يعمل في هذا المتصفح.">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "مشروع تور هو مشروع غير ربحي (حسب US 501(c)(3)) مُكرس للبحث، والتطوير، والتوعية حول موضوع إخفاء الهوية والخصوصية.">
<!ENTITY aboutTor.learnMore.label "اقرأ المزيد عن مشروع تور »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "تبرع">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/ar/aboutTor.properties b/src/chrome/locale/ar/aboutTor.properties
index 10f09a1..d607324 100644
--- a/src/chrome/locale/ar/aboutTor.properties
+++ b/src/chrome/locale/ar/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S"
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/ar/brand.properties b/src/chrome/locale/ar/brand.properties
index 75c5fd1..835f1b9 100644
--- a/src/chrome/locale/ar/brand.properties
+++ b/src/chrome/locale/ar/brand.properties
@@ -2,7 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=متصفح Tor
+brandShorterName=متصفح تور
brandShortName=متصفح تور
brandFullName=متصفح تور
vendorShortName=مشروع تور
diff --git a/src/chrome/locale/de/aboutTor.dtd b/src/chrome/locale/de/aboutTor.dtd
index 1539814..a46329f 100644
--- a/src/chrome/locale/de/aboutTor.dtd
+++ b/src/chrome/locale/de/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Die Organisation »The Tor Project« ist nach dem US-Gesetz US 501(c)(3) als gemeinnützig eingestuft und widmet sich der Forschung, der Entwicklung und der Schulung zum Thema Internetanonymität und Datenschutz.">
<!ENTITY aboutTor.learnMore.label "Mehr über das Tor-Projekt erfahren »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Spenden">
-<!ENTITY aboutTor.donate.supportTor "Bitte unterstützen Sie Tor!">
diff --git a/src/chrome/locale/de/aboutTor.properties b/src/chrome/locale/de/aboutTor.properties
index d73f7a3..b7fc4bf 100644
--- a/src/chrome/locale/de/aboutTor.properties
+++ b/src/chrome/locale/de/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=<a href="%1$S">Sicheres</a> Suchen mit <a href="%2$S">
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden hätte mich nicht ohne Tor und andere kostenlose Software Verschlüsselungs-Projekte kontaktieren können. Tor ist ein wesentliches Werkzeug und es benötigt unsere Unterstützung.
-aboutTor.donationBanner.lp.speciality=Oscar-prämierte Dokumentarfilmerin, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privatsphäre und Anonymität betreffen uns alle.
-aboutTor.donationBanner.cd.speciality= Novellist, Technologie-Aktivist, Co-Editor von Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Bitte hilf dem weltweit stärksten Tool für Privatsphäre nachhaltiger zu werden.
-aboutTor.donationBanner.rd.speciality=Gründer, amtierender Geschäftsführender Direktor des Tor-Projektes
diff --git a/src/chrome/locale/es/aboutTor.dtd b/src/chrome/locale/es/aboutTor.dtd
index c339af6..5c781c8 100644
--- a/src/chrome/locale/es/aboutTor.dtd
+++ b/src/chrome/locale/es/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Acerca de Tor">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "ADVERTENCIA: Este navegador no está actualizado.">
<!ENTITY aboutTor.outOfDateTorOff.label "ADEMÁS, este navegador tampoco está actualizado.">
<!ENTITY aboutTor.outOfDate2.label "Haga clic en la cebolla y luego seleccione Comprobar actualizaciones del Navegador Tor.">
<!ENTITY aboutTor.check.label "Probar las preferencias de red Tor">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Bienvenido al Navegador Tor">
+<!ENTITY aboutTor.success2.label "Conectado a la red Tor.">
<!ENTITY aboutTor.success3.label "Ahora es libre de navegar por Internet anónimamente.">
<!ENTITY aboutTor.failure.label "¡Algo fue mal!">
<!ENTITY aboutTor.failure2.label "Tor no está funcionando en este navegador.">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "El Projecto Tor es una US 501(c)(3) sin ánimo de lucro dedicada a la investigación, desarrollo y educación sobre anonimidad y privacidad en línea.">
<!ENTITY aboutTor.learnMore.label "Aprenda más acerca del El Proyecto Tor »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Donar">
-<!ENTITY aboutTor.donate.supportTor "Por favor ayuda a Tor!">
diff --git a/src/chrome/locale/es/aboutTor.properties b/src/chrome/locale/es/aboutTor.properties
index ca89874..fb92251 100644
--- a/src/chrome/locale/es/aboutTor.properties
+++ b/src/chrome/locale/es/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Busque <a href="%1$S">de forma segura</a> con <a href=
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/eu/aboutTor.dtd b/src/chrome/locale/eu/aboutTor.dtd
index e07140d..76020fc 100644
--- a/src/chrome/locale/eu/aboutTor.dtd
+++ b/src/chrome/locale/eu/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "The Tor Project irabazi asmorik gabeko US 501(c)(3) bat da, ikerketara, garapenera, eta onlineko anonimotasuna eta pribatutasunaren hezkuntzara zuzendutakoa.">
<!ENTITY aboutTor.learnMore.label "The Tor Projecti buruz gehiago ikasi »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Egizu dohaintza">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/eu/aboutTor.properties b/src/chrome/locale/eu/aboutTor.properties
index 32335f8..30a7858 100644
--- a/src/chrome/locale/eu/aboutTor.properties
+++ b/src/chrome/locale/eu/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Bilatu<a href="%1$S">modu seguruan</a> ondokoarekin: <
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/fa/aboutTor.dtd b/src/chrome/locale/fa/aboutTor.dtd
index 27edf8b..c0ae835 100644
--- a/src/chrome/locale/fa/aboutTor.dtd
+++ b/src/chrome/locale/fa/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "پروژهٔ تور سازمان غیر انتفاعی آمریکایی 501(c)3 مختص پژوهش, توسعه و آموزش در زمین ناشناسی و حریم شخصی آنلاين هست.">
<!ENTITY aboutTor.learnMore.label "اطلاعات بیشتر در پروژهٔ تور كسب كنيد">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "اهدا">
-<!ENTITY aboutTor.donate.supportTor "لطفا از تور حمایت کنید.">
diff --git a/src/chrome/locale/fa/aboutTor.properties b/src/chrome/locale/fa/aboutTor.properties
index f39d06f..54e04d9 100644
--- a/src/chrome/locale/fa/aboutTor.properties
+++ b/src/chrome/locale/fa/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=جستجو <a href="%1$S">ایمن</a> با <a href="%
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=ادوارد اسنودن بدون تور و سایر پروژههای نرمافزاری رایگان در زمینهی رمزگذاری، قادر به تماس با من نبود. تور ابزاری ضروری است، و به پشتیبانی ما نیاز دارد.
-aboutTor.donationBanner.lp.speciality=برندهی جایزهی اسکار بهترین مستند، <i>شهروند شماره چهار</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=حریم خصوصی و همچنین گمنام ماندن، موضوع مهمی برای همهی ما بهشمار میآید.
-aboutTor.donationBanner.cd.speciality= رمان نویس، فعال زمینه فناوری، همکاری ویراستار Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=لطفا کمک کنید تا قویترین ابزار حفظ حریم شخصی، پایدارتر شود.
-aboutTor.donationBanner.rd.speciality=بنیان گذار، مدیر اجرایی فعال پروژهی تور
diff --git a/src/chrome/locale/fr/aboutTor.dtd b/src/chrome/locale/fr/aboutTor.dtd
index 4420599..ec76322 100644
--- a/src/chrome/locale/fr/aboutTor.dtd
+++ b/src/chrome/locale/fr/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Le projet Tor est une organisation à but non lucratif (US 501(c)(3)) dédiée à la recherche, le développement et l'éducation sur l'anonymat et la vie privée en ligne.">
<!ENTITY aboutTor.learnMore.label "En savoir plus sur le projet Tor »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html">
-
-<!ENTITY aboutTor.donate.donate "Faire une donation">
-<!ENTITY aboutTor.donate.supportTor "Merci de soutenir Tor !">
diff --git a/src/chrome/locale/fr/aboutTor.properties b/src/chrome/locale/fr/aboutTor.properties
index d0b3c4d..ec59d81 100644
--- a/src/chrome/locale/fr/aboutTor.properties
+++ b/src/chrome/locale/fr/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Rechercher <a href="%1$S">de manière sécurisée</a>
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden n'aurait pas pu me contacter sans Tor et d'autres projects libres de logiciels de chiffrement. Tor est un outil essentiel, et il a besoin de notre support.
-aboutTor.donationBanner.lp.speciality=Réalisatrice Oscar du Meilleur Documentaire, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Confidentialité et anonymat nous concerne tous.
-aboutTor.donationBanner.cd.speciality= Auteur, Activiste pour la technologie, co-editeur de Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Veuillez aider l'outil d'anonymat le plus efficace dans le monde à devenir plus indépendant !
-aboutTor.donationBanner.rd.speciality=Fondateur, Directeur Exécutif Intérimaire du Projet Tor
diff --git a/src/chrome/locale/it/aboutTBUpdate.dtd b/src/chrome/locale/it/aboutTBUpdate.dtd
index 37567bd..2229d15 100644
--- a/src/chrome/locale/it/aboutTBUpdate.dtd
+++ b/src/chrome/locale/it/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser Update">
-<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.title "Aggiornamento del Browser TOR">
+<!ENTITY aboutTBUpdate.updated "Il Browser TOR è stato aggiornato.">
+<!ENTITY aboutTBUpdate.linkPrefix "Per maggiori informazioni su questa versione,">
+<!ENTITY aboutTBUpdate.linkLabel "visita il nostro sito web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
-<!ENTITY aboutTBUpdate.changeLogHeading "Changelog:">
+<!ENTITY aboutTBUpdate.changeLogHeading "Log dei cambiamenti:">
diff --git a/src/chrome/locale/it/aboutTor.dtd b/src/chrome/locale/it/aboutTor.dtd
index d334ab7..17eba77 100644
--- a/src/chrome/locale/it/aboutTor.dtd
+++ b/src/chrome/locale/it/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Info su Tor">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "ATTENZIONE: questo browser non è aggiornato.">
<!ENTITY aboutTor.outOfDateTorOff.label "INOLTRE, questo browser non è aggiornato.">
<!ENTITY aboutTor.outOfDate2.label "Clicca sulla cipolla e scegli "Scarica Aggiornamento Tor Browser Bundle".">
<!ENTITY aboutTor.check.label "Test Impostazioni della Rete Tor">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Benvenuto nel Browser TOR">
+<!ENTITY aboutTor.success2.label "Connesso alla rete TOR.">
<!ENTITY aboutTor.success3.label "Ora sei libero di navigare in internet anonimamente.">
<!ENTITY aboutTor.failure.label "Qualcosa è Andato Storto!">
<!ENTITY aboutTor.failure2.label "Tor non sta funzionando su questo browser.">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Il Tor Project è un'organizzazione 501(c)(3) non-profit americana dedicata alla ricerca, sviluppo ed educazione sull'anonimato e privacy online.">
<!ENTITY aboutTor.learnMore.label "Maggiori info sul Tor Project »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Dona">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/it/aboutTor.properties b/src/chrome/locale/it/aboutTor.properties
index 5006a7d..db49b15 100644
--- a/src/chrome/locale/it/aboutTor.properties
+++ b/src/chrome/locale/it/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Cerca <a href="%1$S"> in sicurezza </a> con <a href="%
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/ja/aboutTBUpdate.dtd b/src/chrome/locale/ja/aboutTBUpdate.dtd
index 3e57766..e862134 100644
--- a/src/chrome/locale/ja/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ja/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser Update">
-<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.title "TorBrowserアップデート">
+<!ENTITY aboutTBUpdate.updated "TorBrowserアップデート完了">
+<!ENTITY aboutTBUpdate.linkPrefix "このリリースについての最新情報を入手するため、">
+<!ENTITY aboutTBUpdate.linkLabel "我々のウェブサイトを見てください">
<!ENTITY aboutTBUpdate.linkSuffix "。">
-<!ENTITY aboutTBUpdate.changeLogHeading "Changelog:">
+<!ENTITY aboutTBUpdate.changeLogHeading "変更履歴">
diff --git a/src/chrome/locale/ja/aboutTor.dtd b/src/chrome/locale/ja/aboutTor.dtd
index a093b1e..10844f3 100644
--- a/src/chrome/locale/ja/aboutTor.dtd
+++ b/src/chrome/locale/ja/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Torについて">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "警告:このブラウザは古いバージョンです。">
<!ENTITY aboutTor.outOfDateTorOff.label "また、このブラウザは古いバージョンです。">
<!ENTITY aboutTor.outOfDate2.label "Onion をクリックして Tor Browser のアップデートを確認してください。">
<!ENTITY aboutTor.check.label "Torのネットワーク設定をテストする">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Tor Browserにようこそ">
+<!ENTITY aboutTor.success2.label "Torネットワークに接続しました">
<!ENTITY aboutTor.success3.label "現在、自由に匿名でインターネットをブラウズ出来ます。">
<!ENTITY aboutTor.failure.label "何かが間違っています!">
<!ENTITY aboutTor.failure2.label "Torは、このブラウザでは動作しません。">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Tor Projectは、オンラインの匿名性とプライバシーの研究・開発・教育を専門に行う米国の501(c)(3)非営利団体です。">
<!ENTITY aboutTor.learnMore.label "Tor Projectに関する詳細 »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "寄付">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/ja/aboutTor.properties b/src/chrome/locale/ja/aboutTor.properties
index 290c072..ed1ecc6 100644
--- a/src/chrome/locale/ja/aboutTor.properties
+++ b/src/chrome/locale/ja/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=<a href="%2$S">Disconnect.me</a>で<a href="%1$S">安
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/ko/aboutTBUpdate.dtd b/src/chrome/locale/ko/aboutTBUpdate.dtd
index 545f269..5ad84ba 100644
--- a/src/chrome/locale/ko/aboutTBUpdate.dtd
+++ b/src/chrome/locale/ko/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser Update">
-<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.title "Tor 브라우저 업데이트">
+<!ENTITY aboutTBUpdate.updated "Tor 브라우저가 업데이트되었습니다.">
+<!ENTITY aboutTBUpdate.linkPrefix "이번 업데이트에 대해 더 알고 싶으시면">
+<!ENTITY aboutTBUpdate.linkLabel "저희 사이트를 방문해 주세요">
<!ENTITY aboutTBUpdate.linkSuffix " ">
-<!ENTITY aboutTBUpdate.changeLogHeading "Changelog:">
+<!ENTITY aboutTBUpdate.changeLogHeading "변경사항:">
diff --git a/src/chrome/locale/ko/aboutTor.dtd b/src/chrome/locale/ko/aboutTor.dtd
index 2ee34ad..23ca3ac 100644
--- a/src/chrome/locale/ko/aboutTor.dtd
+++ b/src/chrome/locale/ko/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Tor에 대해서">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
-<!ENTITY aboutTor.outOfDateTorOff.label "또 한, 이 브라우저는 오래되었습니다.">
+<!ENTITY aboutTor.outOfDateTorOn.label "주의: 현재 구버전 브라우저를 사용하고 계십니다.">
+<!ENTITY aboutTor.outOfDateTorOff.label "또한, 현재 구버전 브라우저를 사용하고 계십니다.">
<!ENTITY aboutTor.outOfDate2.label "onion을 클릭하고 Tor Browser 업데이트 체크를 선택하세요.">
<!ENTITY aboutTor.check.label "Tor 네트워크 설정 테스트">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Tor 브라우저에 오신 것을 환영합니다">
+<!ENTITY aboutTor.success2.label "Tor 네트워크에 연결되었습니다.">
<!ENTITY aboutTor.success3.label "이제 자유롭게 익명으로 인터넷을 탐색할 수 있습니다.">
<!ENTITY aboutTor.failure.label "뭔가 잘못되었습니다!">
<!ENTITY aboutTor.failure2.label "Tor는 이 브라우저에서 작동하지 않습니다.">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Tor 프로젝트란? 온라인 익명 및 개인 정보 보호의 연구, 개발 및 교육에 힘쓰는 US 501(c)(3) 비영리 단체입니다.">
<!ENTITY aboutTor.learnMore.label "Tor 프로젝트에 대해서 더 알아보기 »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "후원하기">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/ko/aboutTor.properties b/src/chrome/locale/ko/aboutTor.properties
index 1d37de7..69c53da 100644
--- a/src/chrome/locale/ko/aboutTor.properties
+++ b/src/chrome/locale/ko/aboutTor.properties
@@ -2,32 +2,20 @@
# See LICENSE for licensing information.
# vim: set sw=2 sts=2 ts=8 et:
-aboutTor.searchSP.privacy=<a href="%2$S">시작페이지</a>를 <a href="%1$S">안전하게</a> 검색
+aboutTor.searchSP.privacy=<a href="%2$S">시작페이지</a>를 통해 <a href="%1$S">안전하게</a> 검색
# The following string is a link which replaces %1$S above.
aboutTor.searchSP.privacy.link=https://startpage.com/eng/protect-privacy.ht…
# The following string is a link which replaces %2$S above.
aboutTor.searchSP.search.link=https://startpage.com/
-aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>를 <a href="%1$S>안전하게</a> 검색
+aboutTor.searchDDG.privacy=<a href="%2$S">DuckDuckGo</a>를 통해 <a href="%1$S>안전하게</a> 검색
# The following string is a link which replaces %1$S above.
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.searchDC.privacy=<a href="%2$S">Diconnect.me</a>를 <a href="%1$S">안전하게</a>
+aboutTor.searchDC.privacy=<a href="%2$S">Diconnect.me</a>를 통해 <a href="%1$S">안전하게</a> 검색
# The following string is a link which replaces %1$S above.
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/ko/brand.dtd b/src/chrome/locale/ko/brand.dtd
index 78aa858..d8b78d3 100644
--- a/src/chrome/locale/ko/brand.dtd
+++ b/src/chrome/locale/ko/brand.dtd
@@ -2,7 +2,7 @@
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY brandShorterName "Tor Browser">
+<!ENTITY brandShorterName "Tor 브라우저">
<!ENTITY brandShortName "Tor 브라우저">
<!ENTITY brandFullName "Tor 브라우저">
<!ENTITY vendorShortName "Tor 프로젝트">
diff --git a/src/chrome/locale/ko/brand.properties b/src/chrome/locale/ko/brand.properties
index 36b8d8b..81a7488 100644
--- a/src/chrome/locale/ko/brand.properties
+++ b/src/chrome/locale/ko/brand.properties
@@ -2,7 +2,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-brandShorterName=Tor Browser
+brandShorterName=Tor 브라우저
brandShortName=Tor 브라우저
brandFullName=Tor 브라우저
vendorShortName=Tor 프로젝트
diff --git a/src/chrome/locale/nl/aboutTor.dtd b/src/chrome/locale/nl/aboutTor.dtd
index fcc46ec..9c6068b 100644
--- a/src/chrome/locale/nl/aboutTor.dtd
+++ b/src/chrome/locale/nl/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Het Tor Project is een US 501(c)(3) non-profit voor onderzoek, ontwikkeling, onderwijs in online anonimiteit en privacy.">
<!ENTITY aboutTor.learnMore.label "Leer meer over Het Tor Project » ">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Doneer">
-<!ENTITY aboutTor.donate.supportTor "Steun a.u.b. Tor!">
diff --git a/src/chrome/locale/nl/aboutTor.properties b/src/chrome/locale/nl/aboutTor.properties
index 8c2c87f..63c49fa 100644
--- a/src/chrome/locale/nl/aboutTor.properties
+++ b/src/chrome/locale/nl/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=<a href="%1$S">Veilig</a> zoeken met <a href="%2$S">Di
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden zou geen contact met mij kunnen hebben zonder Tor en andere gratis software encryptie projecten. Tor is essentieel, en het heeft nu onze hulp nodig.
-aboutTor.donationBanner.lp.speciality=Oscar-Winnend Documentaire Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy en anonimiteit is voor iedereen belangrijk.
-aboutTor.donationBanner.cd.speciality= Romanschrijver, technologie activist en co-redacteur van Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Help mee met het in stand houden van het sterkste privacy tool van de wereld!
-aboutTor.donationBanner.rd.speciality=Oprichter, Adjunct-directeur van het Tor Project
diff --git a/src/chrome/locale/pl/aboutTor.dtd b/src/chrome/locale/pl/aboutTor.dtd
index a79b973..e307e5b 100644
--- a/src/chrome/locale/pl/aboutTor.dtd
+++ b/src/chrome/locale/pl/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Informacje na temat Tor'a">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "Ostrzeżenie: ta przeglądarka jest nieaktualna.">
<!ENTITY aboutTor.outOfDateTorOff.label "PONADTO, ta przeglądarka jest nieaktualna.">
<!ENTITY aboutTor.outOfDate2.label "Kliknij na ikonę cebuli, a następnie wybierz Sprawdź czy są dostępne aktualizacje.">
<!ENTITY aboutTor.check.label "Przetestuj Ustawienia Sieci Tor">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Witamy w Tor Browser">
+<!ENTITY aboutTor.success2.label "Połączono z siecią Tor">
<!ENTITY aboutTor.success3.label "Możesz teraz swobodnie przeglądać Internet anonimowo.">
<!ENTITY aboutTor.failure.label "Coś poszło nie tak!">
<!ENTITY aboutTor.failure2.label "Tor nie działa w tej przeglądarce.">
@@ -49,6 +49,3 @@
* 501(c)(3)">
<!ENTITY aboutTor.learnMore.label "Dowiedz się więcej na temat Tor Project »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Wspomóż finansowo">
-<!ENTITY aboutTor.donate.supportTor "Proszę wspomóż Tor!">
diff --git a/src/chrome/locale/pl/aboutTor.properties b/src/chrome/locale/pl/aboutTor.properties
index 88c79b9..9bf0dcd 100644
--- a/src/chrome/locale/pl/aboutTor.properties
+++ b/src/chrome/locale/pl/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Szukaj <a href="%1$S">bezpiecznie</a> używając wyszu
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/pt/aboutTBUpdate.dtd b/src/chrome/locale/pt/aboutTBUpdate.dtd
index 37567bd..8b22e17 100644
--- a/src/chrome/locale/pt/aboutTBUpdate.dtd
+++ b/src/chrome/locale/pt/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
-<!ENTITY aboutTBUpdate.title "Tor Browser Update">
-<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
-<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
-<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.title "Navegador Tor - Atualização">
+<!ENTITY aboutTBUpdate.updated "O Navegador Tor foi atualizado">
+<!ENTITY aboutTBUpdate.linkPrefix "Para a informação mais atualizada sobre este lançamento,">
+<!ENTITY aboutTBUpdate.linkLabel "visite o nosso site da Web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
-<!ENTITY aboutTBUpdate.changeLogHeading "Changelog:">
+<!ENTITY aboutTBUpdate.changeLogHeading "Registo de alterações:">
diff --git a/src/chrome/locale/pt/aboutTor.dtd b/src/chrome/locale/pt/aboutTor.dtd
index 8fd6939..24ff4a5 100644
--- a/src/chrome/locale/pt/aboutTor.dtd
+++ b/src/chrome/locale/pt/aboutTor.dtd
@@ -6,17 +6,17 @@
<!ENTITY aboutTor.title "Sobre o Tor">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
-<!ENTITY aboutTor.outOfDateTorOff.label "TAMBÉM, este navegador está desatualizado.">
-<!ENTITY aboutTor.outOfDate2.label "Clique na cebola e escolha 'Procurar atualizações do navegador Tor'">
+<!ENTITY aboutTor.outOfDateTorOn.label "AVISO: este navegador está desatualizado.">
+<!ENTITY aboutTor.outOfDateTorOff.label "Este navegador também está desatualizado.">
+<!ENTITY aboutTor.outOfDate2.label "Clique na cebola e escolha 'Procurar por atualizações do Navegador Tor'">
-<!ENTITY aboutTor.check.label "Testar as Configurações da Rede Tor">
+<!ENTITY aboutTor.check.label "Testar Configurações da Rede Tor">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
-<!ENTITY aboutTor.success3.label "Agora já está livre para navegar na Internet anonimamente.">
-<!ENTITY aboutTor.failure.label "Ocorreu Algo de Errado!">
-<!ENTITY aboutTor.failure2.label "O Tor não está a funcionar neste navegador.">
+<!ENTITY aboutTor.success.label "Bem-vindo ao Navegador Tor">
+<!ENTITY aboutTor.success2.label "Ligado à rede Tor.">
+<!ENTITY aboutTor.success3.label "Agora já está livre para navegar anonimamente na Internet.">
+<!ENTITY aboutTor.failure.label "Ocorreu algo de errado!">
+<!ENTITY aboutTor.failure2.label "O Tor não está a funcionar neste navegador.">
<!ENTITY aboutTor.failure3prefix.label "Para assistência, por favor, contacte">
<!ENTITY aboutTor.failure3Link "help(a)rt.torproject.org">
<!ENTITY aboutTor.failure3suffix.label ".">
@@ -32,7 +32,7 @@
<!ENTITY aboutTor.torInfo3.label "Nó de saída:">
<!ENTITY aboutTor.torInfo4.label "Este servidor não regista qualquer informação sobre os visitantes.">
<!ENTITY aboutTor.whatnextQuestion.label "E a seguir?">
-<!ENTITY aboutTor.whatnextAnswer.label "O Tor NÃO é tudo o que precisa para navegar anonimamente na Internet! Poderá ter que mudar alguns dos seus hábitos de navegação para ter a certeza que a sua identidade está segura.">
+<!ENTITY aboutTor.whatnextAnswer.label "O Tor NÃO é tudo o que precisa para navegar anonimamente! Poderá ter que alterar alguns dos seus hábitos de navegação para assegurar que a sua identidade fica segura.">
<!ENTITY aboutTor.whatnext.label "Dicas Sobre Como se Manter Anónimo »">
<!ENTITY aboutTor.whatnext.link "https://www.torproject.org/download/download.html.en#warning">
<!ENTITY aboutTor.helpInfo1.label "Você Pode Ajudar!">
@@ -44,9 +44,6 @@
<!ENTITY aboutTor.helpInfo5.label "Efetue um Donativo »">
<!ENTITY aboutTor.helpInfo5.link "https://www.torproject.org/donate/donate.html.en">
-<!ENTITY aboutTor.footer.label "O Projeto Tor é uma organização sem fins lucrativos US 501(c)(3) dedicada à investigação, desenvolvimento e promoção de anonimato e privacidade on-line.">
+<!ENTITY aboutTor.footer.label "O Projeto Tor é uma organização sem fins lucrativos US 501(c)(3), dedicada à investigação, desenvolvimento e promoção do anonimato e privacidade on-line.">
<!ENTITY aboutTor.learnMore.label "Saber mais sobre o Projeto Tor »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Doar">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/pt/aboutTor.properties b/src/chrome/locale/pt/aboutTor.properties
index 85e9a0d..7bf9d5d 100644
--- a/src/chrome/locale/pt/aboutTor.properties
+++ b/src/chrome/locale/pt/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Procurar com <a href="%1$S">segurança</a> com <a href
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/ru/aboutTor.dtd b/src/chrome/locale/ru/aboutTor.dtd
index ac71c5b..f2ea375 100644
--- a/src/chrome/locale/ru/aboutTor.dtd
+++ b/src/chrome/locale/ru/aboutTor.dtd
@@ -48,6 +48,3 @@
<!ENTITY aboutTor.learnMore.label "Узнайте больше о проекте Tor »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html#ru
">
-
-<!ENTITY aboutTor.donate.donate "Пожертвовать">
-<!ENTITY aboutTor.donate.supportTor "Пожалуйста, поддержите Tor!">
diff --git a/src/chrome/locale/ru/aboutTor.properties b/src/chrome/locale/ru/aboutTor.properties
index e294d61..6795b7c 100644
--- a/src/chrome/locale/ru/aboutTor.properties
+++ b/src/chrome/locale/ru/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Ищите <a href="%1$S">конфиденциальн
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Лора Пойтрас
-aboutTor.donationBanner.lp.quote=Эдвард Сноуден не был бы в состоянии связаться со мной без Tor и других проектов свободного программного обеспечения для шифрования. Тор является важным инструментом, и он нуждается в нашей поддержке.
-aboutTor.donationBanner.lp.speciality=обладатель "Оскара" за лучший документальный фильм <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Кори Доктороу
-aboutTor.donationBanner.cd.quote=Конфиденциальность и анонимность важна для всех нас.
-aboutTor.donationBanner.cd.speciality= Писатель, активист в области технологий, соредактор ресурса "Boing Boing"
-
-aboutTor.donationBanner.rd.who=— Роджер Динглдайн
-aboutTor.donationBanner.rd.quote=Пожалуйста, помогите сильнейшему инструменту конфиденциальности в мире стать более стабильным!
-aboutTor.donationBanner.rd.speciality=Основатель, исполнительный директор Tor Project
diff --git a/src/chrome/locale/sv/aboutTor.dtd b/src/chrome/locale/sv/aboutTor.dtd
index 75c4ed1..5f4cf5e 100644
--- a/src/chrome/locale/sv/aboutTor.dtd
+++ b/src/chrome/locale/sv/aboutTor.dtd
@@ -6,14 +6,14 @@
<!ENTITY aboutTor.title "Om Tor">
-<!ENTITY aboutTor.outOfDateTorOn.label "WARNING: this browser is out of date.">
+<!ENTITY aboutTor.outOfDateTorOn.label "VARNING: den här webbläsaren är inte uppdaterad.">
<!ENTITY aboutTor.outOfDateTorOff.label "DESSUTOM, denna webbläsare är ej uppdaterad.">
<!ENTITY aboutTor.outOfDate2.label "Klicka på Tor-löken och välj sedan 'Sök efter uppdateringar för Tor webbläsare'.">
<!ENTITY aboutTor.check.label "Testa nätverksinställningarna för Tor">
-<!ENTITY aboutTor.success.label "Welcome to Tor Browser">
-<!ENTITY aboutTor.success2.label "Connected to the Tor network.">
+<!ENTITY aboutTor.success.label "Välkommen till Tor Browser">
+<!ENTITY aboutTor.success2.label "Ansluten till Tor-nätverket.">
<!ENTITY aboutTor.success3.label "Du kan nu surfa på nätet anonymt.">
<!ENTITY aboutTor.failure.label "Någonting gick fel!">
<!ENTITY aboutTor.failure2.label "Tor fungerar inte i den här webbläsaren.">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Tor projektet är en US 501(c)(3) non-profit organisation som utför forskning, utveckling, och utbildning inom online anonymitet och integritet.">
<!ENTITY aboutTor.learnMore.label "Mer information om Tor-projektet »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Donera">
-<!ENTITY aboutTor.donate.supportTor "Vänligen stöd Tor!">
diff --git a/src/chrome/locale/sv/aboutTor.properties b/src/chrome/locale/sv/aboutTor.properties
index c74928f..fafe44a 100644
--- a/src/chrome/locale/sv/aboutTor.properties
+++ b/src/chrome/locale/sv/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Sök <a href="%1$S">säkert</a> med <a href="%2$S">Dis
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden skulle inte ha kunnat kontakta mig utan Tor och andra öppna projekt för kryptering. Tor är ett väsentligt verktyg, och det behöver vårt stöd.
-aboutTor.donationBanner.lp.speciality=Oscar-vinnande dokumentärfilmare, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Integritet och anonymitet är viktigt för oss alla.
-aboutTor.donationBanner.cd.speciality= Romanförfattare, teknikaktivist och medredaktör för Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Vänligen hjälp det starkaste integritetsverktyget i världen att bli mer hållbart!
-aboutTor.donationBanner.rd.speciality=Grundare, tillförordnad verkställande direktör för Tor-projektet
diff --git a/src/chrome/locale/tr/aboutTBUpdate.dtd b/src/chrome/locale/tr/aboutTBUpdate.dtd
index e92e395..5aac624 100644
--- a/src/chrome/locale/tr/aboutTBUpdate.dtd
+++ b/src/chrome/locale/tr/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.title "Tor Browser Güncellemesi">
<!ENTITY aboutTBUpdate.updated "Tor Browser güncellendi.">
-<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki en güncel bilgiler için.">
-<!ENTITY aboutTBUpdate.linkLabel "web sitemize bakın">
+<!ENTITY aboutTBUpdate.linkPrefix "Bu sürüm hakkındaki güncelleme bilgilerinin çoğu ">
+<!ENTITY aboutTBUpdate.linkLabel "web sitemizden edinilebilir">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.changeLogHeading "Sürüm notları:">
diff --git a/src/chrome/locale/tr/aboutTor.dtd b/src/chrome/locale/tr/aboutTor.dtd
index 98e110e..3e3db58 100644
--- a/src/chrome/locale/tr/aboutTor.dtd
+++ b/src/chrome/locale/tr/aboutTor.dtd
@@ -13,9 +13,9 @@
<!ENTITY aboutTor.check.label "Tor Ağ Ayarlarını Sınayın">
<!ENTITY aboutTor.success.label "Tor Browser'a Hoş Geldiniz">
-<!ENTITY aboutTor.success2.label "Tor ağına bağlanın.">
-<!ENTITY aboutTor.success3.label "Artık Internet'te özgürce ve anonim olarak dolaşabilirsiniz.">
-<!ENTITY aboutTor.failure.label "Birşeyler Ters Gitti!">
+<!ENTITY aboutTor.success2.label "Tor ağına bağlanıldı.">
+<!ENTITY aboutTor.success3.label "Artık İnternet'te özgürce ve anonim olarak dolaşabilirsiniz.">
+<!ENTITY aboutTor.failure.label "Bir Şeyler Ters Gitti!">
<!ENTITY aboutTor.failure2.label "Tor bu tarayıcı ile çalışmıyor.">
<!ENTITY aboutTor.failure3prefix.label "Yardım almak için bizimle görüşün">
<!ENTITY aboutTor.failure3Link "help(a)rt.torproject.org">
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Tor Projesi, ABD 501(c)(3) kapsamında çevrim içi gizlilik ve mahremiyet üzerine araştırma, geliştirme ve eğitim çalışmaları yapan ve kar amacı gütmeyen bir kuruluştur.">
<!ENTITY aboutTor.learnMore.label "Tor Projesi hakkında daha çok şey öğrenin »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Bağış Yapın">
-<!ENTITY aboutTor.donate.supportTor "Lütfen Tor Projesini Destekleyin!">
diff --git a/src/chrome/locale/tr/aboutTor.properties b/src/chrome/locale/tr/aboutTor.properties
index c034690..686b883 100644
--- a/src/chrome/locale/tr/aboutTor.properties
+++ b/src/chrome/locale/tr/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=<a href="%2$S">Disconnect.me</a> kullanarak <a href="%
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Tor ve diğer özgür yazılım şifreleme projeleri olmadan Edward Snowden benimle görüşemezdi. Tor olmazsa olmaz bir araç ve desteklenmesi gerekiyor.
-aboutTor.donationBanner.lp.speciality=Oscar ödüllü <i>citizenFour</i> belgeselinin yönetmeni
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Kişisel gizlilik ve anonim kalmak hepimiz için önemli.
-aboutTor.donationBanner.cd.speciality= Yazar, teknoloji aktivisti ve Boing Boing editörü
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Dünyadaki en güçlü kişisel gizlilik koruma yazılımının kalıcı olmasına yardımcı olun!
-aboutTor.donationBanner.rd.speciality=Tor Projesinin Kurucusu ve Yürütücü Başkanı
diff --git a/src/chrome/locale/vi/aboutTor.dtd b/src/chrome/locale/vi/aboutTor.dtd
index e3d1629..3ab6a1b 100644
--- a/src/chrome/locale/vi/aboutTor.dtd
+++ b/src/chrome/locale/vi/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "Dự án Tor là một US 501(c)(3) không lợi nhuận chuyên dùng cho nghiên cứu, phát triển và giao dục về vô danh và riêng tư trực tuyến">
<!ENTITY aboutTor.learnMore.label "Tìm hiểu thêm về Tor Project">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Donate">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/vi/aboutTor.properties b/src/chrome/locale/vi/aboutTor.properties
index 10f09a1..d607324 100644
--- a/src/chrome/locale/vi/aboutTor.properties
+++ b/src/chrome/locale/vi/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S"
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/locale/zh-CN/aboutTor.dtd b/src/chrome/locale/zh-CN/aboutTor.dtd
index fa3d5f3..4d02c9b 100644
--- a/src/chrome/locale/zh-CN/aboutTor.dtd
+++ b/src/chrome/locale/zh-CN/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "The Tor Project 是一家美国 501(c)(3) 非营利组织,致力于在线匿名与隐私的研究、开发与教育。">
<!ENTITY aboutTor.learnMore.label "了解更多有关 The Tor Project 的信息 »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "捐款">
-<!ENTITY aboutTor.donate.supportTor "请支持 Tor!">
diff --git a/src/chrome/locale/zh-CN/aboutTor.properties b/src/chrome/locale/zh-CN/aboutTor.properties
index 62b5528..39dbd19 100644
--- a/src/chrome/locale/zh-CN/aboutTor.properties
+++ b/src/chrome/locale/zh-CN/aboutTor.properties
@@ -2,32 +2,20 @@
# See LICENSE for licensing information.
# vim: set sw=2 sts=2 ts=8 et:
-aboutTor.searchSP.privacy=使用<a href="%2$S">开始页</a><a href="%1$S">安全地</a>进行搜索。
+aboutTor.searchSP.privacy=使用<a href="%2$S">Startpage</a><a href="%1$S">安全</a>搜索。
# The following string is a link which replaces %1$S above.
aboutTor.searchSP.privacy.link=https://startpage.com/eng/protect-privacy.ht…
# The following string is a link which replaces %2$S above.
aboutTor.searchSP.search.link=https://startpage.com/
-aboutTor.searchDDG.privacy=使用<a href="%2$S">DuckDuckGo</a><a href="%1$S">安全地</a>进行搜索。
+aboutTor.searchDDG.privacy=使用<a href="%2$S">DuckDuckGo</a><a href="%1$S">安全</a>搜索。
# The following string is a link which replaces %1$S above.
aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html
# The following string is a link which replaces %2$S above.
aboutTor.searchDDG.search.link=https://duckduckgo.com/
-aboutTor.searchDC.privacy=使用<a href="%2$S">Disconnect.me</a><a href="%1$S">安全地</a>进行搜索。
+aboutTor.searchDC.privacy=使用<a href="%2$S">Disconnect.me</a><a href="%1$S">安全</a>搜索。
# The following string is a link which replaces %1$S above.
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— 罗拉·柏翠丝(Laura Poitras)
-aboutTor.donationBanner.lp.quote=如果没有 Tor 和其他自由的加密软件,爱德华·斯诺登不可能与我联系。Tor 是必不可少的工具;Tor 需要我们的支持!
-aboutTor.donationBanner.lp.speciality=奥斯卡获奖纪录片《第四公民》制作人
-
-aboutTor.donationBanner.cd.who=— 科利·多克托罗(Cory Doctorow)
-aboutTor.donationBanner.cd.quote=隐私和匿名事关我们每一个人。
-aboutTor.donationBanner.cd.speciality= 小说家,技术活动家,Boing Boing 共同主编
-
-aboutTor.donationBanner.rd.who=— 罗杰·丁格尔丹(Roger Dingledine)
-aboutTor.donationBanner.rd.quote=请帮助世界上最强的隐私工具变得更加可持续发展!
-aboutTor.donationBanner.rd.speciality=Tor Project 创始人,临时执行董事
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index 235e817..1972a7a 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -148,7 +148,7 @@
<!ENTITY torbutton.prefs.block_disk "禁止记录浏览历史或网站数据(启用隐私浏览模式)">
<!ENTITY torbutton.prefs.restrict_thirdparty "限制第三方 cookie 和其他数据跟踪程序">
<!ENTITY torbutton.prefs.block_plugins "禁用浏览器插件(比如 Flash)">
-<!ENTITY torbutton.prefs.resist_fingerprinting "对相关 Tor 浏览器信息进行修改,以区别你与其他 Tor 用户">
+<!ENTITY torbutton.prefs.resist_fingerprinting "修改 Tor 浏览器中可区分你与其他 Tor 用户的细节信息">
<!ENTITY torbutton.prefs.sec_caption "安全等级">
<!ENTITY torbutton.prefs.sec_low "低(默认)">
<!ENTITY torbutton.prefs.sec_low_usable_desc "该选项可提供最佳的用户体验。">
diff --git a/src/install.rdf b/src/install.rdf
index cbf74d0..b75ddbe 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
<em:name>Torbutton</em:name>
<em:creator>Mike Perry</em:creator>
<em:id>torbutton(a)torproject.org</em:id>
- <em:version>1.9.4.2</em:version>
+ <em:version>1.9.5</em:version>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html.en</em:homepageURL>
<em:optionsURL>chrome://torbutton/content/preferences.xul</em:optionsURL>
<em:iconURL>chrome://torbutton/skin/tor.png</em:iconURL>
1
0

[gitian-builder/tor-browser-builder-3] ensure guest upgrade occurs before attempting to get manifest
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit 5c81bf36119dbecc17e55568ef3bc9f30dce0cff
Author: Devrandom <c1.devrandom(a)niftybox.net>
Date: Mon Mar 23 20:47:39 2015 -0700
ensure guest upgrade occurs before attempting to get manifest
fixes #85
---
.gitignore | 1 +
RELEASE_NOTES | 13 +++++++++++++
bin/gbuild | 9 ++++++++-
target-bin/grab-packages.sh | 6 +++---
target-bin/upgrade-system.sh | 15 +++++++++++++++
5 files changed, 40 insertions(+), 4 deletions(-)
diff --git a/.gitignore b/.gitignore
index 54df527..696aae0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,4 @@ inputs
base*
*.qcow2
sigs
+target-bin/bootstrap-fixup
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 514cfdc..7662703 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,3 +1,16 @@
+2015-03-23
+----------
+
+Now ensuring that `apt-get dist-upgrade` occurs at least once before package manifest
+is computed. This is because distributions usually don't store old versions of packages
+in the repos, so we can't download the exact package version we have installed if it's
+out of date.
+
+gbuild now has a --upgrade flag that forces an upgrade after the first one.
+
+Other Notes
+===========
+
Important:
We are planning on switching from using lxc-start to using lxc-execute. lxc-execute requires lxc-init (or init.lxc) to be available on the guest at one of the expected places. You might have to manually install lxc on your base VM image or recreate the image.
diff --git a/bin/gbuild b/bin/gbuild
index da49d50..d256986 100755
--- a/bin/gbuild
+++ b/bin/gbuild
@@ -92,7 +92,11 @@ def build_one_configuration(suite, arch, build_desc, reference_datetime)
info "Installing additional packages (log in var/install.log)"
system! "on-target -u root -e DEBIAN_FRONTEND=noninteractive apt-get --no-install-recommends -y install #{build_desc["packages"].join(" ")} > var/install.log 2>&1"
- info "Grabbing package manifest"
+ if @options[:upgrade] || system("on-target -u root '[ ! -e /var/cache/gitian/initial-upgrade ]'")
+ info "Upgrading system, may take a while"
+ system! "on-target -u root bash < target-bin/upgrade-system.sh > var/install.log 2>&1"
+ end
+ info "Creating package manifest"
system! "on-target -u root bash < target-bin/grab-packages.sh > var/base-#{suitearch}.manifest"
info "Creating build script (var/build-script)"
@@ -130,6 +134,9 @@ OptionParser.new do |opts|
opts.on("-i", "--skip-image", "reuse current target image") do |v|
@options[:skip_image] = v
end
+ opts.on("--upgrade", "upgrade guest with latest packages") do |v|
+ @options[:upgrade] = v
+ end
opts.on("-q", "--quiet", "be quiet") do |v|
@options[:quiet] = v
end
diff --git a/target-bin/grab-packages.sh b/target-bin/grab-packages.sh
index adf8e34..2fef08e 100644
--- a/target-bin/grab-packages.sh
+++ b/target-bin/grab-packages.sh
@@ -6,7 +6,7 @@ set -e
cd /var/cache/apt/archives
-#apt-get clean
-
-dpkg-query -W -f '${Package}\n' | xargs -n 50 apt-get install --reinstall -y -d > /dev/null
+# make sure all packages with installed versions are downloaded
+dpkg-query -W -f '${Package}=${Version}\n' | xargs -n 50 apt-get install -q --reinstall -y -d > /tmp/download.log
+grep "cannot be downloaded" /tmp/download.log && { echo Could not download some packages, please run gbuild --upgrade 1>&2 ; exit 1 ; }
sha256sum *.deb | sort --key 2
diff --git a/target-bin/upgrade-system.sh b/target-bin/upgrade-system.sh
new file mode 100644
index 0000000..9384229
--- /dev/null
+++ b/target-bin/upgrade-system.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Upgrade system
+
+set -e
+
+mkdir -p /var/cache/gitian
+
+# remove obsolete grub, it causes package dependency issues
+apt-get -q -y purge grub > /dev/null 2>&1 || true
+
+# upgrade packages
+DEBIAN_FRONTEND=noninteractive apt-get -y dist-upgrade > /dev/null > /var/cache/gitian/upgrade.log 2>&1
+
+touch /var/cache/gitian/initial-upgrade
1
0

[gitian-builder/tor-browser-builder-3] Bug 15578: Switch over to Wheezy for Linux builds
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit 15d166d65d006f564bf3c7dbb8780ed0649352ba
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Nov 26 06:34:42 2015 +0000
Bug 15578: Switch over to Wheezy for Linux builds
Support for Debian guest VMs was developed by Joseph Bisch. This
commit is largely a backport of this feature adapted to our needs
allowing us to get rid of Ubuntu Lucid which is EOL for a while now.
---
README.md | 22 +++++++++++-
bin/gbuild | 3 ++
bin/make-base-vm | 81 +++++++++++++++++++++++++++++++++++++-------
libexec/copy-from-target | 2 +-
libexec/copy-to-target | 2 +-
libexec/on-target | 2 +-
target-bin/bootstrap-fixup | 18 ++++++++--
7 files changed, 111 insertions(+), 19 deletions(-)
diff --git a/README.md b/README.md
index 2f07c6a..c78e231 100644
--- a/README.md
+++ b/README.md
@@ -32,6 +32,22 @@ This performs a build inside a VM, with deterministic inputs and outputs. If th
Install virtualbox from http://www.virtualbox.org, and make sure `VBoxManage` is in your `$PATH`.
+## Debian Guests
+
+Gitian now supports Debian guests in addition to Ubuntu guests. Note that this doesn't mean you can allow the builders to choose to use either Debian or Ubuntu guests. The person creating the Gitian descriptor will need to choose a particular distro and suite for the guest and all builders must use that particular distro and suite, otherwise the software won't reproduce for everyone.
+
+The official vmbuilder only includes support for Ubuntu guests, so you need to install [Joseph Bisch's fork of vmbuilder](https://github.com/josephbisch/vmbuilder), which adds a Debian plugin.
+
+To create a Debian guest:
+
+ bin/make-base-vm --distro debian --suite jessie
+
+There is currently no support for LXC Debian guests. There is just KVM support. LXC support for Debian guests is planned to be added soon.
+
+Only Debian Jessie guests have been tested with Gitian. Debian Jessie is the current stable release of Debian at this time. If you have success (or trouble) with other versions of Debian, please let us know.
+
+If you are creating a Gitian descriptor, you can now specify a distro. If no distro is provided, the default is to assume Ubuntu. Since Ubuntu is assumed, older Gitian descriptors that don't specify a distro will still work as they always have.
+
## Create the base VM for use in further builds
**NOTE:** requires `sudo`, please review the script
@@ -88,6 +104,10 @@ If you have everything set-up properly, you should be able to:
PATH=$PATH:$(pwd)/libexec
make-clean-vm --suite lucid --arch i386
+ # on-target needs $DISTRO to be set to debian if using a Debian guest
+ # (when running gbuild, $DISTRO is set based on the descriptor, so this line isn't needed)
+ DiSTRO=debian
+
# For LXC:
LXC_ARCH=i386 LXC_SUITE=lucid on-target ls -la
@@ -128,7 +148,7 @@ After you've merged everybody's signatures, verify them:
* Log files are captured to the _var_ directory
* You can run the utilities in libexec by running `PATH="libexec:$PATH"`
* To start the target VM run `start-target 32 lucid-i386` or `start-target 64 lucid-amd64`
-* To ssh into the target run `on-target` or `on-target -u root`
+* To ssh into the target run `on-target` (after setting $DISTRO to debian if using a Debian guest) or `on-target -u root`
* On the target, the _build_ directory contains the code as it is compiled and _install_ contains intermediate libraries
* By convention, the script in `<package>.yml` starts with any environment setup you would need to manually compile things on the target
diff --git a/bin/gbuild b/bin/gbuild
index d256986..0171ccf 100755
--- a/bin/gbuild
+++ b/bin/gbuild
@@ -180,10 +180,13 @@ FileUtils.mkdir_p(result_dir)
package_name = build_desc["name"] or raise "must supply name"
package_name = sanitize(package_name, "package name")
+distro = build_desc["distro"] || "ubuntu"
suites = build_desc["suites"] or raise "must supply suites"
archs = build_desc["architectures"] or raise "must supply architectures"
reference_datetime = build_desc["reference_datetime"] or raise "must supply reference_datetime"
+ENV['DISTRO'] = distro
+
desc_sum = `sha256sum #{build_desc_file}`
desc_sum = desc_sum.sub(build_desc_file, "#{package_name}-desc.yml")
in_sums << desc_sum
diff --git a/bin/make-base-vm b/bin/make-base-vm
index 66a3704..1aa8eac 100755
--- a/bin/make-base-vm
+++ b/bin/make-base-vm
@@ -1,10 +1,10 @@
#!/bin/sh
set -e
+DISTRO=ubuntu
SUITE=lucid
ARCH=amd64
-MIRROR=http://${MIRROR_HOST:-127.0.0.1}:3142/archive.ubuntu.com/ubuntu
-SECURITY_MIRROR=http://${MIRROR_HOST:-127.0.0.1}:3142/security.ubuntu.com/ubuntu
+MIRROR_BASE=http://${MIRROR_HOST:-127.0.0.1}:3142
LXC=0
VBOX=0
@@ -13,11 +13,12 @@ usage() {
echo "Make a base client."
echo
cat << EOF
- --help display this help and exit
- --suite U build suite U instead of lucid
- --arch A build architecture A (e.g. i386) instead of amd64
- --lxc use lxc instead of kvm
- --vbox use VirtualBox instead of kvm
+ --help display this help and exit
+ --distro D build distro D (e.g. debian) instead of ubuntu
+ --suite U build suite U instead of lucid
+ --arch A build architecture A (e.g. i386) instead of amd64
+ --lxc use lxc instead of kvm
+ --vbox use VirtualBox instead of kvm
EOF
}
@@ -28,6 +29,10 @@ if [ $# != 0 ] ; then
usage
exit 0
;;
+ --distro|-d)
+ DISTRO="$2"
+ shift 2
+ ;;
--suite|-s)
SUITE="$2"
shift 2
@@ -55,6 +60,19 @@ if [ $# != 0 ] ; then
done
fi
+if [ $DISTRO = "debian" -a $LXC = "1" ]; then
+ echo "There is no support for Debian guests using LXC currently. Please use KVM or another distro for now."
+ exit 1
+fi
+
+if [ $DISTRO = "ubuntu" ]; then
+ MIRROR=$MIRROR_BASE/archive.ubuntu.com/ubuntu
+ SECURITY_MIRROR=$MIRROR_BASE/security.ubuntu.com/ubuntu
+elif [ $DISTRO = "debian" ]; then
+ MIRROR=$MIRROR_BASE/ftp.debian.org/debian
+ SECURITY_MIRROR=$MIRROR_BASE/security.debian.org/
+fi
+
mkdir -p var
if [ ! -e var/id_dsa ]; then
@@ -68,7 +86,47 @@ if [ $ARCH = "amd64" -a $SUITE = "hardy" ]; then
FLAVOUR=server
fi
-addpkg=openssh-server,pciutils,build-essential,git-core,subversion,lxc
+if [ $DISTRO = "debian" -a $ARCH = "amd64" ]; then
+ FLAVOUR=amd64
+elif [ $DISTRO = "debian" -a $ARCH = "i386" -a \($SUITE = "squeeze" -o $SUITE = "lenny" -o $SUITE = "etch" -o $SUITE = "sarge" -o $SUITE = "woody" -o $SUITE = "potato" -o $SUITE = "slink" -o $SUITE = "hamm" -o $SUITE = "bo" -o $SUITE = "rex" -o $SUITE = "buzz"\) ]; then
+ FLAVOUR=686
+elif [ $DISTRO = "debian" ]; then
+ FLAVOUR=686-pae
+fi
+
+LOCALE_PKG=language-pack-en
+if [ $DISTRO = "debian" ]; then
+ LOCALE_PKG=locales
+fi
+
+addpkg=pciutils,build-essential,git-core,subversion,$LOCALE_PKG,wget,lsb-release
+
+if [ $DISTRO = "ubuntu" ]; then
+ # Need comma at end to work around an issue with apt for Debian <= Wheezy regarding empty strings
+ #
+ # If we left the comma down below when adding KERNEL_PKG to addpkg, the fact that KERNEL_PKG is undefined
+ # if DISTRO is debian would result in two commas in a row (,,), which is interpreted by apt-get as the
+ # package with the name empty string (""). This triggers a bug with apt versions < 1.0.3. So by adding the
+ # comma to the end of KERNEL_PKG, we are including that comma if the distro is ubuntu (and therefore we do
+ # have a kernel package that needs to be installed). If KERNEL_PKG is not set (i.e. we have Debian as the
+ # distro), then we don't add that extra comma and therefore, we don't end up with two commas in a row.
+ #
+ # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744940
+ # http://anonscm.debian.org/cgit/apt/apt.git/commit/?h=1.0.3&id=d99854cac4065…
+ KERNEL_PKG=linux-image-generic,
+fi
+
+GRUB_PKG=grub
+if [ $DISTRO = "ubuntu" ]; then
+ GRUB_PKG=grub-pc
+fi
+
+if [ $LXC = "1" ]; then
+ addpkg=$addpkg,lxc
+else
+ # Lack of comma after KERNEL_PKG is not a typo
+ addpkg=$addpkg,${KERNEL_PKG}${GRUB_PKG},openssh-server
+fi
# Remove cron to work around vmbuilder issue when umounting /dev on target
removepkg=cron
@@ -84,8 +142,8 @@ if [ $VBOX = "1" ]; then
vagrant ssh "$NAME" -c "sudo mkdir -p /root/.ssh && sudo chmod 700 /root/.ssh"
vagrant ssh "$NAME" -c "sudo sh -c 'cat >> /root/.ssh/authorized_keys'" < var/id_dsa.pub
- vagrant ssh "$NAME" -c "sudo -u ubuntu mkdir -p /home/ubuntu/.ssh && sudo -u ubuntu chmod 700 /home/ubuntu/.ssh"
- vagrant ssh "$NAME" -c "sudo sh -c 'cat >> /home/ubuntu/.ssh/authorized_keys'" < var/id_dsa.pub
+ vagrant ssh "$NAME" -c "sudo -u $DISTRO mkdir -p /home/$DISTRO/.ssh && sudo -u $DISTRO chmod 700 /home/$DISTRO/.ssh"
+ vagrant ssh "$NAME" -c "sudo sh -c 'cat >> /home/$DISTRO/.ssh/authorized_keys'" < var/id_dsa.pub
VBoxManage snapshot "Gitian-$NAME" take "Gitian-Clean"
vagrant suspend "$NAME"
@@ -99,7 +157,7 @@ if [ -e $OUT.qcow2 ]; then
fi
rm -rf $OUT
-sudo vmbuilder kvm ubuntu --rootsize 15360 --arch=$ARCH --suite=$SUITE --addpkg=$addpkg --removepkg=$removepkg --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=$MIRROR --security-mirror=$SECURITY_MIRROR --dest=$OUT --flavour=$FLAVOUR --firstboot=`pwd`/target-bin/bootstrap-fixup
+sudo vmbuilder kvm $DISTRO --rootsize 15360 --arch=$ARCH --suite=$SUITE --addpkg=$addpkg --removepkg=$removepkg --ssh-key=var/id_dsa.pub --ssh-user-key=var/id_dsa.pub --mirror=$MIRROR --security-mirror=$SECURITY_MIRROR --dest=$OUT --flavour=$FLAVOUR --firstboot=`pwd`/target-bin/bootstrap-fixup
mv $OUT/*.qcow2 $OUT.qcow2
rm -rf $OUT
@@ -114,4 +172,3 @@ if [ $LXC = "1" ]; then
rm -f $OUT.raw
# bootstrap-fixup is done in libexec/make-clean-vm
fi
-
diff --git a/libexec/copy-from-target b/libexec/copy-from-target
index f82da66..5372bb9 100755
--- a/libexec/copy-from-target
+++ b/libexec/copy-from-target
@@ -2,7 +2,7 @@
. gconfig
-TUSER=ubuntu
+TUSER=${DISTRO:-ubuntu}
QUIET_FLAG=
usage() {
diff --git a/libexec/copy-to-target b/libexec/copy-to-target
index f9d900e..df45812 100755
--- a/libexec/copy-to-target
+++ b/libexec/copy-to-target
@@ -2,7 +2,7 @@
. gconfig
-TUSER=ubuntu
+TUSER=${DISTRO:-ubuntu}
QUIET_FLAG=
usage() {
diff --git a/libexec/on-target b/libexec/on-target
index ae653bd..fe56fee 100755
--- a/libexec/on-target
+++ b/libexec/on-target
@@ -4,7 +4,7 @@ set -e
. gconfig
-TUSER=ubuntu
+TUSER=${DISTRO:-ubuntu}
usage() {
echo "Usage: ${0##*/} [OPTION]... <command>"
diff --git a/target-bin/bootstrap-fixup b/target-bin/bootstrap-fixup
index ccbb977..d371072 100755
--- a/target-bin/bootstrap-fixup
+++ b/target-bin/bootstrap-fixup
@@ -2,7 +2,8 @@
set -e
-. /etc/lsb-release
+DISTRIB_NAME=`lsb_release -is`
+DISTRIB_CODENAME=`lsb_release -cs`
ip=`hostname --all-ip-addresses | cut -d ' ' -f1 | cut -d. -f1-3`
@@ -14,5 +15,16 @@ else
MIRROR_HOST_ON_GUEST=${MIRROR_HOST_ON_GUEST:-10.0.2.2}
fi
-echo "deb http://$MIRROR_HOST_ON_GUEST:3142/archive.ubuntu.com/ubuntu $DISTRIB_CODENAME main universe" > $1/etc/apt/sources.list
-echo "deb http://$MIRROR_HOST_ON_GUEST:3142/archive.ubuntu.com/ubuntu $DISTRIB_CODENAME-updates main universe" >> $1/etc/apt/sources.list
+if [ $DISTRIB_NAME = "Ubuntu" ]; then
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/archive.ubuntu.com/ubuntu $DISTRIB_CODENAME main universe" > $1/etc/apt/sources.list
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/security.ubuntu.com/ubuntu $DISTRIB_CODENAME-security main universe" >> $1/etc/apt/sources.list
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/archive.ubuntu.com/ubuntu $DISTRIB_CODENAME-updates main universe" >> $1/etc/apt/sources.list
+elif [ $DISTRIB_NAME = "Debian" ]; then
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/ftp.debian.org/debian $DISTRIB_CODENAME main" > $1/etc/apt/sources.list
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/security.debian.org/ $DISTRIB_CODENAME/updates main" >> $1/etc/apt/sources.list
+ echo "deb http://$MIRROR_HOST_ON_GUEST:3142/ftp.debian.org/debian $DISTRIB_CODENAME-updates main" >> $1/etc/apt/sources.list
+ # grub-legacy conflicts grub-pc dependencies
+ # No grub-legacy on Ubuntu, just on Debian
+ # Work around bcron-run conflict due to cron being removed
+ apt-get purge -y grub-legacy bcron-run &> /dev/null
+fi
1
0

[tor-browser/tor-browser-38.6.0esr-6.0-1] Bug 1202266 - Suppress '-Wformat-security' in libstagefright CXXFLAGS. r=kentuckyfriedtakahe
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit fcbfae6fc60a23fe79a80d543d12891f0a66b93e
Author: Johannes Pfrang <johannespfrang(a)gmail.com>
Date: Thu Sep 10 09:49:00 2015 +0200
Bug 1202266 - Suppress '-Wformat-security' in libstagefright CXXFLAGS. r=kentuckyfriedtakahe
--HG--
extra : rebase_source : a93c2b3648b6dd14bf0a679fa241e8780c693780
---
media/libstagefright/moz.build | 1 +
1 file changed, 1 insertion(+)
diff --git a/media/libstagefright/moz.build b/media/libstagefright/moz.build
index 651ae85..f43a09f 100644
--- a/media/libstagefright/moz.build
+++ b/media/libstagefright/moz.build
@@ -142,6 +142,7 @@ elif CONFIG['GNU_CXX']:
]
CXXFLAGS += [
'-Wno-format',
+ '-Wno-format-security',
'-Wno-multichar',
'-Wno-sign-compare',
'-Wno-unused',
1
0

[tor-browser-bundle/master] Bug 15578: Switch Linux descriptors over to Wheezy
by gk@torproject.org 22 Jan '16
by gk@torproject.org 22 Jan '16
22 Jan '16
commit f78282bad0e1e2255adcf65198137ee14d7b2235
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 7 12:33:16 2015 +0000
Bug 15578: Switch Linux descriptors over to Wheezy
Besides using Wheezy for building Linux bundles this patch cleans up our
usage of libfaketime as well to make it obvious where exactly we still
need it.
---
gitian/Makefile | 2 +-
gitian/README.build | 2 +-
gitian/check-prerequisites.sh | 41 ++++++++++----------
gitian/descriptors/linux/gitian-bundle.yml | 7 +---
gitian/descriptors/linux/gitian-firefox.yml | 9 ++---
.../linux/gitian-pluggable-transports.yml | 7 ++--
gitian/descriptors/linux/gitian-tor.yml | 7 ++--
gitian/descriptors/linux/gitian-utils.yml | 40 ++++++++++++++-----
gitian/make-vms.sh | 29 ++++++++------
9 files changed, 85 insertions(+), 59 deletions(-)
diff --git a/gitian/Makefile b/gitian/Makefile
index 8f89bca..50d4328 100644
--- a/gitian/Makefile
+++ b/gitian/Makefile
@@ -120,7 +120,7 @@ clean-bundle:
vmclean:
rm -rf ../../gitian-builder/*.qcow2
rm -rf ../../gitian-builder/base-*
- rm -rf ../../gitian-builder/target-{lucid,precise}*
+ rm -rf ../../gitian-builder/target-{lucid,wheezy,precise}*
distclean: vmclean
rm -rf ../../gitian-builder/inputs/*
diff --git a/gitian/README.build b/gitian/README.build
index f289791..4d01d6a 100644
--- a/gitian/README.build
+++ b/gitian/README.build
@@ -177,7 +177,7 @@ Known Issues and Quirks:
where 'make vmclean' causes the rebuild of two VMs in a row.. This might
trigger weird bugs in python-vm-builder.. To rebuild only one set of VMs,
use either 'rm ../../gitian-builder/*precise*' (to remove the Windows/Mac
- VMs) or 'rm ../../gitian-builder/*lucid*' (to remove the Linux VMs).
+ VMs) or 'rm ../../gitian-builder/*wheezy*' (to remove the Linux VMs).
You probably want to make sure you have no stray qemu processes before
rebuilding the VMs or starting a new build, too. 'killall qemu-kvm' is
diff --git a/gitian/check-prerequisites.sh b/gitian/check-prerequisites.sh
index cc16d0e..a5f8393 100755
--- a/gitian/check-prerequisites.sh
+++ b/gitian/check-prerequisites.sh
@@ -17,7 +17,7 @@ then
VERSION=`cat /etc/issue | grep -Eo '[0-9]{2}' | head -1`
if [ "$VERSION" -ge "14" ];
then
- dpkg -s ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
+ dpkg -s ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion torsocks tor 2>/dev/null >/dev/null
if [ $? -ne 0 ];
then
@@ -25,7 +25,7 @@ then
echo
echo "Please run:"
echo " sudo apt-get install torsocks tor"
- echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
+ echo " sudo torsocks apt-get install ruby apache2 git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot faketime zip unzip subversion"
exit 1
fi
else
@@ -45,28 +45,29 @@ then
echo " sudo torsocks apt-get install ruby git apt-cacher-ng qemu-kvm virt-what lxc lxctl fakeroot zip unzip python-cheetah debootstrap parted kpartx rsync"
exit 1
fi
-
- # python-vm-builder is special as we don't have a Debian package for it.
- vmbuilder --help 2>/dev/null >/dev/null
- if [ $? -ne 0 ];
- then
- echo "The VM tool python-vm-builder is missing."
- echo
- echo "Please run"
- echo 'torsocks wget -U "" http://archive.ubuntu.com/ubuntu/pool/universe/v/vm-builder/vm-builder_0.12…'
- echo 'echo "ec12e0070a007989561bfee5862c89a32c301992dd2771c4d5078ef1b3014f03 vm-builder_0.12.4+bzr489.orig.tar.gz" | sha256sum -c'
- echo "# (verification -- must return OK)"
- echo "tar -zxvf vm-builder_0.12.4+bzr489.orig.tar.gz"
- echo "cd vm-builder-0.12.4+bzr489"
- echo "sudo python setup.py install"
- echo "cd .."
- exit 1
- fi
else
echo "We need Debian or Ubuntu which seem to be missing. Aborting."
exit 1
fi
+# vmbuilder is special as we don't have a package for it yet.
+# XXX: Make sure an already installed vmbuilder is recent enough.
+vmbuilder --help 2>/dev/null >/dev/null
+if [ $? -ne 0 ];
+then
+ echo "The VM tool python-vm-builder is missing."
+ echo
+ echo "Please run"
+ echo 'torsocks wget -U "" https://bugs.launchpad.net/ubuntu/+archive/primary/+files/vm-builder_0.12.4…'
+ echo 'echo "76cbf8c52c391160b2641e7120dbade5afded713afaa6032f733a261f13e6a8e vm-builder_0.12.4+bzr494.orig.tar.gz" | sha256sum -c'
+ echo "# (verification -- must return OK)"
+ echo "tar -zxvf vm-builder_0.12.4+bzr494.orig.tar.gz"
+ echo "cd vm-builder-0.12.4+bzr494"
+ echo "sudo python setup.py install"
+ echo "cd .."
+ exit 1
+fi
+
update_responses_pkg="libyaml-perl libfile-slurp-perl libxml-writer-perl libio-captureoutput-perl libfile-which-perl libparallel-forkmanager-perl libxml-libxml-perl libwww-perl libjson-perl"
missing_pkg=''
for pkg in $update_responses_pkg
@@ -80,7 +81,7 @@ if [ -n "$missing_pkg" ]
then
echo "You are missing one or more dependencies for the update_responses script"
echo "Please run"
- echo " sudo apt-get install $missing_pkg"
+ echo " sudo torsocks apt-get install $missing_pkg"
exit 1
fi
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 15f6359..bfecb0f 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -1,7 +1,8 @@
---
name: "bundle-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "i386"
- "amd64"
@@ -28,7 +29,6 @@ remotes:
- "url": "https://github.com/wolfcw/libfaketime"
"dir": "faketime"
files:
-# TODO: Can we use an env for this file+version??
- "tor-browser-linux32-gbuilt.zip"
- "tor-browser-linux64-gbuilt.zip"
- "tor-linux32-gbuilt.zip"
@@ -113,9 +113,6 @@ script: |
cd ../../../
#
cd https-everywhere
- # Workaround for git not knowing `git submodule -f` in the version shipped in
- # 10.04.
- sed 's/recursive -f/recursive/' -i makexpi.sh
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
# The solution there does not work for us as doing something like
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index 1efed90..468d6e5 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -1,7 +1,8 @@
---
name: "torbrowser-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "i386"
- "amd64"
@@ -11,9 +12,10 @@ packages:
- "autoconf2.13"
- "libgtk2.0-dev"
- "libdbus-glib-1-dev"
-- "yasm-1"
+- "yasm"
- "libasound2-dev"
- "libgstreamer-plugins-base0.10-dev"
+- "libxt-dev"
- "hardening-wrapper"
# To pass configure since ESR 31.
- "libpulse-dev"
@@ -51,9 +53,6 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
- mkdir -p $INSTDIR/build/bin/
- ln -s /usr/bin/yasm-1 $INSTDIR/build/bin/yasm
- export PATH=$PATH:$INSTDIR/build/bin
# Preparing Python for Tor Browser
unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
# TODO: We might want to have a smarter solution than hard-coding the version.
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 31deebb..0643e6b 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -1,7 +1,8 @@
---
name: "pluggable-transports-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "i386"
- "amd64"
@@ -57,7 +58,6 @@ script: |
INSTDIR="$HOME/install"
PTDIR="$INSTDIR/Tor/PluggableTransports"
mkdir -p $PTDIR
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -251,7 +251,8 @@ script: |
cp -a obfs4proxy $PTDIR
cd ../..
- # Grabbing the results
+ # Grabbing the results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
cd $INSTDIR
~/build/dzip.sh pluggable-transports-linux$GBUILD_BITS-gbuilt.zip Tor/ Docs/
cp pluggable-transports-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-tor.yml b/gitian/descriptors/linux/gitian-tor.yml
index 0e35d2f..bc1dc67 100644
--- a/gitian/descriptors/linux/gitian-tor.yml
+++ b/gitian/descriptors/linux/gitian-tor.yml
@@ -1,7 +1,8 @@
---
name: "tor-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "i386"
- "amd64"
@@ -29,7 +30,6 @@ files:
script: |
INSTDIR="$HOME/install"
source versions
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
export FAKETIME=$REFERENCE_DATETIME
export TZ=UTC
export LC_ALL=C
@@ -93,7 +93,8 @@ script: |
objcopy --add-gnu-debuglink=./Debug/Tor/$LIB $INSTDIR/Tor/$LIB
done
- # Grabbing the results
+ # Grabbing the results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
~/build/dzip.sh tor-linux$GBUILD_BITS-gbuilt.zip Data/ Tor/
~/build/dzip.sh tor-linux$GBUILD_BITS-debug.zip Debug/
cp tor-linux$GBUILD_BITS-gbuilt.zip $OUTDIR/
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 740a22c..34e93dc 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -1,7 +1,8 @@
---
name: "utils-linux"
+distro: "debian"
suites:
-- "lucid"
+- "wheezy"
architectures:
- "i386"
- "amd64"
@@ -22,6 +23,8 @@ packages:
- "libxslt-dev"
# Needed for passing the Python related part of configure in ESR 31.
- "libssl-dev"
+# Needed for binutils (64bit) as we are building with PIE enabled.
+- "libstdc++6-4.7-pic"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://github.com/libevent/libevent.git"
@@ -40,6 +43,7 @@ script: |
source versions
export TZ=UTC
export LC_ALL=C
+ export FAKETIME=$REFERENCE_DATETIME
umask 0022
# Config options for hardening-wrapper
@@ -51,16 +55,33 @@ script: |
# Building Binutils
tar xjf binutils.tar.bz2
+ # The libstdc++ shipped by default is non-PIC which breaks the binutils build
+ # if we build with DEB_BUILD_HARDENING_PIE=1. We need to install a PIC one AND
+ # make sure it gets used before the non-PIC one would.
+ if [ $GBUILD_BITS == "64" ];
+ then
+ ln -s /usr/lib/gcc/x86_64-linux-gnu/4.7/libstdc++_pic.a libstdc++.a
+ export LDFLAGS="-L/home/debian -lstdc++"
+ fi
cd binutils*
# We want to use gold as the linker in our toolchain mainly as it is way
# faster when linking Tor Browser code (especially libxul). But apart from
# that it fixes #12103 and issues with ESR 31 and our Gitian setup as well
# (see bug #12743).
- ./configure --prefix=$INSTDIR/binutils --disable-multilib --enable-gold
+ ./configure --prefix=$INSTDIR/binutils --disable-multilib --enable-gold --enable-plugins
make $MAKEOPTS
make install
cd ..
+ export LDFLAGS=""
+ # We need to disable `-Werror=format-security` as GCC does not build with it
+ # anymore. It seems it got audited for those problems already:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48817.
+ export DEB_BUILD_HARDENING_FORMAT=0
+ # libfaketime gets into our way when building GCC 4.9.x. See:
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
+ # avoid it for the toolchain and cross our fingers.
+ # TODO: Test a newer libfaketime than 0.8.
# Building GCC
tar xjf gcc.tar.bz2
cd gcc-*
@@ -69,13 +90,7 @@ script: |
make install
cd ..
- # libfaketime gets into our way when building GCC 4.9.x. See:
- # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61314 for details. Thus, we
- # avoid it for the toolchain and cross our fingers.
- # TODO: Test a newer libfaketime than 0.8.
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- export FAKETIME=$REFERENCE_DATETIME
-
+ export DEB_BUILD_HARDENING_FORMAT=1
# Building Libevent
cd libevent
./autogen.sh
@@ -86,6 +101,7 @@ script: |
cd ..
# Building OpenSSL
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
tar xzf openssl.tar.gz
cd openssl-*
find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
@@ -111,6 +127,7 @@ script: |
cd ..
# Building lxml
+ export LD_PRELOAD=""
tar xzf lxml.tar.gz
cd lxml-*
# Make sure we use our freshly built python binary here. Otherwise bad things
@@ -118,7 +135,9 @@ script: |
# rules.
$INSTDIR/python/bin/python2.7 setup.py build
cd build/lib*
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
+ export LD_PRELOAD=""
cp *utils.zip $OUTDIR
cd ../../../
@@ -135,7 +154,8 @@ script: |
make install
cd ..
- # Grabbing the remaining results
+ # Grabbing the remaining results and making sure timestamps don't spoil them
+ export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
cd $INSTDIR
~/build/dzip.sh binutils-$BINUTILS_VER-linux$GBUILD_BITS-utils.zip binutils
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
diff --git a/gitian/make-vms.sh b/gitian/make-vms.sh
index a3b43b5..469a9ca 100755
--- a/gitian/make-vms.sh
+++ b/gitian/make-vms.sh
@@ -33,7 +33,14 @@ build_and_test_vm() {
export LXC_ARCH=$arch
./bin/make-base-vm --suite $dist --lxc --arch $arch
else
- ./bin/make-base-vm --suite $dist --arch $arch
+ if [ "$dist" = "wheezy" ];
+ then
+ export DISTRO=debian
+ ./bin/make-base-vm --distro debian --suite $dist --arch $arch
+ else
+ export DISTRO=ubuntu
+ ./bin/make-base-vm --suite $dist --arch $arch
+ fi
fi
make-clean-vm --suite $dist --arch $arch
@@ -56,21 +63,21 @@ build_and_test_vm() {
return 0
}
-while ! build_and_test_vm lucid i386 32
+while ! build_and_test_vm wheezy i386 32
do
- stop-target 32 lucid
- rm ./base-lucid-i386*
+ stop-target 32 wheezy
+ rm ./base-wheezy-i386*
echo
- echo "Lucid i386 VM build failed... Trying again"
+ echo "Wheezy i386 VM build failed... Trying again"
echo
done
-while ! build_and_test_vm lucid amd64 64
+while ! build_and_test_vm wheezy amd64 64
do
- stop-target 64 lucid
- rm ./base-lucid-amd64*
+ stop-target 64 wheezy
+ rm ./base-wheezy-amd64*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Wheezy amd64 VM build failed... Trying again"
echo
done
@@ -79,7 +86,7 @@ do
stop-target 32 precise
rm ./base-precise-i386*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Precise amd64 VM build failed... Trying again"
echo
done
@@ -88,7 +95,7 @@ do
stop-target 64 precise
rm ./base-precise-amd64*
echo
- echo "Lucid amd64 VM build failed... Trying again"
+ echo "Precise amd64 VM build failed... Trying again"
echo
done
1
0

22 Jan '16
commit ac9da1d5965169f91973d57737fcd20e06351b08
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Jan 10 17:09:43 2016 +0100
Bug 15578: drop our Python build
After switching to Debian Wheezy, we don't need to build Python since
the version provided by the distribution is recent enough.
---
gitian/descriptors/linux/gitian-bundle.yml | 9 +--------
gitian/descriptors/linux/gitian-firefox.yml | 8 +-------
gitian/descriptors/linux/gitian-utils.yml | 25 -------------------------
gitian/fetch-inputs.sh | 7 ++-----
gitian/mkbundle-linux.sh | 12 ------------
gitian/verify-tags.sh | 5 ++---
gitian/versions | 5 -----
gitian/versions.alpha | 5 -----
gitian/versions.beta | 5 -----
gitian/versions.nightly | 5 -----
10 files changed, 6 insertions(+), 80 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index bfecb0f..e44635e 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -14,6 +14,7 @@ packages:
- "libxslt1.1"
- "libxml2-utils"
- "sqlite3"
+- "python-lxml"
reference_datetime: "2000-01-01 00:00:00"
remotes:
- "url": "https://git.torproject.org/tor-launcher.git"
@@ -35,10 +36,6 @@ files:
- "tor-linux64-gbuilt.zip"
- "pluggable-transports-linux32-gbuilt.zip"
- "pluggable-transports-linux64-gbuilt.zip"
-- "python-linux32-utils.zip"
-- "python-linux64-utils.zip"
-- "lxml-linux32-utils.zip"
-- "lxml-linux64-utils.zip"
- "torrc-defaults-appendix-linux"
- "bridge_prefs.js"
- "meek-http-helper-user.js"
@@ -83,10 +80,6 @@ script: |
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Data/Browser/Caches
mkdir -p ${TB_STAGE_DIR}/Browser/TorBrowser/Docs/sources/
- # Preparing Python for HTTPS-Everywhere.
- unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
- export PATH=$INSTDIR/python/bin:$PATH
- unzip -d $INSTDIR/python/lib/python2.7 lxml-linux$GBUILD_BITS-utils.zip
#
# Extract the MAR tools.
unzip -d ~/build ~/build/mar-tools-linux${GBUILD_BITS}.zip
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index 468d6e5..f7ea1c6 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -17,6 +17,7 @@ packages:
- "libgstreamer-plugins-base0.10-dev"
- "libxt-dev"
- "hardening-wrapper"
+- "python-dev"
# To pass configure since ESR 31.
- "libpulse-dev"
# We built GCC but not the libmpc2, thus we need to install it.
@@ -32,8 +33,6 @@ files:
- "binutils-linux64-utils.zip"
- "gcc-linux32-utils.zip"
- "gcc-linux64-utils.zip"
-- "python-linux32-utils.zip"
-- "python-linux64-utils.zip"
- "re-dzip.sh"
- "dzip.sh"
- "versions"
@@ -53,11 +52,6 @@ script: |
export DEB_BUILD_HARDENING_FORMAT=1
export DEB_BUILD_HARDENING_PIE=1
#
- # Preparing Python for Tor Browser
- unzip -d $INSTDIR python-linux$GBUILD_BITS-utils.zip
- # TODO: We might want to have a smarter solution than hard-coding the version.
- ln -sf $INSTDIR/python/bin/python2.7 $INSTDIR/python/bin/python
- export PATH=$INSTDIR/python/bin:$PATH
# Preparing Binutils and GCC for Tor Browser
unzip -d $INSTDIR binutils-linux$GBUILD_BITS-utils.zip
# Make sure gold is used with the hardening wrapper for full RELRO, see
diff --git a/gitian/descriptors/linux/gitian-utils.yml b/gitian/descriptors/linux/gitian-utils.yml
index 34e93dc..e8801cc 100644
--- a/gitian/descriptors/linux/gitian-utils.yml
+++ b/gitian/descriptors/linux/gitian-utils.yml
@@ -33,8 +33,6 @@ files:
- "binutils.tar.bz2"
- "gcc.tar.bz2"
- "openssl.tar.gz"
-- "python.tar.bz2"
-- "lxml.tar.gz"
- "gmp.tar.bz2"
- "versions"
- "dzip.sh"
@@ -117,29 +115,7 @@ script: |
make install
cd ..
- # Building Python
- # Fx 24 ESR and HTTPS Everywhere >= 3.5 do not work with Python < 2.7 anymore.
- # But 10.04 does only ship with Python 2.6. Thus, we compile 2.7 ourselves...
- tar xjf python.tar.bz2
- cd Python-*
- ./configure
- make $MAKEOPTS altinstall prefix=$INSTDIR/python exec-prefix=$INSTDIR/python
- cd ..
-
- # Building lxml
- export LD_PRELOAD=""
- tar xzf lxml.tar.gz
- cd lxml-*
- # Make sure we use our freshly built python binary here. Otherwise bad things
- # may happen when we do so in the bundle step assembling the HTTPS-Everywhere
- # rules.
- $INSTDIR/python/bin/python2.7 setup.py build
- cd build/lib*
- export LD_PRELOAD=/usr/lib/faketime/libfaketime.so.1
- ~/build/dzip.sh lxml-$LXML_VER-linux$GBUILD_BITS-utils.zip lxml
export LD_PRELOAD=""
- cp *utils.zip $OUTDIR
- cd ../../../
# Building GMP
tar xjf gmp.tar.bz2
@@ -161,6 +137,5 @@ script: |
~/build/dzip.sh gcc-$GCC_VER-linux$GBUILD_BITS-utils.zip gcc
~/build/dzip.sh openssl-$OPENSSL_VER-linux$GBUILD_BITS-utils.zip openssl
~/build/dzip.sh libevent-${LIBEVENT_TAG#release-}-linux$GBUILD_BITS-utils.zip libevent
- ~/build/dzip.sh python-$PYTHON_VER-linux$GBUILD_BITS-utils.zip python
~/build/dzip.sh gmp-$GMP_VER-linux$GBUILD_BITS-utils.zip gmp
cp *utils.zip $OUTDIR/
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 206023b..9d6f2f3 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,12 +112,11 @@ update_git() {
##############################################################################
# Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
- "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -226,7 +225,6 @@ ln -sf "$NOSCRIPT_PACKAGE" noscript(a)noscript.net.xpi
ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
ln -sf "$GCC_PACKAGE" gcc.tar.bz2
-ln -sf "$PYTHON_PACKAGE" python.tar.bz2
ln -sf "$PYTHON_MSI_PACKAGE" python.msi
ln -sf "$PYCRYPTO_PACKAGE" pycrypto.tar.gz
ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
@@ -236,7 +234,6 @@ ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
ln -sf "$PY2EXE_PACKAGE" py2exe.exe
ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
ln -sf "$GMP_PACKAGE" gmp.tar.bz2
-ln -sf "$LXML_PACKAGE" lxml.tar.gz
ln -sf "$PARSLEY_PACKAGE" parsley.tar.gz
ln -sf "$GO_PACKAGE" go.tar.gz
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 0c70732..f8aaec1 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -108,10 +108,6 @@ if [ ! -f inputs/binutils-$BINUTILS_VER-linux32-utils.zip -o \
! -f inputs/openssl-$OPENSSL_VER-linux64-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip -o \
! -f inputs/libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip -o \
- ! -f inputs/python-$PYTHON_VER-linux32-utils.zip -o \
- ! -f inputs/python-$PYTHON_VER-linux64-utils.zip -o \
- ! -f inputs/lxml-$LXML_VER-linux32-utils.zip -o \
- ! -f inputs/lxml-$LXML_VER-linux64-utils.zip -o \
! -f inputs/gmp-$GMP_VER-linux32-utils.zip -o \
! -f inputs/gmp-$GMP_VER-linux64-utils.zip ];
then
@@ -136,10 +132,6 @@ then
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip libevent-linux32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
- ln -sf python-$PYTHON_VER-linux32-utils.zip python-linux32-utils.zip
- ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
- ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
- ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux32-utils.zip gmp-linux32-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
@@ -159,10 +151,6 @@ else
ln -sf openssl-$OPENSSL_VER-linux64-utils.zip openssl-linux64-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux32-utils.zip libevent-linux32-utils.zip
ln -sf libevent-${LIBEVENT_TAG_ORIG#release-}-linux64-utils.zip libevent-linux64-utils.zip
- ln -sf python-$PYTHON_VER-linux32-utils.zip python-linux32-utils.zip
- ln -sf python-$PYTHON_VER-linux64-utils.zip python-linux64-utils.zip
- ln -sf lxml-$LXML_VER-linux32-utils.zip lxml-linux32-utils.zip
- ln -sf lxml-$LXML_VER-linux64-utils.zip lxml-linux64-utils.zip
ln -sf gmp-$GMP_VER-linux32-utils.zip gmp-linux32-utils.zip
ln -sf gmp-$GMP_VER-linux64-utils.zip gmp-linux64-utils.zip
cd ..
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 82a810a..fc62344 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -121,12 +121,11 @@ noto-fonts $NOTOFONTS_TAG
EOF
# Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYCRYPTO PYTHON_MSI GMP
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
- "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
diff --git a/gitian/versions b/gitian/versions
index 7ff094e..bd484bb 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -52,7 +52,6 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -68,7 +67,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -77,7 +75,6 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -114,7 +111,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -124,7 +120,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 95ca078..5b7ef02 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -52,7 +52,6 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -68,7 +67,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -77,7 +75,6 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -114,7 +111,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -124,7 +120,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 43c5fde..1bde7e5 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -48,7 +48,6 @@ TWISTED_VER=13.2.0
M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -64,7 +63,6 @@ MINGW_PACKAGE=mingw-w64-svn-snapshot.zip
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -74,7 +72,6 @@ TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -111,7 +108,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -122,7 +118,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_…
PY2EXE_URL=http://softlayer-dal.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index b1c7387..c64d4bb 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -59,7 +59,6 @@ ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
-LXML_VER=3.3.5
PARSLEY_VER=1.2
GO_VER=1.4.2
NOTOCJKFONT_VER=1.004
@@ -75,7 +74,6 @@ OSXSDK_OLD_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
MSVCR100_PACKAGE=msvcr100.dll
BINUTILS_PACKAGE=binutils-${BINUTILS_VER}.tar.bz2
GCC_PACKAGE=gcc-${GCC_VER}.tar.bz2
-PYTHON_PACKAGE=Python-${PYTHON_VER}.tar.bz2
PYTHON_MSI_PACKAGE=python-${PYTHON_VER}.msi
PYCRYPTO_PACKAGE=pycrypto-${PYCRYPTO_VER}.tar.gz
ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
@@ -84,7 +82,6 @@ ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
-LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
PARSLEY_PACKAGE=Parsley-${PARSLEY_VER}.tar.gz
GO_PACKAGE=go${GO_VER}.src.tar.gz
NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
@@ -121,7 +118,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/user-media/addons/722/${NOSCRIP…
-PYTHON_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=https://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI…
PYCRYPTO_URL=https://pypi.python.org/packages/source/p/pycrypto/${PYCRYPTO_…
ARGPARSE_URL=https://argparse.googlecode.com/files/${ARGPARSE_PACKAGE}
@@ -131,7 +127,6 @@ TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
-LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
PARSLEY_URL=https://pypi.python.org/packages/source/P/Parsley/${PARSLEY_PAC…
GO_URL=https://golang.org/dl/${GO_PACKAGE}
NOTOCJKFONT_URL=https://github.com/googlei18n/noto-cjk/raw/f36eda03dfa5582a…
1
0
commit 56c9e21c35d93e29d2750184fa44d23f46aef71c
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 20:22:19 2016 +0000
Release preparations
---
Bundle-Data/Docs/ChangeLog.txt | 49 +++++++++++++++++++++++++++++++++++++
gitian/versions | 32 ++++++++++--------------
tools/update-responses/config.yml | 12 ++++-----
3 files changed, 68 insertions(+), 25 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index dbb01bd..6042c2f 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,52 @@
+Tor Browser 5.5 -- January 26 2016
+ * All Platforms
+ * Update Firefox to 38.6.0esr
+ * Update libevent to 2.0.22-stable
+ * Update NoScript to 2.9.0.2
+ * Update Torbutton to 1.9.4.3
+ * Bug 16990: Show circuit display for connections using multi-party channels
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
+ * Bug 18004: Remove Tor fundraising donation banner
+ * Bug 16940: After update, load local change notes
+ * Bug 17108: Polish about:tor appearance
+ * Bug 17568: Clean up tor-control-port.js
+ * Bug 16620: Move window.name handling into a Firefox patch
+ * Bug 17351: Code cleanup
+ * Translation updates
+ * Update Tor Launcher to 0.2.7.8
+ * Bug 18113: Randomly permutate available default bridges of chosen type
+ * Bug 13313: Bundle a fixed set of fonts to defend against fingerprinting
+ * Bug 10140: Add new Tor Browser locale (Japanese)
+ * Bug 17428: Remove Flashproxy
+ * Bug 13512: Load a static tab with change notes after an update
+ * Bug 9659: Avoid loop due to optimistic data SOCKS code (fix of #3875)
+ * Bug 15564: Isolate SharedWorkers by first-party domain
+ * Bug 16940: After update, load local change notes
+ * Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
+ * Bug 17009: Shift and Alt keys leak physical keyboard layout (fix of #15646)
+ * Bug 17369: Disable RC4 fallback
+ * Bug 17442: Remove custom updater certificate pinning
+ * Bug 16620: Move window.name handling into a Firefox patch
+ * Bug 17220: Support math symbols in font whitelist
+ * Bug 10599+17305: Include updater and build patches needed for hardened builds
+ * Bug 18115+18102+18071+18091: Update/add new obfs4 bridge
+ * Bug 18072: Change recommended pluggable transport type to obfs4
+ * Bug 18008: Create a new MAR Signing key and bake it into Tor Browser
+ * Bug 16322: Use onion address for DuckDuckGo search engine
+ * Bug 17917: Changelog after update is empty if JS is disabled
+ * Windows
+ * Bug 17250: Add localized font names to font whitelist
+ * Bug 16707: Allow more system fonts to get used on Windows
+ * Bug 13819: Ship expert bundles with console enabled
+ * Bug 17250: Fix broken Japanese fonts
+ * Bug 17870: Add intermediate certificate for authenticode signing
+ * OS X
+ * Bug 17122: Rename Japanese OS X bundle
+ * Bug 16707: Allow more system fonts to get used on OS X
+ * Bug 17661: Whitelist font .Helvetica Neue DeskInterface
+ * Linux
+ * Bug 16672: Don't use font whitelisting for Linux users
+
Tor Browser 5.5a6-hardened -- January 7 2016
* All Platforms
* Update NoScript to 2.9
diff --git a/gitian/versions b/gitian/versions
index 8e35391..7ff094e 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -3,27 +3,25 @@ BUNDLE_LOCALES="ar de es-ES fa fr it ko nl pl pt-PT ru tr vi zh-CN"
BUNDLE_LOCALES_LINUX="ja"
BUNDLE_LOCALES_WIN32="ja"
BUNDLE_LOCALES_MAC="ja-JP-mac"
-
BUILD_PT_BUNDLES=1
VERIFY_TAGS=1
-FIREFOX_VERSION=38.2.0esr
+FIREFOX_VERSION=38.6.0esr
TORBROWSER_UPDATE_CHANNEL=release
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.0-1-build2
-TOR_TAG=tor-0.2.6.10
-TORLAUNCHER_TAG=0.2.7.7
-TORBUTTON_TAG=1.9.3.2
-HTTPSE_TAG=5.1.0
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1-build1
+TOR_TAG=tor-0.2.7.6
+TORLAUNCHER_TAG=0.2.7.8
+TORBUTTON_TAG=1.9.4.3
+HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
-LIBEVENT_TAG=release-2.0.21-stable
+LIBEVENT_TAG=release-2.0.22-stable
MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
PYPTLIB_TAG=pyptlib-0.0.6
OBFSPROXY_TAG=obfsproxy-0.2.12
-FLASHPROXY_TAG=1.6
LIBFTE_TAG=85ef8ae58dbf0d02ea26b627e343784b5574c428 # sketch master with fix
FTEPROXY_TAG=597f8378f6f4f3de570b8e1064c2e4cb8d67fbd0 # tag 0.2.19
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
@@ -38,12 +36,12 @@ GO_X_NET_TAG=7dbad50ab5b31073856416cdcfeb2796d682f844
OBFS4_TAG=obfs4proxy-0.0.5
NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
-GITIAN_TAG=tor-browser-builder-3.x-8
+GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
-OPENSSL_VER=1.0.1p
+OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.1.0
PYTHON_VER=2.7.5
@@ -52,7 +50,6 @@ ARGPARSE_VER=1.2.1
PYYAML_VER=3.11
ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
-M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
@@ -63,7 +60,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.34-sm+fn+fx.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9.0.2-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -78,7 +75,6 @@ ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
PYYAML_PACKAGE=PyYAML-${PYYAML_VER}.tar.gz
ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
-M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
@@ -88,20 +84,19 @@ NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
# Hashes for packages with weak sigs or no sigs
-OPENSSL_HASH=bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
+OPENSSL_HASH=b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=d17e3eeb8cc6ddc6c6cabd002184eced5c8cf061c9d337bac2085e7d2daceacd
+NOSCRIPT_HASH=f3c9dec710e02d809fa85ac76750e5f074656105c1bde03d400cb597b2eb1fba
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
-M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
@@ -127,7 +122,6 @@ PYYAML_URL=https://pypi.python.org/packages/source/P/PyYAML/${PYYAML_PACKAG…
ZOPEINTERFACE_URL=https://pypi.python.org/packages/source/z/zope.interface/…
TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
-M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index d61793c..362c146 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -10,14 +10,14 @@ build_targets:
osx64: Darwin_x86_64-gcc3
channels:
alpha: 5.5a6
- release: 5.0
+ release: 5.5
versions:
- 5.0:
- platformVersion: 38.2.0
- detailsURL: https://www.torproject.org/projects/torbrowser.html.en
- download_url: https://www.torproject.org/dist/torbrowser/5.0
+ 5.5:
+ platformVersion: 38.6.0
+ detailsURL: https://blog.torproject.org/blog/tor-browser-55-released
+ download_url: https://www.torproject.org/dist/torbrowser/5.5
incremental_from:
- - 4.5.3
+ - 5.0.7
migrate_archs:
osx32: osx64
osx32:
1
0
commit 5cf4922eedbca64f956f0cc589701757f0b88680
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 14:41:57 2016 +0000
Version bump
---
src/install.rdf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install.rdf b/src/install.rdf
index a7524b7..06ebe1a 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -7,7 +7,7 @@
<em:creator>The Tor Project, Inc.</em:creator>
<em:contributor>Pearl Crescent, LLC</em:contributor>
<em:id>tor-launcher(a)torproject.org</em:id>
- <em:version>0.2.7.7</em:version>
+ <em:version>0.2.7.8</em:version>
<em:homepageURL>https://www.torproject.org/projects/torbrowser.html</em:homepageURL>
<em:updateURL>data:text/plain,</em:updateURL>
<em:updateKey>-</em:updateKey>
1
0

[tor-launcher/maint-0.2.7] Bug 18113: Randomly permutate available default bridges of chosen type.
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit 99ea6908eace93472b72670abc1f0bc6c4f86dfa
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Thu Jan 21 03:37:43 2016 +0000
Bug 18113: Randomly permutate available default bridges of chosen type.
* ADDS a new function to TorLauncherUtil, rearrangeBridges() which
takes an array of items and returns a random permutation of that
array.
* CHANGE defaultBridges() getter to call this.rearrangeBridges()
before returning the default bridges. This causing the ordering of
the default bridges in the torrc to vary among clients, resulting
in a more even distribution of clients to default bridges.
---
src/modules/tl-util.jsm | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index ac680a8..2ef4b15 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -242,6 +242,19 @@ let TorLauncherUtil = // Public
} catch (e) {}
},
+ // Currently, this returns a random permutation of an array, bridgeArray.
+ // Later, we might want to change this function to weight based on the
+ // bridges' bandwidths.
+ rearrangeBridges: function(bridgeArray)
+ {
+ for (var j, x, i = bridgeArray.length; i;
+ j = parseInt(Math.random() * i),
+ x = bridgeArray[--i],
+ bridgeArray[i] = bridgeArray[j],
+ bridgeArray[j] = x);
+ return bridgeArray;
+ },
+
get shouldStartAndOwnTor()
{
const kPrefStartTor = "extensions.torlauncher.start_tor";
@@ -341,6 +354,7 @@ let TorLauncherUtil = // Public
bridgeArray.push(s);
}
}
+ this.rearrangeBridges(bridgeArray);
return bridgeArray;
} catch(e) {};
1
0
commit 92db556549b0ec74772a5e3d3ea169edd2463b59
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 11:58:41 2016 +0000
Changelog fix
---
src/CHANGELOG | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index b8b1853..baf3fd0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,6 +1,6 @@
1.9.4.3
* Bug 16990: Show circuit display for connections using multi-party channels
- * Bug 18019: Empty prompt shown after non-en-US update
+ * Bug 18019: Avoid empty prompt shown after non-en-US update
* Bug 18004: Remove Tor fundraising donation banner
* Code cleanup
* Translation updates
1
0
commit 0cd72154dd04a4d15567f4585a6607cfb2d4ece6
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 21 11:05:24 2016 +0000
Include changelogs from maint-1.9.3
---
src/CHANGELOG | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 2d8647f..c56939d 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -23,6 +23,21 @@
* Bug 16797: brandShorterName is missing from brand.properties
* Translation updates
+1.9.3.7
+ * Bug 16990: Avoid matching '250 ' to the end of node name
+ * Bug 17565: Tor fundraising campaign donation banner
+ * Bug 17770: Fix alignments on donation banner
+ * Bug 17792: Include donation banner in some non en-US Tor Browsers
+ * Translation updates
+
+1.9.3.5
+ * Bug 9623: Spoof Referer when leaving a .onion domain
+ * Bug 16735: about:tor should accommodate different fonts/font sizes
+ * Bug 16937: Don't translate the hompepage/spellchecker dictionary string
+ * Bug 17164: Don't show text-select cursor on circuit display
+ * Bug 17351: Remove unused code
+ * Translation updates
+
1.9.3.4
* Bug 16887: Update intl.accept_languages value
* Bug 15493: Update circuit display on new circuit info
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] fixup! Bug 15646: Prevent keyboard layout fingerprinting in KeyboardEvent
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit 1ad4ed85948e5814e46744cedd0b5a9b1707cac4
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Jan 20 17:51:46 2016 -0800
fixup! Bug 15646: Prevent keyboard layout fingerprinting in KeyboardEvent
---
dom/events/KeyCodeConsensus.h | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/dom/events/KeyCodeConsensus.h b/dom/events/KeyCodeConsensus.h
index 47d8341..e789326 100644
--- a/dom/events/KeyCodeConsensus.h
+++ b/dom/events/KeyCodeConsensus.h
@@ -181,15 +181,14 @@ static void createKeyCodes()
KEY("8", Digit8, 56)
KEY("9", Digit9, 57)
- SHIFT("!", Digit0, 48)
- SHIFT("@", Digit1, 49)
- SHIFT("#", Digit2, 50)
- SHIFT("$", Digit3, 51)
- SHIFT("%", Digit4, 52)
- SHIFT("^", Digit5, 53)
- SHIFT("&", Digit6, 54)
- SHIFT("*", Digit7, 55)
- SHIFT("(", Digit8, 56)
- SHIFT(")", Digit9, 57)
-
+ SHIFT(")", Digit0, 48)
+ SHIFT("!", Digit1, 49)
+ SHIFT("@", Digit2, 50)
+ SHIFT("#", Digit3, 51)
+ SHIFT("$", Digit4, 52)
+ SHIFT("%", Digit5, 53)
+ SHIFT("^", Digit6, 54)
+ SHIFT("&", Digit7, 55)
+ SHIFT("*", Digit8, 56)
+ SHIFT("(", Digit9, 57)
}
1
0

[tor-browser-bundle/hardened-builds] Bug 17917: Changelog after update is empty if JS is disabled
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit 69c12f1a8817c35d2e815d3bd3ab090c2434f067
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Jan 15 11:30:13 2016 -0500
Bug 17917: Changelog after update is empty if JS is disabled
Add about:tbupdate to NoScript's whitelist.
---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
1
0

[tor-browser-bundle/master] Bug 17917: Changelog after update is empty if JS is disabled
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit 16b935d869a8673ceac199e3617873db34ae8f0b
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Jan 15 11:30:13 2016 -0500
Bug 17917: Changelog after update is empty if JS is disabled
Add about:tbupdate to NoScript's whitelist.
---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
.../Browser/profile.default/preferences/extension-overrides.js | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/linux/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/mac/TorBrowser/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
diff --git a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
index 83d4bbf..865398e 100644
--- a/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
+++ b/Bundle-Data/windows/Data/Browser/profile.default/preferences/extension-overrides.js
@@ -17,9 +17,9 @@ pref("extensions.https_everywhere.toolbar_hint_shown", true);
# NoScript Preferences:
pref("capability.policy.maonoscript.javascript.enabled", "allAccess");
-pref("capability.policy.maonoscript.sites", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.default", "about: chrome: resource: blob: mediasource: moz-safe-about:");
-pref("noscript.mandatory", "about: chrome: resource: blob: mediasource: moz-safe-about:");
+pref("capability.policy.maonoscript.sites", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.default", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
+pref("noscript.mandatory", "about: about:tbupdate chrome: resource: blob: mediasource: moz-safe-about:");
pref("noscript.ABE.enabled", false);
pref("noscript.ABE.notify", false);
pref("noscript.ABE.wanIpAsLocal", false);
1
0
commit 53299a96c848d806d490e3b7068d81be352d7620
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Jan 6 13:48:27 2016 -0800
Bug 16990: Code cleanup
---
src/chrome/content/tor-circuit-display.js | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/src/chrome/content/tor-circuit-display.js b/src/chrome/content/tor-circuit-display.js
index d5ef3d3..c99d25d 100644
--- a/src/chrome/content/tor-circuit-display.js
+++ b/src/chrome/content/tor-circuit-display.js
@@ -141,7 +141,7 @@ let collectIsolationData = function (aController, updateUI) {
knownCircuitIDs[streamEvent.CircuitID] = true;
let circuitStatus = yield getCircuitStatusByID(aController, streamEvent.CircuitID),
credentials = circuitStatus ?
- (trimQuotes(circuitStatus.SOCKS_USERNAME) + ":" +
+ (trimQuotes(circuitStatus.SOCKS_USERNAME) + "|" +
trimQuotes(circuitStatus.SOCKS_PASSWORD)) :
null;
if (credentials) {
@@ -235,7 +235,7 @@ let getSOCKSCredentialsForBrowser = function (browser) {
if (!(channel instanceof Ci.nsIProxiedChannel)) return null;
let proxyInfo = channel.proxyInfo;
if (proxyInfo === null) return null;
- return proxyInfo.username + ":" + proxyInfo.password;
+ return [proxyInfo.username, proxyInfo.password];
};
// __onionSiteRelayLine__.
@@ -251,11 +251,12 @@ let updateCircuitDisplay = function () {
let credentials = getSOCKSCredentialsForBrowser(selectedBrowser),
nodeData = null;
if (credentials) {
- // Check if we have anything to show for these credentials.
- nodeData = credentialsToNodeDataMap[credentials];
+ let [SOCKS_username, SOCKS_password] = credentials;
+ // Check if we have anything to show for these credentials.
+ nodeData = credentialsToNodeDataMap[SOCKS_username + "|" + SOCKS_password];
if (nodeData) {
// Update the displayed domain.
- let domain = credentials.split(":")[0];
+ let domain = SOCKS_username;
document.getElementById("domain").innerHTML = "(" + domain + "):";
// Update the displayed information for the relay nodes.
let lines = nodeLines(nodeData),
@@ -310,8 +311,9 @@ let syncDisplayWithSelectedTab = (function() {
// ## Main function
-// setupDisplay(host, port, password, enablePrefName)__.
-// Returns a function that lets you start/stop automatic display of the Tor circuit.
+// __setupDisplay(host, port, password, enablePrefName)__.
+// Once called, the Tor circuit display will be started whenever
+// the "enablePref" is set to true, and stopped when it is set to false.
// A reference to this function (called createTorCircuitDisplay) is exported as a global.
let setupDisplay = function (host, port, password, enablePrefName) {
let myController = null,
1
0

[tor-browser-bundle/hardened-builds] Bug 18115: Adding new default obfs4 bridge "Mosaddegh"
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit ae110f6f69659ea7aa830dcc8b1c8f3df815d0ec
Author: Nima Fatemi <nima(a)torproject.org>
Date: Thu Jan 21 06:17:45 2016 +0000
Bug 18115: Adding new default obfs4 bridge "Mosaddegh"
---
Bundle-Data/PTConfigs/bridge_prefs.js | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f79a7fc..0121f6b 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,12 +20,13 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:41835 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/hardened-builds] Bug 18115: Adding new default obfs4 bridge "MaBishomarim" to the bottom.
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit 8f65825303389fbb253a0fa263c7b977380e195b
Author: Nima Fatemi <nima(a)torproject.org>
Date: Thu Jan 21 06:28:18 2016 +0000
Bug 18115: Adding new default obfs4 bridge "MaBishomarim" to the bottom.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 0121f6b..421e1aa 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -27,6 +27,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.165:105
pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/master] Bug 18115: Adding new default obfs4 bridge "MaBishomarim" to the bottom.
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit eb0ea02833c240188d815820c1de72a97776d712
Author: Nima Fatemi <nima(a)torproject.org>
Date: Thu Jan 21 06:28:18 2016 +0000
Bug 18115: Adding new default obfs4 bridge "MaBishomarim" to the bottom.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 0121f6b..421e1aa 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -27,6 +27,7 @@ pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.165:105
pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.11:49868 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/master] Bug 18115: Adding new default obfs4 bridge "Mosaddegh"
by gk@torproject.org 21 Jan '16
by gk@torproject.org 21 Jan '16
21 Jan '16
commit bf09e53ce3752e086b5d6fde1a09f480f020e115
Author: Nima Fatemi <nima(a)torproject.org>
Date: Thu Jan 21 06:17:45 2016 +0000
Bug 18115: Adding new default obfs4 bridge "Mosaddegh"
---
Bundle-Data/PTConfigs/bridge_prefs.js | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f79a7fc..0121f6b 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,12 +20,13 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:41835 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

20 Jan '16
commit e18194b1622b4d8ef1b7a9674b63d1213e678199
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Jan 20 11:42:12 2016 -0500
Bug 11773: setup wizard UI flow improvements
Add a new "Reconfigure" prompt that is displayed after
bootstrapping fails. This makes it so users experience the
same configuration sequence each time rather than forcing
them to move backwards through the wizard pages.
Add a new "Remove Settings and Connect" prompt that is
displayed if the user clicks "Connect" while some bridge or
proxy settings are present. This avoids a problem where old
settings may be used without users being aware of them.
Improve some of the configuration prompts and status text based
on early feedback from UC Berkeley usability studies.
---
src/chrome/content/network-settings-wizard.xul | 48 ++++++-
src/chrome/content/network-settings.js | 165 +++++++++++++++++++-----
src/chrome/content/network-settings.xul | 2 +-
src/chrome/content/progress.js | 2 +
src/chrome/locale/en/network-settings.dtd | 15 ++-
src/chrome/locale/en/progress.dtd | 2 +-
src/chrome/skin/network-settings.css | 3 +-
7 files changed, 189 insertions(+), 48 deletions(-)
diff --git a/src/chrome/content/network-settings-wizard.xul b/src/chrome/content/network-settings-wizard.xul
index 00c1682..56217c5 100644
--- a/src/chrome/content/network-settings-wizard.xul
+++ b/src/chrome/content/network-settings-wizard.xul
@@ -19,7 +19,7 @@
windowtype="TorLauncher:NetworkSettings"
persist="screenX screenY"
buttonlabelextra2="&torsettings.copyLog;"
- onwizardfinish="return applySettings();"
+ onwizardfinish="return applySettings(false);"
onwizardcancel="return onCancel();"
onload="initDialog();"
onunload="deinitDialog();">
@@ -46,7 +46,8 @@
<separator/>
<label>&torSettings.connectPrompt2;</label>
<label>&torSettings.connectPrompt3;</label>
- <button label="&torSettings.connect;" oncommand="useSettings();"/>
+ <button label="&torSettings.connect;"
+ oncommand="onWizardFirstPanelConnect();"/>
<separator class="tall"/>
<label>&torSettings.configurePrompt1;</label>
<label>&torSettings.configurePrompt2;</label>
@@ -74,7 +75,9 @@
<radio id="bridgesRadioYes" label="&torSettings.yes;" />
<radio id="bridgesRadioNo" label="&torSettings.no;" selected="true" />
</radiogroup>
- <description class="questionHelp">&torSettings.bridgeHelp;
+ <description class="questionHelp">&torSettings.bridgeExplanation1;
+ </description>
+ <description class="questionHelp">&torSettings.bridgeExplanation2;
</description>
</vbox>
</hbox>
@@ -94,7 +97,8 @@
<separator />
<vbox>
<label id="bridgeSettingsPrompt"
- class="question">&torSettings.bridgeSettingsPrompt;</label>
+ class="question">&torSettings.bridgeSettingsPrompt; 
+&torsettings.useBridges.note;</label>
<groupbox id="bridgeSpecificSettings" />
</vbox>
</wizardpage>
@@ -120,7 +124,9 @@
<radio id="proxyRadioYes" label="&torSettings.yes;" />
<radio id="proxyRadioNo" label="&torSettings.no;" selected="true" />
</radiogroup>
- <description class="questionHelp">&torSettings.proxyHelp;
+ <description class="questionHelp">&torSettings.proxyExplanation1;
+ </description>
+ <description class="questionHelp">&torSettings.proxyExplanation2;
</description>
</vbox>
</hbox>
@@ -168,8 +174,36 @@
<separator/>
<hbox>
<spring flex="1" />
- <button id="restartTorButton" label="&torsettings.restartTor;" hidden="true"
- oncommand="onRestartTor()" />
+ <button id="restartTorButton" label="&torsettings.restartTor;"
+ hidden="true" oncommand="onRestartTor()" />
+ <button id="reconfigTorButton" label="&torsettings.reconfigTor;"
+ hidden="true" oncommand="onWizardReconfig()" />
+ <spring flex="1" />
+ </hbox>
+ <spring flex="1" />
+ </wizardpage>
+
+ <wizardpage pageid="discardSettings" next="notUsed"
+ onpageshow="showWizardNavButtons(false);"
+ onextra2="onCopyLog();">
+ <hbox class="tbb-header">
+ <vbox class="tbb-logo-box" align="start">
+ <image class="tbb-logo" />
+ </vbox>
+ </hbox>
+ <spring flex="1" />
+ <hbox>
+ <spring flex="1" />
+ <description flex="1">&torsettings.discardSettings.prompt;</description>
+ <spring flex="1" />
+ </hbox>
+ <separator/>
+ <hbox>
+ <spring flex="1" />
+ <button id="discardSettingsGoBack" oncommand="showPanel();"/>
+ <separator/>
+ <button label="&torsettings.discardSettings.proceed;"
+ oncommand="removeSettingsAndConnect()" />
<spring flex="1" />
</hbox>
<spring flex="1" />
diff --git a/src/chrome/content/network-settings.js b/src/chrome/content/network-settings.js
index 9d3cb60..d145f77 100644
--- a/src/chrome/content/network-settings.js
+++ b/src/chrome/content/network-settings.js
@@ -35,6 +35,8 @@ const kTorLogHasWarnOrErrTopic = "TorLogHasWarnOrErr";
const kWizardProxyRadioGroup = "proxyRadioGroup";
const kWizardUseBridgesRadioGroup = "useBridgesRadioGroup";
+const kWizardFirstPageID = "first";
+
const kLocaleList = "localeList";
const kUseProxyCheckbox = "useProxy";
const kProxyTypeMenulist = "proxyType";
@@ -200,6 +202,12 @@ function initDialog()
if (accessKey)
helpBtn.setAttribute("accesskey", accessKey);
}
+
+ // Set Discard Settings back button label to match the wizard Back button.
+ let wizardBackBtn = document.documentElement.getButton("back");
+ let backBtn = document.getElementById("discardSettingsGoBack");
+ if (wizardBackBtn && backBtn)
+ backBtn.label = wizardBackBtn.label;
}
initDefaultBridgeTypeMenu();
@@ -214,7 +222,7 @@ function initDialog()
(status != gTorProcessService.kStatusRunning))
{
if (status == gTorProcessService.kStatusExited)
- showErrorMessage(true, null);
+ showErrorMessage(true, null, false);
else
showStartingTorPanel();
addObserver(kTorProcessReadyTopic);
@@ -384,6 +392,25 @@ function getWizard()
}
+function onWizardFirstPanelConnect()
+{
+ // If the user configured bridge or proxy settings, prompt before
+ // discarding their data.
+ if (isBridgeConfigured() || isProxyConfigured())
+ showPanel("discardSettings");
+ else
+ removeSettingsAndConnect()
+}
+
+
+function removeSettingsAndConnect()
+{
+ applySettings(true); // Use default settings.
+ if (!gIsBootstrapComplete)
+ readTorSettings(); // Ensure UI matches the settings that were used.
+}
+
+
function onWizardConfigure()
{
getWizard().advance("bridges");
@@ -497,12 +524,12 @@ var gObserver = {
{
removeObserver(kTorProcessReadyTopic);
removeObserver(kTorProcessDidNotStartTopic);
- showErrorMessage(false, aData);
+ showErrorMessage(false, aData, false);
}
else if (kTorProcessExitedTopic == aTopic)
{
removeObserver(kTorProcessExitedTopic);
- showErrorMessage(true, null);
+ showErrorMessage(true, null, false);
}
else if (kTorOpenProgressTopic == aTopic)
{
@@ -560,7 +587,7 @@ function readTorSettings()
if (!didSucceed)
{
// Unable to communicate with tor. Hide settings and display an error.
- showErrorMessage(false, null);
+ showErrorMessage(false, null, false);
setTimeout(function()
{
@@ -581,7 +608,7 @@ function showPanel(aPanelID)
{
var wizard = getWizard();
if (!aPanelID)
- aPanelID = (wizard) ? "first" : "settings";
+ aPanelID = (wizard) ? kWizardFirstPageID : "settings";
var deckElem = document.getElementById("deck");
if (deckElem)
@@ -589,7 +616,7 @@ function showPanel(aPanelID)
else if (wizard.currentPage.pageid != aPanelID)
wizard.goTo(aPanelID);
- if (wizard && (aPanelID == "first"))
+ if (wizard && (aPanelID == kWizardFirstPageID))
setTimeout( function() { showWizardNavButtons(false); }, 0);
showOrHideButton("accept", (aPanelID == "settings"), true);
@@ -627,7 +654,7 @@ function showStartingTorPanel()
}
-function showErrorMessage(aTorExited, aErrorMsg)
+function showErrorMessage(aTorExited, aErrorMsg, aShowReconfigButton)
{
var elem = document.getElementById("errorPanelMessage");
var btn = document.getElementById("restartTorButton");
@@ -653,6 +680,15 @@ function showErrorMessage(aTorExited, aErrorMsg)
if (elem)
elem.textContent = (aErrorMsg) ? aErrorMsg : "";
+ let reconfigBtn = document.getElementById("reconfigTorButton");
+ if (reconfigBtn)
+ {
+ if (aShowReconfigButton)
+ reconfigBtn.removeAttribute("hidden");
+ else
+ reconfigBtn.setAttribute("hidden", true);
+ }
+
showPanel("errorPanel");
var haveWizard = (getWizard() != null);
@@ -856,6 +892,17 @@ function onRestartTor()
}
+function onWizardReconfig()
+{
+ showPanel(kWizardFirstPageID);
+ onWizardConfigure();
+ // Because a similar delayed call is used to hide the buttons when the
+ // first wizard page is displayed, we use setTimeout() here to ensure
+ // that the navigation buttons are visible.
+ window.setTimeout(function() { showWizardNavButtons(true); }, 0);
+}
+
+
function onCancel()
{
if (gRestoreAfterHelpPanelID) // Is help open?
@@ -927,7 +974,9 @@ function onOpenHelp()
forAssistance.setAttribute("hidden", true);
}
else
+ {
overrideButtonLabel("cancel", "done");
+ }
}
@@ -948,7 +997,9 @@ function closeHelp()
forAssistance.removeAttribute("hidden");
}
else
+ {
restoreButtonLabel("cancel");
+ }
showPanel(gRestoreAfterHelpPanelID);
gRestoreAfterHelpPanelID = null;
@@ -1130,15 +1181,16 @@ function initBridgeSettings()
// Returns true if settings were successfully applied.
-function applySettings()
+function applySettings(aUseDefaults)
{
TorLauncherLogger.log(2, "applySettings ---------------------" +
"----------------------------------------------");
var didSucceed = false;
try
{
- didSucceed = applyBridgeSettings() &&
- applyProxySettings() && applyFirewallSettings();
+ didSucceed = applyBridgeSettings(aUseDefaults) &&
+ applyProxySettings(aUseDefaults) &&
+ applyFirewallSettings(aUseDefaults);
}
catch (e) { TorLauncherLogger.safelog(4, "Error in applySettings: ", e); }
@@ -1164,10 +1216,26 @@ function useSettings()
if (!gIsBootstrapComplete)
openProgressDialog();
+ let wizardElem = getWizard();
if (gIsBootstrapComplete)
+ {
close();
+ }
+ else if (wizardElem)
+ {
+ // If the user went down the "Configure" path and another error (e.g.,
+ // Tor Exited) has not already been shown, display a generic message
+ // with a "Reconfigure" button.
+ let pageid = wizardElem.currentPage.pageid;
+ if ((pageid != kWizardFirstPageID) && (pageid != "errorPanel"))
+ {
+ let msg = TorLauncherUtil.getLocalizedString("tor_bootstrap_failed");
+ showErrorMessage(false, msg, true);
+ }
+ }
}
+
function openProgressDialog()
{
var chromeURL = "chrome://torlauncher/content/progress.xul";
@@ -1184,9 +1252,10 @@ function onProgressDialogClose(aBootstrapCompleted)
// Returns true if settings were successfully applied.
-function applyProxySettings()
+function applyProxySettings(aUseDefaults)
{
- var settings = getAndValidateProxySettings();
+ let settings = aUseDefaults ? getDefaultProxySettings()
+ : getAndValidateProxySettings();
if (!settings)
return false;
@@ -1194,34 +1263,40 @@ function applyProxySettings()
}
-// Return a settings object if successful and null if not.
-function getAndValidateProxySettings()
+function getDefaultProxySettings()
{
- // TODO: validate user-entered data. See Vidalia's NetworkPage::save()
-
- var settings = {};
+ let settings = {};
settings[kTorConfKeySocks4Proxy] = null;
settings[kTorConfKeySocks5Proxy] = null;
settings[kTorConfKeySocks5ProxyUsername] = null;
settings[kTorConfKeySocks5ProxyPassword] = null;
settings[kTorConfKeyHTTPSProxy] = null;
settings[kTorConfKeyHTTPSProxyAuthenticator] = null;
+ return settings;
+}
+
+
+// Return a settings object if successful and null if not.
+function getAndValidateProxySettings()
+{
+ var settings = getDefaultProxySettings();
+ // TODO: validate user-entered data. See Vidalia's NetworkPage::save()
var proxyType, proxyAddrPort, proxyUsername, proxyPassword;
if (isProxyConfigured())
{
- proxyAddrPort = createColonStr(getElemValue(kProxyAddr, null),
- getElemValue(kProxyPort, null));
- if (!proxyAddrPort)
+ proxyType = getElemValue(kProxyTypeMenulist, null);
+ if (!proxyType)
{
- reportValidationError("error_proxy_addr_missing");
+ reportValidationError("error_proxy_type_missing");
return null;
}
- proxyType = getElemValue(kProxyTypeMenulist, null);
- if (!proxyType)
+ proxyAddrPort = createColonStr(getElemValue(kProxyAddr, null),
+ getElemValue(kProxyPort, null));
+ if (!proxyAddrPort)
{
- reportValidationError("error_proxy_type_missing");
+ reportValidationError("error_proxy_addr_missing");
return null;
}
@@ -1268,10 +1343,16 @@ function reportValidationError(aStrKey)
// Returns true if settings were successfully applied.
-function applyFirewallSettings()
+function applyFirewallSettings(aUseDefaults)
{
- var settings = (getWizard()) ? getAutoFirewallSettings()
- : getAndValidateFirewallSettings();
+ let settings;
+ if (aUseDefaults)
+ settings = getDefaultFirewallSettings();
+ else if (getWizard())
+ settings = getAutoFirewallSettings();
+ else
+ settings = getAndValidateFirewallSettings();
+
if (!settings)
return false;
@@ -1296,6 +1377,12 @@ function getAndValidateFirewallSettings()
}
+function getDefaultFirewallSettings()
+{
+ return constructFirewallSettings(undefined);
+}
+
+
// Return a settings object if successful and null if not.
// Only used for the wizard.
function getAutoFirewallSettings()
@@ -1386,9 +1473,10 @@ function initDefaultBridgeTypeMenu()
// Returns true if settings were successfully applied.
-function applyBridgeSettings()
+function applyBridgeSettings(aUseDefaults)
{
- var settings = getAndValidateBridgeSettings();
+ let settings = (aUseDefaults) ? getDefaultBridgeSettings()
+ : getAndValidateBridgeSettings();
if (!settings)
return false;
@@ -1396,13 +1484,19 @@ function applyBridgeSettings()
}
-// Return a settings object if successful and null if not.
-function getAndValidateBridgeSettings()
+function getDefaultBridgeSettings()
{
- var settings = {};
+ let settings = {};
settings[kTorConfKeyUseBridges] = null;
settings[kTorConfKeyBridgeList] = null;
+ return settings;
+}
+
+// Return a settings object if successful and null if not.
+function getAndValidateBridgeSettings()
+{
+ var settings = getDefaultBridgeSettings();
var useBridges = isBridgeConfigured();
var defaultBridgeType;
var bridgeList;
@@ -1432,8 +1526,9 @@ function getAndValidateBridgeSettings()
}
}
- // Since it returns a filterd list of bridges, TorLauncherUtil.defaultBridges
- // must be called after setting the kPrefDefaultBridgeType pref.
+ // Since it returns a filtered list of bridges,
+ // TorLauncherUtil.defaultBridges must be called after setting the
+ // kPrefDefaultBridgeType pref.
TorLauncherUtil.setCharPref(kPrefDefaultBridgeType, defaultBridgeType);
if (defaultBridgeType)
bridgeList = TorLauncherUtil.defaultBridges;
@@ -1651,7 +1746,9 @@ function parseColonStr(aStr)
rv[1] = aStr.substring(idx + 1);
}
else
+ {
rv[0] = aStr;
+ }
return rv;
}
diff --git a/src/chrome/content/network-settings.xul b/src/chrome/content/network-settings.xul
index 9fffbec..727e7f6 100644
--- a/src/chrome/content/network-settings.xul
+++ b/src/chrome/content/network-settings.xul
@@ -20,7 +20,7 @@
persist="screenX screenY"
buttons="accept,cancel,extra2,help"
buttonlabelextra2="&torsettings.copyLog;"
- ondialogaccept="return applySettings();"
+ ondialogaccept="return applySettings(false);"
ondialogcancel="return onCancel();"
ondialogextra2="onCopyLog();"
ondialoghelp="onOpenHelp();"
diff --git a/src/chrome/content/progress.js b/src/chrome/content/progress.js
index b44dca5..48362e7 100644
--- a/src/chrome/content/progress.js
+++ b/src/chrome/content/progress.js
@@ -170,6 +170,8 @@ var gObserver = {
// TODO: provide a way to access tor log e.g., leave this dialog open
// and display the open settings button or provide a way to do
// that from our error alerts.
+ if (kTorBootstrapErrorTopic == aTopic)
+ stopTorBootstrap();
cleanup();
window.close();
}
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en/network-settings.dtd
index b193750..75ece3b 100644
--- a/src/chrome/locale/en/network-settings.dtd
+++ b/src/chrome/locale/en/network-settings.dtd
@@ -13,26 +13,32 @@
<!ENTITY torSettings.firstQuestion "Which of the following best describes your situation?">
<!ENTITY torSettings.configurePrompt1 "This computer's Internet connection is censored or proxied.">
-<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings.">
+<!ENTITY torSettings.configurePrompt2 "I need to configure bridge or local proxy settings before I connect to the Tor network.">
<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connectPrompt2 "I would like to connect directly to the Tor network.">
+<!ENTITY torSettings.connectPrompt2 "I would like to make a direct connection to the Tor network.">
<!ENTITY torSettings.connectPrompt3 "This will work in most situations.">
<!ENTITY torSettings.connect "Connect">
<!ENTITY torSettings.proxyPageTitle "Local Proxy Configuration">
<!ENTITY torSettings.proxyQuestion "Does this computer need to use a local proxy to access the Internet?">
<!-- see https://www.torproject.org/docs/proxychain.html.en -->
-<!ENTITY torSettings.proxyHelp "If you are not sure how to answer this question, look at the Internet settings in another browser to see whether it is configured to use a local proxy.">
+<!ENTITY torSettings.proxyExplanation1 "In most cases a local proxy is not needed, but it may be required when connecting through a company, school, or university network.">
+<!ENTITY torSettings.proxyExplanation2 "If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a local proxy is needed.">
<!ENTITY torSettings.enterProxy "Enter the proxy settings.">
<!ENTITY torSettings.bridgePageTitle "Tor Bridges Configuration">
<!ENTITY torSettings.bridgeQuestion "Does your Internet Service Provider (ISP) block or otherwise censor connections to the Tor Network?">
-<!ENTITY torSettings.bridgeHelp "If you are not sure how to answer this question, choose No.  If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
+<!ENTITY torSettings.bridgeExplanation1 "If you are not sure how to answer this question, choose No (if you are unable to connect to the Tor network without a bridge, you can add one later).">
+<!ENTITY torSettings.bridgeExplanation2 "If you choose Yes, you will be asked to configure Tor Bridges, which are unlisted relays that make it more difficult to block connections to the Tor Network.">
<!ENTITY torSettings.bridgeSettingsPrompt "You may use the provided set of bridges or you may obtain and enter a custom set of bridges.">
<!-- Other: -->
<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
<!ENTITY torsettings.restartTor "Restart Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigure">
+
+<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
+<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
<!ENTITY torsettings.optional "Optional">
@@ -50,6 +56,7 @@
<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
<!ENTITY torsettings.useBridges.checkbox "My Internet Service Provider (ISP) blocks connections to the Tor network">
<!ENTITY torsettings.useBridges.default "Connect with provided bridges">
+<!ENTITY torsettings.useBridges.note "Each type of bridge uses a different method to avoid censorship.  If one bridge does not work, try again using a different one.">
<!ENTITY torsettings.useBridges.type "Transport type:">
<!ENTITY torsettings.useBridges.custom "Enter custom bridges">
<!ENTITY torsettings.useBridges.label "Enter one or more bridge relays (one per line).">
diff --git a/src/chrome/locale/en/progress.dtd b/src/chrome/locale/en/progress.dtd
index ebd9cef..9ac9ad7 100644
--- a/src/chrome/locale/en/progress.dtd
+++ b/src/chrome/locale/en/progress.dtd
@@ -1,4 +1,4 @@
<!ENTITY torprogress.dialog.title "Tor Status">
<!ENTITY torprogress.openSettings "Open Settings">
<!ENTITY torprogress.heading "Connecting to the Tor network">
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.">
+<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/skin/network-settings.css b/src/chrome/skin/network-settings.css
index 610ab26..20d3528 100644
--- a/src/chrome/skin/network-settings.css
+++ b/src/chrome/skin/network-settings.css
@@ -72,7 +72,7 @@ separator.tall {
}
.questionHelp {
- margin-right: 20px;
+ margin: 0px 0px 12px 20px;
}
.instructions {
@@ -109,6 +109,7 @@ wizard#TorLauncherLocalePicker button[dlgtype="next"] {
font-weight: bold;
}
+#bridgeNote,
#bridgeDefaultEntry,
#bridgeCustomEntry {
margin-left: 1.8em;
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] Bug 16322: Update DuckDuckGo search engine
by gk@torproject.org 20 Jan '16
by gk@torproject.org 20 Jan '16
20 Jan '16
commit 912db6de1e8851870434a948b8721cd2aebf11de
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 20 12:27:59 2016 +0000
Bug 16322: Update DuckDuckGo search engine
We are replacing the clearnet URL with an onion service one (thanks to a
patch by a cypherpunk) and are removing the duplicated DDG search
engine. Duplicating DDG happend due to bug 1061736 where Mozilla
included DDG itself into Firefox. Interestingly, this caused breaking
the DDG search if JavaScript is disabled as the Mozilla engine, which
gets loaded earlier, does not use the html version of the search page.
Moreover, the Mozilla engine tracked where the users were searching from
by adding a respective parameter to the search query. We got rid of that
feature as well.
---
browser/locales/en-US/searchplugins/ddg.xml | 50 ++++++++++++--------
browser/locales/en-US/searchplugins/duckduckgo.xml | 29 ------------
browser/locales/en-US/searchplugins/list.txt | 1 -
3 files changed, 29 insertions(+), 51 deletions(-)
diff --git a/browser/locales/en-US/searchplugins/ddg.xml b/browser/locales/en-US/searchplugins/ddg.xml
index d68deb4..d612d3c 100644
--- a/browser/locales/en-US/searchplugins/ddg.xml
+++ b/browser/locales/en-US/searchplugins/ddg.xml
@@ -1,21 +1,29 @@
-<?xml version="1.0" encoding="utf-8"?>
-<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
- <ShortName>DuckDuckGo</ShortName>
- <Description>Search DuckDuckGo</Description>
- <InputEncoding>UTF-8</InputEncoding>
- <Image height="16" width="16">data:image/icon;base64,AAABAAIAEBAAAAEAIABoBAAAJgAAACAgAAABACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA11RgALs6oACbQ9wAj0v8AI9L/ACfQ9wAu0agANdUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzzN4CNdL/oK/z//////////////////////+jsPv/BDXX/wAz0t4AAAAAAAAAAAAAAAAAAAAAAAAAAAAyzvNSduD//////8jK/v+P+Lf/IbQL/17RPP+J3Y//wOKX//////9YeuX/ADLO8wAAAAAAAAAAAAAAAAAw091piOX/8/X9/1Fx5P9xhu//WOWZ/0W9Lv9Lwjn/J8BB/xyDAP9bdfL/9fP//2mI5v8AMNPdAAAAAAc610YRQ9f//////0Zr4P8AGdD/sb32////////////wrv//wAh1/8MPab/ACPc/05r4///////EkPX/wc610YANtWkrr/y/6S48P8AJ9L/AB3R/+/w/v///////////3+D7f8AQeL/AYTw/wFr5/8AMNb/p7Tv/6698v8AM9WkADLW//////8yXt//AC3V/wAw1/////////////z///8A0P7/AKb1/wWI7P8AuPf/AJ3w/zZW3P//////ADHV/wAx2P//////AzrZ/wAu1/84ZOL////////////e////AND//wC1+f8Atff/AZbv/wY62f8ELNf//////wAw1/8AMtn//////wAw2f8ALNn/kKrz////+//cwbH////////////R////Rcb8/wDO/f8A/P//AHzo//////8AMNj/ADXa//////8vXuL/ACna/4yq9///79T/jUkg/9i+r///////r2Q0/7Cozv8BKdr/AirY/z
dZ4P//////ADTa/wI72tOuv/T/prr0/wAl2v+JqPb//7yW/+bUxv/9+/n////u//W+n/+Op/L/ADPd/wAv2v+ru/T/r7/0/wI72tMLQd1DEEjg//////9Cbef/ADng///////////////////////R3///AC3g/wAy3v9SeOn//////xFI4P8LQd1DAAAAAAM64PNmiuz/9/j//2mN7f/m7P3///////////9Cb+n/ACXd/wAt3v9rju3//////2iL7P8DOuDzAAAAAAAAAAAAAAAAAT3g/0p16f//////3OT8/3OS7v8AKt3/ACPc/zhn5/+xw/b//////0956v8CPeD/AAAAAAAAAAAAAAAAAAAAAAAAAAAEPODzBUDh/5uz8//7/f7/////////////////prz0/wtF4v8FQeDzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtF5kYDQOOkADrj/wA44v8AOeP/ADzk/wVB46QPReZGAAAAAAAAAAAAAAAAAAAAAPAPAADgBwAAwAMAAIABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIABAADAAwAA4AcAAPAPAAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChIzyAnRNFwJ0TQryND0d8nRNH/J0TR/ydE0f8nRNH/I0PR3ydE0K8nRNFwKEjPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAChE00AlRdK/J0XS/ydF0v8nRdL/XXPd/11z3f94i+P/k6Lp/5Oi6f9rf+D/NVDV/ydF0v8nRdL/JUXSvyhE00AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBAzxAnRNOvJ0XT/ydF0/8lRdK/KEXSYOvu+6/+/v6//v7+v/39/c////////////7+/r/J0fOAKEXSYCVF0r8nRdP/J0XT/ydE068gQM8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlRdUwJ0bT7ydG0/8nRtHPKETTQAAAAADHx8dA2vHhn5TYpN/o9+z/////////////////8PL83ydG0o8lRdUwAAAAAChE00AnRtHPJ0bT/ydG0+8lRdUwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKEXVYCdG1P8nRtT/KEbTgAAAAAAmRtZQI0PU38jIyP/F6s//Rrtk/0a7ZP9/yIr/c796/4vLkv+JpNf/M3Kq/zyWh/8zeKTfJkbWUAAAAAAoRtOAJ0bU/ydG1P8oRdVgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVF1TAnR9X/J0fV/yhF1WAgQM8QJ0fTrydH1f9CW8//2tra/6Pdsv9Gu2T/Rrtk/0WzWv9Gu2T/Rrtk/0a7ZP9Gu2T/Rrtk/z6egP8nR9X/J0fTryBAzxAoRdVgJ0fV/ydH1f8lRdUwAAAAAAAAAAAAAAAAAAAAAAAAAAAgQM8QJ0fV7ydH1f8oSNVgIEDPECdH1c8nR9X/J0fV/1xwyf/t7e3/o92y/0a7ZP9Gu2T/Ra5U/0a7ZP9Gu2T/Rrtk/0a7ZP9Gu2T/Pp6A/ydH1f8nR9X/J0fVzyBAzxAoSNVgJ0fV/ydH1e8gQM8QAAAAAAAAAAAAAAAAAAAAACdH1q8nR9b/KEjVgCBQzxAnR9bPJ0fW/ydH1v8nR9b/gIzB//r6+v+j3bL/Rrtk/13Ed/+i26//ruG7/z6egf8+noH/Rrtk/0a7ZP86kI//J0fW/ydH1v8nR9b/
J0fWzyBQzxAoSNWAJ0fW/ydH1q8AAAAAAAAAAAAAAAAoSNdAJkjW/yZH1s8AAAAAJEfWryZI1v8mSNb/JkjW/yZI1v+jqsT//////+j37P/R7tj////////////W3ff/JkjW/yZI1v8uZbr/PJeI/zJzrP8mSNb/JkjW/yZI1v8mSNb/JEfWrwAAAAAmR9bPJkjW/yhI10AAAAAAAAAAACVI1r8mSNf/KEjXQCZJ1lAmSNf/JkjX/yZI1/8mSNf/JkjX/9HR0f///////////////////////////5Ok6/8mSNf/JkjX/yZI1/8mSNf/JkjX/yZI1/8mSNf/JkjX/yZI1/8mSNf/JknWUChI10AmSNf/JUjWvwAAAAAoSNcgJknY/yZH2M8AAAAAI0nY3yZJ2P8mSdj/JknY/yZJ2P9KZM//39/f////////////////////////////XHfi/yZJ2P8mSdj/JknY/yZJ2P8mSdj/JknY/yZJ2P8mSdj/JknY/yZJ2P8jSdjfAAAAACZH2M8mSdj/KEjXICdJ2HAmSdj/JUjXYCVK2jAmSdj/JknY/yZJ2P8mSdj/JknY/2V4yf/t7e3///////////////////////////9cd+L/HXTj/xSf7/8Nwfj/CdL8/wnS/P8J0vz/ELDz/xt85v8mSdj/JknY/yZJ2P8lStowJUjXYCZJ2P8nSdhwJErZryZK2f8oSNcgJUnajyZK2f8mStn/JkrZ/yZK2f8mStn/iJPA////////////////////////////0ff+/xjV/P8J0vz/Drn1/xiO6/8Yjuv/GI7r/xCw8/8Lyvr/CdL8/xmF6P8mStn/JkrZ/yVJ2o8oSNcgJkrZ/yRK2a8jStrfI0rZ3wAAAAAlSdq/Jkra/yZK2v8mStr/Jkra/yZK2v+xtsf///////////////////////////8o2Pz/CdL8/wvK+v8mStr/Jkra/
yZK2v8mStr/Jkra/yZK2v8iW97/Jkra/yZK2v8mStr/JUnavwAAAAAjStnfI0ra3yZK2v8lSdq/AAAAACZH2O8mStr/Jkra/yZK2v8mStr/L1HY/9HR0f///////////////////////////yjY/P8J0vz/CdL8/xCw9P8QsPT/ELD0/xSf7/8ddeX/Jkra/yZK2v8mStr/Jkra/yZK2v8mR9jvAAAAACVJ2r8mStr/Jkvb/yVJ2r8AAAAAJkvb/yZL2/8mS9v/Jkvb/yZL2/9KZtL/4+Pj////////////////////////////4Pn//0fd/f8J0vz/CdL8/wnS/P8J0vz/CdL8/wnS/P8Lyvr/Fpfu/yJc3/8mS9v/Jkvb/yZL2/8AAAAAJUnavyZL2/8mS9z/JUncvwAAAAAmS9z/Jkvc/yZL3P8mS9z/Jkvc/26AyP/x8fH//////////////////////////////////////9H3/v/C9P7/o+7+/2fa+/8Oufb/CdL8/wnS/P8J0vz/CdL8/xiP7P8mS9z/Jkvc/wAAAAAlSdy/Jkvc/yZM3P8lTNy/AAAAACZJ2e8mTNz/Jkzc/yZM3P8mTNz/iJTB////////////qnth/5VaOf/x6eX///////////////////////Hp5f/x6eX/ydL2/yZM3P8kVN7/G37o/xKo8v8QsfT/HXbm/yZM3P8mSdnvAAAAACVM3L8mTNz/I0vc3yZJ2u8AAAAAJUzevyZM3f8mTN3/Jkzd/yZM3f+fqc3///////////+VWjn/v5yI/+re1///////////////////////jk8s/7iRe//J0vb/Jkzd/yZM3f8mTN3/Jkzd/yZM3f8mTN3/Jkzd/yVM3r8AAAAAI0vc3yNL3N8kTd2vJk3d/yhQ3yAlTd2PJk3d/yZN3f8mTd3/Jk3d/6St0v////////////Hp5f/q3tf///////////
////////////////+xhm7/49PK/6Cx8P8mTd3/Jk3d/yZN3f8mTd3/Jk3d/yZN3f8mTd3/JU3djyhQ3yAmTd3/JE3drydN33AmTd7/J03fcCVK3zAmTd7/Jk3e/yZN3v8mTd7/pK7S///////Sp5r/////////////////////////////////////////////////T27k/yZN3v8mTd7/Jk3e/yZN3v8mTd7/Jk3e/yZN3v8lSt8wJ03fcCZN3v8nTd9wKFDfICZO3/8mTt3PAAAAACVN3r8mTt//Jk7f/yZO3/+EltX//////+fRyv/SqaD/59LO///////////////////////at63/vIBy/7Glxf8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8mTt//JU3evwAAAAAmTt3PJk7f/yhQ3yAAAAAAJE/dryZO3/8oUN9AKFDfQCZO3/8mTt//Jk7f/zhb2v/o6/T/////////////////////////////////////////////////XHrn/yZO3/8mTt//Jk7f/yZO3/8mTt//Jk7f/yZO3/8oUN9AKFDfQCZO3/8kT92vAAAAAAAAAAAoUN9AJk7g/yZO4M8AAAAAJk/hnyZO4P8mTuD/Jk7g/05v5v/k6fv//////////////////////////////////////3eR7P8mTuD/Jk7g/yZO4P8mTuD/Jk7g/yZO4P8mTuD/Jk/hnwAAAAAmTuDPJk7g/yhQ30AAAAAAAAAAAAAAAAAjT+GfJU/h/yVO4Y8gUN8QIk7gzyVP4f8lT+H/SWnW/0lp1v+bq+H/8fHx/////////////////6Cy8v9OcOb/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yJO4M8gUN8QJU7hjyVP4f8jT+GfAAAAAAAAAAAAAAAAAAAAACBQ3xAlTOHvJU/h/yVQ4mAgUN8QIk7hzyVP4f+ktOv
///////////////////////H0/f9phur/JU/h/yVP4f8lT+H/JU/h/yVP4f8lT+H/JU/h/yVP4f8iTuHPIFDfECVQ4mAlT+H/JUzh7yBQ3xAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ3zAlUOLvJVDi/yVQ4mAgUN8QI1Din4mb2//J0/j/ydP4/6299P93ku3/M1vk/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/I1DinyBQ3xAlUOJgJVDi/yVQ4u8lUN8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAlUOLvJVDi/yVQ4o8AAAAAJFDjQCVQ4r8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDi/yVQ4v8lUOL/JVDivyRQ40AAAAAAJVDijyVQ4v8lUOLvJVDkMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACVQ5DAjUeTfJVHj/yNR5N8kUONAAAAAACVQ5DAmUuOAJVHivyNR5N8lUeP/JVHj/yNR5N8lUeK/JlLjgCVQ5DAAAAAAJFDjQCNR5N8lUeP/I1Hk3yVQ5DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBQ3xAjUuSfJVHk/yVR5P8jUeTfJFLkcChQ5yAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoUOcgJFLkcCNR5N8lUeT/JVHk/yNS5J8gUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkUONAI1LknyVS5P8lUuT/JVLk/yVS5O8lUeS/JVHkvyVR5L8lUeS/JVLk7yVS5P8lUuT/JVLk/yRS468kUONAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAIFDfECVS5GAjUuWfIlPlzyVS5f8lUuX/JVLl/yVS5f8iU+XPI1LlnyVS5GAgUN8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AA///AAD//AAAP/ggBB/wgAEP4AAAB8AAAAPAAAADiAAAEYAAAAEQAAAIAAAAAAAAAAAgAAAEIAAABCAAAAQgAAAEIAAABCAAAAQAAAAAAAAAABAAAAiAAAABiAAAEcAAAAPAAAAD4AAAB/CAAQ/4IAQf/AfgP/8AAP//wAP/</Image>
- <Image height="26" width="65">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEEAAAAaCAYAAADovjFxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxRTYyNzYzMzFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxRTYyNzYzMjFBQUUxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3J
Ub29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDE4MDExNzQwNzIwNjgxMTg3MUZCQUIxMEI4RjU1NzYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7hxyCFAAAF4UlEQVR42tSZa2wUVRTH/3dmp92+tnRpCiUgxFoKCDQplsRIfZSgCEHSapBGBCURQvCLWkkQg9GYGNDwTYlGUCMoCA2EtEpEq1KjRJCA9EEElba2FajbN213d+b6vzOzZZfi99mb/DJ3d/aczD33vO6skFLCq6O9YubYXChE4n1+LublaVJO5hLDvRUhjaSefMolno+XU0uOX7WG5BxLSBsXc448Qo6SFWSuywr3O3XvnPqtK3PbkWxGUL5whHzN7WyAZeWQRZBWFz+v4v6+w3sKztFFFpEc0mDLOLJinNIkCocMXppJLhdcCssMw4zu5fOX2XGi6RAa91Rot8aNMsB6kkJOk24yh6seSjZPEHzoZmlfZaaU1pqR/Dsv+XfVlQXf/QbZ67dBz5sKKzxK20TpGBbU5qrtJWXkEllDMqWrK94jPG0ESzpwPTUkl8yQFvZL09oaLlqIG1LDQFoA6Y9vxJQ9Dch+bjus4WEaIwxpmjSGdJKgw1ay39bh6KqJ6U8GTyjnc1aQheQ1UqV2Of3LPTBPfI40RkVsEdmVGzClphmZy9bAitAQlhnvEbBlHR1KV4VbVbydE66sLFI+e8mN5e1Qc7o6IqMIr3sVhVUb/le2e1c1Bk8cgvAxFWjj9rqQvA7HGIVeN4LqA1SJm0iO
ci/LQDc3aZrg4RZkpBgYHY4iK8OXIHetz4RPi6K/ao4b9PrtkuVKElL9hafDgfuzjrQQk5QxH9hxPphfgAy/gYHByDgDqJGXrSOYlYrAo1WQUTc32LJj+aHM1dlEnvK2EYClpIasiotrmL5URE2JiQEDuw+ewunGjgS5hrNtWLp5P/QHKhk9lh1BDuKmIYAnyWGyxNuJUWI2+ZncG5/djKF+DA45ZX7Hh9/j2HdNCWKzC/JRsXg+sgrmQ4aFjS/LQvqsYejpqiTYepTOn8g8n8c9QQ21zdPiDxD+620IhULIC2TiYl01/CmJy8jNNrCxMh/hjiMIVvYioziK1BlRQJcIHc1B6KscqpLTXN2pPo/nhNjwxR2jIFgdBtouAzPuSDSAZLPUXgX0HYFgLjRIcLnO3sFAb33AJnLdYFNp9w/6Lco97Qm57o7dbKC5wpHffgHuL09srjo22AYY/tOPoQsBiFRgtJ3zljQqo/HoCfbSnULR6eq2vJ4TWskCcnYsJ9hGYIz/1YQR65bTYOARe5FW2EDfqQD+rQ1iqDkN/qlhTHhwAJnFQ6oxiuUWpfMe0uzpPuH3ZUV7eZlFVpPWsRjh+WA4OAV579UiPzghQaajuhgZc1qRWTIKnQ4g0i27N77RlI5rXwQR/seI9cnTyWfkvNfDYR8v35K/iSoBd8eSY8r1doR6escZYfRqLvrPDEDsM+ALWNADJiLdBttoYXuJEPamK13t5D6y1evNUj3pJzvIJqfRYV5XyZGFf/CPlnEy6UXzoLEZYDqEHBCIdBpsmFSsODEgHb1K105Xd4PnD1B86M2kmjSSA/Yi6AlSaBhtPG3/5mTXcTT3nLPnwYcq4KP7X52cgvc3TcWvpQFVDu1UIoWt74CrS+nc7P3qIO00rkLiBfcQdReZCamVqAqRcuUiolzJDx11aO4+gxxjOnqtbmhvzITO+6Yh0DthhF4jYmeHs4Q1FJfd+T6ZLC9VpHOcnk7qyQJSq
zzB39WKnr5h+HhS1DUfOvs64RNRVgATlnDawoghYoWl1pWtd3WVJ0WfEDf6pGqhnTdCTGqihCw3urt2h0LdecH0ydB1Aw8XLkfPjRGUTixB4JUtuDDXj0nXokMmsJbyddJJiOoYPZuO0ZdsRlDjsnTa5x/JCDTxEnPfpIH6Y28uXvHYttUFzyNb1cTY+4TyC8ezD37wltT1k5YmXmRkjbhhMI2BcTVpXrS2LJ011jmO/VfgPO7L/GKnfSQ0zU+EaR2SlnWGN53FaRpdw1cKTX+Cxlrr5oMt5G2713Kq7NhLxmQ1gpPvpXyWs2f4oSz+oHHznxrRwOvHnHwkYpK3McJ/AgwADmrfhvtTyFYAAAAASUVORK5CYII=</Image>
- <Image height="52" width="130">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIIAAAA0CAYAAABGkOCVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoxNTg5QTM3RjNCMjA2ODExODIyQUVEOUNBRDIxQzhDMyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo4RTdBNDY4ODFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4RTdBNDY4NzFBQUQxMUU0ODc3NTg3NjMyNDFCNzExQSIgeG1wOkNyZWF0b3
JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTE3MzgzQ0I2QjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTU4OUEzN0YzQjIwNjgxMTgyMkFFRDlDQUQyMUM4QzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7NVVBAAAAO30lEQVR42uxdCXRU1Rn+3nszk5nJhmEJAYKyJJJAWFyqUqwWwaJi0aKA9bh0USwunEo9UGmrHG0Vj3LUUoEqFQGXciqgiFCoVtsKeBAJS9JWtrAmIUxmkpnJJDNv6X/fu5O8mUwmkwkoPef9Od/cN/ct9593v/vf//73vhdB0zRY0nU5dktxuzxBMG3zD6GD84XYHYMI1xMuJZQQ2MWzCS6+P0TwE74i/Juwi7CFcCR6gY6qUeMf5t2JjhUsInxjRBhJyUOEewn2NNWIEFYQFlM17rWI8P9FhJsILxGGdHDpOsJ+wmlCA8/LJfQhjCD07uC8Q4TZhI3pEMFmVenXJqMJ7xIGx+UfJawivEf4IsVrXUaYQriLcCHPY8T6gHCYMJVQ3hXlLIvw9ViE1wg/iTt8JeFpuvsHYs4BehLKCAWEHnyXj1BN2EfwmGuMzimi5FeEu+Ouv5zwU6trOD+IUEif/zS1WiZvEWZSzQT4gQ5WYbwVj0+x+I+5dXmNrhPm18miz6WEO+OszdV0zHGLCN8cEZj53mnaXUO4ke72blYTArRS+r6QMLnVFggmu5C6sO5gLl23kp/NuqBNhL6mYy7XTN1OoioXrSo9JzKJ7vVOjTtrhLWEAoMEag5UZaMmyxVqJDKZAFUmKDJBpd0Eqin
TuZ1hMqGCV34ObZfzstaajmGEnGT5CF+vRbg0zul7krCAN8Ufa6K0vLnkCmSXXQ5nuBmavx6qtw4t+3dC9p6GIJH/LkkQRMm4oNBlC8F8kT/x7Sd4+WYnc5c1ajj3UhBHgofppi/mdbmGmHA75DDC9afh63cxSr4zMeZk+Uw1Au+/jsCGN6C2NEGw2clmk9EWumS4l/PWP43KXkBle2j793wf060fdzwti3CuLAIfy0eHhwtMrZE5jONAZl+lSrUvXI/+w0qTXF1D/Su/QeP65RDsDrISkkGGrlmHf+mOYptVeoJvH04Uw7CIkKYcjSMCVdESSh7gX1lM4JYYEuj1qyKU1w/eUdcC3jPQMnNh65UP9+Dh6FFUin79+8e4ioG/vYszCx80uguyDkLUOqROCDMZ1vPYA5OlVOs/s4hw9onAmncF32YRwXy+/TZhRsy4TVWoD4gAkTA0RYHjuh/Adc0tyBhcAme/iyDGVXLk5GE0bfsr/NRlsK7DIITUFTK8Q7iDb9fCiFAyGQ4+0rCIcPaIUMHJwORb0ISddGfv4kGj2AE8jQ4QaUFkwh3o9/OFcNtSd9M8L8+D/8PVeneBrpHhbtJpFelkHtJWcjJYw8duiSZEMYFQyrfX8BudQ9srTceQJaBclYgQURCc/hiGPPZCl0jApOcjzyJz3GRodA39WubrJ8dKXSfmLDIdjbxSrrt+jGUR0pSqKRdHN9msXxnfvgBGOHiDESgyE4eYIMvwFw5D8bJNyOiOozrjEiiNXmNUkbpVYIGnm2GErb08j4WsR1oWoftSbCLBW5wERe1IYOoW5HseT4sEClmAWk8zzgQ19H7kd5RBfoaqInYWIalM5rr5uK7guhdbROhOz6DpmMVThqd5usiUZ4AqUVNUBHsVIm9oiX5+U4uCpavLsWTVbmz6+FCn5R2vDuhRR7+vCdLYSbAVFpHfqeiGpl15HSOq21OmPP03WF1DmnLk+3rXECS4eYCGBWok
FhdKxBqBRgqnR30Xg+e/jF7ZWXjng68wdkwBBvbPTqt8/+a3UbdoLgQHdxxTF+aYkJOBk1xn9huyLIuQvhRyEjB5jaf3dRQgYmi5oC8k0bjl024qSpsETLIn3UHugabPS6BrjTmq43KeZjJCWERIt2sAbjBN6mzSjDn/25JNEKk2B+RIxBiumZw8D5n7lKJDX1bhqjtfwUtvbde/u0aPNSapgK7gNq7rJlPe9RYR0mfCVaa7u53nXZesBgRNQSgUirnM4y9uxogpi/DE4q3kN0SSFrlszQ4cPeXFF/tOwNcCOMuuNBxGVTOxLQFi9biO67rdlHe5RYT0ZQRP63jap+NDBR32gA/+QDBmz5sby2G3iThe68O2L48mLXDGDaPhsElgk9Q9aOiRMbi0HQk0VSDHlCBzqEIbGdqkd5zupRYR0u8ahvH7X8HTkUlNMnUFTs8peLz1Mde5+doShGVVb+VXjipMWuZN1wxD1dZ5WP3MNCPDmWUYBBZfokpXIoJelnt0ED1vrUfeFC/cw5uIK0K8PqN4up+nxdY0dPqSxdNTPO2X3CAQEWqP4nhDY8yuxfOnYM49V2NA3x66ZehSbMHfAi0iwd5XRmZJE1zDQ3BfHIJg582fzU/ZNNQsy0dwj8u8+KmApyd5mmsRoRtxBC7RJec5yboGtjjNUX8aQpMfTeEI3I62RxkGDchLrVD5DJl9sihyNYRwBSTtVQx64RRsubrJIZ2MmmZdgyBqeur7KAeBclfb4IVXPE+jrMy0iNB9CfO0k4dUBDZU0K2C1+uDO793aldXybSfmgOt/nWqyBazywFHL2Mlk6aIrfmMAEqTiMbPcuH9KBtqQNIjB2yoaRJ7nO7WCqWzID2jMZ7OeMC6B3dtFbw+H/qnQAQtuA3q4QlEhpCxUkm00SWiC12FVnLprZ9FKytdaNyejWC522j9ktE1RIljjkfF6R62iJC+syjzhtQjzgPvmAmCCFcNWYQGX+cFRKqhH
vi2UYGiHYIkEh9ERBpt1BUokHIUqC0iQv/JgH93JoJ73VACkk4K3TcQDAJoieekorpGdQ9YREifCWzJF5uwGcZzKjpjDqsZZ3UVTsQ5jAkPD+3h/DGWqWmyiCO/LtTNfusSRr2la8Z3xjNJayssebAxqmsJT49Yw8f0ZR9Ph/L0YHKDYKxIdjTUQQg2ItjSkvzw7Al6VwBB1U9Vmw2LIHBz3wqJE4JVvMIcRUKExxJYDCExIQ7G6V5pESH9rqHcNC4fzPMqk4aY2ehBZN1Dle4wJmeCDeKgNYaJFxXYesgYMKcGrqJmvuJN0GMHKlU6iBDOoc3oMaERBffXYcjCEyhaUgV7fjiRHpVc18GmvL1W15A+EzbT51P8G5t3+AOMBaKlnfkKTt1PaMCAvvmdWIVbUbtxKpwFW5B9WRiZpSEdbFpb9lHVUYsX3Sokl9o6nNV9SOoiGj/LRrjWET9aYLKe59xgyttqESF9i2B+fmE6DCK8Sni8U4eRRg6eem9K5QT/G0T9h70hrpaQNaoZWWVNcBc3w5EvG6Fj3qoZAeSAiACNGLyf5KD5uIMZlUTyqknnqOyxiNA9YUvS2PIvtmScRW2qYDzdXJRsCOk8dRgn/P6UChAzaMRgU/WxIKtk/263bgmkbBkZ/WXYsmSoYQGR03a0kAWIOo+6/9B+2HiA6+hC2zL3DXo5Vl12S5aYtmdz8zw3uUUQYPd7IQYa4G8KdVqAY8CFdJaqDwtZ5Yp2Sh0qOY8SQgdp6FhOQ8dKN8Ieux5a1vdLbSOJOJnLdZwd/xssIqTbNRjrQdg6hObo8i+ev45woqPlYvoEkMAdRl/n8QTn0BFQ2VI30ySj4QtorYCoz3HraHUA25fNdFrHdYwuVWvmv8EiwlmQ+Txl3eyjWvv+N8EwUtS7B6+vodOLZ44Za0wv8poz6p1aPpFD4hBTW6A0nR/2KNoiyvNbuyCrHtN2FqNYxKKMfPsF3v9uo+1VyaakXdWH4f
F27jA6i8tgc+eyZcwspABBocqn0o4OdOKP9w/A+1P6UL4Wr1M82Kt5tjHdmI48T+a668dYRDg7Yl6ruJbPArJX2RxP5CYYRKhCYyDQmv3+oZX44ear8NwXj2JX7T9iTuk5/lbYI0QAIoFiF7B2al+svKc/avpm4MBQt24dhI7XLTId7uY6re1AZ2vSKX2TEOOJreAmlz0nwB5Jn0k3fhkdMYa2T7CGHTt0oBbY1AS7tw4NgSbkZrnpcmTiaWSw37ML+zw70dPZB9cXTseO2h04ekkl1CuK4WzW4AxrCGRJsMlGxbNtmU1IaUg0sdBMGKMZpc6k/ZNMUdEVMaMTq0bPWlcx0WSK2buMLtOMF1+VEVpiuwaCaMw71PPuQSC/QRSogkU7HGIGGsM+vLhjCU4E9xA9FDhY2MAmoMkt6pbBsAKGjxhyiom6gxZetofrstS0b2K7YapVhWdN2JPGU03f2TOQF9FdP6inxhNGsYEl8hPq+cjBJbn5HoEIQZVNpBA0I5XYs4m84hPNHdjldpm+uLLN73KaynW1iHAOZS3d/CdNzZLNUJZR911D23mEv7eNAUVknGwbOWTY3K0ntf7RiSp7uQb/kwUFClt4IpF1IIuish5BbGcKWBl5epmsq9JwyLTvyTg/wSLCOZQFdM+Xta5gNx6SncKH8+MJP6IGrqj6GsZjCAQNh7GXKx+qpkIhyKqMiBpGVoYbh2tCOF4XQq1Xw3TvtXjouUMY94kXeZ4wIuQ4OshnsBPoeop+baMMjZe5l0cZWMYyRN/llEAsZzFNUZOP3R/g5jkaZVzPI3iz6LQVZOhXkFPwjBCJzHOcqYbPH0J+1kDI9McmlAbmFGFG8QMY1etK1ARrdZ8hz2WsITn05gaM++g0vkNk8OfY0ewSmWV4lnb9UmsLJrJ5j1kmfdhr/OZFX76JBD2M9exjmlLxvWGpOJCzeKVExasHmzRsNcKMMjzjb19aMO2+mcVFQ7Du2EqUXDA
Gw7LLOrxmw5b1OPbb2RBtjs8FUWTkekN/a6Mxr8CcwD/DeDw/Kg/Srlc609UiwrklAvtgD8J8SjAvVd5LRHiE8Gn0NTqZKz692aGq853ZOSMycnIzJWcGbHx5e0RWEGluQaTB63H7z7ztfe/Nh71b1vE3ruk24BrCy+DvOuBSr+cL2J/KGxQsIpx7IkTlecKc2AO0esJiqMrrUJQq5hgyS2HUidY+EiUK+pPPomRjaxgH0cjjXhiv+o9fD88inL9oHaBYRDiviMA22aNMiwi3xRGCgU0oUJehB3vY01M0xNP4ZITAnkPIp8Y/nLZHkhWYqAce2stfWGBLMEc0LSKcl0SISj5vsewVd5ndVCXIHdHno/EBIc6QWEQ4f4nQaghIriDcCOMfelyaYvHsX/mwf9DxIeHz+NcopUOE/wkwAAeR3z4C+zelAAAAAElFTkSuQmCC</Image>
- <Url type="text/html" method="get" template="https://duckduckgo.com/">
- <Param name="q" value="{searchTerms}"/>
- <MozParam name="t" condition="purpose" purpose="contextmenu" value="ffcm"/>
- <MozParam name="t" condition="purpose" purpose="keyword" value="ffab"/>
- <MozParam name="t" condition="purpose" purpose="searchbar" value="ffsb"/>
- <MozParam name="t" condition="purpose" purpose="homepage" value="ffhp"/>
- <MozParam name="t" condition="purpose" purpose="newtab" value="ffnt"/>
- </Url>
- <Url type="application/x-suggestions+json" template="https://ac.duckduckgo.com/ac/">
- <Param name="q" value="{searchTerms}"/>
- <Param name="type" value="list"/>
- </Url>
-</OpenSearchDescription>
+<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
+<ShortName>DuckDuckGo</ShortName>
+<Description>Duck Duck Go</Description>
+<InputEncoding>UTF-8</InputEncoding>
+<Image width="16" height="16">data:image/png;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8n
+IOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rB
+Uv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n/////
+/05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v//
+//////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9h
+XPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg
+7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs
+5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/
+JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8n IOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg
+7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1
+/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/
+fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y
+1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg
+7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDs
+AScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAA
+AAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMAD
+AADwDwAA+B8AAA==</Image>
+<Url type="text/html" method="POST" template="http://3g2upl4pq6kufc4m.onion/html/">
+ <Param name="q" value="{searchTerms}"/>
+</Url>
+<SearchForm>http://3g2upl4pq6kufc4m.onion/html/</SearchForm>
+</SearchPlugin>
\ No newline at end of file
diff --git a/browser/locales/en-US/searchplugins/duckduckgo.xml b/browser/locales/en-US/searchplugins/duckduckgo.xml
deleted file mode 100644
index 4f00b4d..0000000
--- a/browser/locales/en-US/searchplugins/duckduckgo.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/">
-<ShortName>DuckDuckGo</ShortName>
-<Description>Duck Duck Go</Description>
-<InputEncoding>UTF-8</InputEncoding>
-<Image width="16" height="16">data:image/png;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAANcNAADXDQAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAJyDsJmlk8pf6+v3s/v7+++zr/fcnIOyzJyDsgCcg7CYAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAnIOwBJyDscCcg7PZttJ7/7Pfs//////++xO7/S5GA/ycg7P8n
-IOz2JyDscCcg7AEAAAAAAAAAAAAAAAAnIOwBJyDstScg7P8nIOz/Y8p5/2fHZf9Yv0z/YcF2/1rB
-Uv8nIOz/JyDs/ycg7P8nIOy1JyDsAQAAAAAAAAAAJyDscCcg7P8nIOz/JyDs/4jQoP/p9+n/////
-/05X3v9LkYD/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAJyDsJicg7PYnIOz/JyDs/zUu7f/+/v//
-//////////89N+7/JyDs/yUo7f8nIOz/JyDs/ycg7P8nIOz2JyDsJicg7IAnIOz/JyDs/ycg7P9h
-XPH////////////t/P//GIr2/wfD+/8Gyfz/DKv5/yM57/8nIOz/JyDs/ycg7H8nIOyzJyDs/ycg
-7P8nIOz/jov1////////////Otz9/w3G/P8cWfH/JSvt/ycg7P8nIOz/JyDs/ycg7P8nIOyzJyDs
-5icg7P8nIOz/JyDs/7u5+f///////////27l/v8E0v3/BNL9/wTQ/f8Oofn/IT7v/ycg7P8nIOz/
-JyDs5icg7OYnIOz/JyDs/ycg7P/p6P3/uWsC////////////5fr//6Po/f8Thfb/DKv5/w6f+f8n IOz/JyDs/ycg7OYnIOyzJyDs/ycg7P8nIOz/9/b+/////////////////7lrAv/V1Pv/JyDs/ycg
-7P8nIOz/JyDs/ycg7P8nIOyzJyDsgCcg7P8nIOz/JyDs/8/N+///////////////////////iIX1
-/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDsfycg7CYnIOz2JyDs/ycg7P9FP+7/q6n4/+7u/f/n5v3/
-fXn0/yoj7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7CYAAAAAJyDscCcg7P8nIOz/wsD6/+no/f/Y
-1/z/eHTz/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7HAAAAAAAAAAACcg7AEnIOy1JyDs/ycg
-7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs/ycg7LUnIOwBAAAAAAAAAAAAAAAAJyDs
-AScg7HAnIOz2JyDs/ycg7P8nIOz/JyDs/ycg7P8nIOz/JyDs9icg7HAnIOwBAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAJyDsJicg7IAnIOyzJyDs5icg7OYnIOyzJyDsgCcg7CYAAAAAAAAAAAAAAAAA
-AAAA+B8AAPAPAADAAwAAwAMAAIABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAACAAQAAwAMAAMAD
-AADwDwAA+B8AAA==</Image>
-<Url type="text/html" method="POST" template="https://duckduckgo.com/html/">
- <Param name="q" value="{searchTerms}"/>
-</Url>
-<SearchForm>https://duckduckgo.com/html/</SearchForm>
-</SearchPlugin>
diff --git a/browser/locales/en-US/searchplugins/list.txt b/browser/locales/en-US/searchplugins/list.txt
index 956fb8e..71b6c0f 100644
--- a/browser/locales/en-US/searchplugins/list.txt
+++ b/browser/locales/en-US/searchplugins/list.txt
@@ -5,4 +5,3 @@ wikipedia
startpage
yahoo
google
-duckduckgo
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] Bug 18008: Create a new MAR Signing key
by gk@torproject.org 20 Jan '16
by gk@torproject.org 20 Jan '16
20 Jan '16
commit f724aa4d55ad63f7524ce81e3b0307e396c19981
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 18 10:51:05 2016 +0000
Bug 18008: Create a new MAR Signing key
This is part of our plan to rotate the main key used for signing MAR
files about once a year to make. This is a defense in depth measure as
there is no official way for revoking MAR signing keys.
We begin with just replacing the secondary key as this one got mostly
used to sign MAR files over the last year.
---
toolkit/mozapps/update/updater/release_secondary.der | Bin 1233 -> 1229 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/toolkit/mozapps/update/updater/release_secondary.der b/toolkit/mozapps/update/updater/release_secondary.der
index 334fad8..49a7c01 100644
Binary files a/toolkit/mozapps/update/updater/release_secondary.der and b/toolkit/mozapps/update/updater/release_secondary.der differ
1
0

[torbutton/master] Bug 16990: Correctly get proxyInfo from multi-part channel
by gk@torproject.org 20 Jan '16
by gk@torproject.org 20 Jan '16
20 Jan '16
commit e123feb185fa7cb8bf9daced6718c9801fe3e808
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Wed Jan 6 10:59:45 2016 -0800
Bug 16990: Correctly get proxyInfo from multi-part channel
---
src/chrome/content/tor-circuit-display.js | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/chrome/content/tor-circuit-display.js b/src/chrome/content/tor-circuit-display.js
index 94a5346..d5ef3d3 100644
--- a/src/chrome/content/tor-circuit-display.js
+++ b/src/chrome/content/tor-circuit-display.js
@@ -228,11 +228,11 @@ let getSOCKSCredentialsForBrowser = function (browser) {
if (docShell === null) return null;
let channel = docShell.currentDocumentChannel;
if (channel === null) return null;
- try {
- channel.QueryInterface(Ci.nsIProxiedChannel);
- } catch (e) {
- return null;
+ if (channel instanceof Ci.nsIMultiPartChannel) {
+ channel = channel.baseChannel;
}
+ if (channel === null) return null;
+ if (!(channel instanceof Ci.nsIProxiedChannel)) return null;
let proxyInfo = channel.proxyInfo;
if (proxyInfo === null) return null;
return proxyInfo.username + ":" + proxyInfo.password;
@@ -271,6 +271,8 @@ let updateCircuitDisplay = function () {
"<li>" + uiString("internet") + "</li>";
document.getElementById("circuit-nodes").innerHTML = nodeInnerHTML;
}
+ } else {
+ logger.eclog(5, "no SOCKS credentials found for current document.");
}
// Only show the Tor circuit if we have credentials and node data.
showCircuitDisplay(credentials && nodeData);
1
0

[tor-browser-bundle/hardened-builds] Bug 18104: Add new default obfs4 bridge, noether, and renumber the others.
by gk@torproject.org 20 Jan '16
by gk@torproject.org 20 Jan '16
20 Jan '16
commit a1efda4e4c74b18440c3a091cfecdb8ab34f62d3
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Tue Jan 19 20:10:49 2016 +0000
Bug 18104: Add new default obfs4 bridge, noether, and renumber the others.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 685c651..f79a7fc 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -21,10 +21,11 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/master] Bug 18104: Add new default obfs4 bridge, noether, and renumber the others.
by gk@torproject.org 20 Jan '16
by gk@torproject.org 20 Jan '16
20 Jan '16
commit 92dcbb1e9c64c045dcca43005cb95a5e06fef762
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Tue Jan 19 20:10:49 2016 +0000
Bug 18104: Add new default obfs4 bridge, noether, and renumber the others.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 685c651..f79a7fc 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -21,10 +21,11 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[torbutton/master] Bug 18019: Empty prompt shown after non-en-US update
by gk@torproject.org 19 Jan '16
by gk@torproject.org 19 Jan '16
19 Jan '16
commit 00a735a2284fe0bf90018b2f93a3ee8c47036ecd
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Thu Jan 14 16:41:25 2016 -0500
Bug 18019: Empty prompt shown after non-en-US update
Avoid displaying the "request English language web pages?" prompt
on non-HTTP pages. Previously, the prompt was displayed when the
about:tbupdate page was opened and, on Linux at least, the prompt
dialog came up blank. To avoid a similar problem in the case where
someone sets their homepage to an HTTP page, we delay showing the
prompt for two seconds when the URL of the page that is being loaded
matches one of the configured home page URLs.
Remove references to the following obsolete Firefox preferences:
intl.accept_charsets
intl.charsetmenu.browser.cache
Remove the following unused default preferences:
extensions.torbutton.saved.accept_charsets
extensions.torbutton.spoof_charset
extensions.torbutton.spoof_language
extensions.torbutton.spoof_locale
Remove the following unused entity from all dtd files:
torbutton.prefs.spoof_english
---
src/chrome/content/torbutton.js | 153 ++++++++++++++++++++++++-------
src/chrome/locale/af/torbutton.dtd | 1 -
src/chrome/locale/ak/torbutton.dtd | 1 -
src/chrome/locale/am/torbutton.dtd | 1 -
src/chrome/locale/ar/torbutton.dtd | 1 -
src/chrome/locale/arn/torbutton.dtd | 1 -
src/chrome/locale/ast/torbutton.dtd | 1 -
src/chrome/locale/az/torbutton.dtd | 1 -
src/chrome/locale/be/torbutton.dtd | 1 -
src/chrome/locale/bg/torbutton.dtd | 1 -
src/chrome/locale/bms/torbutton.dtd | 1 -
src/chrome/locale/bn-IN/torbutton.dtd | 1 -
src/chrome/locale/bn/torbutton.dtd | 1 -
src/chrome/locale/bo/torbutton.dtd | 1 -
src/chrome/locale/br/torbutton.dtd | 1 -
src/chrome/locale/bs/torbutton.dtd | 1 -
src/chrome/locale/ca/torbutton.dtd | 1 -
src/chrome/locale/cs/torbutton.dtd | 1 -
src/chrome/locale/csb/torbutton.dtd | 1 -
src/chrome/locale/cy/torbutton.dtd | 1 -
src/chrome/locale/da/torbutton.dtd | 1 -
src/chrome/locale/de/torbutton.dtd | 1 -
src/chrome/locale/dz/torbutton.dtd | 1 -
src/chrome/locale/el/torbutton.dtd | 1 -
src/chrome/locale/en/torbutton.dtd | 1 -
src/chrome/locale/eo/torbutton.dtd | 1 -
src/chrome/locale/es/torbutton.dtd | 1 -
src/chrome/locale/et/torbutton.dtd | 1 -
src/chrome/locale/eu/torbutton.dtd | 1 -
src/chrome/locale/fa/torbutton.dtd | 1 -
src/chrome/locale/fi/torbutton.dtd | 1 -
src/chrome/locale/fil/torbutton.dtd | 1 -
src/chrome/locale/fo/torbutton.dtd | 1 -
src/chrome/locale/fr/torbutton.dtd | 1 -
src/chrome/locale/fur/torbutton.dtd | 1 -
src/chrome/locale/fy/torbutton.dtd | 1 -
src/chrome/locale/ga/torbutton.dtd | 1 -
src/chrome/locale/gl/torbutton.dtd | 1 -
src/chrome/locale/gu/torbutton.dtd | 1 -
src/chrome/locale/gun/torbutton.dtd | 1 -
src/chrome/locale/ha/torbutton.dtd | 1 -
src/chrome/locale/he/torbutton.dtd | 1 -
src/chrome/locale/hi/torbutton.dtd | 1 -
src/chrome/locale/hr/torbutton.dtd | 1 -
src/chrome/locale/ht/torbutton.dtd | 1 -
src/chrome/locale/hu/torbutton.dtd | 1 -
src/chrome/locale/hy/torbutton.dtd | 1 -
src/chrome/locale/id/torbutton.dtd | 1 -
src/chrome/locale/is/torbutton.dtd | 1 -
src/chrome/locale/it/torbutton.dtd | 1 -
src/chrome/locale/ja/torbutton.dtd | 1 -
src/chrome/locale/jv/torbutton.dtd | 1 -
src/chrome/locale/ka/torbutton.dtd | 1 -
src/chrome/locale/km/torbutton.dtd | 1 -
src/chrome/locale/kn/torbutton.dtd | 1 -
src/chrome/locale/ko/torbutton.dtd | 1 -
src/chrome/locale/ku/torbutton.dtd | 1 -
src/chrome/locale/kw/torbutton.dtd | 1 -
src/chrome/locale/ky/torbutton.dtd | 1 -
src/chrome/locale/lb/torbutton.dtd | 1 -
src/chrome/locale/lg/torbutton.dtd | 1 -
src/chrome/locale/ln/torbutton.dtd | 1 -
src/chrome/locale/lo/torbutton.dtd | 1 -
src/chrome/locale/lt/torbutton.dtd | 1 -
src/chrome/locale/lv/torbutton.dtd | 1 -
src/chrome/locale/mg/torbutton.dtd | 1 -
src/chrome/locale/mi/torbutton.dtd | 1 -
src/chrome/locale/mk/torbutton.dtd | 1 -
src/chrome/locale/ml/torbutton.dtd | 1 -
src/chrome/locale/mn/torbutton.dtd | 1 -
src/chrome/locale/mr/torbutton.dtd | 1 -
src/chrome/locale/ms/torbutton.dtd | 1 -
src/chrome/locale/mt/torbutton.dtd | 1 -
src/chrome/locale/my/torbutton.dtd | 1 -
src/chrome/locale/nah/torbutton.dtd | 1 -
src/chrome/locale/nap/torbutton.dtd | 1 -
src/chrome/locale/nb/torbutton.dtd | 1 -
src/chrome/locale/ne/torbutton.dtd | 1 -
src/chrome/locale/nl/torbutton.dtd | 1 -
src/chrome/locale/nn/torbutton.dtd | 1 -
src/chrome/locale/nso/torbutton.dtd | 1 -
src/chrome/locale/oc/torbutton.dtd | 1 -
src/chrome/locale/or/torbutton.dtd | 1 -
src/chrome/locale/pa/torbutton.dtd | 1 -
src/chrome/locale/pap/torbutton.dtd | 1 -
src/chrome/locale/pl/torbutton.dtd | 1 -
src/chrome/locale/pms/torbutton.dtd | 1 -
src/chrome/locale/ps/torbutton.dtd | 1 -
src/chrome/locale/pt-BR/torbutton.dtd | 1 -
src/chrome/locale/pt/torbutton.dtd | 1 -
src/chrome/locale/ro/torbutton.dtd | 1 -
src/chrome/locale/ru/torbutton.dtd | 1 -
src/chrome/locale/sco/torbutton.dtd | 1 -
src/chrome/locale/sk/torbutton.dtd | 1 -
src/chrome/locale/sl/torbutton.dtd | 1 -
src/chrome/locale/so/torbutton.dtd | 1 -
src/chrome/locale/son/torbutton.dtd | 1 -
src/chrome/locale/sq/torbutton.dtd | 1 -
src/chrome/locale/sr/torbutton.dtd | 1 -
src/chrome/locale/st/torbutton.dtd | 1 -
src/chrome/locale/su/torbutton.dtd | 1 -
src/chrome/locale/sv/torbutton.dtd | 1 -
src/chrome/locale/sw/torbutton.dtd | 1 -
src/chrome/locale/ta/torbutton.dtd | 1 -
src/chrome/locale/te/torbutton.dtd | 1 -
src/chrome/locale/tg/torbutton.dtd | 1 -
src/chrome/locale/th/torbutton.dtd | 1 -
src/chrome/locale/ti/torbutton.dtd | 1 -
src/chrome/locale/tk/torbutton.dtd | 1 -
src/chrome/locale/tr/torbutton.dtd | 1 -
src/chrome/locale/uk/torbutton.dtd | 1 -
src/chrome/locale/ur/torbutton.dtd | 1 -
src/chrome/locale/ve/torbutton.dtd | 1 -
src/chrome/locale/vi/torbutton.dtd | 1 -
src/chrome/locale/wa/torbutton.dtd | 1 -
src/chrome/locale/wo/torbutton.dtd | 1 -
src/chrome/locale/zh-CN/torbutton.dtd | 1 -
src/chrome/locale/zh-HK/torbutton.dtd | 1 -
src/chrome/locale/zh-TW/torbutton.dtd | 1 -
src/chrome/locale/zu/torbutton.dtd | 1 -
src/defaults/preferences/preferences.js | 4 -
121 files changed, 122 insertions(+), 154 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 58ab20e..0d1cfe8 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -650,6 +650,13 @@ function torbutton_init() {
torbutton_log(3, 'init completed');
}
+
+function torbutton_should_prompt_for_language_preference() {
+ return torbutton_get_general_useragent_locale().substring(0, 2) != "en" &&
+ !m_tb_prefs.getBoolPref("extensions.torbutton.prompted_language");
+}
+
+
// Bug 1506 P3: This code asks the user once if they want to spoof their
// language to English.
//
@@ -657,20 +664,21 @@ function torbutton_init() {
// the extensions.torbutton.spoof_english preference accordingly.
function torbutton_prompt_for_language_preference() {
var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
- .getService(Components.interfaces.nsIPromptService);
+ .getService(Ci.nsIPromptService);
// Display two buttons, both with string titles.
var flags = prompts.STD_YES_NO_BUTTONS;
var message = torbutton_get_property_string("torbutton.popup.prompted_language");
- var response = prompts.confirmEx(null, "", message, flags, null, null, null,
- null, {value: false});
+ m_tb_prefs.setBoolPref("extensions.torbutton.prompted_language", true);
+ // Display modal prompt, anchored to this window.
+ var response = prompts.confirmEx(window, "", message, flags,
+ null, null, null, null, {value: false});
// Update preferences to reflect their response and to prevent the prompt from
// being displayed again.
m_tb_prefs.setBoolPref("extensions.torbutton.spoof_english", response == 0);
- m_tb_prefs.setBoolPref("extensions.torbutton.prompted_language", true);
}
function torbutton_confirm_plugins() {
@@ -2211,16 +2219,10 @@ function torbutton_update_fingerprinting_prefs() {
// Governed also by the spoof_english dialog..
if (m_tb_prefs.getBoolPref("extensions.torbutton.spoof_english")) {
m_tb_prefs.setCharPref("intl.accept_languages", "en-US, en");
- m_tb_prefs.setCharPref("intl.accept_charsets", "iso-8859-1,*,utf-8");
- m_tb_prefs.setCharPref("intl.charsetmenu.browser.cache", "UTF-8");
m_tb_prefs.setBoolPref("javascript.use_us_english_locale", true);
} else {
if(m_tb_prefs.prefHasUserValue("intl.accept_languages"))
m_tb_prefs.clearUserPref("intl.accept_languages");
- if(m_tb_prefs.prefHasUserValue("intl.charsetmenu.browser.cache"))
- m_tb_prefs.clearUserPref("intl.charsetmenu.browser.cache");
- if(m_tb_prefs.prefHasUserValue("intl.accept_charsets"))
- m_tb_prefs.clearUserPref("intl.accept_charsets");
m_tb_prefs.setBoolPref("javascript.use_us_english_locale", false);
}
} else {
@@ -2229,11 +2231,6 @@ function torbutton_update_fingerprinting_prefs() {
if(m_tb_prefs.prefHasUserValue("intl.accept_languages"))
m_tb_prefs.clearUserPref("intl.accept_languages");
- if(m_tb_prefs.prefHasUserValue("intl.charsetmenu.browser.cache"))
- m_tb_prefs.clearUserPref("intl.charsetmenu.browser.cache");
- if(m_tb_prefs.prefHasUserValue("intl.accept_charsets"))
- m_tb_prefs.clearUserPref("intl.accept_charsets");
-
}
}
@@ -2955,8 +2952,6 @@ function torbutton_do_startup()
}
// Bug 1506 P0: Has some tagging code (can be removed)
-// and the language prompt (probably the wrong place for the
-// call)
function torbutton_new_tab(event)
{
// listening for new tabs
@@ -2972,17 +2967,6 @@ function torbutton_new_tab(event)
if (!tor_tag) { // tor is enabled...
torbutton_do_async_versioncheck();
}
-
- // XXX: This is possibly slightly the wrong place to do this check,
- // but we know the TabOpen effect is late enough to provide the popup
- // after firefox is visible, which makes it more clear whose popup this is.
- //
- // Ask the user if they want to make "English requests" if their default
- // language isn't English and the prompt hasn't been displayed before.
- if (torbutton_get_general_useragent_locale().substring(0, 2) != "en" &&
- !m_tb_prefs.getBoolPref("extensions.torbutton.prompted_language")) {
- torbutton_prompt_for_language_preference();
- }
}
// Bug 1506 P3: Used to decide if we should resize the window.
@@ -3127,13 +3111,22 @@ function torbutton_new_window(event)
torbutton_do_startup();
+ let progress = Cc["@mozilla.org/docloaderservice;1"]
+ .getService(Ci.nsIWebProgress);
+
if (m_tb_prefs.getBoolPref("extensions.torbutton.resize_new_windows")
&& m_tb_prefs.getBoolPref("extensions.torbutton.tor_enabled")
&& torbutton_is_windowed(window)) {
- var progress = Cc["@mozilla.org/docloaderservice;1"].getService(Ci.
- nsIWebProgress);
progress.addProgressListener(torbutton_resizelistener,
- Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
+ Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
+ }
+
+ // If the default language is not English and we have not already asked,
+ // add a web progress listener that will show a "request English language
+ // web pages?" prompt the first time an http or https page is opened.
+ if (torbutton_should_prompt_for_language_preference()) {
+ progress.addProgressListener(torbutton_langPromptListener,
+ Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
}
// Check the version on every new window. We're already pinging check in these cases.
@@ -3451,4 +3444,102 @@ var torbutton_resizelistener =
onSecurityChange: function() {}
};
+var torbutton_langPromptListener =
+{
+ QueryInterface: function(aIID)
+ {
+ if (aIID.equals(Ci.nsIWebProgressListener) ||
+ aIID.equals(Ci.nsISupportsWeakReference) ||
+ aIID.equals(Ci.nsISupports))
+ return this;
+ throw Cr.NS_NOINTERFACE;
+ },
+
+ onLocationChange: function(aProgress, aRequest, aURI) {},
+
+ onStateChange: function(aProgress, aRequest, aFlag, aStatus) {
+ if (aFlag & Ci.nsIWebProgressListener.STATE_START) {
+ // If we are loading an HTTP page, show the
+ // "request English language web pages?" prompt.
+ try {
+ let httpChannel = aRequest.QueryInterface(Ci.nsIHttpChannel);
+
+ // The above QI did not throw, so we must have an HTTP request.
+ // Remove this listener and display the prompt if another window has
+ // not already done so.
+ let progress = Cc["@mozilla.org/docloaderservice;1"]
+ .getService(Ci.nsIWebProgress);
+ progress.removeProgressListener(torbutton_langPromptListener,
+ Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
+
+ if (torbutton_should_prompt_for_language_preference()) {
+ if (torbutton_is_homepage_url(aRequest.URI)) {
+ // If the homepage is being loaded, display the prompt after a
+ // delay to avoid a problem where a blank prompt is displayed.
+ // In this case, the homepage will be loaded using the current
+ // spoof English setting, which is OK.
+ setTimeout(function() {
+ if (torbutton_should_prompt_for_language_preference())
+ torbutton_prompt_for_language_preference();
+ }, 2000);
+ } else {
+ // No delay is needed. Display the prompt and fix up the
+ // Accept-Language header before allowing the load to continue.
+ torbutton_prompt_for_language_preference();
+
+ // The Accept-Language header for this request was set when the
+ // channel was created. Reset it to match the value that will be
+ // used for future requests.
+ let val = torbutton_get_current_accept_language_value(aRequest.URI);
+ if (val)
+ httpChannel.setRequestHeader("Accept-Language", val, false);
+ }
+ }
+ } catch (e) {}
+ }
+ },
+
+ onProgressChange: function(aProgress, aRequest, curSelfProgress,
+ maxSelfProgress, curTotalProgress,
+ maxTotalProgress) {},
+ onStatusChange: function(aProgress, aRequest, stat, message) {},
+ onSecurityChange: function() {}
+};
+
+
+// aURI should be an http or https nsIURI object.
+function torbutton_get_current_accept_language_value(aURI)
+{
+ try {
+ let ioService = Cc["@mozilla.org/network/io-service;1"]
+ .getService(Ci.nsIIOService);
+ let channel = ioService.newChannelFromURI(aURI);
+ let httpChannel = channel.QueryInterface(Ci.nsIHttpChannel);
+ return httpChannel.getRequestHeader("Accept-Language");
+ } catch (e) {}
+
+ return null;
+}
+
+function torbutton_is_homepage_url(aURI)
+{
+ if (!aURI)
+ return false;
+
+ let homePageURLs;
+ let choice = m_tb_prefs.getIntPref("browser.startup.page");
+ if ((1 == choice) || (3 == choice)) try {
+ // A homepage may be used at startup. Get the values and check against
+ // aURI.spec.
+ homePageURLs = m_tb_prefs.getComplexValue("browser.startup.homepage",
+ Ci.nsIPrefLocalizedString).data;
+ } catch (e) {}
+
+ if (!homePageURLs)
+ return false;
+
+ let urls = homePageURLs.split('|');
+ return (urls.indexOf(aURI.spec) >= 0);
+}
+
//vim:set ts=4
diff --git a/src/chrome/locale/af/torbutton.dtd b/src/chrome/locale/af/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/af/torbutton.dtd
+++ b/src/chrome/locale/af/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ak/torbutton.dtd b/src/chrome/locale/ak/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ak/torbutton.dtd
+++ b/src/chrome/locale/ak/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/am/torbutton.dtd b/src/chrome/locale/am/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/am/torbutton.dtd
+++ b/src/chrome/locale/am/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index 4908910..ebcbf72 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "لا تمسح ملفات تعريف الارتباط (كوكيز) عند إغلاق المتصفح">
<!ENTITY torbutton.prefs.disable_sessionstore "عطّل حفظ الجلسة (محبّذ)">
<!ENTITY torbutton.prefs.headers "الترويسات">
-<!ENTITY torbutton.prefs.spoof_english "انتحل صفة متصفح إنجليزي أمريكي">
<!ENTITY torbutton.prefs.refererspoofing "تزييف المرجع">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "محاكاة ساخرة ذكية للتحويل أثناء عمل تور (سخرية المجال المرجعي المتقاطع)">
diff --git a/src/chrome/locale/arn/torbutton.dtd b/src/chrome/locale/arn/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/arn/torbutton.dtd
+++ b/src/chrome/locale/arn/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ast/torbutton.dtd b/src/chrome/locale/ast/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ast/torbutton.dtd
+++ b/src/chrome/locale/ast/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/az/torbutton.dtd b/src/chrome/locale/az/torbutton.dtd
index 2953324..3130db7 100644
--- a/src/chrome/locale/az/torbutton.dtd
+++ b/src/chrome/locale/az/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Sönərkən kukiləri silmə">
<!ENTITY torbutton.prefs.disable_sessionstore "Yaddaşa verərkən söndür (məsləhətdir)">
<!ENTITY torbutton.prefs.headers "Başlıqlar">
-<!ENTITY torbutton.prefs.spoof_english "ENG səyyahını dəyiş">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/be/torbutton.dtd b/src/chrome/locale/be/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/be/torbutton.dtd
+++ b/src/chrome/locale/be/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bg/torbutton.dtd b/src/chrome/locale/bg/torbutton.dtd
index d0cd061..271f389 100644
--- a/src/chrome/locale/bg/torbutton.dtd
+++ b/src/chrome/locale/bg/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bms/torbutton.dtd b/src/chrome/locale/bms/torbutton.dtd
index 0bee3a1..740060d 100644
--- a/src/chrome/locale/bms/torbutton.dtd
+++ b/src/chrome/locale/bms/torbutton.dtd
@@ -59,7 +59,6 @@
<!ENTITY torbutton.prefs.no_shutdown "ပိတ္သိမ္းလွ်င္ cookies မ်ားကုိ မရွင္းလင္းပါႏွင့္">
<!ENTITY torbutton.prefs.disable_sessionstore "သိမ္းဆည္းေနစဥ္ Session ကုိ ပိတ္ပင္ထားရန္ (အၾကံျပဳေထာက္ခံပါသည္)">
<!ENTITY torbutton.prefs.headers "ေခါင္းစည္းမ်ား">
-<!ENTITY torbutton.prefs.spoof_english "US အဂၤလိပ္ browser ကုိ Spoof လုပ္ရန္">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bn-IN/torbutton.dtd b/src/chrome/locale/bn-IN/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/bn-IN/torbutton.dtd
+++ b/src/chrome/locale/bn-IN/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bn/torbutton.dtd b/src/chrome/locale/bn/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/bn/torbutton.dtd
+++ b/src/chrome/locale/bn/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bo/torbutton.dtd b/src/chrome/locale/bo/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/bo/torbutton.dtd
+++ b/src/chrome/locale/bo/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/br/torbutton.dtd b/src/chrome/locale/br/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/br/torbutton.dtd
+++ b/src/chrome/locale/br/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/bs/torbutton.dtd b/src/chrome/locale/bs/torbutton.dtd
index cc23948..f5de8f0 100644
--- a/src/chrome/locale/bs/torbutton.dtd
+++ b/src/chrome/locale/bs/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ca/torbutton.dtd b/src/chrome/locale/ca/torbutton.dtd
index 38408ec..188aa83 100644
--- a/src/chrome/locale/ca/torbutton.dtd
+++ b/src/chrome/locale/ca/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "No esborris les galetes a l'hora de tancar">
<!ENTITY torbutton.prefs.disable_sessionstore "Desactivar guardat de sessió (recommendat)">
<!ENTITY torbutton.prefs.headers "Capçaleres">
-<!ENTITY torbutton.prefs.spoof_english "Simular navegador anglès">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/cs/torbutton.dtd b/src/chrome/locale/cs/torbutton.dtd
index f02122e..2a6f104 100644
--- a/src/chrome/locale/cs/torbutton.dtd
+++ b/src/chrome/locale/cs/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Hlava">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/csb/torbutton.dtd b/src/chrome/locale/csb/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/csb/torbutton.dtd
+++ b/src/chrome/locale/csb/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/cy/torbutton.dtd b/src/chrome/locale/cy/torbutton.dtd
index 550acef..b66337f 100644
--- a/src/chrome/locale/cy/torbutton.dtd
+++ b/src/chrome/locale/cy/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/da/torbutton.dtd b/src/chrome/locale/da/torbutton.dtd
index 214f2aa..c2c5169 100644
--- a/src/chrome/locale/da/torbutton.dtd
+++ b/src/chrome/locale/da/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Ryd ikke mine cookies ved nedlukning">
<!ENTITY torbutton.prefs.disable_sessionstore "Deaktiver Sessions Lagring (anbefales)">
<!ENTITY torbutton.prefs.headers "Hoveder">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US Engelsk Browser">
<!ENTITY torbutton.prefs.refererspoofing "Forfalskning af henviser">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart forfalskning af henviser under brug af Tor (forfalsk henvisninger som går på tværs af domæner)">
diff --git a/src/chrome/locale/de/torbutton.dtd b/src/chrome/locale/de/torbutton.dtd
index ebfdb3d..99ef7ba 100644
--- a/src/chrome/locale/de/torbutton.dtd
+++ b/src/chrome/locale/de/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Cookies beim Beenden des Browsers nicht löschen">
<!ENTITY torbutton.prefs.disable_sessionstore "Speichern des Browserzustandes zwischen Programmaufrufen deaktivieren (empfohlen)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Englischen Browser (US) vortäuschen">
<!ENTITY torbutton.prefs.refererspoofing "Absender tarnen">
<!ENTITY torbutton.prefs.spoofblank "Einen leeren Absender vortäuschen, während Tor benutzt wird (kann einige Seiten ruinieren)">
<!ENTITY torbutton.prefs.smartspoof "Intelligente Absendertarnung während der Benutzung von Tor (Vortäuschung verschiedener Domainabsender)">
diff --git a/src/chrome/locale/dz/torbutton.dtd b/src/chrome/locale/dz/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/dz/torbutton.dtd
+++ b/src/chrome/locale/dz/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/el/torbutton.dtd b/src/chrome/locale/el/torbutton.dtd
index f0fbbe6..d20db4b 100644
--- a/src/chrome/locale/el/torbutton.dtd
+++ b/src/chrome/locale/el/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Να μην γίνει εκκαθάριση cookies κατά το κλείσιμο">
<!ENTITY torbutton.prefs.disable_sessionstore "Απενεργοποίηση αποθήκευσης συνεδρίας (συνιστάται)">
<!ENTITY torbutton.prefs.headers "Κεφαλίδες">
-<!ENTITY torbutton.prefs.spoof_english "Παραπλάνηση της γλώσσας US English του Περιηγητή">
<!ENTITY torbutton.prefs.refererspoofing "Παραπλάνηση διεύθυνσης αναφοράς">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Παραπλάνηση ευφυούς αναφορέα κατά την χρήση του Tor (παραπλανεί ">
diff --git a/src/chrome/locale/en/torbutton.dtd b/src/chrome/locale/en/torbutton.dtd
index 8ff33c5..223302e 100644
--- a/src/chrome/locale/en/torbutton.dtd
+++ b/src/chrome/locale/en/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/eo/torbutton.dtd b/src/chrome/locale/eo/torbutton.dtd
index 07499c0..472f5b8 100644
--- a/src/chrome/locale/eo/torbutton.dtd
+++ b/src/chrome/locale/eo/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index 94a7219..15c355e 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "No borrar mis cookies al cerrar">
<!ENTITY torbutton.prefs.disable_sessionstore "Deshabilitar el guardado de sesiones (recomendado)">
<!ENTITY torbutton.prefs.headers "Cabeceras">
-<!ENTITY torbutton.prefs.spoof_english "Simular navegador en inglés de EEUU">
<!ENTITY torbutton.prefs.refererspoofing "Simulación del remitente (referer, dirección desde la que accedemos a otra)">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Simular smart referer al usar de Tor (suprime el remitente en cambios de dominio)">
diff --git a/src/chrome/locale/et/torbutton.dtd b/src/chrome/locale/et/torbutton.dtd
index 8240b08..dfd7e0c 100644
--- a/src/chrome/locale/et/torbutton.dtd
+++ b/src/chrome/locale/et/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/eu/torbutton.dtd b/src/chrome/locale/eu/torbutton.dtd
index 066fbc3..43b5a18 100644
--- a/src/chrome/locale/eu/torbutton.dtd
+++ b/src/chrome/locale/eu/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Ez garbitu nire cookieak itzaltzerakoan">
<!ENTITY torbutton.prefs.disable_sessionstore "Ezagitu Saioa Gordetzea (gomendatua)">
<!ENTITY torbutton.prefs.headers "Goiburuak">
-<!ENTITY torbutton.prefs.spoof_english "AEB Ingelera Nabigatzailea balitz ordeztu">
<!ENTITY torbutton.prefs.refererspoofing "Refereraren nortasuna ordeztu">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Adimentsuki ordeztu referera Tor erabiltzen den bitartean (zeharkako domeinu refererak ordezten ditu)">
diff --git a/src/chrome/locale/fa/torbutton.dtd b/src/chrome/locale/fa/torbutton.dtd
index d860beb..23864a3 100644
--- a/src/chrome/locale/fa/torbutton.dtd
+++ b/src/chrome/locale/fa/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "پاک نکردن کوکی ها هنگام بستن">
<!ENTITY torbutton.prefs.disable_sessionstore "غیرفعال کردن ذخیرهسازی نشست (Session) ها (توصیه شده)">
<!ENTITY torbutton.prefs.headers "سربرگها">
-<!ENTITY torbutton.prefs.spoof_english "جعل هویت یک مرورگر با زبان انگليسی آمریکایی">
<!ENTITY torbutton.prefs.refererspoofing "جعل هويت ارجاع دهنده">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "جعل هويت هوشمندانه ارجاع دهنده هنگام استفاده از تُر (ارجاع دهنده های ميان دامنهای را جعل هويت می کند)">
diff --git a/src/chrome/locale/fi/torbutton.dtd b/src/chrome/locale/fi/torbutton.dtd
index db531b9..c580ded 100644
--- a/src/chrome/locale/fi/torbutton.dtd
+++ b/src/chrome/locale/fi/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Älä poista evästeitä lopettaessa">
<!ENTITY torbutton.prefs.disable_sessionstore "Estä istunnon (Session) tallennus (suositeltavaa)">
<!ENTITY torbutton.prefs.headers "Tunnistetiedot">
-<!ENTITY torbutton.prefs.spoof_english 'Näytä selaimen asetus ulospäin "US English"'>
<!ENTITY torbutton.prefs.refererspoofing "Referer-tunnisteen väärentäminen">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Väärennä referer-tunniste älykkäästi, kun Tor on käytössä (lähettää väärennetyn tunnisteen)">
diff --git a/src/chrome/locale/fil/torbutton.dtd b/src/chrome/locale/fil/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/fil/torbutton.dtd
+++ b/src/chrome/locale/fil/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/fo/torbutton.dtd b/src/chrome/locale/fo/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/fo/torbutton.dtd
+++ b/src/chrome/locale/fo/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index 290505a..c1cf801 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Ne pas supprimer mes cookies à la fermeture">
<!ENTITY torbutton.prefs.disable_sessionstore "Désactiver la fonction de sauvegarde de session (recommandé)">
<!ENTITY torbutton.prefs.headers "Entêtes">
-<!ENTITY torbutton.prefs.spoof_english "Imiter un navigateur anglais US">
<!ENTITY torbutton.prefs.refererspoofing "Altération d'adresse référente">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Altération intelligente de l'adresse référente lorsque Tor est actif (altère les réferences aux domaines externes)">
diff --git a/src/chrome/locale/fur/torbutton.dtd b/src/chrome/locale/fur/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/fur/torbutton.dtd
+++ b/src/chrome/locale/fur/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/fy/torbutton.dtd b/src/chrome/locale/fy/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/fy/torbutton.dtd
+++ b/src/chrome/locale/fy/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ga/torbutton.dtd b/src/chrome/locale/ga/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ga/torbutton.dtd
+++ b/src/chrome/locale/ga/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/gl/torbutton.dtd b/src/chrome/locale/gl/torbutton.dtd
index e71657a..cf56f33 100644
--- a/src/chrome/locale/gl/torbutton.dtd
+++ b/src/chrome/locale/gl/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/gu/torbutton.dtd b/src/chrome/locale/gu/torbutton.dtd
index ff1d104..46e01d1 100644
--- a/src/chrome/locale/gu/torbutton.dtd
+++ b/src/chrome/locale/gu/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "બંધ કરતી વખતે મારી કૂકીઓ સાફ ન કરો">
<!ENTITY torbutton.prefs.disable_sessionstore "સત્રને સંગ્રહ કરવાનું નિષ્ક્રિય કરો (સૂચવેલ)">
<!ENTITY torbutton.prefs.headers "શીર્ષકો">
-<!ENTITY torbutton.prefs.spoof_english "યુએસ અંગ્રેજી બ્રાઉઝરને છેતરો">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/gun/torbutton.dtd b/src/chrome/locale/gun/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/gun/torbutton.dtd
+++ b/src/chrome/locale/gun/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ha/torbutton.dtd b/src/chrome/locale/ha/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ha/torbutton.dtd
+++ b/src/chrome/locale/ha/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/he/torbutton.dtd b/src/chrome/locale/he/torbutton.dtd
index aaf1ff2..12523f3 100644
--- a/src/chrome/locale/he/torbutton.dtd
+++ b/src/chrome/locale/he/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "אל תנקה את הקוקיז שלי בזמן סגירת הדפדפן">
<!ENTITY torbutton.prefs.disable_sessionstore "ביטול שמירת מושב (מומלץ)">
<!ENTITY torbutton.prefs.headers "כותרות">
-<!ENTITY torbutton.prefs.spoof_english 'דפדפן אנגלית לזייף ארה"ב'>
<!ENTITY torbutton.prefs.refererspoofing "זיוף Referer">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "לזייף referer חכם במהלך שימוש טור (משייכי מזייף צולב דומיין)">
diff --git a/src/chrome/locale/hi/torbutton.dtd b/src/chrome/locale/hi/torbutton.dtd
index 081cbba..5dc00ee 100644
--- a/src/chrome/locale/hi/torbutton.dtd
+++ b/src/chrome/locale/hi/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/hr/torbutton.dtd b/src/chrome/locale/hr/torbutton.dtd
index 83d400d..bd37ad5 100644
--- a/src/chrome/locale/hr/torbutton.dtd
+++ b/src/chrome/locale/hr/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ht/torbutton.dtd b/src/chrome/locale/ht/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ht/torbutton.dtd
+++ b/src/chrome/locale/ht/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/hu/torbutton.dtd b/src/chrome/locale/hu/torbutton.dtd
index 557f4a9..6979247 100644
--- a/src/chrome/locale/hu/torbutton.dtd
+++ b/src/chrome/locale/hu/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Kilépéskor ne törölje a sütijeimet">
<!ENTITY torbutton.prefs.disable_sessionstore "Munkafolyamat mentésének tiltása (ajánlott)">
<!ENTITY torbutton.prefs.headers "Fejlécek">
-<!ENTITY torbutton.prefs.spoof_english "Amerikai angol böngészőnek álcázás">
<!ENTITY torbutton.prefs.refererspoofing "Hivatkozó oldal hamisítás">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Intelligens hivatkozó oldal hazudás a Tor használat alatt (kereszt domain hivatkozást hazudik)">
diff --git a/src/chrome/locale/hy/torbutton.dtd b/src/chrome/locale/hy/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/hy/torbutton.dtd
+++ b/src/chrome/locale/hy/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/id/torbutton.dtd b/src/chrome/locale/id/torbutton.dtd
index cf2ecde..7a73427 100644
--- a/src/chrome/locale/id/torbutton.dtd
+++ b/src/chrome/locale/id/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Jangan bersihkan cookie saya ketika mematikan browser">
<!ENTITY torbutton.prefs.disable_sessionstore "Nonaktifkan Penyimpanan Sesi (disarankan)">
<!ENTITY torbutton.prefs.headers "Header">
-<!ENTITY torbutton.prefs.spoof_english "Aktifkan penyamar untuk browser US-English">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/is/torbutton.dtd b/src/chrome/locale/is/torbutton.dtd
index 6893200..ced330e 100644
--- a/src/chrome/locale/is/torbutton.dtd
+++ b/src/chrome/locale/is/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index c42fb54..c92526f 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Non cancellare i cookies alla chiusura del browser">
<!ENTITY torbutton.prefs.disable_sessionstore "Disabilita il salvataggio della sessione (consigliato)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Simula di essere un browser US English">
<!ENTITY torbutton.prefs.refererspoofing "Offusca i Referer">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Offusca in modo intelligente i Referef durante l'uso di Tor (offusca i riferimenti da un dominio ad un altro)">
diff --git a/src/chrome/locale/ja/torbutton.dtd b/src/chrome/locale/ja/torbutton.dtd
index 4582b06..64e91a4 100644
--- a/src/chrome/locale/ja/torbutton.dtd
+++ b/src/chrome/locale/ja/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "シャットダウン時に私のcookieを削除しない">
<!ENTITY torbutton.prefs.disable_sessionstore "セッション保存を無効化 (推奨)">
<!ENTITY torbutton.prefs.headers "ヘッダ送信">
-<!ENTITY torbutton.prefs.spoof_english "アメリカ英語のブラウザを詐称する">
<!ENTITY torbutton.prefs.refererspoofing "リファラを偽装する">
<!ENTITY torbutton.prefs.spoofblank "Tor使用中は空白のリファラに偽装する (一部のサイトを壊すかもしれません)">
<!ENTITY torbutton.prefs.smartspoof "Tor使用中はスマートなリファラ偽装 (クロスドメインのリファラを偽装する)">
diff --git a/src/chrome/locale/jv/torbutton.dtd b/src/chrome/locale/jv/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/jv/torbutton.dtd
+++ b/src/chrome/locale/jv/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ka/torbutton.dtd b/src/chrome/locale/ka/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ka/torbutton.dtd
+++ b/src/chrome/locale/ka/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/km/torbutton.dtd b/src/chrome/locale/km/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/km/torbutton.dtd
+++ b/src/chrome/locale/km/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/kn/torbutton.dtd b/src/chrome/locale/kn/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/kn/torbutton.dtd
+++ b/src/chrome/locale/kn/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index 708c966..0ce3fce 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "종료시 쿠키를 삭제하지 않음">
<!ENTITY torbutton.prefs.disable_sessionstore "세션을 저장하지 않음 (추천)">
<!ENTITY torbutton.prefs.headers "헤더">
-<!ENTITY torbutton.prefs.spoof_english "미국식 영어 브라우저로 조작">
<!ENTITY torbutton.prefs.refererspoofing "리퍼러 스푸핑">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Tor 사용시 스마트 리퍼러 조작 (도메인 리퍼러를 가로질러 조작)">
diff --git a/src/chrome/locale/ku/torbutton.dtd b/src/chrome/locale/ku/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ku/torbutton.dtd
+++ b/src/chrome/locale/ku/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/kw/torbutton.dtd b/src/chrome/locale/kw/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/kw/torbutton.dtd
+++ b/src/chrome/locale/kw/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ky/torbutton.dtd b/src/chrome/locale/ky/torbutton.dtd
index 50a94d9..9bd8a41 100644
--- a/src/chrome/locale/ky/torbutton.dtd
+++ b/src/chrome/locale/ky/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/lb/torbutton.dtd b/src/chrome/locale/lb/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/lb/torbutton.dtd
+++ b/src/chrome/locale/lb/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/lg/torbutton.dtd b/src/chrome/locale/lg/torbutton.dtd
index b3b9968..5b05d1d 100644
--- a/src/chrome/locale/lg/torbutton.dtd
+++ b/src/chrome/locale/lg/torbutton.dtd
@@ -59,7 +59,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ln/torbutton.dtd b/src/chrome/locale/ln/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ln/torbutton.dtd
+++ b/src/chrome/locale/ln/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/lo/torbutton.dtd b/src/chrome/locale/lo/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/lo/torbutton.dtd
+++ b/src/chrome/locale/lo/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/lt/torbutton.dtd b/src/chrome/locale/lt/torbutton.dtd
index 10c3b14..001c093 100644
--- a/src/chrome/locale/lt/torbutton.dtd
+++ b/src/chrome/locale/lt/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/lv/torbutton.dtd b/src/chrome/locale/lv/torbutton.dtd
index aed59e9..d1abb37 100644
--- a/src/chrome/locale/lv/torbutton.dtd
+++ b/src/chrome/locale/lv/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Izslēgšanās laikā neizdzēst manas sīkdatnes">
<!ENTITY torbutton.prefs.disable_sessionstore "Atspējot sesijas saglabāšanu (ieteicami)">
<!ENTITY torbutton.prefs.headers "Galvenes">
-<!ENTITY torbutton.prefs.spoof_english "Maldināt, uzdodoties par pārlūku, kurš strādā amerikāņu angļu valodā">
<!ENTITY torbutton.prefs.refererspoofing "Maldināšana, norādot aplamas atsauces">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Vieda maldināšana, Tor'a lietošanas laikā norādot aplamas atsauces (maldina, norādot šķērsdomēnu atsauces)">
diff --git a/src/chrome/locale/mg/torbutton.dtd b/src/chrome/locale/mg/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/mg/torbutton.dtd
+++ b/src/chrome/locale/mg/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/mi/torbutton.dtd b/src/chrome/locale/mi/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/mi/torbutton.dtd
+++ b/src/chrome/locale/mi/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/mk/torbutton.dtd b/src/chrome/locale/mk/torbutton.dtd
index 34895dd..6dc29be 100644
--- a/src/chrome/locale/mk/torbutton.dtd
+++ b/src/chrome/locale/mk/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Не ги бриши колачињата при исклучување">
<!ENTITY torbutton.prefs.disable_sessionstore "Не ја зачувувај сесијата (препорачано)">
<!ENTITY torbutton.prefs.headers "Идентификација">
-<!ENTITY torbutton.prefs.spoof_english "Преправај се дека користиш американски браусер">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ml/torbutton.dtd b/src/chrome/locale/ml/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ml/torbutton.dtd
+++ b/src/chrome/locale/ml/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/mn/torbutton.dtd b/src/chrome/locale/mn/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/mn/torbutton.dtd
+++ b/src/chrome/locale/mn/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/mr/torbutton.dtd b/src/chrome/locale/mr/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/mr/torbutton.dtd
+++ b/src/chrome/locale/mr/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ms/torbutton.dtd b/src/chrome/locale/ms/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ms/torbutton.dtd
+++ b/src/chrome/locale/ms/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/mt/torbutton.dtd b/src/chrome/locale/mt/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/mt/torbutton.dtd
+++ b/src/chrome/locale/mt/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/my/torbutton.dtd b/src/chrome/locale/my/torbutton.dtd
index 1f31c3c..b962348 100644
--- a/src/chrome/locale/my/torbutton.dtd
+++ b/src/chrome/locale/my/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "စက်ပိတ်ချိန်တွင် ကျွန်တော့် ကွက်ကီးကို မရှင်းပါနှင့်">
<!ENTITY torbutton.prefs.disable_sessionstore "လုပ်ငန်း သိမ်းဆည်းမှုကို ပိတ်ရန် (အကြံပြုထားသည်)">
<!ENTITY torbutton.prefs.headers "ခေါင်းစည်းများ">
-<!ENTITY torbutton.prefs.spoof_english "ယူအက်စ် အင်္ဂလိပ်သုံး ဘရောင်ဆာကို ပုံမှားရိုက်ရန်">
<!ENTITY torbutton.prefs.refererspoofing "ရည်ညွှန်းသူ ပုံမှားရိုက်ခြင်း">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Tor သုံးစွဲနေချိန်အတွင်း ရည်ညွှန်းချက် ပုံမှားရိုက်ခြင်းကို ပြင်ရန်(ဒိုမိန်း ရည်ညွှန်းချက်များကို ပုံမှားရိုက်ချက်များ)">
diff --git a/src/chrome/locale/nah/torbutton.dtd b/src/chrome/locale/nah/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/nah/torbutton.dtd
+++ b/src/chrome/locale/nah/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/nap/torbutton.dtd b/src/chrome/locale/nap/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/nap/torbutton.dtd
+++ b/src/chrome/locale/nap/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/nb/torbutton.dtd b/src/chrome/locale/nb/torbutton.dtd
index 92ff5d9..54dcc53 100644
--- a/src/chrome/locale/nb/torbutton.dtd
+++ b/src/chrome/locale/nb/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Ikke slett informasjonskapslene mine under avslutning">
<!ENTITY torbutton.prefs.disable_sessionstore "Deaktiver lagring av sesjoner (anbefalt)">
<!ENTITY torbutton.prefs.headers "Topptekst">
-<!ENTITY torbutton.prefs.spoof_english "Parodier US Engelsk nettleser">
<!ENTITY torbutton.prefs.refererspoofing "Henviserparodiering">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart henviserparodiering mens du bruker Tor (parodierer henvisninger på tvers av domener)">
diff --git a/src/chrome/locale/ne/torbutton.dtd b/src/chrome/locale/ne/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ne/torbutton.dtd
+++ b/src/chrome/locale/ne/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/nl/torbutton.dtd b/src/chrome/locale/nl/torbutton.dtd
index e92bb6d..1522697 100644
--- a/src/chrome/locale/nl/torbutton.dtd
+++ b/src/chrome/locale/nl/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Verwijder mijn cookies niet na het afsluiten">
<!ENTITY torbutton.prefs.disable_sessionstore "Schakel sessie opslaan uit (aanbevolen)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Imiteer een US Engelse browser">
<!ENTITY torbutton.prefs.refererspoofing "Verwijzer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Slimme verwijzer spoofing tijdens Tor gebruik (spoofs cross-domain verwijzers)">
diff --git a/src/chrome/locale/nn/torbutton.dtd b/src/chrome/locale/nn/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/nn/torbutton.dtd
+++ b/src/chrome/locale/nn/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/nso/torbutton.dtd b/src/chrome/locale/nso/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/nso/torbutton.dtd
+++ b/src/chrome/locale/nso/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/oc/torbutton.dtd b/src/chrome/locale/oc/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/oc/torbutton.dtd
+++ b/src/chrome/locale/oc/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/or/torbutton.dtd b/src/chrome/locale/or/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/or/torbutton.dtd
+++ b/src/chrome/locale/or/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/pa/torbutton.dtd b/src/chrome/locale/pa/torbutton.dtd
index 1058026..bda5ba4 100644
--- a/src/chrome/locale/pa/torbutton.dtd
+++ b/src/chrome/locale/pa/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/pap/torbutton.dtd b/src/chrome/locale/pap/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/pap/torbutton.dtd
+++ b/src/chrome/locale/pap/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index 7ead4b6..f617b53 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Nie usuwaj ciasteczek przy wyłączaniu">
<!ENTITY torbutton.prefs.disable_sessionstore "Blokuj zapisywanie sesji przeglądarki (zalecane)">
<!ENTITY torbutton.prefs.headers "Nagłówki">
-<!ENTITY torbutton.prefs.spoof_english "Udawaj przeglądarkę z USA">
<!ENTITY torbutton.prefs.refererspoofing "Fałszowanie adresu zwrotnego">
<!ENTITY torbutton.prefs.spoofblank "Wysyłaj pusty adres zwrotny w czasie używania Tora (może zepsuć niektóre strony)">
<!ENTITY torbutton.prefs.smartspoof "Mądrze fałszuj adres zwrotny w czasie używania Tora (fałszuje odnośniki między stronami)">
diff --git a/src/chrome/locale/pms/torbutton.dtd b/src/chrome/locale/pms/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/pms/torbutton.dtd
+++ b/src/chrome/locale/pms/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ps/torbutton.dtd b/src/chrome/locale/ps/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ps/torbutton.dtd
+++ b/src/chrome/locale/ps/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/pt-BR/torbutton.dtd b/src/chrome/locale/pt-BR/torbutton.dtd
index 97f4bc0..d03fc5d 100644
--- a/src/chrome/locale/pt-BR/torbutton.dtd
+++ b/src/chrome/locale/pt-BR/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Não limpar meus cookies ao encerrar">
<!ENTITY torbutton.prefs.disable_sessionstore "Desabilitar o salvamento de sessão (recomendado)">
<!ENTITY torbutton.prefs.headers "Cabeçalhos">
-<!ENTITY torbutton.prefs.spoof_english "Aparentar um Navegador em Inglês Americano">
<!ENTITY torbutton.prefs.refererspoofing "Falsificar origem">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Falsificar de forma inteligente a origem durante o uso do Tor (falsifica a origem em domínios cruzados)">
diff --git a/src/chrome/locale/pt/torbutton.dtd b/src/chrome/locale/pt/torbutton.dtd
index 9b6f323..678ccb7 100644
--- a/src/chrome/locale/pt/torbutton.dtd
+++ b/src/chrome/locale/pt/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Não limpar os meus cookies ao encerrar">
<!ENTITY torbutton.prefs.disable_sessionstore "Desativar Função de Guardar a Sessão (recomendado)">
<!ENTITY torbutton.prefs.headers "Cabeçalhos">
-<!ENTITY torbutton.prefs.spoof_english "Enganar o Navegador em Inglês dos EUA">
<!ENTITY torbutton.prefs.refererspoofing "Enganar remetente">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Falsificação inteligente do referente durante o uso do Tor (falsifica referentes de domínios cruzados)">
diff --git a/src/chrome/locale/ro/torbutton.dtd b/src/chrome/locale/ro/torbutton.dtd
index eae1bc6..3e19345 100644
--- a/src/chrome/locale/ro/torbutton.dtd
+++ b/src/chrome/locale/ro/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Nu șterge cookie-urile mele la închidere">
<!ENTITY torbutton.prefs.disable_sessionstore "Dezactivați salvarea sesiunilor (recomandat)">
<!ENTITY torbutton.prefs.headers "Antete">
-<!ENTITY torbutton.prefs.spoof_english "Imitează browser-ul în Limba Engleză">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 2c40381..80e6382 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Не очищать куки-файлы при закрытии браузера">
<!ENTITY torbutton.prefs.disable_sessionstore "Отключить сохранение сессий (желательно)">
<!ENTITY torbutton.prefs.headers "Заголовки">
-<!ENTITY torbutton.prefs.spoof_english "Заголовки как в версии браузера US English">
<!ENTITY torbutton.prefs.refererspoofing "Подстановка заголовка запроса (реферер)">
<!ENTITY torbutton.prefs.spoofblank "Имитировать пустой реферер во время использования Tor (может привести к невозможности просмотра некоторых сайтов)">
<!ENTITY torbutton.prefs.smartspoof "Ловкая подстановка реферера во время использования Tor (подмена перекрёстных доменных рефереров)">
diff --git a/src/chrome/locale/sco/torbutton.dtd b/src/chrome/locale/sco/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/sco/torbutton.dtd
+++ b/src/chrome/locale/sco/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/sk/torbutton.dtd b/src/chrome/locale/sk/torbutton.dtd
index 867764b..8535f04 100644
--- a/src/chrome/locale/sk/torbutton.dtd
+++ b/src/chrome/locale/sk/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/sl/torbutton.dtd b/src/chrome/locale/sl/torbutton.dtd
index 81140cd..29ae9cd 100644
--- a/src/chrome/locale/sl/torbutton.dtd
+++ b/src/chrome/locale/sl/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Ne zbriši piškotkov pri ugašanju">
<!ENTITY torbutton.prefs.disable_sessionstore "Onemogoči shranjevanje sej (proporočeno)">
<!ENTITY torbutton.prefs.headers "Headers (informacije na začetku paketa - naslavljanje)">
-<!ENTITY torbutton.prefs.spoof_english 'Navidezno "US English" brskalnik'>
<!ENTITY torbutton.prefs.refererspoofing "osveži prevaro">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/so/torbutton.dtd b/src/chrome/locale/so/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/so/torbutton.dtd
+++ b/src/chrome/locale/so/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/son/torbutton.dtd b/src/chrome/locale/son/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/son/torbutton.dtd
+++ b/src/chrome/locale/son/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/sq/torbutton.dtd b/src/chrome/locale/sq/torbutton.dtd
index c7ce160..0507557 100644
--- a/src/chrome/locale/sq/torbutton.dtd
+++ b/src/chrome/locale/sq/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/sr/torbutton.dtd b/src/chrome/locale/sr/torbutton.dtd
index a639874..13d3209 100644
--- a/src/chrome/locale/sr/torbutton.dtd
+++ b/src/chrome/locale/sr/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Не чисти моје колачиће при гашењу">
<!ENTITY torbutton.prefs.disable_sessionstore "Онемогући чување сесије (препоручује се)">
<!ENTITY torbutton.prefs.headers "Заглавља">
-<!ENTITY torbutton.prefs.spoof_english "Амерички енглески прегледач">
<!ENTITY torbutton.prefs.refererspoofing "Маскирање упућивача">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Паметно маскирање упућивача када је Tor омогућен (маскира преко домена упућивача)">
diff --git a/src/chrome/locale/st/torbutton.dtd b/src/chrome/locale/st/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/st/torbutton.dtd
+++ b/src/chrome/locale/st/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/su/torbutton.dtd b/src/chrome/locale/su/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/su/torbutton.dtd
+++ b/src/chrome/locale/su/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/sv/torbutton.dtd b/src/chrome/locale/sv/torbutton.dtd
index c384b60..cc809ec 100644
--- a/src/chrome/locale/sv/torbutton.dtd
+++ b/src/chrome/locale/sv/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Rensa inte mina kakor vid avstängning">
<!ENTITY torbutton.prefs.disable_sessionstore "Inaktivera Sessionssparande (rekommenderas)">
<!ENTITY torbutton.prefs.headers "Huvuden">
-<!ENTITY torbutton.prefs.spoof_english "Härma US Engelsk Webbläsare">
<!ENTITY torbutton.prefs.refererspoofing "Refererings härmning">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referat härmning under Tor användning (härmar kors domän referat)">
diff --git a/src/chrome/locale/sw/torbutton.dtd b/src/chrome/locale/sw/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/sw/torbutton.dtd
+++ b/src/chrome/locale/sw/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ta/torbutton.dtd b/src/chrome/locale/ta/torbutton.dtd
index d4307cb..1393021 100644
--- a/src/chrome/locale/ta/torbutton.dtd
+++ b/src/chrome/locale/ta/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/te/torbutton.dtd b/src/chrome/locale/te/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/te/torbutton.dtd
+++ b/src/chrome/locale/te/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/tg/torbutton.dtd b/src/chrome/locale/tg/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/tg/torbutton.dtd
+++ b/src/chrome/locale/tg/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/th/torbutton.dtd b/src/chrome/locale/th/torbutton.dtd
index c2d103c..0a0d7d2 100644
--- a/src/chrome/locale/th/torbutton.dtd
+++ b/src/chrome/locale/th/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ti/torbutton.dtd b/src/chrome/locale/ti/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ti/torbutton.dtd
+++ b/src/chrome/locale/ti/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/tk/torbutton.dtd b/src/chrome/locale/tk/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/tk/torbutton.dtd
+++ b/src/chrome/locale/tk/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/tr/torbutton.dtd b/src/chrome/locale/tr/torbutton.dtd
index 273da1b..62114b5 100644
--- a/src/chrome/locale/tr/torbutton.dtd
+++ b/src/chrome/locale/tr/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Programı kapatığımda çerezlerim silinmesin">
<!ENTITY torbutton.prefs.disable_sessionstore "Oturum Kaydedilmesin (önerilir)">
<!ENTITY torbutton.prefs.headers "Üst Bilgiler">
-<!ENTITY torbutton.prefs.spoof_english "Amerikan İngilizce Web Tarayıcısı Aldatması">
<!ENTITY torbutton.prefs.refererspoofing "Gönderici aldatması">
<!ENTITY torbutton.prefs.spoofblank "Tor kullanılırken boş gönderici aldatması yapılsın (bazı sitelerde çalışmayabilir)">
<!ENTITY torbutton.prefs.smartspoof "Tor kullanılırken akıllı gönderici aldatması yapılsın (siteler arası göndericileri değiştirir)">
diff --git a/src/chrome/locale/uk/torbutton.dtd b/src/chrome/locale/uk/torbutton.dtd
index 68bfa9b..e0e7e39 100644
--- a/src/chrome/locale/uk/torbutton.dtd
+++ b/src/chrome/locale/uk/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Не чистити куків при вимкненні переглядача">
<!ENTITY torbutton.prefs.disable_sessionstore "Не дозволяти збереження сесій (рекомендовано)">
<!ENTITY torbutton.prefs.headers "Заголовки">
-<!ENTITY torbutton.prefs.spoof_english "Прикидатися переглядачем US English">
<!ENTITY torbutton.prefs.refererspoofing "Підстановка реферер">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Розумна підстановка реферера під час використання Tor (підміна перехресних доменних реферерів)">
diff --git a/src/chrome/locale/ur/torbutton.dtd b/src/chrome/locale/ur/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ur/torbutton.dtd
+++ b/src/chrome/locale/ur/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/ve/torbutton.dtd b/src/chrome/locale/ve/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/ve/torbutton.dtd
+++ b/src/chrome/locale/ve/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/vi/torbutton.dtd b/src/chrome/locale/vi/torbutton.dtd
index c99f72c..48d6ace 100644
--- a/src/chrome/locale/vi/torbutton.dtd
+++ b/src/chrome/locale/vi/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Không xóa cookie của tôi khi tắt trình duyệt">
<!ENTITY torbutton.prefs.disable_sessionstore "Vô hiệu hóa Lưu Phiên Duyệt Web (khuyến cáo)">
<!ENTITY torbutton.prefs.headers "Đầu đề">
-<!ENTITY torbutton.prefs.spoof_english "Bắt chước Trình duyệt Tiếng Anh-Mỹ">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/wa/torbutton.dtd b/src/chrome/locale/wa/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/wa/torbutton.dtd
+++ b/src/chrome/locale/wa/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/wo/torbutton.dtd b/src/chrome/locale/wo/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/wo/torbutton.dtd
+++ b/src/chrome/locale/wo/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index 757c4da..235e817 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -74,7 +74,6 @@
<!ENTITY torbutton.prefs.no_shutdown "关闭时不清除 cookies">
<!ENTITY torbutton.prefs.disable_sessionstore "禁用 Firefox 的会话保存(推荐)">
<!ENTITY torbutton.prefs.headers "Header">
-<!ENTITY torbutton.prefs.spoof_english "伪装浏览器语言为美国英语">
<!ENTITY torbutton.prefs.refererspoofing "伪造 Referer">
<!ENTITY torbutton.prefs.spoofblank "使用 Tor 时伪造空白 Referer(可能造成某些网站显示异常)">
<!ENTITY torbutton.prefs.smartspoof "使用 Tor 时伪造智能 Referer(伪造跨域 Referer)">
diff --git a/src/chrome/locale/zh-HK/torbutton.dtd b/src/chrome/locale/zh-HK/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/zh-HK/torbutton.dtd
+++ b/src/chrome/locale/zh-HK/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/zh-TW/torbutton.dtd b/src/chrome/locale/zh-TW/torbutton.dtd
index 2df0e4d..726e1c7 100644
--- a/src/chrome/locale/zh-TW/torbutton.dtd
+++ b/src/chrome/locale/zh-TW/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/chrome/locale/zu/torbutton.dtd b/src/chrome/locale/zu/torbutton.dtd
index d59c0c2..ca3741f 100644
--- a/src/chrome/locale/zu/torbutton.dtd
+++ b/src/chrome/locale/zu/torbutton.dtd
@@ -72,7 +72,6 @@
<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
diff --git a/src/defaults/preferences/preferences.js b/src/defaults/preferences/preferences.js
index cae5fbd..46bfc0e 100644
--- a/src/defaults/preferences/preferences.js
+++ b/src/defaults/preferences/preferences.js
@@ -89,7 +89,6 @@ pref("extensions.torbutton.saved.search_update", true);
pref("extensions.torbutton.saved.geo_enabled", true);
pref("extensions.torbutton.saved.zoom_specific", true);
pref("extensions.torbutton.saved.accept_languages", "");
-pref("extensions.torbutton.saved.accept_charsets", "");
pref("extensions.torbutton.saved.appname_override","");
pref("extensions.torbutton.saved.appversion_override","");
pref("extensions.torbutton.saved.platform_override","");
@@ -140,9 +139,6 @@ pref("extensions.torbutton.notor_sessionstore",true);
pref("extensions.torbutton.nonontor_sessionstore",false);
pref("extensions.torbutton.reload_crashed_jar",true);
pref("extensions.torbutton.spoof_english",true);
-pref("extensions.torbutton.spoof_charset",'iso-8859-1,*,utf-8');
-pref("extensions.torbutton.spoof_language",'en-us, en');
-pref("extensions.torbutton.spoof_locale",'en-US');
pref("extensions.torbutton.refererspoof", 0); //0=smart referer, 1=blank, 2=no spoofing
pref("extensions.torbutton.shutdown_method",1); // 0=none, 1=tor, 2=all
pref("extensions.torbutton.block_tforms",true);
1
0

[tor-browser-bundle/hardened-builds] Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
by gk@torproject.org 19 Jan '16
by gk@torproject.org 19 Jan '16
19 Jan '16
commit 4a27862b00cc8dce3ed9288dedb938b0fe0e8c05
Author: David Fifield <david(a)bamsoftware.com>
Date: Mon Jan 18 13:53:58 2016 -0800
Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
ndnop3 is listening on a new port. It will continue listening on its old
port too. ndnop5 is a new bridge with a different fingerprint.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f4a8448..685c651 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -21,9 +21,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/master] Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
by gk@torproject.org 19 Jan '16
by gk@torproject.org 19 Jan '16
19 Jan '16
commit 7699096ba7eacbd5e13bcf9abe2601a42da0b45d
Author: David Fifield <david(a)bamsoftware.com>
Date: Mon Jan 18 13:53:58 2016 -0800
Update port for ndnop3 obfs4 bridge and add new ndnop5 obfs4 brige.
ndnop3 is listening on a new port. It will continue listening on its old
port too. ndnop5 is a new bridge with a different fingerprint.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f4a8448..685c651 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -21,9 +21,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/hardened-builds] Bug 18072: Change recommended PT type to obfs4.
by gk@torproject.org 18 Jan '16
by gk@torproject.org 18 Jan '16
18 Jan '16
commit 87ed0048caa1b5ff260ff061ee7351d20de593d0
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Sat Jan 16 12:17:19 2016 +0000
Bug 18072: Change recommended PT type to obfs4.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 11c7471..f4a8448 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -1,5 +1,5 @@
# Tor Launcher preferences (default bridges):
-pref("extensions.torlauncher.default_bridge_recommended_type", "obfs3");
+pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 A09D536DD1752D542E1FBB3C9CE4449D51298239");
1
0

[tor-browser-bundle/master] Bug 18072: Change recommended PT type to obfs4.
by gk@torproject.org 18 Jan '16
by gk@torproject.org 18 Jan '16
18 Jan '16
commit 27fe16afe9f45c1052b7b975eae47f0ec723425a
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Sat Jan 16 12:17:19 2016 +0000
Bug 18072: Change recommended PT type to obfs4.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index 11c7471..f4a8448 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -1,5 +1,5 @@
# Tor Launcher preferences (default bridges):
-pref("extensions.torlauncher.default_bridge_recommended_type", "obfs3");
+pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 83.212.101.3:80 A09D536DD1752D542E1FBB3C9CE4449D51298239");
1
0

[tor-browser-bundle/hardened-builds] Bug 18071: Add new default obfs4 bridge, riemann.
by gk@torproject.org 18 Jan '16
by gk@torproject.org 18 Jan '16
18 Jan '16
commit 5625f1787125f23810c72604b367769900299412
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Sat Jan 16 12:08:29 2016 +0000
Bug 18071: Add new default obfs4 bridge, riemann.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f27d389..11c7471 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,9 +20,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser-bundle/master] Bug 18071: Add new default obfs4 bridge, riemann.
by gk@torproject.org 18 Jan '16
by gk@torproject.org 18 Jan '16
18 Jan '16
commit 27ac6800b3171004f3bd9a9114ff72f1ee991a79
Author: Isis Lovecruft <isis(a)torproject.org>
Date: Sat Jan 16 12:08:29 2016 +0000
Bug 18071: Add new default obfs4 bridge, riemann.
---
Bundle-Data/PTConfigs/bridge_prefs.js | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Bundle-Data/PTConfigs/bridge_prefs.js b/Bundle-Data/PTConfigs/bridge_prefs.js
index f27d389..11c7471 100644
--- a/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -20,9 +20,10 @@ pref("extensions.torlauncher.default_bridge.fte-ipv6.2", "fte [2001:49f0:d00a:1:
pref("extensions.torlauncher.default_bridge.scramblesuit.1", "scramblesuit 83.212.101.3:443 A09D536DD1752D542E1FBB3C9CE4449D51298239 password=XTCXLG2JAMJKZW2POLBAOWOQETQSMASH");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 198.245.60.50:443 752CF7825B3B9EA6A98C83AC41F7099D67007EA5 cert=xpmQtKUqQ/6v5X7ijgYE/f03+l2/EuQ1dexjyUhh16wQlu/cpXUGalmhDIlhuiQPNEKmKw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:24215 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 83.212.101.3:41213 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 104.131.108.182:56880 EF577C30B9F788B0E1801CF7E433B3B77792B77A cert=0SFhfDQrKjUJP8Qq6wrwSICEPf3Vl/nJRsYxWbg3QRoSqhl2EB78MPS2lQxbXY4EW1wwXA iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-google.1", "meek 0.0.2.0:1 46D4A71197B8FA515A826C6B017C522FE264655B url=https://meek-reflect.appspot.com/ front=www.google.com");
pref("extensions.torlauncher.default_bridge.meek-amazon.1", "meek 0.0.2.0:2 B9E7141C594AF25699E0079C1F0146F409495296 url=https://d2zfqthxsdq309.cloudfront.net/ front=a0.awsstatic.com");
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] fixup! Bug 16940: After update, load local change notes.
by gk@torproject.org 16 Jan '16
by gk@torproject.org 16 Jan '16
16 Jan '16
commit a46acd14e1bacdc0e3c68a29ee203ce37bd6c9a7
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Jan 15 09:16:15 2016 -0500
fixup! Bug 16940: After update, load local change notes.
Fix path separator problem on Windows. This fixes bug 18064.
---
browser/base/content/content.js | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/browser/base/content/content.js b/browser/base/content/content.js
index fd87352..d1afdb9 100644
--- a/browser/base/content/content.js
+++ b/browser/base/content/content.js
@@ -606,7 +606,8 @@ let AboutTBUpdateListener = {
let f = Cc["@mozilla.org/file/directory_service;1"]
.getService(Ci.nsIProperties).get("DefProfRt", Ci.nsIFile);
f = f.parent.parent; // Remove "Data/Browser"
- f.appendRelativePath("Docs/ChangeLog.txt");
+ f.append("Docs");
+ f.append("ChangeLog.txt");
let fs = Cc["@mozilla.org/network/file-input-stream;1"]
.createInstance(Ci.nsIFileInputStream);
1
0

[tor-browser-bundle/hardened-builds] Bug 17428: Removing Flashproxy from Tor Browser
by gk@torproject.org 16 Jan '16
by gk@torproject.org 16 Jan '16
16 Jan '16
commit 4ebec5b9feaae342ed53c70005c6946c96fa0fe1
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 14 15:16:01 2016 +0000
Bug 17428: Removing Flashproxy from Tor Browser
Remove M2crypto as well as this was only used by Flashproxy.
---
.../PTConfigs/linux/torrc-defaults-appendix | 7 -----
Bundle-Data/PTConfigs/mac/torrc-defaults-appendix | 7 -----
.../PTConfigs/windows/torrc-defaults-appendix | 7 -----
.../linux/gitian-pluggable-transports.yml | 21 ---------------
.../mac/gitian-pluggable-transports.yml | 27 --------------------
.../windows/gitian-pluggable-transports.yml | 26 -------------------
gitian/fetch-inputs.sh | 10 +++-----
gitian/mkbundle-linux.sh | 3 +--
gitian/mkbundle-mac.sh | 3 +--
gitian/mkbundle-windows.sh | 3 +--
gitian/verify-tags.sh | 9 +++----
gitian/versions.alpha | 5 ----
gitian/versions.nightly | 5 ----
13 files changed, 11 insertions(+), 122 deletions(-)
diff --git a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index d0885ff..c79efde 100644
--- a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser -- ./TorBrowser/Tor/PluggableTransports/meek-client
diff --git a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
index 0dee29b..f5eb5e4 100644
--- a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec PluggableTransports/obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec PluggableTransports/flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec PluggableTransports/meek-client-torbrowser -- PluggableTransports/meek-client
diff --git a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
index ad1eb07..2c1b636 100644
--- a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec TorBrowser\Tor\PluggableTransports\fteproxy --man
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec TorBrowser\Tor\PluggableTransports\obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec TorBrowser\Tor\PluggableTransports\flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec TorBrowser\Tor\PluggableTransports\terminateprocess-buffer TorBrowser\Tor\PluggableTransports\meek-client-torbrowser -- TorBrowser\Tor\PluggableTransports\meek-client
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index d9b8338..25b5a1b 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -19,8 +19,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -47,7 +45,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "go.tar.gz"
- "dzip.sh"
@@ -164,24 +161,6 @@ script: |
cp -a {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- $PYTHON setup.py build_ext --build-lib build --openssl $INSTDIR/openssl
- $PYTHON setup.py build --build-lib build
- cp -a build/M2Crypto $PTDIR/
- cd ..
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist DISTNAME=flashproxy-client
- cp -a dist/flashproxy-client/{flashproxy,flashproxy-client,flashproxy-reg-appspot,flashproxy-reg-email,flashproxy-reg-http,flashproxy-reg-url} $PTDIR/
- mkdir -p $INSTDIR/Docs/FlashProxy
- cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index d483462..fd62919 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -18,8 +18,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -46,7 +44,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "go.tar.gz"
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
@@ -188,30 +185,6 @@ script: |
sed 's/python2/python/' -i $PTDIR/obfsproxy.bin
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- # We have to put $INSTDIR/openssl at the beginning of the header and library
- # search paths (build_ext otherwise puts it at the end, after CFLAGS and
- # LDFLAGS). The reason for this is that /usr/lib/apple/SDKs/MacOSX10.6.sdk/usr
- # (part of CFLAGS and LDFLAGS) has its own openssl headers and library files.
- # It also has necessary headers like stdio.h, so we can't remove it
- # completely, but our locally built openssl must take precedence.
- CFLAGS="-I$INSTDIR/openssl/include $CFLAGS" LDFLAGS="-L$INSTDIR/openssl/lib $LDFLAGS" LDSHARED="$LDSHARED -framework Python" python setup.py build_ext --build-lib build --openssl $INSTDIR/openssl -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Python.framework/Headers $SDK_INCLUDES
- python setup.py build --build-lib build
- cp -a build/M2Crypto $PTDIR/
- cd ..
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist DISTNAME=flashproxy-client
- cp -a dist/flashproxy-client/{flashproxy,flashproxy-client,flashproxy-reg-appspot,flashproxy-reg-email,flashproxy-reg-http,flashproxy-reg-url} $PTDIR/
- mkdir -p $TBDIR/Docs/FlashProxy
- cp -a {doc/*,README,LICENSE,ChangeLog} $TBDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index 1d8caba..9c1642d 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -8,8 +8,6 @@ packages:
- "faketime"
- "unzip"
- "p7zip-full"
-# Needed by M2Crypto
-- "swig"
- "zip"
reference_datetime: "2000-01-01 00:00:00"
remotes:
@@ -17,8 +15,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -46,7 +42,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "ubuntu-wine.gpg"
- "wine-wrappers"
@@ -260,27 +255,6 @@ script: |
cp {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- LD_PRELOAD= $INSTPYTHON setup.py build_ext -c mingw32 --openssl $INSTDIR/openssl/ -lssl.dll,crypto.dll
- LD_PRELOAD= $INSTPYTHON setup.py install --single-version-externally-managed --record /dev/null
- cd ..
- # py2exe byte-compiles to .pyc files, which embed the mtime of the parent .py
- # file.
- find $INSTDIR/python -type f | xargs touch --date="$REFERENCE_DATETIME"
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist-exe DISTNAME=flashproxy-client PYTHON="LD_PRELOAD= $INSTPYTHON"
- py2exe_zip_timestomp dist/flashproxy-client-win32/py2exe-flashproxy.zip
- cp -an dist/flashproxy-client-win32/{*.pyd,*.exe,*.zip} $PTDIR/
- mkdir -p $INSTDIR/Docs/FlashProxy
- cp dist/flashproxy-client-win32/{doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 9252aea..206023b 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,12 +112,12 @@ update_git() {
##############################################################################
# Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "M2CRYPTO" -o \
- "${i}" == "PYTHON_MSI" -o "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -167,7 +167,7 @@ wget -U "" -N ${NOSCRIPT_URL}
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
@@ -233,7 +233,6 @@ ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
ln -sf "$PYYAML_PACKAGE" pyyaml.tar.gz
ln -sf "$ZOPEINTERFACE_PACKAGE" zope.interface.zip
ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
-ln -sf "$M2CRYPTO_PACKAGE" m2crypto.tar.gz
ln -sf "$PY2EXE_PACKAGE" py2exe.exe
ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
ln -sf "$GMP_PACKAGE" gmp.tar.bz2
@@ -265,7 +264,6 @@ tor-browser https://git.torproject.org/tor-browser.git $TORBR
mingw-w64-git http://git.code.sf.net/p/mingw-w64/mingw-w64 $MINGW_TAG
pyptlib https://git.torproject.org/pluggable-transports/pyptlib.git $PYPTLIB_TAG
obfsproxy https://git.torproject.org/pluggable-transports/obfsproxy.git $OBFSPROXY_TAG
-flashproxy https://git.torproject.org/flashproxy.git $FLASHPROXY_TAG
libfte https://github.com/kpdyer/libfte.git $LIBFTE_TAG
fteproxy https://github.com/kpdyer/fteproxy.git $FTEPROXY_TAG
libdmg-hfsplus https://github.com/vasi/libdmg-hfsplus.git $LIBDMG_TAG
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 64a0fd4..5fa3966 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -95,7 +95,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -199,7 +198,7 @@ then
echo "****** Starting Pluggable Transports Component of Linux Bundle (4/5 for Linux) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-linux.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index 670d152..39dac5f 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -100,7 +100,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -193,7 +192,7 @@ then
echo "****** Starting Pluggable Transports Component of Mac Bundle (4/5 for Mac) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./firefox-fail-mac.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 6aeec8a..2de0f1e 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -94,7 +94,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -198,7 +197,7 @@ then
echo "****** Starting Pluggable Transports Component of Windows Bundle (4/5 for Windows) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-win32.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index a1ce6a1..82a810a 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -98,7 +98,6 @@ libevent libevent.gpg $LIBEVENT_TAG
tor tor.gpg $TOR_TAG
pyptlib pyptlib.gpg $PYPTLIB_TAG
obfsproxy obfsproxy.gpg $OBFSPROXY_TAG
-flashproxy flashproxy.gpg $FLASHPROXY_TAG
goptlib goptlib.gpg $GOPTLIB_TAG
meek meek.gpg $MEEK_TAG
obfs4 obfs4proxy.gpg $OBFS4_TAG
@@ -122,12 +121,12 @@ noto-fonts $NOTOFONTS_TAG
EOF
# Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "M2CRYPTO" -o \
- "${i}" == "PYTHON_MSI" -o "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -142,7 +141,7 @@ done
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 22eb8df..fd03b8b 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -26,7 +26,6 @@ LIBEVENT_TAG=release-2.0.22-stable
MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
PYPTLIB_TAG=pyptlib-0.0.6
OBFSPROXY_TAG=obfsproxy-0.2.12
-FLASHPROXY_TAG=1.6
LIBFTE_TAG=85ef8ae58dbf0d02ea26b627e343784b5574c428 # sketch master with fix
FTEPROXY_TAG=597f8378f6f4f3de570b8e1064c2e4cb8d67fbd0 # tag 0.2.19
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
@@ -55,7 +54,6 @@ ARGPARSE_VER=1.2.1
PYYAML_VER=3.11
ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
-M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
@@ -81,7 +79,6 @@ ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
PYYAML_PACKAGE=PyYAML-${PYYAML_VER}.tar.gz
ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
-M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
@@ -104,7 +101,6 @@ ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
-M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
@@ -130,7 +126,6 @@ PYYAML_URL=https://pypi.python.org/packages/source/P/PyYAML/${PYYAML_PACKAG…
ZOPEINTERFACE_URL=https://pypi.python.org/packages/source/z/zope.interface/…
TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
-M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index a5407a6..d209c6a 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -29,7 +29,6 @@ LIBEVENT_TAG=release-2.0.22-stable
MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
PYPTLIB_TAG=master
OBFSPROXY_TAG=master
-FLASHPROXY_TAG=master
LIBFTE_TAG=master
FTEPROXY_TAG=master
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
@@ -58,7 +57,6 @@ ARGPARSE_VER=1.2.1
PYYAML_VER=3.11
ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
-M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
@@ -84,7 +82,6 @@ ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
PYYAML_PACKAGE=PyYAML-${PYYAML_VER}.tar.gz
ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
-M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
@@ -107,7 +104,6 @@ ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
-M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
@@ -133,7 +129,6 @@ PYYAML_URL=https://pypi.python.org/packages/source/P/PyYAML/${PYYAML_PACKAG…
ZOPEINTERFACE_URL=https://pypi.python.org/packages/source/z/zope.interface/…
TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
-M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
1
0

[tor-browser-bundle/master] Bug 17428: Removing Flashproxy from Tor Browser
by gk@torproject.org 16 Jan '16
by gk@torproject.org 16 Jan '16
16 Jan '16
commit 969136e13861c1cc6d983a66a82736a1fae971c3
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 14 15:16:01 2016 +0000
Bug 17428: Removing Flashproxy from Tor Browser
Remove M2crypto as well as this was only used by Flashproxy.
---
.../PTConfigs/linux/torrc-defaults-appendix | 7 -----
Bundle-Data/PTConfigs/mac/torrc-defaults-appendix | 7 -----
.../PTConfigs/windows/torrc-defaults-appendix | 7 -----
.../linux/gitian-pluggable-transports.yml | 21 ---------------
.../mac/gitian-pluggable-transports.yml | 27 --------------------
.../windows/gitian-pluggable-transports.yml | 26 -------------------
gitian/fetch-inputs.sh | 10 +++-----
gitian/mkbundle-linux.sh | 3 +--
gitian/mkbundle-mac.sh | 3 +--
gitian/mkbundle-windows.sh | 3 +--
gitian/verify-tags.sh | 9 +++----
gitian/versions.alpha | 5 ----
gitian/versions.nightly | 5 ----
13 files changed, 11 insertions(+), 122 deletions(-)
diff --git a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index d0885ff..c79efde 100644
--- a/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.bin
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec ./TorBrowser/Tor/PluggableTransports/flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser -- ./TorBrowser/Tor/PluggableTransports/meek-client
diff --git a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
index 0dee29b..f5eb5e4 100644
--- a/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/mac/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec PluggableTransports/fteproxy.bin --managed
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec PluggableTransports/obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec PluggableTransports/flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec PluggableTransports/meek-client-torbrowser -- PluggableTransports/meek-client
diff --git a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
index ad1eb07..2c1b636 100644
--- a/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
+++ b/Bundle-Data/PTConfigs/windows/torrc-defaults-appendix
@@ -4,12 +4,5 @@ ClientTransportPlugin fte exec TorBrowser\Tor\PluggableTransports\fteproxy --man
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec TorBrowser\Tor\PluggableTransports\obfs4proxy
-## flash proxy configuration
-#
-# Change the second number here (9000) to the number of a port that can
-# receive connections from the Internet (the port for which you
-# configured port forwarding).
-ClientTransportPlugin flashproxy exec TorBrowser\Tor\PluggableTransports\flashproxy-client --register :0 :9000
-
## meek configuration
ClientTransportPlugin meek exec TorBrowser\Tor\PluggableTransports\terminateprocess-buffer TorBrowser\Tor\PluggableTransports\meek-client-torbrowser -- TorBrowser\Tor\PluggableTransports\meek-client
diff --git a/gitian/descriptors/linux/gitian-pluggable-transports.yml b/gitian/descriptors/linux/gitian-pluggable-transports.yml
index 0f123ff..31deebb 100644
--- a/gitian/descriptors/linux/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/linux/gitian-pluggable-transports.yml
@@ -20,8 +20,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -48,7 +46,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "go.tar.gz"
- "dzip.sh"
@@ -167,24 +164,6 @@ script: |
cp -a {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- $PYTHON setup.py build_ext --build-lib build --openssl $INSTDIR/openssl
- $PYTHON setup.py build --build-lib build
- cp -a build/M2Crypto $PTDIR/
- cd ..
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist DISTNAME=flashproxy-client
- cp -a dist/flashproxy-client/{flashproxy,flashproxy-client,flashproxy-reg-appspot,flashproxy-reg-email,flashproxy-reg-http,flashproxy-reg-url} $PTDIR/
- mkdir -p $INSTDIR/Docs/FlashProxy
- cp -a {doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
diff --git a/gitian/descriptors/mac/gitian-pluggable-transports.yml b/gitian/descriptors/mac/gitian-pluggable-transports.yml
index d483462..fd62919 100644
--- a/gitian/descriptors/mac/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/mac/gitian-pluggable-transports.yml
@@ -18,8 +18,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -46,7 +44,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "go.tar.gz"
- "apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb"
@@ -188,30 +185,6 @@ script: |
sed 's/python2/python/' -i $PTDIR/obfsproxy.bin
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- # We have to put $INSTDIR/openssl at the beginning of the header and library
- # search paths (build_ext otherwise puts it at the end, after CFLAGS and
- # LDFLAGS). The reason for this is that /usr/lib/apple/SDKs/MacOSX10.6.sdk/usr
- # (part of CFLAGS and LDFLAGS) has its own openssl headers and library files.
- # It also has necessary headers like stdio.h, so we can't remove it
- # completely, but our locally built openssl must take precedence.
- CFLAGS="-I$INSTDIR/openssl/include $CFLAGS" LDFLAGS="-L$INSTDIR/openssl/lib $LDFLAGS" LDSHARED="$LDSHARED -framework Python" python setup.py build_ext --build-lib build --openssl $INSTDIR/openssl -I/usr/lib/apple/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Python.framework/Headers $SDK_INCLUDES
- python setup.py build --build-lib build
- cp -a build/M2Crypto $PTDIR/
- cd ..
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist DISTNAME=flashproxy-client
- cp -a dist/flashproxy-client/{flashproxy,flashproxy-client,flashproxy-reg-appspot,flashproxy-reg-email,flashproxy-reg-http,flashproxy-reg-url} $PTDIR/
- mkdir -p $TBDIR/Docs/FlashProxy
- cp -a {doc/*,README,LICENSE,ChangeLog} $TBDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
diff --git a/gitian/descriptors/windows/gitian-pluggable-transports.yml b/gitian/descriptors/windows/gitian-pluggable-transports.yml
index 1d8caba..9c1642d 100644
--- a/gitian/descriptors/windows/gitian-pluggable-transports.yml
+++ b/gitian/descriptors/windows/gitian-pluggable-transports.yml
@@ -8,8 +8,6 @@ packages:
- "faketime"
- "unzip"
- "p7zip-full"
-# Needed by M2Crypto
-- "swig"
- "zip"
reference_datetime: "2000-01-01 00:00:00"
remotes:
@@ -17,8 +15,6 @@ remotes:
"dir": "pyptlib"
- "url": "https://git.torproject.org/pluggable-transports/obfsproxy.git"
"dir": "obfsproxy"
-- "url": "https://git.torproject.org/flashproxy.git"
- "dir": "flashproxy"
- "url": "https://github.com/kpdyer/libfte.git"
"dir": "libfte"
- "url": "https://github.com/kpdyer/fteproxy.git"
@@ -46,7 +42,6 @@ files:
- "pyyaml.tar.gz"
- "zope.interface.zip"
- "twisted.tar.bz2"
-- "m2crypto.tar.gz"
- "parsley.tar.gz"
- "ubuntu-wine.gpg"
- "wine-wrappers"
@@ -260,27 +255,6 @@ script: |
cp {LICENSE,README} $INSTDIR/Docs/Obfsproxy
cd ..
- # Building M2Crypto
- tar xzf m2crypto.tar.gz
- cd M2Crypto-*
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- LD_PRELOAD= $INSTPYTHON setup.py build_ext -c mingw32 --openssl $INSTDIR/openssl/ -lssl.dll,crypto.dll
- LD_PRELOAD= $INSTPYTHON setup.py install --single-version-externally-managed --record /dev/null
- cd ..
- # py2exe byte-compiles to .pyc files, which embed the mtime of the parent .py
- # file.
- find $INSTDIR/python -type f | xargs touch --date="$REFERENCE_DATETIME"
-
- # Building flashproxy
- cd flashproxy
- find -type f -print0 | xargs -0 touch --date="$REFERENCE_DATETIME"
- make dist-exe DISTNAME=flashproxy-client PYTHON="LD_PRELOAD= $INSTPYTHON"
- py2exe_zip_timestomp dist/flashproxy-client-win32/py2exe-flashproxy.zip
- cp -an dist/flashproxy-client-win32/{*.pyd,*.exe,*.zip} $PTDIR/
- mkdir -p $INSTDIR/Docs/FlashProxy
- cp dist/flashproxy-client-win32/{doc/*,README,LICENSE,ChangeLog} $INSTDIR/Docs/FlashProxy
- cd ..
-
# Building libfte
cd libfte
ln -s $INSTDIR/gmp thirdparty/gmp
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 9252aea..206023b 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -112,12 +112,12 @@ update_git() {
##############################################################################
# Get+verify sigs that exist
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "M2CRYPTO" -o \
- "${i}" == "PYTHON_MSI" -o "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -167,7 +167,7 @@ wget -U "" -N ${NOSCRIPT_URL}
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
@@ -233,7 +233,6 @@ ln -sf "$ARGPARSE_PACKAGE" argparse.tar.gz
ln -sf "$PYYAML_PACKAGE" pyyaml.tar.gz
ln -sf "$ZOPEINTERFACE_PACKAGE" zope.interface.zip
ln -sf "$TWISTED_PACKAGE" twisted.tar.bz2
-ln -sf "$M2CRYPTO_PACKAGE" m2crypto.tar.gz
ln -sf "$PY2EXE_PACKAGE" py2exe.exe
ln -sf "$SETUPTOOLS_PACKAGE" setuptools.tar.gz
ln -sf "$GMP_PACKAGE" gmp.tar.bz2
@@ -265,7 +264,6 @@ tor-browser https://git.torproject.org/tor-browser.git $TORBR
mingw-w64-git http://git.code.sf.net/p/mingw-w64/mingw-w64 $MINGW_TAG
pyptlib https://git.torproject.org/pluggable-transports/pyptlib.git $PYPTLIB_TAG
obfsproxy https://git.torproject.org/pluggable-transports/obfsproxy.git $OBFSPROXY_TAG
-flashproxy https://git.torproject.org/flashproxy.git $FLASHPROXY_TAG
libfte https://github.com/kpdyer/libfte.git $LIBFTE_TAG
fteproxy https://github.com/kpdyer/fteproxy.git $FTEPROXY_TAG
libdmg-hfsplus https://github.com/vasi/libdmg-hfsplus.git $LIBDMG_TAG
diff --git a/gitian/mkbundle-linux.sh b/gitian/mkbundle-linux.sh
index 7e84cb9..0c70732 100755
--- a/gitian/mkbundle-linux.sh
+++ b/gitian/mkbundle-linux.sh
@@ -95,7 +95,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -224,7 +223,7 @@ then
echo "****** Starting Pluggable Transports Component of Linux Bundle (4/5 for Linux) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/linux/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-linux.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-mac.sh b/gitian/mkbundle-mac.sh
index 670d152..39dac5f 100755
--- a/gitian/mkbundle-mac.sh
+++ b/gitian/mkbundle-mac.sh
@@ -100,7 +100,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -193,7 +192,7 @@ then
echo "****** Starting Pluggable Transports Component of Mac Bundle (4/5 for Mac) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/mac/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./firefox-fail-mac.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/mkbundle-windows.sh b/gitian/mkbundle-windows.sh
index 6aeec8a..2de0f1e 100755
--- a/gitian/mkbundle-windows.sh
+++ b/gitian/mkbundle-windows.sh
@@ -94,7 +94,6 @@ then
LIBEVENT_TAG=refs/tags/$LIBEVENT_TAG
PYPTLIB_TAG=refs/tags/$PYPTLIB_TAG
OBFSPROXY_TAG=refs/tags/$OBFSPROXY_TAG
- FLASHPROXY_TAG=refs/tags/$FLASHPROXY_TAG
OBFS4_TAG=refs/tags/$OBFS4_TAG
fi
@@ -198,7 +197,7 @@ then
echo "****** Starting Pluggable Transports Component of Windows Bundle (4/5 for Windows) ******"
echo
- ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,flashproxy=$FLASHPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
+ ./bin/gbuild -j $NUM_PROCS -m $VM_MEMORY --commit pyptlib=$PYPTLIB_TAG,obfsproxy=$OBFSPROXY_TAG,libfte=$LIBFTE_TAG,fteproxy=$FTEPROXY_TAG,txsocksx=$TXSOCKSX_TAG,goptlib=$GOPTLIB_TAG,meek=$MEEK_TAG,ed25519=$GOED25519_TAG,siphash=$GOSIPHASH_TAG,goxcrypto=$GO_X_CRYPTO_TAG,goxnet=$GO_X_NET_TAG,obfs4=$OBFS4_TAG $DESCRIPTOR_DIR/windows/gitian-pluggable-transports.yml
if [ $? -ne 0 ];
then
#mv var/build.log ./pluggable-transports-fail-win32.log.`date +%Y%m%d%H%M%S`
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index a1ce6a1..82a810a 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -98,7 +98,6 @@ libevent libevent.gpg $LIBEVENT_TAG
tor tor.gpg $TOR_TAG
pyptlib pyptlib.gpg $PYPTLIB_TAG
obfsproxy obfsproxy.gpg $OBFSPROXY_TAG
-flashproxy flashproxy.gpg $FLASHPROXY_TAG
goptlib goptlib.gpg $GOPTLIB_TAG
meek meek.gpg $MEEK_TAG
obfs4 obfs4proxy.gpg $OBFS4_TAG
@@ -122,12 +121,12 @@ noto-fonts $NOTOFONTS_TAG
EOF
# Verify signatures on signed packages
-for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO M2CRYPTO PYTHON_MSI GMP LXML
+for i in OPENSSL BINUTILS GCC PYTHON PYCRYPTO PYTHON_MSI GMP LXML
do
PACKAGE="${i}_PACKAGE"
URL="${i}_URL"
- if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "M2CRYPTO" -o \
- "${i}" == "PYTHON_MSI" -o "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
+ if [ "${i}" == "PYTHON" -o "${i}" == "PYCRYPTO" -o "${i}" == "PYTHON_MSI" -o \
+ "${i}" == "LXML" -o "${i}" == "OPENSSL" ]; then
SUFFIX="asc"
else
SUFFIX="sig"
@@ -142,7 +141,7 @@ done
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK + OSXSDK_OLD are not signed at all)
-for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
+for i in OSXSDK OSXSDK_OLD TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED SETUPTOOLS OPENSSL GMP PARSLEY GO GCC NOTOCJKFONT STIXMATHFONT
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 149b765..95ca078 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -22,7 +22,6 @@ LIBEVENT_TAG=release-2.0.22-stable
MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
PYPTLIB_TAG=pyptlib-0.0.6
OBFSPROXY_TAG=obfsproxy-0.2.12
-FLASHPROXY_TAG=1.6
LIBFTE_TAG=85ef8ae58dbf0d02ea26b627e343784b5574c428 # sketch master with fix
FTEPROXY_TAG=597f8378f6f4f3de570b8e1064c2e4cb8d67fbd0 # tag 0.2.19
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
@@ -51,7 +50,6 @@ ARGPARSE_VER=1.2.1
PYYAML_VER=3.11
ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
-M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
@@ -77,7 +75,6 @@ ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
PYYAML_PACKAGE=PyYAML-${PYYAML_VER}.tar.gz
ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
-M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
@@ -100,7 +97,6 @@ ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
-M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
@@ -126,7 +122,6 @@ PYYAML_URL=https://pypi.python.org/packages/source/P/PyYAML/${PYYAML_PACKAG…
ZOPEINTERFACE_URL=https://pypi.python.org/packages/source/z/zope.interface/…
TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
-M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 92967a1..b1c7387 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -29,7 +29,6 @@ LIBEVENT_TAG=release-2.0.22-stable
MINGW_TAG=a883b47a45ff74ced41dfbd9f748d5c2c61f3c01 # due to bug 1156131
PYPTLIB_TAG=master
OBFSPROXY_TAG=master
-FLASHPROXY_TAG=master
LIBFTE_TAG=master
FTEPROXY_TAG=master
LIBDMG_TAG=dfd5e5cc3dc1191e37d3c3a6118975afdd1d7014
@@ -58,7 +57,6 @@ ARGPARSE_VER=1.2.1
PYYAML_VER=3.11
ZOPEINTERFACE_VER=4.0.5
TWISTED_VER=13.2.0
-M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
@@ -84,7 +82,6 @@ ARGPARSE_PACKAGE=argparse-${ARGPARSE_VER}.tar.gz
PYYAML_PACKAGE=PyYAML-${PYYAML_VER}.tar.gz
ZOPEINTERFACE_PACKAGE=zope.interface-${ZOPEINTERFACE_VER}.zip
TWISTED_PACKAGE=Twisted-${TWISTED_VER}.tar.bz2
-M2CRYPTO_PACKAGE=M2Crypto-${M2CRYPTO_VER}.tar.gz
PY2EXE_PACKAGE=py2exe-${PY2EXE_VER}.win32-py2.7.exe
SETUPTOOLS_PACKAGE=setuptools-${SETUPTOOLS_VER}.tar.gz
LXML_PACKAGE=lxml-${LXML_VER}.tar.gz
@@ -107,7 +104,6 @@ ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
PYYAML_HASH=c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
ZOPEINTERFACE_HASH=1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
TWISTED_HASH=095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
-M2CRYPTO_HASH=25b94498505c2d800ee465db0cc1aff097b1615adc3ac042a1c85ceca264fc0a
PY2EXE_HASH=610a8800de3d973ed5ed4ac505ab42ad058add18a68609ac09e6cf3598ef056c
SETUPTOOLS_HASH=75d288687066ed124311d6ca5f40ffa92a0e81adcd7fff318c6e84082713cf39
PARSLEY_HASH=50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
@@ -133,7 +129,6 @@ PYYAML_URL=https://pypi.python.org/packages/source/P/PyYAML/${PYYAML_PACKAG…
ZOPEINTERFACE_URL=https://pypi.python.org/packages/source/z/zope.interface/…
TWISTED_URL=https://pypi.python.org/packages/source/T/Twisted/${TWISTED_PAC…
# TWISTED_URL=https://twistedmatrix.com/Releases/Twisted/$(echo ${TWISTED_VER} | awk -F. '{print $1"."$2}')/${TWISTED_PACKAGE}
-M2CRYPTO_URL=https://pypi.python.org/packages/source/M/M2Crypto/${M2CRYPTO_PACKAGE}
PY2EXE_URL=http://liquidtelecom.dl.sourceforge.net/project/py2exe/py2exe/${…
SETUPTOOLS_URL=https://pypi.python.org/packages/source/s/setuptools/${SETUP…
LXML_URL=https://pypi.python.org/packages/source/l/lxml/${LXML_PACKAGE}
1
0
commit 6480e726175af3f8a0e6496ee9457f07ad265f7c
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jan 14 13:03:41 2016 +0000
Added missing changelogs
---
Bundle-Data/Docs/ChangeLog.txt | 60 +++++++++++++++++++++++++++++++++++++++-
1 file changed, 59 insertions(+), 1 deletion(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 2e4059e..dbb01bd 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -20,7 +20,40 @@ Tor Browser 5.0.7 -- January 7 2016
* Bug 17931: Tor Browser crashes in LogMessageToConsole()
* Bug 17875: Discourage editing of torrc-defaults
-Tor Browser 5.5a5 -- December 15 2015
+Tor Browser 5.5a5-hardened -- December 18 2015
+ * All Platforms
+ * Update Firefox to 38.5.0esr
+ * Update Tor to 0.2.7.6
+ * Update OpenSSL to 1.0.1q
+ * Update NoScript to 2.7
+ * Update Torbutton to 1.9.4.2
+ * Bug 16940: After update, load local change notes
+ * Bug 16990: Avoid matching '250 ' to the end of node name
+ * Bug 17565: Tor fundraising campaign donation banner
+ * Bug 17770: Fix alignments on donation banner
+ * Bug 17792: Include donation banner in some non en-US Tor Browsers
+ * Bug 17108: Polish about:tor appearance
+ * Bug 17568: Clean up tor-control-port.js
+ * Translation updates
+ * Update Tor Launcher to 0.2.8.1
+ * Bug 17344: Enumerate available language packs for language prompt
+ * Code clean-up
+ * Translation updates
+ * Bug 12516: Compile Tor Browser with -fwrapv
+ * Bug 9659: Avoid loop due to optimistic data SOCKS code (fix of #3875)
+ * Bug 15564: Isolate SharedWorkers by first-party domain
+ * Bug 16940: After update, load local change notes
+ * Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
+ * Bug 17747: Add ndnop3 as new default obfs4 bridge
+ * Bug 17009: Shift and Alt keys leak physical keyboard layout (fix of #15646)
+ * Bug 17369: Disable RC4 fallback
+ * Bug 17442: Remove custom updater certificate pinning
+ * Bug 16863: Avoid confusing error when loop.enabled is false
+ * Bug 17502: Add a preference for hiding "Open with" on download dialog
+ * Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
+ * Bug 16441: Suppress "Reset Tor Browser" prompt
+
+Tor Browser 5.5a5 -- December 18 2015
* All Platforms
* Update Firefox to 38.5.0esr
* Update Tor to 0.2.7.6
@@ -53,6 +86,31 @@ Tor Browser 5.5a5 -- December 15 2015
* OS X
* Bug 17661: Whitelist font .Helvetica Neue DeskInterface
+Tor Browser 5.0.6 -- December 18 2015
+ * All Platforms
+ * Bug 17877: Tor Browser 5.0.5 is using the wrong Mozilla build tag
+
+Tor Browser 5.0.5 -- December 15 2015
+ * All Platforms
+ * Update Firefox to 38.5.0esr
+ * Update Tor to 0.2.7.6
+ * Update OpenSSL to 1.0.1q
+ * Update NoScript to 2.7
+ * Update HTTPS Everywhere to 5.1.1
+ * Update Torbutton to 1.9.3.7
+ * Bug 16990: Avoid matching '250 ' to the end of node name
+ * Bug 17565: Tor fundraising campaign donation banner
+ * Bug 17770: Fix alignments on donation banner
+ * Bug 17792: Include donation banner in some non en-US Tor Browsers
+ * Translation updates
+ * Bug 17207: Hide MIME types and plugins from websites
+ * Bug 16909+17383: Adapt to HTTPS-Everywhere build changes
+ * Bug 16863: Avoid confusing error when loop.enabled is false
+ * Bug 17502: Add a preference for hiding "Open with" on download dialog
+ * Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
+ * Bug 16441: Suppress "Reset Tor Browser" prompt
+ * Bug 17747: Add ndnop3 as new default obfs4 bridge
+
Tor Browser 5.5a4 -- November 3 2015
* All Platforms
* Update Firefox to 38.4.0esr
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] Bug 18017: Bump NSS version to 3.19.2.2
by gk@torproject.org 13 Jan '16
by gk@torproject.org 13 Jan '16
13 Jan '16
commit 3cd72f27da803a61e29cdb8db98bb545ef77c1af
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 12 15:22:26 2016 +0000
Bug 18017: Bump NSS version to 3.19.2.2
This fixes the SLOTH attack (CVE-2015-7575).
---
security/nss/lib/nss/nss.h | 4 ++--
security/nss/lib/softoken/softkver.h | 4 ++--
security/nss/lib/ssl/ssl3con.c | 1 -
security/nss/lib/util/nssutil.h | 4 ++--
4 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/security/nss/lib/nss/nss.h b/security/nss/lib/nss/nss.h
index 75e37de..71efa46 100644
--- a/security/nss/lib/nss/nss.h
+++ b/security/nss/lib/nss/nss.h
@@ -33,11 +33,11 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
-#define NSS_VERSION "3.19.2.1" _NSS_ECC_STRING _NSS_CUSTOMIZED
+#define NSS_VERSION "3.19.2.2" _NSS_ECC_STRING _NSS_CUSTOMIZED
#define NSS_VMAJOR 3
#define NSS_VMINOR 19
#define NSS_VPATCH 2
-#define NSS_VBUILD 1
+#define NSS_VBUILD 2
#define NSS_BETA PR_FALSE
#ifndef RC_INVOKED
diff --git a/security/nss/lib/softoken/softkver.h b/security/nss/lib/softoken/softkver.h
index 75c9833..3ec6d0a 100644
--- a/security/nss/lib/softoken/softkver.h
+++ b/security/nss/lib/softoken/softkver.h
@@ -25,11 +25,11 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <ECC>][ <Beta>]"
*/
-#define SOFTOKEN_VERSION "3.19.2.1" SOFTOKEN_ECC_STRING
+#define SOFTOKEN_VERSION "3.19.2.2" SOFTOKEN_ECC_STRING
#define SOFTOKEN_VMAJOR 3
#define SOFTOKEN_VMINOR 19
#define SOFTOKEN_VPATCH 2
-#define SOFTOKEN_VBUILD 1
+#define SOFTOKEN_VBUILD 2
#define SOFTOKEN_BETA PR_FALSE
#endif /* _SOFTKVER_H_ */
diff --git a/security/nss/lib/ssl/ssl3con.c b/security/nss/lib/ssl/ssl3con.c
index e9f4223..982a378 100644
--- a/security/nss/lib/ssl/ssl3con.c
+++ b/security/nss/lib/ssl/ssl3con.c
@@ -4350,7 +4350,6 @@ static const struct {
int tlsHash;
SECOidTag oid;
} tlsHashOIDMap[] = {
- { tls_hash_md5, SEC_OID_MD5 },
{ tls_hash_sha1, SEC_OID_SHA1 },
{ tls_hash_sha224, SEC_OID_SHA224 },
{ tls_hash_sha256, SEC_OID_SHA256 },
diff --git a/security/nss/lib/util/nssutil.h b/security/nss/lib/util/nssutil.h
index 62791e0..fa2afd9 100644
--- a/security/nss/lib/util/nssutil.h
+++ b/security/nss/lib/util/nssutil.h
@@ -19,11 +19,11 @@
* The format of the version string should be
* "<major version>.<minor version>[.<patch level>[.<build number>]][ <Beta>]"
*/
-#define NSSUTIL_VERSION "3.19.2.1"
+#define NSSUTIL_VERSION "3.19.2.2"
#define NSSUTIL_VMAJOR 3
#define NSSUTIL_VMINOR 19
#define NSSUTIL_VPATCH 2
-#define NSSUTIL_VBUILD 1
+#define NSSUTIL_VBUILD 2
#define NSSUTIL_BETA PR_FALSE
SEC_BEGIN_PROTOS
1
0
commit 538bc1a734c9e55ef25d6376fb0fe88906738da0
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 12 08:52:30 2016 +0000
Update nightly build target
---
gitian/versions.nightly | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 9f1c6b4..92967a1 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -14,11 +14,11 @@ MULTI_LINGUAL=1
VERIFY_TAGS=0
-FIREFOX_VERSION=38.4.0esr
+FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=default
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2
TOR_TAG=master
TORLAUNCHER_TAG=master
TORBUTTON_TAG=master
@@ -46,7 +46,7 @@ NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
-OPENSSL_VER=1.0.1p
+OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
FIREFOX_LANG_BUILD=build2
@@ -69,7 +69,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.39-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -94,13 +94,13 @@ NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
# Hashes for packages with weak sigs or no sigs
-OPENSSL_HASH=bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
+OPENSSL_HASH=b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=dd904c6a12a8b1f6b1da48d51e4df903d7f9211ba5b3f32d7272f413a3bf548a
+NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
1
0

[torbutton/master] Bug 18004: Remove Tor fundraising donation banner
by gk@torproject.org 11 Jan '16
by gk@torproject.org 11 Jan '16
11 Jan '16
commit b079df979ff5d2f2e30324be927edadc3e41aa1f
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Tue Jan 5 08:25:41 2016 -0800
Bug 18004: Remove Tor fundraising donation banner
The fundraising campaign is finished. We revert three
patches that introduced the donation banner.
Revert "Bug 17792: Auto-adjust font size for donation banner l10n"
This reverts commit 2faa79edfc674786a062a22a93f95734cdcacf15.
Revert "Bug 17770: Fix alignments on donation banner"
This reverts commit 63699e3da2731c89d1a4e0fbd5e4ba05ea21ff13.
Revert "Bug 17565: Tor fundraising campaign donation banner"
This reverts commit 5623a3f4ff415eff980b03998b3eff2caf433906.
---
src/chrome/content/aboutTor/aboutTor.xhtml | 136 +-------------------
src/chrome/content/aboutTor/donation-banner-cd.jpg | Bin 64622 -> 0 bytes
src/chrome/content/aboutTor/donation-banner-lp.jpg | Bin 68990 -> 0 bytes
src/chrome/content/aboutTor/donation-banner-rd.jpg | Bin 63095 -> 0 bytes
src/chrome/locale/en/aboutTor.dtd | 3 -
src/chrome/locale/en/aboutTor.properties | 12 --
src/chrome/skin/aboutTor.css | 94 --------------
7 files changed, 5 insertions(+), 240 deletions(-)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index d591adc..6fdbe50 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -23,16 +23,10 @@
href="chrome://torbutton/skin/aboutTor.css"/>
<script type="text/javascript;version=1.7">
<![CDATA[
-let kPropertiesURL = "chrome://torbutton/locale/aboutTor.properties";
-Components.utils.import("resource://gre/modules/Services.jsm");
-let gStringBundle = Services.strings.createBundle(kPropertiesURL);
-
function onLoad()
{
insertPropertyStrings();
- setupDonationBanner();
-
document.addEventListener("AboutTorAdjustArrow", function() {
adjustToolbarIconArrow();
}, false);
@@ -150,6 +144,10 @@ function adjustToolbarIconArrow()
function insertPropertyStrings()
{
try {
+ let kPropertiesURL = "chrome://torbutton/locale/aboutTor.properties";
+
+ Components.utils.import("resource://gre/modules/Services.jsm");
+ let gStringBundle = Services.strings.createBundle(kPropertiesURL);
let s1 = gStringBundle.GetStringFromName("aboutTor.searchDC.privacy.link");
let s2 = gStringBundle.GetStringFromName("aboutTor.searchDC.search.link");
let result = gStringBundle.formatStringFromName("aboutTor.searchDC.privacy",
@@ -167,135 +165,11 @@ window.addEventListener("pageshow", function() {
document.dispatchEvent(evt);
});
-// Donation banner constants
-let gBannerAlternates = ["lp", "cd", "rd"],
- gBannerSuffixes = ["quote", "who", "speciality"];
-
-// Change the font size of text in element by ratio.
-let scaleFontBy = function (element, ratio) {
- let style = window.getComputedStyle(element),
- originalFontSize = parseFloat(style.fontSize),
- targetFontSize = originalFontSize * ratio;
- element.style.fontSize = targetFontSize + "px";
-};
-
-// Shrink the font size if the text in the given element is overflowing.
-let fitTextInElement = function(element) {
- let style = window.getComputedStyle(element);
- if (style.whiteSpace === "nowrap") {
- // Look for horizontal overflow.
- let elementWidth = element.getBoundingClientRect().width,
- paddingWidth = parseFloat(style.paddingLeft) +
- parseFloat(style.paddingRight),
- targetWidth = elementWidth - paddingWidth,
- textWidth = element.scrollWidth;
- // Compute the appropriate font size to make the text fit.
- let ratio = targetWidth / textWidth;
- scaleFontBy(element, ratio);
- } else {
- // Look for vertical overflow.
- let elementHeight = element.getBoundingClientRect().height,
- paddingHeight = parseFloat(style.paddingTop) +
- parseFloat(style.paddingBottom),
- targetHeight = elementHeight - paddingHeight;
- // Wrapping causes somewhat difficult-to-predict overflow.
- // So shrink slightly and repeat.
- let ratio = 0;
- for (let i = 0; i < 100 && ratio < 1; ++i) {
- let textHeight = element.scrollHeight;
- ratio = targetHeight < textHeight ? 0.99 : 1;
- if (ratio < 1) {
- scaleFontBy(element, ratio);
- }
- }
- }
-};
-
-// Put text of the appropriate locale into donation banner elements.
-let populateBannerText = function (suffix, alternate) {
- let text = gStringBundle.GetStringFromName("aboutTor.donationBanner." +
- alternate + "." + suffix),
- div = document.getElementById("donation-banner-" + suffix);
- div.innerHTML = text;
-};
-
-// This function takes care of the donation banner.
-function setupDonationBanner() {
- try {
- // Only show banner for locales for which we have translations.
- let browserLocale = Services.prefs.getCharPref("general.useragent.locale");
- if (!["en", "de", "fa", "fr", "nl", "ru", "sv", "tr", "zh"]
- .some(code => browserLocale.startsWith(code))) {
- return;
- }
- // Only show banner until 2016 Jan 25.
- let now = new Date();
- let expiration = new Date(2016,0,26);
- if (now > expiration) {
- return;
- }
- // Only show banner 10 times.
- let showCountPref = "extensions.torbutton.donation_banner.shown_count";
- if (Services.prefs.prefHasUserValue(showCountPref)) {
- count = Services.prefs.getIntPref(showCountPref);
- } else {
- count = 0;
- }
- if (count >= 10) {
- return;
- }
- Services.prefs.setIntPref(showCountPref, count+1);
-
- // Decide which champion we are using.
- let alternate = gBannerAlternates[
- Math.floor(Math.random() * gBannerAlternates.length)];
- // Show the champion.
- document.getElementById("donation-banner-image").src =
- "chrome://torbutton/content/aboutTor/donation-banner-" + alternate + ".jpg";
- // Populate banner with associated text.
- for (let suffix of gBannerSuffixes) {
- populateBannerText(suffix, alternate);
- }
- } catch (e) {
- // Something has gone wrong! Don't show the banner, and don't propagate
- // any errors that will interfere with other code.
- return;
- }
- // Now we can show the banner.
- document.getElementById("donation-banner").style.display = "block";
- for (let id of ["donation-banner-quote",
- "donate-button",
- "donation-banner-who",
- "donation-banner-speciality",
- "donation-banner-plea"]) {
- fitTextInElement(document.getElementById(id));
- }
-}
]]>
</script>
</head>
<body dir="&locale.dir;" onload="onLoad();">
-
- <div id="donation-banner" class="top">
- <a href="https://www.torproject.org/donate/donate-tbb">
- <div id="donation-banner-inner">
- <img id="donation-banner-image" width="700" />
- <div id="donation-banner-text">
- <div id="donation-banner-quote"></div>
- <div id="donation-banner-credit">
- <div id="donation-banner-who"></div>
- <div id="donation-banner-speciality"></div>
- </div>
- </div>
- <div id="donation-banner-plea">&aboutTor.donate.supportTor;</div>
- </div>
- </a>
- <a href="https://www.torproject.org/donate/donate-tbb">
- <div id="donate-button">&aboutTor.donate.donate;</div>
- </a>
- </div>
-
- <div id="torstatus" class="top">
+<div id="torstatus" class="top">
<div id="torstatus-version"/>
<div id="torstatus-image"/>
<div id="torstatus-on-container" class="hideIfTorOff torstatus-container">
diff --git a/src/chrome/content/aboutTor/donation-banner-cd.jpg b/src/chrome/content/aboutTor/donation-banner-cd.jpg
deleted file mode 100644
index 522f950..0000000
Binary files a/src/chrome/content/aboutTor/donation-banner-cd.jpg and /dev/null differ
diff --git a/src/chrome/content/aboutTor/donation-banner-lp.jpg b/src/chrome/content/aboutTor/donation-banner-lp.jpg
deleted file mode 100644
index e807679..0000000
Binary files a/src/chrome/content/aboutTor/donation-banner-lp.jpg and /dev/null differ
diff --git a/src/chrome/content/aboutTor/donation-banner-rd.jpg b/src/chrome/content/aboutTor/donation-banner-rd.jpg
deleted file mode 100644
index 94e59c7..0000000
Binary files a/src/chrome/content/aboutTor/donation-banner-rd.jpg and /dev/null differ
diff --git a/src/chrome/locale/en/aboutTor.dtd b/src/chrome/locale/en/aboutTor.dtd
index 17af371..d44f164 100644
--- a/src/chrome/locale/en/aboutTor.dtd
+++ b/src/chrome/locale/en/aboutTor.dtd
@@ -47,6 +47,3 @@
<!ENTITY aboutTor.footer.label "The Tor Project is a US 501(c)(3) non-profit dedicated to the research, development, and education of online anonymity and privacy.">
<!ENTITY aboutTor.learnMore.label "Learn more about The Tor Project »">
<!ENTITY aboutTor.learnMore.link "https://www.torproject.org/about/overview.html.en">
-
-<!ENTITY aboutTor.donate.donate "Donate">
-<!ENTITY aboutTor.donate.supportTor "Please support Tor!">
diff --git a/src/chrome/locale/en/aboutTor.properties b/src/chrome/locale/en/aboutTor.properties
index 10f09a1..d607324 100644
--- a/src/chrome/locale/en/aboutTor.properties
+++ b/src/chrome/locale/en/aboutTor.properties
@@ -19,15 +19,3 @@ aboutTor.searchDC.privacy=Search <a href="%1$S">securely</a> with <a href="%2$S"
aboutTor.searchDC.privacy.link=https://disconnect.me/privacy
# The following string is a link which replaces %2$S above.
aboutTor.searchDC.search.link=https://search.disconnect.me/
-
-aboutTor.donationBanner.lp.who=— Laura Poitras
-aboutTor.donationBanner.lp.quote=Edward Snowden would not have been able to contact me without Tor and other free software encryption projects. Tor is an essential tool, and it needs our support.
-aboutTor.donationBanner.lp.speciality=Oscar-Winning Documentary Filmmaker, <i>CitizenFour</i>
-
-aboutTor.donationBanner.cd.who=— Cory Doctorow
-aboutTor.donationBanner.cd.quote=Privacy and anonymity matter to all of us.
-aboutTor.donationBanner.cd.speciality= Novelist, technology activist, co-editor of Boing Boing
-
-aboutTor.donationBanner.rd.who=— Roger Dingledine
-aboutTor.donationBanner.rd.quote=Please help the strongest privacy tool in the world become more sustainable!
-aboutTor.donationBanner.rd.speciality=Founder, Acting Executive Director of the Tor Project
diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css
index 549256f..0a196dc 100644
--- a/src/chrome/skin/aboutTor.css
+++ b/src/chrome/skin/aboutTor.css
@@ -302,97 +302,3 @@ body .top div.hideIfTorIsUpToDate h1.hideIfTorOff {
font-size: 18px;
}
-#donation-banner {
- margin: 0px auto;
- position: relative;
- width: 700px;
- display: none;
-}
-
-#donation-banner > a {
- display: block;
-}
-
-#donation-banner-inner {
- margin: 0px auto;
- position: relative;
- text-align: left;
- width: 700px;
- z-index: -1;
- display: block;
-}
-
-#donation-banner-image {
- display: block;
-}
-
-#donation-banner-text {
- height: 120px;
- left: 245px;
- position: absolute;
- top: 23px;
- text-align: start;
- width: 420px;
-}
-
-#donation-banner-quote {
- color: darkgreen;
- font-family: serif;
- font-size: 18px;
- max-height: 64px;
- white-space: normal;
-}
-
-#donation-banner-credit {
- color: rgb(17, 17, 17);
- padding: 10px;
- position: absolute;
-}
-
-#donation-banner-who {
- font-size: 19px;
- font-style: bold;
- width: 420px;
-}
-
-#donation-banner-speciality {
- font-size: 13px;
- text-transform: uppercase;
- width: 420px;
-}
-
-#donation-banner-plea {
- background-color: yellow;
- font-family: sans-serif;
- font-size: 20px;
- color: darkgreen;
- left: 250px;
- line-height: 42px;
- height: 42px;
- padding: 0px 5px 0px 5px;
- position: absolute;
- text-align: center;
- top: 144px;
- width: 200px;
-}
-
-#donate-button {
- background-color: green;
- border-radius: 5px;
- color: white;
- font-family: sans-serif;
- font-size: 20px;
- height: 42px;
- left: 490px;
- line-height: 42px;
- padding: 0px 5px 0px 5px;
- position: absolute;
- text-align: center;
- top: 144px;
- vertical-align: middle;
- width: 110px;
-}
-
-#donate-button:hover {
- filter: brightness(1.2);
-}
1
0

[tor-browser-bundle/hardened-builds] Updating hardened nightly build target
by gk@torproject.org 11 Jan '16
by gk@torproject.org 11 Jan '16
11 Jan '16
commit 31c2f6f0a76f9c6dec3645745002153822470f5e
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 11 09:13:43 2016 +0000
Updating hardened nightly build target
---
gitian/versions.nightly | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 178ef84..a5407a6 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -14,11 +14,11 @@ MULTI_LINGUAL=1
VERIFY_TAGS=0
-FIREFOX_VERSION=38.4.0esr
+FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=default
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2
TOR_TAG=master
TORLAUNCHER_TAG=master
TORBUTTON_TAG=master
@@ -46,7 +46,7 @@ NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
-OPENSSL_VER=1.0.1p
+OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
FIREFOX_LANG_BUILD=build2
@@ -69,7 +69,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.39-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -94,13 +94,13 @@ NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
# Hashes for packages with weak sigs or no sigs
-OPENSSL_HASH=bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
+OPENSSL_HASH=b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=dd904c6a12a8b1f6b1da48d51e4df903d7f9211ba5b3f32d7272f413a3bf548a
+NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
1
0
commit f4cab45044ddf01d14ce2dc99e5f4ba040e5192a
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Jan 11 08:55:41 2016 +0000
Updating Changelog
Merging the 5.0.7 and 5.5a6-hardened ones and adding the entry for
bug 17870.
---
Bundle-Data/Docs/ChangeLog.txt | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 87a3799..2e4059e 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,9 +1,24 @@
+Tor Browser 5.5a6-hardened -- January 7 2016
+ * All Platforms
+ * Update NoScript to 2.9
+ * Update HTTPS Everywhere to 5.1.2
+ * Bug 17931: Tor Browser crashes in LogMessageToConsole()
+ * Bug 17875: Discourage editing of torrc-defaults
+
Tor Browser 5.5a6 -- January 7 2016
* All Platforms
* Update NoScript to 2.9
* Update HTTPS Everywhere to 5.1.2
* Bug 17931: Tor Browser crashes in LogMessageToConsole()
* Bug 17875: Discourage editing of torrc-defaults
+ * Bug 17870: Add intermediate certificate for authenticode signing
+
+Tor Browser 5.0.7 -- January 7 2016
+ * All Platforms
+ * Update NoScript to 2.9
+ * Update HTTPS Everywhere to 5.1.2
+ * Bug 17931: Tor Browser crashes in LogMessageToConsole()
+ * Bug 17875: Discourage editing of torrc-defaults
Tor Browser 5.5a5 -- December 15 2015
* All Platforms
1
0

[tor-browser-bundle/hardened-builds] Preparations for 5.5a6-hardened
by gk@torproject.org 06 Jan '16
by gk@torproject.org 06 Jan '16
06 Jan '16
commit bda810b201efda79bef12d759845e0a94aef71d6
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Jan 6 10:55:41 2016 +0000
Preparations for 5.5a6-hardened
---
Bundle-Data/Docs/ChangeLog.txt | 7 +++++++
gitian/versions.alpha | 8 ++++----
tools/update-responses/config.yml | 10 +++++-----
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 8072453..fd05337 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,10 @@
+Tor Browser 5.5a6-hardened -- January 7 2016
+ * All Platforms
+ * Update NoScript to 2.9
+ * Update HTTPS Everywhere to 5.1.2
+ * Bug 17931: Tor Browser crashes in LogMessageToConsole()
+ * Bug 17875: Discourage editing of torrc-defaults
+
Tor Browser 5.5a5-hardened -- December 16 2015
* All Platforms
* Update Firefox to 38.5.0esr
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index a7d03c9..22eb8df 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -15,11 +15,11 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=hardened
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build2
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.8.1
TORBUTTON_TAG=1.9.4.2
-HTTPSE_TAG=5.1.1
+HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.22-stable
@@ -66,7 +66,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.7-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -97,7 +97,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=ab84fd85addd6c15f2ce1e81c58ac9f09b228f9e56703f4d938447b8a2b752ea
+NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 4244d87..fc3ee99 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -9,7 +9,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- hardened: 5.5a5-hardened
+ hardened: 5.5a6-hardened
release: 5.0
versions:
5.0:
@@ -23,12 +23,12 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 5.5a5-hardened:
+ 5.5a6-hardened:
platformVersion: 38.5.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-55a5-hardened-released
- download_url: https://www.torproject.org/dist/torbrowser/5.5a5-hardened
+ detailsURL: https://blog.torproject.org/blog/tor-browser-55a6-hardened-released
+ download_url: https://www.torproject.org/dist/torbrowser/5.5a6-hardened
incremental_from:
- - 5.5a4-hardened
+ - 5.5a5-hardened
migrate_archs:
osx32: osx64
osx32:
1
0
commit 4ecd949538a9dee8ce070a7d69800eb9ab229860
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 5 21:07:51 2016 +0000
Preparations for 5.5a6
---
Bundle-Data/Docs/ChangeLog.txt | 7 +++++++
gitian/versions.alpha | 8 ++++----
tools/update-responses/config.yml | 10 +++++-----
3 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 4812fc4..87a3799 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,10 @@
+Tor Browser 5.5a6 -- January 7 2016
+ * All Platforms
+ * Update NoScript to 2.9
+ * Update HTTPS Everywhere to 5.1.2
+ * Bug 17931: Tor Browser crashes in LogMessageToConsole()
+ * Bug 17875: Discourage editing of torrc-defaults
+
Tor Browser 5.5a5 -- December 15 2015
* All Platforms
* Update Firefox to 38.5.0esr
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index d1c9f36..149b765 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -11,11 +11,11 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=alpha
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build2
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.7.7
TORBUTTON_TAG=1.9.4.2
-HTTPSE_TAG=5.1.1
+HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.22-stable
@@ -62,7 +62,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.7-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -93,7 +93,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=ab84fd85addd6c15f2ce1e81c58ac9f09b228f9e56703f4d938447b8a2b752ea
+NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index ddd5b1e..d61793c 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -9,7 +9,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- alpha: 5.5a5
+ alpha: 5.5a6
release: 5.0
versions:
5.0:
@@ -23,12 +23,12 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 5.5a5:
+ 5.5a6:
platformVersion: 38.5.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-55a5-released
- download_url: https://www.torproject.org/dist/torbrowser/5.5a5
+ detailsURL: https://blog.torproject.org/blog/tor-browser-55a6-released
+ download_url: https://www.torproject.org/dist/torbrowser/5.5a6
incremental_from:
- - 5.5a4
+ - 5.5a5
migrate_archs:
osx32: osx64
osx32:
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] Bug 17931: Use a non-format argument in LogMessageToConsole
by gk@torproject.org 05 Jan '16
by gk@torproject.org 05 Jan '16
05 Jan '16
commit eb89821a7755d3eaaff675801fe8f075be2a6d01
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Jan 4 09:32:21 2016 -0800
Bug 17931: Use a non-format argument in LogMessageToConsole
---
dom/base/nsContentUtils.cpp | 15 ++-------------
dom/base/nsContentUtils.h | 4 ++--
2 files changed, 4 insertions(+), 15 deletions(-)
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index be130e4..5d3dea7 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -11,7 +11,6 @@
#include <algorithm>
#include <math.h>
-#include "prprf.h"
#include "DecoderTraits.h"
#include "harfbuzz/hb.h"
#include "imgICache.h"
@@ -3392,7 +3391,7 @@ nsContentUtils::ReportToConsoleNonLocalized(const nsAString& aErrorText,
}
void
-nsContentUtils::LogMessageToConsole(const char* aMsg, ...)
+nsContentUtils::LogMessageToConsole(const char* aMsg)
{
if (!sConsoleService) { // only need to bother null-checking here
CallGetService(NS_CONSOLESERVICE_CONTRACTID, &sConsoleService);
@@ -3400,17 +3399,7 @@ nsContentUtils::LogMessageToConsole(const char* aMsg, ...)
return;
}
}
-
- va_list args;
- va_start(args, aMsg);
- char* formatted = PR_vsmprintf(aMsg, args);
- va_end(args);
- if (!formatted) {
- return;
- }
-
- sConsoleService->LogStringMessage(NS_ConvertUTF8toUTF16(formatted).get());
- PR_smprintf_free(formatted);
+ sConsoleService->LogStringMessage(NS_ConvertUTF8toUTF16(aMsg).get());
}
bool
diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h
index 699889a..b194ae4 100644
--- a/dom/base/nsContentUtils.h
+++ b/dom/base/nsContentUtils.h
@@ -825,8 +825,8 @@ public:
uint32_t aLineNumber = 0,
uint32_t aColumnNumber = 0);
- static void LogMessageToConsole(const char* aMsg, ...);
-
+ static void LogMessageToConsole(const char* aMsg);
+
/**
* Get the localized string named |aKey| in properties file |aFile|.
*/
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-2] Bug 17931: Update GonkGPSGeolocationProvider.cpp to use B2G-style logging
by gk@torproject.org 05 Jan '16
by gk@torproject.org 05 Jan '16
05 Jan '16
commit 4241f99bdf703516b69b03b89feb8152f290d0f2
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Jan 4 09:46:17 2016 -0800
Bug 17931: Update GonkGPSGeolocationProvider.cpp to use B2G-style logging
---
dom/system/gonk/GonkGPSGeolocationProvider.cpp | 32 ++++++++++++------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/dom/system/gonk/GonkGPSGeolocationProvider.cpp b/dom/system/gonk/GonkGPSGeolocationProvider.cpp
index e5a63db..3cf657f 100644
--- a/dom/system/gonk/GonkGPSGeolocationProvider.cpp
+++ b/dom/system/gonk/GonkGPSGeolocationProvider.cpp
@@ -51,6 +51,13 @@
#define FLUSH_AIDE_DATA 0
+#undef LOG
+#undef ERR
+#undef DBG
+#define LOG(args...) __android_log_print(ANDROID_LOG_INFO, "GonkGPSGeolocationProvider", ## args)
+#define ERR(args...) __android_log_print(ANDROID_LOG_ERROR, "GonkGPSGeolocationProvider", ## args)
+#define DBG(args...) __android_log_print(ANDROID_LOG_DEBUG, "GonkGPSGeolocationProvider" , ## args)
+
using namespace mozilla;
using namespace mozilla::dom;
@@ -145,8 +152,7 @@ void
GonkGPSGeolocationProvider::NmeaCallback(GpsUtcTime timestamp, const char* nmea, int length)
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: NMEA: timestamp:\t%lld, length: %d, %s",
- timestamp, length, nmea);
+ DBG("NMEA: timestamp:\t%lld, length: %d, %s", timestamp, length, nmea);
}
}
@@ -420,15 +426,13 @@ GonkGPSGeolocationProvider::RequestSettingValue(const char* aKey)
nsCOMPtr<nsISettingsServiceLock> lock;
nsresult rv = ss->CreateLock(nullptr, getter_AddRefs(lock));
if (NS_FAILED(rv)) {
- nsContentUtils::LogMessageToConsole(
- "geo: error while createLock setting '%s': %d\n", aKey, rv);
+ ERR("error while createLock setting '%s': %d\n", aKey, rv);
return;
}
rv = lock->Get(aKey, this);
if (NS_FAILED(rv)) {
- nsContentUtils::LogMessageToConsole(
- "geo: error while get setting '%s': %d\n", aKey, rv);
+ ERR("error while get setting '%s': %d\n", aKey, rv);
return;
}
}
@@ -599,8 +603,7 @@ GonkGPSGeolocationProvider::InjectLocation(double latitude,
float accuracy)
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: injecting location (%f, %f) accuracy: %f",
- latitude, longitude, accuracy);
+ DBG("injecting location (%f, %f) accuracy: %f", latitude, longitude, accuracy);
}
MOZ_ASSERT(NS_IsMainThread());
@@ -818,14 +821,12 @@ GonkGPSGeolocationProvider::NetworkLocationUpdate::Update(nsIDOMGeoPosition *pos
(isGPSTempInactive && delta > kMinMLSCoordChangeInMeters))
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Using MLS, GPS age:%fs, MLS Delta:%fm\n",
- diff_ms / 1000.0, delta);
+ DBG("Using MLS, GPS age:%fs, MLS Delta:%fm\n", diff_ms / 1000.0, delta);
}
provider->mLocationCallback->Update(position);
} else if (provider->mLastGPSPosition) {
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Using old GPS age:%fs\n",
- diff_ms / 1000.0);
+ DBG("Using old GPS age:%fs\n", diff_ms / 1000.0);
}
// This is a fallback case so that the GPS provider responds with its last
@@ -1058,16 +1059,15 @@ GonkGPSGeolocationProvider::Observe(nsISupports* aSubject,
}
if (setting.mKey.EqualsASCII(kSettingDebugGpsIgnored)) {
- nsContentUtils::LogMessageToConsole("geo: received mozsettings-changed: ignoring\n");
+ LOG("received mozsettings-changed: ignoring\n");
gDebug_isGPSLocationIgnored =
setting.mValue.isBoolean() ? setting.mValue.toBoolean() : false;
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Debug: GPS ignored %d\n",
- gDebug_isGPSLocationIgnored);
+ DBG("GPS ignored %d\n", gDebug_isGPSLocationIgnored);
}
return NS_OK;
} else if (setting.mKey.EqualsASCII(kSettingDebugEnabled)) {
- nsContentUtils::LogMessageToConsole("geo: received mozsettings-changed: logging\n");
+ LOG("received mozsettings-changed: logging\n");
gDebug_isLoggingEnabled =
setting.mValue.isBoolean() ? setting.mValue.toBoolean() : false;
return NS_OK;
1
0

[tor-browser/tor-browser-38.5.0esr-5.0-2] Bug 17931: Update GonkGPSGeolocationProvider.cpp to use B2G-style logging
by gk@torproject.org 05 Jan '16
by gk@torproject.org 05 Jan '16
05 Jan '16
commit 8e50016a5c562efe0b395ea75a889d4d3528fc9b
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Jan 4 09:46:17 2016 -0800
Bug 17931: Update GonkGPSGeolocationProvider.cpp to use B2G-style logging
---
dom/system/gonk/GonkGPSGeolocationProvider.cpp | 32 ++++++++++++------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/dom/system/gonk/GonkGPSGeolocationProvider.cpp b/dom/system/gonk/GonkGPSGeolocationProvider.cpp
index e5a63db..3cf657f 100644
--- a/dom/system/gonk/GonkGPSGeolocationProvider.cpp
+++ b/dom/system/gonk/GonkGPSGeolocationProvider.cpp
@@ -51,6 +51,13 @@
#define FLUSH_AIDE_DATA 0
+#undef LOG
+#undef ERR
+#undef DBG
+#define LOG(args...) __android_log_print(ANDROID_LOG_INFO, "GonkGPSGeolocationProvider", ## args)
+#define ERR(args...) __android_log_print(ANDROID_LOG_ERROR, "GonkGPSGeolocationProvider", ## args)
+#define DBG(args...) __android_log_print(ANDROID_LOG_DEBUG, "GonkGPSGeolocationProvider" , ## args)
+
using namespace mozilla;
using namespace mozilla::dom;
@@ -145,8 +152,7 @@ void
GonkGPSGeolocationProvider::NmeaCallback(GpsUtcTime timestamp, const char* nmea, int length)
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: NMEA: timestamp:\t%lld, length: %d, %s",
- timestamp, length, nmea);
+ DBG("NMEA: timestamp:\t%lld, length: %d, %s", timestamp, length, nmea);
}
}
@@ -420,15 +426,13 @@ GonkGPSGeolocationProvider::RequestSettingValue(const char* aKey)
nsCOMPtr<nsISettingsServiceLock> lock;
nsresult rv = ss->CreateLock(nullptr, getter_AddRefs(lock));
if (NS_FAILED(rv)) {
- nsContentUtils::LogMessageToConsole(
- "geo: error while createLock setting '%s': %d\n", aKey, rv);
+ ERR("error while createLock setting '%s': %d\n", aKey, rv);
return;
}
rv = lock->Get(aKey, this);
if (NS_FAILED(rv)) {
- nsContentUtils::LogMessageToConsole(
- "geo: error while get setting '%s': %d\n", aKey, rv);
+ ERR("error while get setting '%s': %d\n", aKey, rv);
return;
}
}
@@ -599,8 +603,7 @@ GonkGPSGeolocationProvider::InjectLocation(double latitude,
float accuracy)
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: injecting location (%f, %f) accuracy: %f",
- latitude, longitude, accuracy);
+ DBG("injecting location (%f, %f) accuracy: %f", latitude, longitude, accuracy);
}
MOZ_ASSERT(NS_IsMainThread());
@@ -818,14 +821,12 @@ GonkGPSGeolocationProvider::NetworkLocationUpdate::Update(nsIDOMGeoPosition *pos
(isGPSTempInactive && delta > kMinMLSCoordChangeInMeters))
{
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Using MLS, GPS age:%fs, MLS Delta:%fm\n",
- diff_ms / 1000.0, delta);
+ DBG("Using MLS, GPS age:%fs, MLS Delta:%fm\n", diff_ms / 1000.0, delta);
}
provider->mLocationCallback->Update(position);
} else if (provider->mLastGPSPosition) {
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Using old GPS age:%fs\n",
- diff_ms / 1000.0);
+ DBG("Using old GPS age:%fs\n", diff_ms / 1000.0);
}
// This is a fallback case so that the GPS provider responds with its last
@@ -1058,16 +1059,15 @@ GonkGPSGeolocationProvider::Observe(nsISupports* aSubject,
}
if (setting.mKey.EqualsASCII(kSettingDebugGpsIgnored)) {
- nsContentUtils::LogMessageToConsole("geo: received mozsettings-changed: ignoring\n");
+ LOG("received mozsettings-changed: ignoring\n");
gDebug_isGPSLocationIgnored =
setting.mValue.isBoolean() ? setting.mValue.toBoolean() : false;
if (gDebug_isLoggingEnabled) {
- nsContentUtils::LogMessageToConsole("geo: Debug: GPS ignored %d\n",
- gDebug_isGPSLocationIgnored);
+ DBG("GPS ignored %d\n", gDebug_isGPSLocationIgnored);
}
return NS_OK;
} else if (setting.mKey.EqualsASCII(kSettingDebugEnabled)) {
- nsContentUtils::LogMessageToConsole("geo: received mozsettings-changed: logging\n");
+ LOG("received mozsettings-changed: logging\n");
gDebug_isLoggingEnabled =
setting.mValue.isBoolean() ? setting.mValue.toBoolean() : false;
return NS_OK;
1
0

[tor-browser/tor-browser-38.5.0esr-5.0-2] Bug 17931: Use a non-format argument in LogMessageToConsole
by gk@torproject.org 05 Jan '16
by gk@torproject.org 05 Jan '16
05 Jan '16
commit 0a6d7f30284d9e67c32acdb1abbd73da9ced4ca2
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Jan 4 09:32:21 2016 -0800
Bug 17931: Use a non-format argument in LogMessageToConsole
---
dom/base/nsContentUtils.cpp | 15 ++-------------
dom/base/nsContentUtils.h | 4 ++--
2 files changed, 4 insertions(+), 15 deletions(-)
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index be130e4..5d3dea7 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -11,7 +11,6 @@
#include <algorithm>
#include <math.h>
-#include "prprf.h"
#include "DecoderTraits.h"
#include "harfbuzz/hb.h"
#include "imgICache.h"
@@ -3392,7 +3391,7 @@ nsContentUtils::ReportToConsoleNonLocalized(const nsAString& aErrorText,
}
void
-nsContentUtils::LogMessageToConsole(const char* aMsg, ...)
+nsContentUtils::LogMessageToConsole(const char* aMsg)
{
if (!sConsoleService) { // only need to bother null-checking here
CallGetService(NS_CONSOLESERVICE_CONTRACTID, &sConsoleService);
@@ -3400,17 +3399,7 @@ nsContentUtils::LogMessageToConsole(const char* aMsg, ...)
return;
}
}
-
- va_list args;
- va_start(args, aMsg);
- char* formatted = PR_vsmprintf(aMsg, args);
- va_end(args);
- if (!formatted) {
- return;
- }
-
- sConsoleService->LogStringMessage(NS_ConvertUTF8toUTF16(formatted).get());
- PR_smprintf_free(formatted);
+ sConsoleService->LogStringMessage(NS_ConvertUTF8toUTF16(aMsg).get());
}
bool
diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h
index 699889a..b194ae4 100644
--- a/dom/base/nsContentUtils.h
+++ b/dom/base/nsContentUtils.h
@@ -825,8 +825,8 @@ public:
uint32_t aLineNumber = 0,
uint32_t aColumnNumber = 0);
- static void LogMessageToConsole(const char* aMsg, ...);
-
+ static void LogMessageToConsole(const char* aMsg);
+
/**
* Get the localized string named |aKey| in properties file |aFile|.
*/
1
0

05 Jan '16
commit 40b2d143983121f9bfe967effeece534d8cad5d9
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 5 10:06:20 2016 +0000
Release preparations for 5.0.7
---
Bundle-Data/Docs/ChangeLog.txt | 7 +++++++
gitian/versions | 8 ++++----
tools/update-responses/config.yml | 9 ++++-----
3 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index cca1175..40eaa17 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,10 @@
+Tor Browser 5.0.7 -- January 7 2016
+ * All Platforms
+ * Update NoScript to 2.9
+ * Update HTTPS Everywhere to 5.1.2
+ * Bug 17931: Tor Browser crashes in LogMessageToConsole()
+ * Bug 17875: Discourage editing of torrc-defaults
+
Tor Browser 5.0.6 -- December 18 2015
* All Platforms
* Bug 17877: Tor Browser 5.0.5 is using the wrong Mozilla build tag
diff --git a/gitian/versions b/gitian/versions
index 1633312..c41a675 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -8,11 +8,11 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=release
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.0-2-build1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.0-2-build2
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.7.7
TORBUTTON_TAG=1.9.3.7
-HTTPSE_TAG=5.1.1
+HTTPSE_TAG=5.1.2
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -57,7 +57,7 @@ GO_VER=1.4.2
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.7-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.9-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -86,7 +86,7 @@ OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=ab84fd85addd6c15f2ce1e81c58ac9f09b228f9e56703f4d938447b8a2b752ea
+NOSCRIPT_HASH=7d67363b10708ef816d786e99d035a16a41eee8c8c1b3c87e4544717b066db71
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 4be39a9..d6a39ac 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -10,15 +10,14 @@ build_targets:
osx64: Darwin_x86_64-gcc3
channels:
alpha: 5.5a1
- release: 5.0.6
+ release: 5.0.7
versions:
- 5.0.6:
+ 5.0.7:
platformVersion: 38.5.0
detailsURL: https://www.torproject.org/projects/torbrowser.html.en
- download_url: https://www.torproject.org/dist/torbrowser/5.0.6
+ download_url: https://www.torproject.org/dist/torbrowser/5.0.7
incremental_from:
- - 5.0.4
- - 5.0.5
+ - 5.0.6
migrate_archs:
osx32: osx64
osx32:
1
0

23 Dec '15
commit 00fbe591a12c86e93f73a8a56da4a9157844f5a1
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Dec 23 08:03:04 2015 +0000
Adding Cooper Quintin's key
---
gitian/gpg/https-everywhere.gpg | Bin 112546 -> 188424 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/gitian/gpg/https-everywhere.gpg b/gitian/gpg/https-everywhere.gpg
index 96a2f45..43aa4e4 100644
Binary files a/gitian/gpg/https-everywhere.gpg and b/gitian/gpg/https-everywhere.gpg differ
1
0

23 Dec '15
commit 5a518270be8c4a170134d41096927f0cd0fcf3d0
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Dec 23 08:03:04 2015 +0000
Adding Cooper Quintin's key
---
gitian/gpg/https-everywhere.gpg | Bin 112546 -> 188424 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/gitian/gpg/https-everywhere.gpg b/gitian/gpg/https-everywhere.gpg
index 96a2f45..43aa4e4 100644
Binary files a/gitian/gpg/https-everywhere.gpg and b/gitian/gpg/https-everywhere.gpg differ
1
0
commit 77a249124635ee8ac4d62698433aebffa8a1b928
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Dec 23 08:03:04 2015 +0000
Adding Cooper Quintin's key
---
gitian/gpg/https-everywhere.gpg | Bin 112546 -> 188424 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/gitian/gpg/https-everywhere.gpg b/gitian/gpg/https-everywhere.gpg
index 96a2f45..43aa4e4 100644
Binary files a/gitian/gpg/https-everywhere.gpg and b/gitian/gpg/https-everywhere.gpg differ
1
0

[tor-browser-bundle/hardened-builds] Bug 17875: Discourage editing of torrc-defaults.
by gk@torproject.org 21 Dec '15
by gk@torproject.org 21 Dec '15
21 Dec '15
commit ac11a0c9cd84d0287ae85fb7357e55535e11f6a9
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Dec 21 12:03:13 2015 -0500
Bug 17875: Discourage editing of torrc-defaults.
---
Bundle-Data/linux/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/windows/Data/Tor/torrc-defaults | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/Bundle-Data/linux/Data/Tor/torrc-defaults b/Bundle-Data/linux/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/linux/Data/Tor/torrc-defaults
+++ b/Bundle-Data/linux/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
+++ b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/windows/Data/Tor/torrc-defaults b/Bundle-Data/windows/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/windows/Data/Tor/torrc-defaults
+++ b/Bundle-Data/windows/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
1
0

[tor-browser-bundle/maint-5.0] Bug 17875: Discourage editing of torrc-defaults.
by gk@torproject.org 21 Dec '15
by gk@torproject.org 21 Dec '15
21 Dec '15
commit 41b71527e0d64a3b14290a82c96014e663f8b93d
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Dec 21 12:03:13 2015 -0500
Bug 17875: Discourage editing of torrc-defaults.
---
Bundle-Data/linux/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/windows/Data/Tor/torrc-defaults | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/Bundle-Data/linux/Data/Tor/torrc-defaults b/Bundle-Data/linux/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/linux/Data/Tor/torrc-defaults
+++ b/Bundle-Data/linux/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
+++ b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/windows/Data/Tor/torrc-defaults b/Bundle-Data/windows/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/windows/Data/Tor/torrc-defaults
+++ b/Bundle-Data/windows/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
1
0

[tor-browser-bundle/master] Bug 17875: Discourage editing of torrc-defaults.
by gk@torproject.org 21 Dec '15
by gk@torproject.org 21 Dec '15
21 Dec '15
commit 940d6ea21668e99619185ef325be39223ffd93ac
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Dec 21 12:03:13 2015 -0500
Bug 17875: Discourage editing of torrc-defaults.
---
Bundle-Data/linux/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults | 6 ++++++
Bundle-Data/windows/Data/Tor/torrc-defaults | 6 ++++++
3 files changed, 18 insertions(+)
diff --git a/Bundle-Data/linux/Data/Tor/torrc-defaults b/Bundle-Data/linux/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/linux/Data/Tor/torrc-defaults
+++ b/Bundle-Data/linux/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
+++ b/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
diff --git a/Bundle-Data/windows/Data/Tor/torrc-defaults b/Bundle-Data/windows/Data/Tor/torrc-defaults
index 4b91aae..0a87e5f 100644
--- a/Bundle-Data/windows/Data/Tor/torrc-defaults
+++ b/Bundle-Data/windows/Data/Tor/torrc-defaults
@@ -1,3 +1,9 @@
+# torrc-defaults for Tor Browser
+#
+# This file is distributed with Tor Browser and should not be modified (it
+# may be overwritten during the next Tor Browser update). To customize your
+# Tor configuration, shut down Tor Browser and edit the torrc file.
+#
# If non-zero, try to write to disk less frequently than we would otherwise.
AvoidDiskWrites 1
# Where to send logging messages. Format is minSeverity[-maxSeverity]
1
0

17 Dec '15
commit 9b06ef948b23fa76491f10c160e0ea88aa3d68ce
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 12:11:40 2015 +0000
Fix the changelog as intended
---
Bundle-Data/Docs/ChangeLog.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 9748d1a..cca1175 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,6 +1,5 @@
Tor Browser 5.0.6 -- December 18 2015
* All Platforms
- * Bug 16441: Suppress "Reset Tor Browser" prompt
* Bug 17877: Tor Browser 5.0.5 is using the wrong Mozilla build tag
Tor Browser 5.0.5 -- December 15 2015
1
0

17 Dec '15
commit 4833a020e75ca0788adf7a728eaf96102ce24090
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 12:10:51 2015 +0000
Revert "Fix bug in changelog"
This reverts commit cbc04390e6f35d8e28a7b64572e6ad4bf2415afc.
---
Bundle-Data/Docs/ChangeLog.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index b78541e..9748d1a 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -21,6 +21,7 @@ Tor Browser 5.0.5 -- December 15 2015
* Bug 16863: Avoid confusing error when loop.enabled is false
* Bug 17502: Add a preference for hiding "Open with" on download dialog
* Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
+ * Bug 16441: Suppress "Reset Tor Browser" prompt
* Bug 17747: Add ndnop3 as new default obfs4 bridge
Tor Browser 5.0.4 -- November 3 2015
1
0
commit cbc04390e6f35d8e28a7b64572e6ad4bf2415afc
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 12:03:37 2015 +0000
Fix bug in changelog
---
Bundle-Data/Docs/ChangeLog.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 9748d1a..b78541e 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -21,7 +21,6 @@ Tor Browser 5.0.5 -- December 15 2015
* Bug 16863: Avoid confusing error when loop.enabled is false
* Bug 17502: Add a preference for hiding "Open with" on download dialog
* Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
- * Bug 16441: Suppress "Reset Tor Browser" prompt
* Bug 17747: Add ndnop3 as new default obfs4 bridge
Tor Browser 5.0.4 -- November 3 2015
1
0

17 Dec '15
commit 18db4bba44308ba99cba5a9d82bcfcb4b1473dbd
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 10:26:01 2015 +0000
Using build2 from Mozilla
---
gitian/versions.alpha | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 511ea05..a7d03c9 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -15,7 +15,7 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=hardened
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1-build1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build1
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.8.1
TORBUTTON_TAG=1.9.4.2
@@ -46,7 +46,7 @@ GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build1
+FIREFOX_LANG_BUILD=build2
BINUTILS_VER=2.24
GCC_VER=5.2.0
PYTHON_VER=2.7.5
1
0
commit 30c14b7fdd1a0527ca82b80a7cc121f386653ab4
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 09:13:08 2015 +0000
Using build2 from Mozilla
---
gitian/versions.alpha | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 2691a1d..d1c9f36 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -11,7 +11,7 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=alpha
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1-build1
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-2-build1
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.7.7
TORBUTTON_TAG=1.9.4.2
@@ -42,7 +42,7 @@ GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build1
+FIREFOX_LANG_BUILD=build2
BINUTILS_VER=2.24
GCC_VER=5.1.0
PYTHON_VER=2.7.5
1
0
commit 807dd4984e76fae17d6f165f8a35408f4ee056b6
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 09:00:28 2015 +0000
Update Changelog
---
Bundle-Data/Docs/ChangeLog.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 222f31c..9748d1a 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,8 @@
+Tor Browser 5.0.6 -- December 18 2015
+ * All Platforms
+ * Bug 16441: Suppress "Reset Tor Browser" prompt
+ * Bug 17877: Tor Browser 5.0.5 is using the wrong Mozilla build tag
+
Tor Browser 5.0.5 -- December 15 2015
* All Platforms
* Update Firefox to 38.5.0esr
1
0
commit 69bbd82c0e846f8e26d50b22b578685faa6029df
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Dec 17 08:54:55 2015 +0000
Preparing 5.0.6
---
gitian/versions | 4 ++--
tools/update-responses/config.yml | 7 ++++---
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/gitian/versions b/gitian/versions
index 8e8cf7f..1633312 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -8,7 +8,7 @@ FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=release
-TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.0-1-build2
+TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.0-2-build1
TOR_TAG=tor-0.2.7.6
TORLAUNCHER_TAG=0.2.7.7
TORBUTTON_TAG=1.9.3.7
@@ -38,7 +38,7 @@ GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build1
+FIREFOX_LANG_BUILD=build2
BINUTILS_VER=2.24
GCC_VER=5.1.0
PYTHON_VER=2.7.5
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 3a62062..4be39a9 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -10,14 +10,15 @@ build_targets:
osx64: Darwin_x86_64-gcc3
channels:
alpha: 5.5a1
- release: 5.0.5
+ release: 5.0.6
versions:
- 5.0.5:
+ 5.0.6:
platformVersion: 38.5.0
detailsURL: https://www.torproject.org/projects/torbrowser.html.en
- download_url: https://www.torproject.org/dist/torbrowser/5.0.5
+ download_url: https://www.torproject.org/dist/torbrowser/5.0.6
incremental_from:
- 5.0.4
+ - 5.0.5
migrate_archs:
osx32: osx64
osx32:
1
0

[tor-browser-bundle/master] Avoid language prompt on first start in alphas
by gk@torproject.org 16 Dec '15
by gk@torproject.org 16 Dec '15
16 Dec '15
commit a0e1b93bd6b0c28a36edb71fcc8e71c43b708548
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Dec 16 07:58:27 2015 +0000
Avoid language prompt on first start in alphas
---
Bundle-Data/Docs/ChangeLog.txt | 4 ----
gitian/versions.alpha | 2 +-
2 files changed, 1 insertion(+), 5 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 237fdf9..4812fc4 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -13,10 +13,6 @@ Tor Browser 5.5a5 -- December 15 2015
* Bug 17108: Polish about:tor appearance
* Bug 17568: Clean up tor-control-port.js
* Translation updates
- * Update Tor Launcher to 0.2.8.1
- * Bug 17344: Enumerate available language packs for language prompt
- * Code clean-up
- * Translation updates
* Bug 9659: Avoid loop due to optimistic data SOCKS code (fix of #3875)
* Bug 15564: Isolate SharedWorkers by first-party domain
* Bug 16940: After update, load local change notes
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index ae70b91..2691a1d 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -13,7 +13,7 @@ TORBROWSER_UPDATE_CHANNEL=alpha
TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1-build1
TOR_TAG=tor-0.2.7.6
-TORLAUNCHER_TAG=0.2.8.1
+TORLAUNCHER_TAG=0.2.7.7
TORBUTTON_TAG=1.9.4.2
HTTPSE_TAG=5.1.1
NSIS_TAG=v0.3
1
0

[tor-browser-bundle/hardened-builds] Adding libasan.so.2 to the MARTOOLS zip
by gk@torproject.org 14 Dec '15
by gk@torproject.org 14 Dec '15
14 Dec '15
commit 551a76af35fb7ddfa505415fbfa8a1d60852f291
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 14 14:56:23 2015 +0000
Adding libasan.so.2 to the MARTOOLS zip
---
gitian/descriptors/linux/gitian-firefox.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/gitian/descriptors/linux/gitian-firefox.yml b/gitian/descriptors/linux/gitian-firefox.yml
index 1310237..3c6c1f1 100644
--- a/gitian/descriptors/linux/gitian-firefox.yml
+++ b/gitian/descriptors/linux/gitian-firefox.yml
@@ -146,6 +146,7 @@ script: |
for LIB in $NSS_LIBS $NSPR_LIBS; do
cp -p obj-*/dist/bin/$LIB $MARTOOLS/
done
+ cp -p $INSTDIR/gcc/lib64/libasan.so.2 $MARTOOLS/
cd ~/build
~/build/dzip.sh mar-tools-linux${GBUILD_BITS}.zip mar-tools
cp -p mar-tools-linux${GBUILD_BITS}.zip $OUTDIR/
1
0

[tor-browser-bundle/hardened-builds] Changelog update and version bumps
by gk@torproject.org 14 Dec '15
by gk@torproject.org 14 Dec '15
14 Dec '15
commit 8da5fa2f35ae4ffb3489f748b16cf36d4a73ed95
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Dec 14 08:57:29 2015 +0000
Changelog update and version bumps
---
Bundle-Data/Docs/ChangeLog.txt | 1177 +------------------------------------
gitian/versions.alpha | 18 +-
tools/update-responses/config.yml | 12 +-
3 files changed, 48 insertions(+), 1159 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 2a4af99..8072453 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,1145 +1,32 @@
-Tor Browser 5.5a4 -- November 3 2015
- * All Platforms
- * Update Firefox to 38.4.0esr
- * Update Tor to 0.2.7.4-rc
- * Update NoScript to 2.6.9.39
- * Update HTTPS-Everywhere to 5.1.1
- * Update Torbutton to 1.9.4.1
- * Bug 9623: Spoof Referer when leaving a .onion domain
- * Bug 16620: Remove old window.name handling code
- * Bug 17164: Don't show text-select cursor on circuit display
- * Bug 17351: Remove unused code
- * Translation updates
- * Bug 17207: Hide MIME types and plugins from websites
- * Bug 16909+17383: Adapt to HTTPS-Everywhere build changes
- * Bug 16620: Move window.name handling into a Firefox patch
- * Bug 17220: Support math symbols in font whitelist
- * Bug 10599+17305: Include updater and build patches needed for hardened builds
- * Bug 17318: Remove dead ScrambleSuit bridge
- * Bug 17428: Remove default Flashproxy bridges
- * Bug 17473: Update meek-amazon fingerprint
- * Windows
- * Bug 17250: Add localized font names to font whitelist
- * OS X
- * Bug 17122: Rename Japanese OS X bundle
- * Linux
- * Bug 17329: Ensure that non-ASCII characters can be typed (fixup of #5926)
-
-Tor Browser 5.5a3 -- September 22 2015
- * All Platforms
- * Update Firefox to 38.3.0esr
- * Update libevent to 2.0.22-stable
- * Update Torbutton to 1.9.4
- * Bug 16937: Don't translate the homepage/spellchecker dictionary string
- * Bug 16735: about:tor should accommodate different fonts/font sizes
- * Bug 16887: Update intl.accept_languages value
- * Bug 15493: Update circuit display on new circuit info
- * Bug 16797: brandShorterName is missing from brand.properties
- * Translation updates
- * Bug 10140: Add new Tor Browser locale (Japanese)
- * Bug 17102: Don't crash while opening a second Tor Browser
- * Bug 16983: Isolate favicon requests caused by the tab list dropdown
- * Bug 13512: Load a static tab with change notes after an update
- * Bug 16937: Remove the en-US dictionary from non en-US Tor Browser bundles
- * Bug 7446: Tor Browser should not "fix up" .onion domains (or any domains)
- * Bug 16837: Disable Firefox Hotfix updates
- * Bug 16855: Allow blobs to be downloaded on first-party pages (fixes mega.nz)
- * Bug 16781: Allow saving pdf files in built-in pdf viewer
- * Bug 16842: Restore Media tab on Page information dialog
- * Bug 16727: Disable about:healthreport page
- * Bug 16783: Normalize NoScript default whitelist
- * Bug 16775: Fix preferences dialog with security slider set to "High"
- * Bug 13579: Update download progress bar automatically
- * Bug 15646: Reduce keyboard layout fingerprinting in KeyboardEvent
- * Bug 17046: Event.timeStamp should not reveal startup time
- * Bug 16872: Fix warnings when opening about:downloads
- * Bug 17097: Fix intermittent crashes when using the print dialog
- * Windows
- * Bug 16906: Fix Mingw-w64 compilation/Don't depend on Windows crypto DLLs
- * Bug 16707: Allow more system fonts to get used on Windows
- * OS X
- * Bug 16910: Update copyright year in OS X bundles
- * Bug 16707: Allow more system fonts to get used on OS X
- * Linux
- * Bug 16672: Don't use font whitelisting for Linux users
-
-Tor Browser 5.0.3 -- September 22 2015
- * All Platforms
- * Update Firefox to 38.3.0esr
- * Update Torbutton to 1.9.3.4
- * Bug 16887: Update intl.accept_languages value
- * Bug 15493: Update circuit display on new circuit info
- * Bug 16797: brandShorterName is missing from brand.properties
- * Bug 14429: Make sure the automatic resizing is disabled
- * Translation updates
- * Bug 7446: Tor Browser should not "fix up" .onion domains (or any domains)
- * Bug 16837: Disable Firefox Hotfix updates
- * Bug 16855: Allow blobs to be downloaded on first-party pages (fixes mega.nz)
- * Bug 16781: Allow saving pdf files in built-in pdf viewer
- * Bug 16842: Restore Media tab on Page information dialog
- * Bug 16727: Disable about:healthreport page
- * Bug 16783: Normalize NoScript default whitelist
- * Bug 16775: Fix preferences dialog with security slider set to "High"
- * Bug 13579: Update download progress bar automatically
- * Bug 15646: Reduce keyboard layout fingerprinting in KeyboardEvent
- * Bug 17046: Event.timeStamp should not reveal startup time
- * Bug 16872: Fix warnings when opening about:downloads
- * Bug 17097: Fix intermittent crashes when using the print dialog
- * Windows
- * Bug 16906: Fix Mingw-w64 compilation breakage
- * OS X
- * Bug 16910: Update copyright year in OS X bundles
-
-Tor Browser 5.5a2 -- August 28 2015
- * All Platforms:
- * Update Firefox to 38.2.1esr
- * Update NoScript to 2.6.9.36
- * Bug 16771: Fix crash on some websites due to blob URIs
- * Linux
- * Bug 16860: Avoid duplicate desktop icons on Gnome and Unity
-
-Tor Browser 5.0.2 -- August 27 2015
- * All Platforms
- * Update Firefox to 38.2.1esr
- * Update NoScript to 2.6.9.36
- * Linux
- * Bug 16860: Avoid duplicate icons on Unity and Gnome
-
-Tor Browser 5.0.1 -- August 18 2015
- * All Platforms
- * Bug 16771: Fix crash on some websites due to blob URIs
-
-Tor Browser 5.5a1 -- August 11 2015
- * All Platforms
- * Update Firefox to 38.2.0esr
- * Update NoScript to 2.6.9.34
- * Update Torbutton to 1.9.3.3
- * Bug 16731: TBB 5.0 a3/a4 fails to download a file on right click
- * Bug 16730: Reset NoScript whitelist on upgrade
- * Bug 16722: Prevent "Tiles" feature from being enabled after upgrade
- * Bug 16488: Remove "Sign in to Sync" from the browser menu (fixup)
- * Bug 14429: Make sure the automatic resizing is enabled
- * Translation updates
- * Update Tor Launcher to 0.2.7.7
- * Translation updates
- * Bug 16730: Prevent NoScript from updating the default whitelist
- * Bug 16715: Use ThreadsafeIsCallerChrome() instead of IsCallerChrome()
- * Bug 16572: Verify cache isolation for XMLHttpRequests in Web Workers
- * Bug 16311: Fix navigation timing in ESR 38
- * Bug 15646: Prevent keyboard layout fingerprinting in KeyboardEvent (fixup)
- * Bug 16672: Change font whitelists and configs for rendering issues (partial)
-
-Tor Browser 5.0 -- August 11 2015
- * All Platforms
- * Update Firefox to 38.2.0esr
- * Update OpenSSL to 1.0.1p
- * Update HTTPS-Everywhere to 5.0.7
- * Update NoScript to 2.6.9.34
- * Update meek to 0.20
- * Update Tor to 0.2.6.10 with patches:
- * Bug 16674: Allow FQDNs ending with a single '.' in our SOCKS host name checks.
- * Bug 16430: Allow DNS names with _ characters in them (fixes nytimes.com)
- * Bug 15482: Don't allow circuits to change while a site is in use
- * Update Torbutton to 1.9.3.2
- * Bug 16731: TBB 5.0 a3/a4 fails to download a file on right click
- * Bug 16730: Reset NoScript whitelist on upgrade
- * Bug 16722: Prevent "Tiles" feature from being enabled after upgrade
- * Bug 16488: Remove "Sign in to Sync" from the browser menu (fixup)
- * Bug 16268: Show Tor Browser logo on About page
- * Bug 16639: Check for Updates menu item can cause update download failure
- * Bug 15781: Remove the sessionstore filter
- * Bug 15656: Sync privacy.resistFingerprinting with Torbutton pref
- * Bug 16427: Use internal update URL to block updates (instead of 127.0.0.1)
- * Bug 16200: Update Cache API usage and prefs for FF38
- * Bug 16357: Use Mozilla API to wipe permissions db
- * Bug 14429: Make sure the automatic resizing is disabled
- * Translation updates
- * Update Tor Launcher to 0.2.7.7
- * Bug 16428: Use internal update URL to block updates (instead of 127.0.0.1)
- * Bug 15145: Visually distinguish "proxy" and "bridge" screens.
- * Translation updates
- * Bug 16730: Prevent NoScript from updating the default whitelist
- * Bug 16715: Use ThreadsafeIsCallerChrome() instead of IsCallerChrome()
- * Bug 16572: Verify cache isolation for XMLHttpRequests in Web Workers
- * Bug 16884: Prefer IPv6 when supported by the current Tor exit
- * Bug 16488: Remove "Sign in to Sync" from the browser menu
- * Bug 16662: Enable network.http.spdy.* prefs in meek-http-helper
- * Bug 15703: Isolate mediasource URIs and media streams to first party
- * Bug 16429+16416: Isolate blob URIs to first party
- * Bug 16632: Turn on the background updater and restart prompting
- * Bug 16528: Prevent indexedDB Modernizr site breakage on Twitter and elsewhere
- * Bug 16523: Fix in-browser JavaScript debugger
- * Bug 16236: Windows updater: avoid writing to the registry
- * Bug 16625: Fully disable network connection prediction
- * Bug 16495: Fix SVG crash when security level is set to "High"
- * Bug 13247: Fix meek profile error after bowser restarts
- * Bug 16005: Relax WebGL minimal mode
- * Bug 16300: Isolate Broadcast Channels to first party
- * Bug 16439: Remove Roku screencasting code
- * Bug 16285: Disabling EME bits
- * Bug 16206: Enforce certificate pinning
- * Bug 15910: Disable Gecko Media Plugins for now
- * Bug 13670: Isolate OCSP requests by first party domain
- * Bug 16448: Isolate favicon requests by first party
- * Bug 7561: Disable FTP request caching
- * Bug 6503: Fix single-word URL bar searching
- * Bug 15526: ES6 page crashes Tor Browser
- * Bug 16254: Disable GeoIP-based search results.
- * Bug 16222: Disable WebIDE to prevent remote debugging and addon downloads.
- * Bug 13024: Disable DOM Resource Timing API
- * Bug 16340: Disable User Timing API
- * Bug 14952: Disable HTTP/2
- * Bug 1517: Reduce precision of time for Javascript
- * Bug 13670: Ensure OCSP & favicons respect URL bar domain isolation
- * Bug 16311: Fix navigation timing in ESR 38
- * Windows
- * Bug 16014: Staged update fails if meek is enabled
- * Bug 16269: repeated add-on compatibility check after update (meek enabled)
- * Mac OS
- * Use OSX 10.7 SDK
- * Bug 16253: Tor Browser menu on OS X is broken with ESR 38
- * Bug 15773: Enable ICU on OS X
- * Build System
- * Bug 16351: Upgrade our toolchain to use GCC 5.1
- * Bug 15772 and child tickets: Update build system for Firefox 38
- * Bugs 15921+15922: Fix build errors during Mozilla Tryserver builds
- * Bug 15864: rename sha256sums.txt to sha256sums-unsigned-build.txt
-
-Tor Browser 5.0a4 -- August 3 2015
- * All Platforms
- * Update Tor to 0.2.7.2-alpha with patches:
- * Bug 15482: Don't allow circuits to change while a site is in use
- * Update OpenSSL to 1.0.1p
- * Update HTTPS-Everywhere to 5.0.7
- * Update NoScript to 2.6.9.31
- * Update Torbutton to 1.9.3.1
- * Bug 16268: Show Tor Browser logo on About page
- * Bug 16639: Check for Updates menu item can cause update download failure
- * Bug 15781: Remove the sessionstore filter
- * Bug 15656: Sync privacy.resistFingerprinting with Torbutton pref
- * Translation updates
- * Bug 16884: Prefer IPv6 when supported by the current Tor exit
- * Bug 16488: Remove "Sign in to Sync" from the browser menu
- * Bug 13313: Bundle a fixed set of fonts to defend against fingerprinting
- * Bug 16662: Enable network.http.spdy.* prefs in meek-http-helper
- * Bug 15646: Prevent keyboard layout fingerprinting in KeyboardEvent (fixup)
- * Bug 15703: Isolate mediasource URIs and media streams to first party
- * Bug 16429+16416: Isolate blob URIs to first party
- * Bug 16632: Turn on the background updater and restart prompting
- * Bug 16528: Prevent indexedDB Modernizr site breakage on Twitter and elsewhere
- * Bug 16523: Fix in-browser JavaScript debugger
- * Bug 16236: Windows updater: avoid writing to the registry
- * Bug 16005: Restrict WebGL minimal mode a bit (fixup)
- * Bug 16625: Fully disable network connection prediction
- * Bug 16495: Fix SVG crash when security level is set to "High"
- * Build System
- * Bug 15864: rename sha256sums.txt to sha256sums-unsigned-build.txt
-
-Tor Browser 5.0a3 -- June 30 2015
- * All Platforms
- * Update Firefox to 38.1.0esr
- * Update OpenSSL to 1.0.1o
- * Update NoScript to 2.6.9.27
- * Update meek to 0.20
- * Tor patch backport
- * Bug 16430: Allow DNS names with _ characters in them (fixes nytimes.com)
- * Update Torbutton to 1.9.3.0
- * Bug 16403: Set search parameters for Disconnect
- * Bug 14429: Make sure the automatic resizing is disabled
- * Bug 16427: Use internal update URL to block updates (instead of 127.0.0.1)
- * Bug 16200: Update Cache API usage and prefs for FF38
- * Bug 16357: Use Mozilla API to wipe permissions db
- * Translation updates
- * Update Tor Launcher to 0.2.7.6
- * Bug 16428: Use internal update URL to block updates (instead of 127.0.0.1)
- * Bug 15145: Visually distinguish "proxy" and "bridge" screens.
- * Translation updates
- * Bug 13247: Fix meek profile error after bowser restarts
- * Bug 16397: Fix crash related to disabling SVG
- * Bug 16403: Set search parameters for Disconnect
- * Bug 16446: Update FTE bridge #1 fingerprint
- * Bug 15646: Prevent keyboard layout fingerprinting in KeyboardEvent
- * Bug 16005: Relax WebGL minimal mode
- * Bug 16300: Isolate Broadcast Channels to first party
- * Bug 16439: Remove Roku screencasting code
- * Bug 16285: Disabling EME bits
- * Bug 16206: Enforce certificate pinning
- * Bug 15910: Disable GMPs for now
- * Bug 13670: Isolate OCSP requests by first party domain
- * Bug 16448: Isolate favicon requests by first party
- * Bug 7561: Disable FTP request caching
- * Bug 6503: Fix single-word URL bar searching
- * Bug 15526: ES6 page crashes Tor Browser
- * Bug 16254: Disable GeoIP-based search results.
- * Bug 16222: Disable WebIDE to prevent remote debugging and addon downloads.
- * Bug 13024: Disable DOM Resource Timing API
- * Bug 16340: Disable User Timing API
- * Bug 14952: Disable HTTP/2
- * Mac OS
- * Use OSX 10.7 SDK
- * Bug 16253: Tor Browser menu on OS X is broken with ESR 38
- * Build System
- * Bug 16351: Upgrade our toolchain to use GCC 5.1
- * Bug 15772 and child tickets: Update build system for Firefox 38
-
-Tor Browser 4.5.3 -- June 30 2015
- * All Platforms
- * Update Firefox to 31.8.0esr
- * Update OpenSSL to 1.0.1o
- * Update NoScript to 2.6.9.27
- * Update Torbutton to 1.9.2.8
- * Bug 16403: Set search parameters for Disconnect
- * Bug 14429: Make sure the automatic resizing is disabled
- * Translation updates
- * Bug 16397: Fix crash related to disabling SVG
- * Bug 16403: Set search parameters for Disconnect
- * Bug 16446: Update FTE bridge #1 fingerprint
- * Tor patch backport
- * Bug 16430: Allow DNS names with _ characters in them (fixes nytimes.com)
-
-Tor Browser 5.0a2 -- June 15 2015
- * All Platforms
- * Update Tor to 0.2.7.1-alpha
- * Update HTTPS-Everywhere to 5.0.5
- * Update OpenSSL to 1.0.1n
- * Update NoScript to 2.6.9.26
- * Update meek to 0.19
- * Update Torbutton to 1.9.2.7
- * Bug 15984: Disabling Torbutton breaks the Add-ons Manager
- * Bug 14429: Make sure the automatic resizing is enabled
- * Translation updates
- * Bug 16130: Defend against logjam attack
- * Bug 15984: Disabling Torbutton breaks the Add-ons Manager
- * Windows
- * Bug 16014: Staged update fails if meek is enabled
- * Bug 16269: repeated add-on compatibility check after update (meek enabled)
- * Linux
- * Bug 16026: Fix crash in GStreamer
- * Bug 16083: Update comment in start-tor-browser
-
-Tor Browser 4.5.2 -- June 15 2015
- * All Platforms
- * Update Tor to 0.2.6.9
- * Update HTTPS-Everywhere to 5.0.5
- * Update OpenSSL to 1.0.1n
- * Update NoScript to 2.6.9.26
- * Update Torbutton to 1.9.2.6
- * Bug 15984: Disabling Torbutton breaks the Add-ons Manager
- * Bug 14429: Make sure the automatic resizing is disabled
- * Translation updates
- * Bug 16130: Defend against logjam attack
- * Bug 15984: Disabling Torbutton breaks the Add-ons Manager
- * Linux
- * Bug 16026: Fix crash in GStreamer
- * Bug 16083: Update comment in start-tor-browser
-
-Tor Browser 5.0a1 -- May 14 2015
- * All Platforms
- * Update Firefox to 31.7.0esr
- * Update meek to 0.18
- * Update Tor Launcher to 0.2.7.5
- * Translation updates only
- * Update Torbutton to 1.9.2.5
- * Bug 15837: Show descriptions if unchecking custom mode
- * Bug 15927: Force update of the NoScript UI when changing security level
- * Bug 15915: Hide circuit display if it is disabled.
- * Bug 14429: Improved automatic window resizing
- * Translation updates
- * Bug 15945: Disable NoScript's ClearClick protection for now
- * Bug 15933: Isolate by base (top-level) domain name instead of FQDN
- * Bug 15857: Fix file descriptor leak in updater that caused update failures
- * Bug 15899: Fix errors with downloading and displaying PDFs
- * Bug 15773: Enable ICU on OS X
- * Bug 1517: Reduce precision of time for Javascript
- * Bug 13670: Ensure OCSP & favicons respect URL bar domain isolation
- * Bug 13875: Improve the spoofing of window.devicePixelRatio
- * Windows
- * Bug 15872: Fix meek pluggable transport startup issue with Windows 7
- * Build System
- * Bug 15947: Support Ubuntu 14.04 LXC hosts via LXC_EXECUTE=lxc-execute env var
- * Bugs 15921+15922: Fix build errors during Mozilla Tryserver builds
-
-Tor Browser 4.5.1 -- May 12 2015
- * All Platforms
- * Update Firefox to 31.7.0esr
- * Update meek to 0.18
- * Update Tor Launcher to 0.2.7.5
- * Translation updates only
- * Update Torbutton to 1.9.2.3
- * Bug 15837: Show descriptions if unchecking custom mode
- * Bug 15927: Force update of the NoScript UI when changing security level
- * Bug 15915: Hide circuit display if it is disabled.
- * Translation updates
- * Bug 15945: Disable NoScript's ClearClick protection for now
- * Bug 15933: Isolate by base (top-level) domain name instead of FQDN
- * Bug 15857: Fix file descriptor leak in updater that caused update failures
- * Bug 15899: Fix errors with downloading and displaying PDFs
- * Windows
- * Bug 15872: Fix meek pluggable transport startup issue with Windows 7
- * Build System
- * Bug 15947: Support Ubuntu 14.04 LXC hosts via LXC_EXECUTE=lxc-execute env var
- * Bugs 15921+15922: Fix build errors during Mozilla Tryserver builds
-
-Tor Browser 4.5 -- Apr 28 2015
- * All Platforms
- * Update Tor to 0.2.6.7 with additional patches:
- * Bug 15482: Reset timestamp_dirty each time a SOCKSAuth circuit is used
- * Update NoScript to 2.6.9.22
- * Update HTTPS-Everywhere to 5.0.3
- * Bug 15689: Resume building HTTPS-Everywhere from git tags
- * Update meek to 0.17
- * Update obfs4proxy to 0.0.5
- * Update Tor Launcher to 0.2.7.4
- * Bug 15704: Do not enable network if wizard is opened
- * Bug 11879: Stop bootstrap if Cancel or Open Settings is clicked
- * Bug 13576: Don't strip "bridge" from the middle of bridge lines
- * Bug 15657: Display the host:port of any connection faiures in bootstrap
- * Update Torbutton to 1.9.2.2
- * Bug 15562: Bind SharedWorkers to thirdparty pref
- * Bug 15533: Restore default security level when restoring defaults
- * Bug 15510: Close Tor Circuit UI control port connections on New Identity
- * Bug 15472: Make node text black in circuit status UI
- * Bug 15502: Wipe blob URIs on New Identity
- * Bug 15795: Some security slider prefs do not trigger custom checkbox
- * Bug 14429: Disable automatic window resizing for now
- * Bug 4100: Raise HTTP Keep-Alive back to 115 second default
- * Bug 13875: Spoof window.devicePixelRatio to avoid DPI fingerprinting
- * Bug 15411: Remove old (and unused) cacheDomain cache isolation mechanism
- * Bugs 14716+13254: Fix issues with HTTP Auth usage and TLS connection info display
- * Bug 15502: Isolate blob URI scope to URL domain; block WebWorker access
- * Bug 15794: Crash on some pages with SVG images if SVG is disabled
- * Bug 15562: Disable Javascript SharedWorkers due to third party tracking
- * Bug 15757: Disable Mozilla video statistics API extensions
- * Bug 15758: Disable Device Sensor APIs
- * Linux
- * Bug 15747: Improve start-tor-browser argument handling
- * Bug 15672: Provide desktop app registration+unregistration for Linux
- * Windows
- * Bug 15539: Make installer exe signatures reproducibly removable
- * Bug 10761: Fix instances of shutdown crashes
-
-Tor Browser 4.5a5 -- Mar 31 2015
- * All Platforms
- * Update Firefox to 31.6.0esr
- * Update OpenSSL to 1.0.1m
- * Update Tor to 0.2.6.6
- * Update NoScript to 2.6.9.19
- * Update HTTPS-Everywhere to 5.0
- * Update meek to 0.16
- * Update Tor Launcher to 0.2.7.3
- * Bug 13983: Directory search path fix for Tor Messanger+TorBirdy
- * Update Torbutton to 1.9.1.0
- * Bug 9387: "Security Slider 1.0"
- * Include descriptions and tooltip hints for security levels
- * Notify users that the security slider exists
- * Flip slider so that "low" is on the bottom
- * Make use of new SVG and MathML prefs
- * Bug 13766: Set a 10 minute circuit lifespan for non-content requests
- * Bug 15460: Ensure FTP urls use content-window circuit isolation
- * Bug 13650: Clip initial window height to 1000px
- * Bug 14429: Ensure windows can only be resized to 200x100px multiples
- * Bug 15334: Display Cookie Protections menu if disk records are enabled
- * Bug 14324: Show HS circuit in Tor circuit display
- * Bug 15086: Handle RTL text in Tor circuit display
- * Bug 15085: Fix about:tor RTL text alignment problems
- * Bug 10216: Add a pref to disable the local tor control port test
- * Bug 14937: Show meek and flashproxy bridges in tor circuit display
- * Bugs 13891+15207: Fix exceptions/errors in circuit display with bridges
- * Bug 13019: Change locale hiding pref to boolean
- * Bug 7255: Warn users about maximizing windows
- * Bug 14631: Improve profile access error msgs (strings).
- * Pluggable Transport Dependency Updates:
- * Bug 15448: Use golang 1.4.2 for meek and obs4proxy
- * Bug 15265: Switch go.net repo to golang.org/x/net
- * Bug 14937: Hard-code meek and flashproxy node fingerprints
- * Bug 13019: Prevent Javascript from leaking system locale
- * Bug 10280: Improved fix to prevent loading plugins into address space
- * Bug 15406: Only include addons in incremental updates if they actually update
- * Bug 15029: Don't prompt to include missing plugins
- * Bug 12827: Create preference to disable SVG images (for security slider)
- * Bug 13548: Create preference to disable MathML (for security slider)
- * Bug 14631: Improve startup error messages for filesystem permissions issues
- * Bug 15482: Don't allow circuits to change while a site is in use
- * Linux
- * Bug 13375: Create a hybrid GUI/desktop/shell launcher wrapper
- * Bug 12468: Only print/write log messages if launched with --debug
- * Windows
- * Bug 3861: Begin signing Tor Browser for Windows the Windows way
- * Bug 15201: Disable 'runas Administrator' codepaths in updater
- * Bug 14688: Create shortcuts to desktop and start menu by default (optional)
-
-Tor Browser 4.0.6 -- Mar 31 2015
- * All Platforms
- * Update Firefox to 31.6.0esr
- * Update meek to 0.16
- * Update OpenSSL to 1.0.1m
-
-Tor Browser 4.0.5 -- Mar 23 2015
- * All Platforms
- * Update Firefox to 31.5.3esr
- * Update Tor to 0.2.5.11
- * Update NoScript to 2.6.9.19
-
-Tor Browser 4.5a4 -- Feb 24 2015
- * All Platforms
- * Update Firefox to 31.5.0esr
- * Update Tor to 0.2.6.3-alpha
- * Update OpenSSL to 1.0.1l
- * Update NoScript to 2.6.9.15
- * Update obfs4proxy to 0.0.4
- * Use obfs4proxy for ScrambleSuit bridges
- * Update Torbutton to 1.9.0.0
- * Bug 13882: Fix display of bridges after bridge settings have been changed
- * Bug 5698: Use "Tor Browser" branding in "About Tor Browser" dialog
- * Bug 10280: Strings and pref for preventing plugin initialization.
- * Bug 14866: Show correct circuit when more than one exists for a given domain
- * Bug 9442: Add New Circuit button to Torbutton menu
- * Bug 9906: Warn users before closing all windows and performing new identity.
- * Bug 8400: Prompt for restart if disk records are enabled/disabled.
- * Bug 14630: Hide Torbutton's proxy settings tab.
- * Bug 14632: Disable Cookie Manager until we get it working.
- * Bug 11175: Remove "About Torbutton" from onion menu.
- * Bug 13900: Remove remaining SafeCache code in favor of C++ patch
- * Bug 14490: Use Disconnect search in about:tor search box
- * Bug 14392: Don't steal input focus in about:tor search box
- * Bug 11236: Don't set omnibox order in Torbutton (to prevent translation)
- * Bug 13406: Stop directing users to download-easy.html.en on update
- * Bug 9387: Handle "custom" mode better in Security Slider
- * Bug 12430: Bind jar: pref to Security Slider
- * Bug 14448: Restore Torbutton menu operation on non-English localizations
- * Translation updates
- * Update Tor Launcher to 0.2.7.2
- * Bug 13271: Display Bridge Configuration wizard pane before Proxy pane
- * Bug 14336: Fix navigation button display issues on some wizard panes
- * Translation updates
- * Bug 14203: Prevent meek from displaying an extra update notification
- * Bug 14849: Remove new NoScript menu option to make permissions permanent
- * Bug 14851: Set NoScript pref to disable permanent permissions
- * Bug 14490: Make Disconnect the default omnibox search engine
- * Bug 11236: Fix omnibox order for non-English builds
- * Also remove Amazon, eBay and bing; add Youtube and Twitter
- * Bug 10280: Don't load any plugins into the address space.
- * Bug 14392: Make about:tor hide itself from the URL bar
- * Bug 12430: Provide a preference to disable remote jar: urls
- * Bug 13900: Remove 3rd party HTTP auth tokens via Firefox patch
- * Bug 5698: Fix branding in "About Torbrowser" window
- * Windows:
- * Bug 13169: Don't use /dev/random on Windows for SSP
- * Linux:
- * Bug 13717: Make sure we use the bash shell on Linux
-
-Tor Browser 4.0.4 -- Feb 24 2015
- * All Platforms
- * Update Firefox to 31.5.0esr
- * Update OpenSSL to 1.0.1l
- * Update NoScript to 2.6.9.15
- * Update HTTPS-Everywhere to 4.0.3
- * Bug 14203: Prevent meek from displaying an extra update notification
- * Bug 14849: Remove new NoScript menu option to make permissions permanent
- * Bug 14851: Set NoScript pref to disable permanent permissions
-
-Tor Browser 4.5a3 -- Jan 19 2015
- * All Platforms
- * Update Firefox to 31.4.0esr
- * Update Tor to 0.2.6.2-alpha
- * Update NoScript to 2.6.9.10
- * Update HTTPS Everywhere to 5.0development.2
- * Update meek to 0.15
- * Update Torbutton to 1.8.1.3
- * Bug 13998: Handle changes in NoScript 2.6.9.8+
- * Bug 14100: Option to hide NetworkSettings menuitem
- * Bug 13079: Option to skip control port verification
- * Bug 13835: Option to change default Tor Browser homepage
- * Bug 11449: Fix new identity error if NoScript is not enabled
- * Bug 13881: Localize strings for tor circuit display
- * Bug 9387: Incorporate user feedback
- * Bug 13671: Fixup for circuit display if bridges are used
- * Translation updates
- * Update Tor Launcher to 0.2.7.1
- * Bug 14122: Hide logo if TOR_HIDE_BROWSER_LOGO set
- * Translation updates
- * Bug 13379: Sign our MAR files
- * Bug 13788: Fix broken meek in 4.5-alpha series
- * Bug 13439: No canvas prompt for content callers
-
-Tor Browser 4.0.3 -- Jan 13 2015
- * All Platforms
- * Update Firefox to 31.4.0esr
- * Update NoScript to 2.6.9.10
- * Update meek to 0.15
- * Update Tor Launcher to 0.2.7.0.2
- * Translation updates only
-
-Tor Browser 4.5-alpha-2 -- Dec 5 2014
- * All Platforms
- * Update Firefox to 31.3.0esr
- * Update NoScript to 2.6.9.5
- * Update HTTPS Everywhere to 5.0development.1
- * Update Torbutton to 1.8.1.2
- * Bug 13672: Make circuit display optional
- * Bug 13671: Make bridges visible on circuit display
- * Bug 9387: Incorporate user feedback
- * Bug 13784: Remove third party authentication tokens
- * Bug 13435: Remove our custom POODLE fix (fixed by Mozilla in ESR 31.3.0)
-
-Tor Browser 4.0.2 -- Dec 2 2014
- * All Platforms
- * Update Firefox to 31.3.0esr
- * Update NoScript to 2.6.9.5
- * Update HTTPS Everywhere to 4.0.2
- * Update Torbutton to 1.7.0.2
- * Bug 13019: Synchronize locale spoofing pref with our Firefox patch
- * Bug 13746: Properly link Torbutton UI to thirdparty pref.
- * Bug 13742: Fix domain isolation for content cache and disk-enabled browsing mode
- * Bug 5926: Prevent JS engine locale leaks (by setting the C library locale)
- * Bug 13504: Remove unreliable/unreachable non-public bridges
- * Bug 13435: Remove our custom POODLE fix
- * Windows
- * Bug 13443: Re-enable DirectShow; fix crash with mingw patch.
- * Bug 13558: Fix crash on Windows XP during download folder changing
- * Bug 13594: Fix update failure for Windows XP users
-
-Tor Browser 4.5-alpha-1 -- Nov 14 2014
- * All Platforms
- * Bug 3455: Patch Firefox SOCKS and proxy filters to allow user+pass isolation
- * Bug 11955: Backport HTTPS Certificate Pinning patches from Firefox 32
- * Bug 13684: Backport Mozilla bug #1066190 (pinning issue fixed in Firefox 33)
- * Bug 13019: Make JS engine use English locale if a pref is set by Torbutton
- * Bug 13301: Prevent extensions incompatibility error after upgrades
- * Bug 13460: Fix MSVC compilation issue
- * Bug 13504: Remove stale bridges from default bridge set
- * Bug 13742: Fix domain isolation for content cache and disk-enabled browsing mode
- * Update Tor to 0.2.6.1-alpha
- * Update NoScript to 2.6.9.3
- * Update Torbutton to 1.8.1.1
- * Bug 9387: Provide a "Security Slider" for vulnerability surface reduction
- * Bug 13019: Synchronize locale spoofing pref with our Firefox patch
- * Bug 3455: Use SOCKS user+pass to isolate all requests from the same url domain
- * Bug 8641: Create browser UI to indicate current tab's Tor circuit IPs
- * Bug 13651: Prevent circuit-status related UI hang.
- * Bug 13666: Various circuit status UI fixes
- * Bugs 13742+13751: Remove cache isolation code in favor of direct C++ patch
- * Bug 13746: Properly update third party isolation pref if disabled from UI
- * Bug 13586: Make meek use TLS session tickets (to look like stock Firefox).
- * Bug 12903: Include obfs4proxy pluggable transport
- * Windows
- * Bug 13443: Re-enable DirectShow; fix crash with mingw patch.
- * Bug 13558: Fix crash on Windows XP during download folder changing
- * Bug 13091: Make app name "Tor Browser" instead of "Tor"
- * Bug 13594: Fix update failure for Windows XP users
- * Mac
- * Bug 10138: Switch to 64bit builds for MacOS
-
-Tor Browser 4.0.1 -- Oct 30 2014
- * All Platforms
- * Update Tor to 0.2.5.10
- * Update NoScript to 2.6.9.3
- * Bug 13301: Prevent extensions incompatibility error after upgrades
- * Bug 13460: Fix MSVC compilation issue
- * Windows
- * Bug 13443: Disable DirectShow to prevent crashes on many sites
- * Bug 13091: Make app name "Tor Browser" instead of "Tor"
-
-Tor Browser 4.0 -- Oct 15 2014
- * All Platforms
- * Update Firefox to 31.2.0esr
- * Update Torbutton to 1.7.0.1
- * Bug 13378: Prevent addon reordering in toolbars on first-run.
- * Bug 10751: Adapt Torbutton to ESR31's Australis UI.
- * Bug 13138: ESR31-about:tor shows "Tor is not working"
- * Bug 12947: Adapt session storage blocker to ESR 31.
- * Bug 10716: Take care of drag/drop events in ESR 31.
- * Bug 13366: Fix cert exemption dialog when disk storage is enabled.
- * Update Tor Launcher to 0.2.7.0.1
- * Translation updates only
- * Udate fteproxy to 0.2.19
- * Update NoScript to 2.6.9.1
- * Bug 13416: Defend against new SSLv3 attack (poodle).
- * Bug 13027: Spoof window.navigator useragent values in JS WebWorker threads
- * Bug 13016: Hide CSS -moz-osx-font-smoothing values.
- * Bug 13356: Meek and other symlinks missing after complete update.
- * Bug 13025: Spoof screen orientation to landscape-primary.
- * Bug 13346: Disable Firefox "slow to start" warnings and recordkeeping.
- * Bug 13318: Minimize number of buttons on the browser toolbar.
- * Bug 10715: Enable WebGL on Windows (still click-to-play via NoScript)
- * Bug 13023: Disable the gamepad API.
- * Bug 13021: Prompt before allowing Canvas isPointIn*() calls.
- * Bug 12460: Several cross-compilation and gitian fixes (see child tickets)
- * Bug 13186: Disable DOM Performance timers
- * Bug 13028: Defense-in-depth checks for OCSP/Cert validation proxy usage
-
-Tor Browser 4.0-alpha-3 -- Sep 24 2014
- * All Platforms
- * Update Tor to 0.2.5.8-rc
- * Update Firefox to 24.8.1esr
- * Update meek to 0.11
- * Update NoScript to 2.6.8.42
- * Update Torbutton to 1.6.12.3
- * Bug 13091: Use "Tor Browser" everywhere
- * Bug 10804: Workaround fix for some cases of startup hang
- * Bug 13091: Use "Tor Browser" everywhere
- * Bug 13049: Browser update failure (self.update is undefined)
- * Bug 13047: Updater should not send Kernel and GTK version
- * Bug 12998: Prevent intermediate certs from being written to disk
- * Bug 13245: Prevent non-english TBBs from upgrading to english version.
- * Linux:
- * Bug 9150: Make RPATH unavailable on Tor binary.
- * Bug 13031: Add full RELRO protection.
-
-Tor Browser Bundle 3.6.6 -- Sep 24 2014
- * All Platforms
- * Update Tor to tor-0.2.4.24
- * Update Firefox to 24.8.1esr
- * Update NoScript to 2.6.8.42
- * Update HTTPS Everywhere to 4.0.1
- * Bug 12998: Prevent intermediate certs from being written to disk
- * Update Torbutton to 1.6.12.3
- * Bug 13091: Use "Tor Browser" everywhere
- * Bug 10804: Workaround fix for some cases of startup hang
- * Linux
- * Bug 9150: Make RPATH unavailable on Tor binary.
-
-Tor Browser Bundle 4.0-alpha-2 -- Sep 2 2014
- * All Platforms
- * Update Firefox to 24.8.0esr
- * Update NoScript to 2.6.8.39
- * Update Tor Launcher to 0.2.7.0
- * Bug 11405: Remove firewall prompt from wizard.
- * Bug 12895: Mention @riseup.net as a valid bridge request email address
- * Bug 12444: Provide feedback when “Copy Tor Log” is clicked.
- * Bug 11199: Improve error messages if Tor exits unexpectedly
- * Update Torbutton to 1.6.12.1
- * Bug 12684: New strings for canvas image extraction message
- * Bug 8940: Move RecommendedTBBVersions file to www.torproject.org
- * Bug 12684: Improve Canvas image extraction permissions prompt
- * Bug 7265: Only prompt for first party canvas access. Log all scripts
- that attempt to extract canvas images to Browser console.
- * Bug 12974: Disable NTLM and Negotiate HTTP Auth
- * Bug 2874: Remove Components.* from content access (regression)
- * Bug 4234: Automatic Update support (off by default)
- * Bug 9881: Open popups in new tabs by default
- * Meek Pluggable Transport:
- * Bug 12766: Use TLSv1.0 in meek-http-helper to blend in with Firefox 24
- * Windows:
- * Bug 10065: Enable DEP, ASLR, and SSP hardening options
- * Linux:
- * Bug 12103: Adding RELRO hardening back to browser binaries.
-
-Tor Browser Bundle 3.6.5 -- Sep 2 2014
- * All Platforms
- * Update Firefox to 24.8.0esr
- * Update NoScript to 2.6.8.39
- * Update HTTPS Everywhere to 4.0.0
- * Update Torbutton to 1.6.12.1
- * Bug 12684: New strings for canvas image extraction message
- * Bug 8940: Move RecommendedTBBVersions file to www.torproject.org
- * Bug 9531: Workaround to avoid rare hangs during New Identity
- * Bug 12684: Improve Canvas image extraction permissions prompt
- * Bug 7265: Only prompt for first party canvas access. Log all scripts
- that attempt to extract canvas images to Browser console.
- * Bug 12974: Disable NTLM and Negotiate HTTP Auth
- * Bug 2874: Remove Components.* from content access (regression)
- * Bug 9881: Open popups in new tabs by default
- * Linux:
- * Bug 12103: Adding RELRO hardening back to browser binaries.
-
-Tor Browser Bundle 4.0-alpha-1 -- Aug 8 2014
- * All Platforms
- * Ticket 10935: Include the Meek Pluggable Transport (version 0.10)
- * Two modes of Meek are provided: Meek over Google and Meek over Amazon
- * Update Firefox to 24.7.0esr
- * Update Tor to 0.2.5.6-alpha
- * Update OpenSSL to 1.0.1i
- * Update NoScript to 2.6.8.36
- * Script permissions now apply based on URL bar
- * Update HTTPS Everywhere to 5.0development.0
- * Update Torbutton to 1.6.12.0
- * Bug 12221: Remove obsolete Javascript components from the toggle era
- * Bug 10819: Bind new third party isolation pref to Torbutton security UI
- * Bug 9268: Fix some window resizing corner cases with DPI and taskbar size.
- * Bug 12680: Change Torbutton URL in about dialog.
- * Bug 11472: Adjust about:tor font and logo positioning to avoid overlap
- * Bug 9531: Workaround to avoid rare hangs during New Identity
- * Update Tor Launcher to 0.2.6.2
- * Bug 11199: Improve behavior if tor exits
- * Bug 12451: Add option to hide TBB's logo
- * Bug 11193: Change "Tor Browser Bundle" to "Tor Browser"
- * Bug 11471: Ensure text fits the initial configuration dialog
- * Bug 9516: Send Tor Launcher log messages to Browser Console
- * Bug 11641: Reorganize bundle directory structure to mimic Firefox
- * Bug 10819: Create a preference to enable/disable third party isolation
- * Backported Tor Patches:
- * Bug 11200: Fix a hang during bootstrap introduced in the initial
- bug11200 patch.
- * Linux:
- * Bug 10178: Make it easier to set an alternate Tor control port and password
- * Bug 11102: Set Window Class to "Tor Browser" to aid in Desktop navigation
- * Bug 12249: Don't create PT debug files anymore
-
-Tor Browser Bundle 3.6.4 -- Aug 8 2014
- * All Platforms
- * Update Tor to 0.2.4.23
- * Update Tor launcher to 0.2.5.6
- * Bug 9516: Show Tor log in TorBrowser's Browser Console
- * Update OpenSSL to 1.0.1i
- * Backported Tor Patches:
- * Bug 11654: Properly apply the fix for malformed bug11156 log message
- * Bug 11200: Fix a hang during bootstrap introduced in the initial
- bug11200 patch.
- * Update NoScript to 2.6.8.36
- * Update Torbutton to 1.6.11.1
- * Bug 11472: Adjust about:tor font and logo positioning to avoid overlap
- * Bug 12680: Fix Torbutton about url.
-
-Tor Browser Bundle 3.6.3 -- Jul 24 2014
- * All Platforms
- * Update Firefox to 24.7.0esr
- * Update obfsproxy to 0.2.12
- * Update FTE to 0.2.17
- * Update NoScript to 2.6.8.33
- * Update HTTPS Everywhere to 3.5.3
- * Bug 12673: Update FTE bridges
- * Update Torbutton to 1.6.11.0
- * Bug 12221: Remove obsolete Javascript components from the toggle era
- * Bug 10819: Bind new third party isolation pref to Torbutton security UI
- * Bug 9268: Fix some window resizing corner cases with DPI and taskbar size.
- * Linux:
- * Bug 11102: Set Window Class to "Tor Browser" to aid in Desktop navigation
- * Bug 12249: Don't create PT debug files anymore
-
-Tor Browser Bundle 3.6.2 -- Jun 9 2014
- * All Platforms
- * Update Firefox to 24.6.0esr
- * Update OpenSSL to 1.0.1h
- * Update NoScript to 2.6.8.28
- * Update Tor to 0.2.4.22
- * Update Tor Launcher to 0.2.5.5
- * Bug 10425: Provide geoip6 file location to Tor process
- * Bug 11754: Remove untranslated locales that were dropped from Transifex
- * Bug 11772: Set Proxy Type menu correctly after restart
- * Bug 11699: Change &#160 to   in UI elements
- * Update Torbutton to 1.6.10.0
- * Bug 11510: about:tor should not report success if tor proxy is unreachable
- * Bug 11783: Avoid b.webProgress error when double-clicking on New Identity
- * Bug 11722: Add hidden pref to force remote Tor check
- * Bug 11763: Fix pref dialog double-click race that caused settings to be reset
- * Bug 11629: Support proxies with Pluggable Transports
- * Updates FTEProxy to 0.2.15
- * Updates obfsproxy to 0.2.9
- * Backported Tor Patches:
- * Bug 11654: Fix malformed log message in bug11156 patch.
- * Bug 10425: Add in Tor's geoip6 files to the bundle distribution
- * Bugs 11834 and 11835: Include Pluggable Transport documentation
- * Bug 9701: Prevent ClipBoardCache from writing to disk.
- * Bug 12146: Make the CONNECT Host header the same as the Request-URI.
- * Bug 12212: Disable deprecated webaudio API
- * Bug 11253: Turn on TLS 1.1 and 1.2.
- * Bug 11817: Don't send startup time information to Mozilla.
-
-Tor Browser Bundle 3.6.1 -- May 6 2014
- * All Platforms
- * Update HTTPS-Everywhere to 3.5.1
- * Update NoScript to 2.6.8.22
- * Bug 11658: Fix proxy configuration for non-Pluggable Transports users
- * Backport Pending Tor Patches:
- * Bug 8402: Allow Tor proxy configuration while PTs are present
- * Note: The Pluggable Transports themselves have not been updated to
- support proxy configuration yet.
-
-Tor Browser Bundle 3.6 -- Apr 29 2014
- * All Platforms
- * Update Firefox to 24.5.0esr
- * Update Tor Launcher to 0.2.5.4
- * Bug #11482: Hide bridge settings prompt if no default bridges.
- * Bug #11484: Show help button even if no default bridges.
- * Update Torbutton to 1.6.9.0
- * Bug 7439: Improve download warning dialog text.
- * Bug 11384: Completely remove hidden toggle menu item.
- * Update NoScript to 2.6.8.20
- * Update fte transport to 0.2.13
- * Backport Pending Tor Patches:
- * Bug 11156: Additional obfsproxy startup error message fixes
- * Bug 11586: Include license files for component software in Docs directory.
- * Windows and Mac:
- * Bug 9308: Prevent install path from leaking in some JS exceptions
- on Mac and Windows builds
-
-Tor Browser Bundle 3.6-beta-2 -- Apr 8 2014
- * All Platforms
- * Update OpenSSL to 1.0.1g
- * Bug 9010: Add Turkish language support.
- * Bug 9387 testing: Disable JS JIT, type inference, asmjs, and ion.
- * Update fte transport to 0.2.12
- * Update NoScript to 2.6.8.19
- * Update Torbutton to 1.6.8.1
- * Bug 11242: Fix improper "update needed" message after in-place upgrade.
- * Bug 10398: Ease translation of about:tor page elements
- * Update Tor Launcher to 0.2.5.3
- * Bug 9665: Localize Tor's unreachable bridges bootstrap error
- * Backport Pending Tor Patches:
- * Bug 9665: Report a bootstrap error if all bridges are unreachable
- * Bug 11200: Prevent spurious error message prior to enabling network.
- * Linux:
- * Bug 11190: Switch linux PT build process to python2
- * Bug 10383: Enable NIST P224 and P256 accel support for 64bit builds.
- * Windows:
- * Bug 11286: Fix fte transport launch error
-
-Tor Browser Bundle 3.5.4 -- Apr 7 2014
- * All Platforms
- * Update OpenSSL to 1.0.1g
-
-Tor Browser Bundle 3.5.3 -- Mar 19 2014
- * All Platforms
- * Update Firefox to 24.4.0esr
- * Update Torbutton to 1.6.7.0:
- * Bug 9901: Fix browser freeze due to content type sniffing
- * Bug 10611: Add Swedish (sv) to extra locales to update
- * Update NoScript to 2.6.8.17
- * Update Tor to 0.2.4.21
- * Bug 10237: Disable the media cache to prevent disk leaks for videos
- * Bug 10703: Force the default charset to avoid locale fingerprinting
- * Bug 10104: Update gitian to fix LXC build issues (for non-KVM/VT builders)
- * Linux:
- * Bug 9353: Fix keyboard input on Ubuntu 13.10
- * Bug 9896: Provide debug symbols for Tor Browser binary
- * Bug 10472: Pass arguments to the browser from Linux startup script
-
-Tor Browser Bundle 3.6-beta-1 -- Mar 17 2014
- * All Platforms
- * Update Firefox to 24.4.0esr
- * Include Pluggable Transports by default:
- * Obfsproxy3 0.2.4, Flashproxy 1.6, and FTE 0.2.6 are now included
- * Update Tor Launcher to 0.2.5.1
- * Bug 10418: Provide UI configuration for Pluggable Transports
- * Bug 10604: Allow Tor status & error messages to be translated
- * Bug 10894: Make bridge UI clear that helpdesk is a last resort for
- bridges
- * Bug 10610: Clarify wizard UI text describing obstacles/blocking
- * Bug 11074: Support Tails use case (XULRunner and optional
- customizations)
- * Update Torbutton to 1.6.7.0:
- * Bug 9901: Fix browser freeze due to content type sniffing
- * Bug 10611: Add Swedish (sv) to extra locales to update
- * Update NoScript to 2.6.8.17
- * Update Tor to 0.2.4.21
- * Backport Pending Tor Patches:
- * Bug 5018: Don't launch Pluggable Transport helpers if not in use
- * Bug 9229: Eliminate 60 second stall during bootstrap with some PTs
- * Bug 11069: Detect and report Pluggable Transport bootstrap failures
- * Bug 11156: Prevent spurious warning about missing pluggable transports
- * Bug 10237: Disable the media cache to prevent disk leaks for videos
- * Bug 10703: Force the default charset to avoid locale fingerprinting
- * Bug 10104: Update gitian to fix LXC build issues (for non-KVM/VT builders)
- * Mac:
- * Bug 4261: Use DMG instead of ZIP for Mac packages
- * Linux:
- * Bug 9353: Fix keyboard input on Ubuntu 13.10
- * Bug 9896: Provide debug symbols for Tor Browser binary
- * Bug 10472: Pass arguments to the browser from Linux startup script
-
-Tor Browser Bundle 3.5.2.1 -- Feb 14 2014
- * All Platforms
- * Bug 10895: Fix broken localized bundles
- * Windows:
- * Bug 10323: Remove unneeded gcc/libstdc++ libraries from dist
-
-Tor Browser Bundle 3.5.2 -- Feb 8 2014
- * All Platforms
- * Rebase Tor Browser to Firefox 24.3.0ESR
- * Bug 10419: Block content window connections to localhost
- * Update Torbutton to 1.6.6.0
- * Bug 10800: Prevent findbox exception and popup in New Identity
- * Bug 10640: Fix about:tor's update pointer position for RTL languages.
- * Bug 10095: Fix some cases where resolution is not a multiple of 200x100
- * Bug 10374: Clear site permissions on New Identity
- * Bug 9738: Fix for auto-maximizing on browser start
- * Bug 10682: Workaround to really disable updates for Torbutton
- * Bug 10419: Don't allow connections to localhost if Torbutton is toggled
- * Bug 10140: Move Japanese to extra locales (not part of TBB dist)
- * Bug 10687: Add Basque (eu) to extra locales (not part of TBB dist)
- * Update Tor Launcher to 0.2.4.4
- * Bug 10682: Workaround to really disable updates for Tor Launcher
- * Update NoScript to 2.6.8.13
-
-Tor Browser Bundle 3.5.1 -- Jan 22 2014
- * All Platforms
- * Bug 10447: Remove SocksListenAddress to allow multiple socks ports.
- * Bug 10464: Remove addons.mozilla.org from NoScript whitelist
- * Bug 10537: Build an Arabic version of TBB 3.5
- * Update Torbutton to 1.6.5.5
- * Bug 9486: Clear NoScript Temporary Permissions on New Identity
- * Include Arabic translations
- * Update Tor Launcher to 0.2.4.3
- * Include Arabic translations
- * Update Tor to 0.2.4.20
- * Update OpenSSL to 1.0.1f
- * Update NoScript to 2.6.8.12
- * Update HTTPS-Everywhere to 3.4.5
- * Windows
- * Bug 9259: Enable Accessibility (screen reader) support
- * Mac
- * misc: Update bundle version field in Info.plist (for MacUpdates service)
-
-Tor Browser Bundle 3.5 -- Dec 17 2013
- * All Platforms
- * Update Tor to 0.2.4.19
- * Update Tor Launcher to 0.2.4.2
- * Bug 10382: Fix a Tor Launcher hang on TBB exit
- * Update Torbutton to 1.6.5.2
- * Misc: Switch update download URL back to download-easy
-
-Tor Browser Bundle 3.5rc1 -- Dec 12 2013
- * All Platforms
- * Update Firefox to 24.2.0esr
- * Update NoScript to 2.6.8.7
- * Update HTTPS-Everywhere to 3.4.4tbb (special TBB tag)
- * Tag includes a patch to handle enabling/disabling Mixed Content Blocking
- * Bug 5060: Disable health report service
- * Bug 10367: Disable prompting about health report and Mozilla Sync
- * Misc Prefs: Disable HTTPS-Everywhere first-run tooltips
- * Misc Prefs: Disable layer acceleration to avoid crashes on Windows
- * Misc Prefs: Disable Mixed Content Blocker pending backport of Mozilla Bug 878890
- * Update Tor Launcher to 0.2.4.1
- * Bug 10147: Adblock Plus interferes w/Tor Launcher dialog
- * Bug 10201: FF ESR 24 hangs during exit on Mac OS
- * Bug 9984: Support running Tor Launcher from InstantBird
- * Misc: Support browser directory location API changes in Firefox 24
- * Update Torbutton to 1.6.5.1
- * Bug 10352: Clear FF24 Private Browsing Mode data during New Identity
- * Bug 8167: Update cache isolation for FF24 API changes
- * Bug 10201: FF ESR 24 hangs during exit on Mac OS
- * Bug 10078: Properly clear crypto tokens during New Identity on FF24
- * Bug 9454: Support changes to Private Browsing Mode and plugin APIs in FF24
- * Linux
- * Bug 10213; Use LD_LIBRARY_PATH (fixes launch issues on old Linux distros)
-
-Tor Browser Bundle 3.0rc1 -- Nov 21 2013
- * All Platforms:
- * Update Firefox to 17.0.11esr
- * Update Tor to 0.2.4.18-rc
- * Remove unsupported PDF.JS addon from the bundle
- * Bug #7277: TBB's Tor client will now omit its timestamp in the TLS handshake.
- * Update Torbutton to 1.6.4.1
- * Bug #10002: Make the TBB3.0 blog tag our update download URL for now
- * Windows
- * Bug #10102: Patch binutils to remove nondeterministic bytes in compiled binaries
- * Linux
- * Bug #10049: Fix architecture check to work from outside TBB's directory
- * Bug #10126: Remove libz and firefox-bin, and strip unstripped binaries
- * Misc: Disable Firefox updater during compile time (in addition to pref)
-
-Tor Browser Bundle 3.0beta1 -- Oct 31 2013
- * All Platforms:
- * Update Firefox to 17.0.10esr
- * Update NoScript to 2.6.8.2
- * Update HTTPS-Everywhere to 3.4.2
- * Bug #9114: Reorganize the bundle directory structure to ease future
- autoupdates
- * Bug #9173: Patch Tor Browser to auto-detect profile directory if
- launched without the wrapper script.
- * Bug #9012: Hide Tor Browser infobar for missing plugins.
- * Bug #8364: Change the default entry page for the addons tab to the
- installed addons page.
- * Bug #9867: Make flash objects really be click-to-play if flash is enabled.
- * Bug #8292: Make getFirstPartyURI log+handle errors internally to simplify
- caller usage of the API
- * Bug #3661: Remove polipo and privoxy from the banned ports list.
- * misc: Fix a potential memory leak in the Image Cache isolation
- * misc: Fix a potential crash if OS theme information is ever absent
- * Update Tor-Launcher to 0.2.3.1-beta
- * Bug #9114: Handle new directory structure
- * misc: Tor Launcher now supports Thunderbird
- * Update Torbutton to 1.6.4
- * Bug #9224: Support multiple Tor socks ports for about:tor status check
- * Bug #9587: Add TBB version number to about:tor
- * Bug #9144: Workaround to handle missing translation properties
- * Windows:
- * Bug #9084: Fix startup crash on Windows XP.
- * Linux:
- * Bug #9487: Create detached debuginfo files for Linux Tor and Tor
- Browser binaries.
-
-Tor Browser Bundle 3.0alpha4 -- Sep 24 2013
- * All Platforms:
- * Bug #8751: Randomize TLS HELLO timestamp in HTTPS connections
- * Bug #9790 (workaround): Temporarily re-enable JS-Ctypes for cache
- isolation and SSL Observatory
- * Update Firefox to 17.0.9esr
- * Update Tor to 0.2.4.17-rc
- * Update NoScript to 2.6.7.1
- * Update Tor-Launcher to 0.2.2-alpha
- * Bug #9675: Provide feedback mechanism for clock-skew and other early
- startup issues
- * Bug #9445: Allow user to enter bridges with or without 'bridge' keyword
- * Bug #9593: Use UTF16 for Tor process launch to handle unicode paths.
- * misc: Detect when Tor exits and display appropriate notification
- * Update Torbutton to 1.6.2.1
- * Bug 9492: Fix Torbutton logo on OSX and Windows (and related
- initialization code)
- * Bug 8839: Disable Google/Startpage search filters using Tor-specific urls
-
-
-Tor Browser Bundle 3.0alpha3 -- Aug 01 2013
- * All Platforms:
- * Update Firefox to 17.0.8esr
- * Update Tor to 0.2.4.15-rc
- * Update HTTPS-Everywhere to 3.3.1
- * Update NoScript to 2.6.6.9
- * Improve build input fetching and authentication
- * Bug #9283: Update NoScript prefs for usability.
- * Bug #6152 (partial): Disable JSCtypes support at compile time
- * Update Torbutton to 1.6.1
- * Bug 8478: Change when window resize code fires to avoid rounding errors
- * Bug 9331: Hack an update URL for the next TBB release
- * Bug 9144: Change an aboutTor.dtd string so transifex will accept it
- * Update Tor-Launcher to 0.2.1-alpha
- * Bug #9128: Remove dependency on JSCtypes
- * Windows
- * Bug #9195: Disable download manager AV scanning (to prevent cloud
- reporting+scanning of downloaded files)
- * Mac:
- * Bug #9173 (partial): Launch firefox-bin on MacOS instead of TorBrowser.app
- (improves dock behavior).
-
-
-Tor Browser Bundle 3.0alpha2 -- June 27 2013
- * All Platforms:
- * Update Firefox to 17.0.7esr
- * Update Tor to 0.2.4.14-alpha
- * Include Tor's GeoIP file
- * This should fix custom torrc issues with country-based node
- restrictions
- * Fix several build determinism issues
- * Include ChangeLog in bundles.
- * Linux:
- * Use Ubuntu's 'hardening-wrapper' to build our Linux binaries
- * Windows:
- * Fix many crash issues by disabling Direct2D support for now.
- * Mac:
- * Bug 8987: Disable TBB's 'Saved Application State' disk records on OSX 10.7+
-
-Tor Browser Bundle 3.0alpha1 -- June 17 2013
- * All Platforms:
- * Remove Vidalia; Use the new Tor Launcher Firefox Addon instead
- * Update Torbutton to 1.6.0
- * bug 7494: Create a local home page for TBB as about:tor
- * misc: Perform a control port test of proper Tor configuration by default.
- Only use https://check.torproject.org if the control port is
- unavailable.
- * misc: Add an icon menu option for Tor Launcher's Network Settings
- * misc: Add branding string overrides (primarily controls browser name and
- homepage)
- * Update HTTPS-Everywhere to 3.2.2
- * Update NoScript to 2.6.6.6
- * Update PDF.JS to 0.8.1
- * Windows:
- * Use MinGW-w64 (via Gitian) to cross-compile the bundles from Ubuntu
- * Use TBB-Windows-Installer to guide Windows users through TBB extraction
- * Temporarily disable WebGL and Accessibility support due to minor MinGW
- issues
- * Mac:
- * Use 'Toolchain4' fork by Ray Donnelley to cross-compile the bundles from
- Ubuntu
-
-
+Tor Browser 5.5a5-hardened -- December 16 2015
+ * All Platforms
+ * Update Firefox to 38.5.0esr
+ * Update Tor to 0.2.7.6
+ * Update OpenSSL to 1.0.1q
+ * Update NoScript to 2.7
+ * Update Torbutton to 1.9.4.2
+ * Bug 16940: After update, load local change notes
+ * Bug 16990: Avoid matching '250 ' to the end of node name
+ * Bug 17565: Tor fundraising campaign donation banner
+ * Bug 17770: Fix alignments on donation banner
+ * Bug 17792: Include donation banner in some non en-US Tor Browsers
+ * Bug 17108: Polish about:tor appearance
+ * Bug 17568: Clean up tor-control-port.js
+ * Translation updates
+ * Update Tor Launcher to 0.2.8.1
+ * Bug 17344: Enumerate available language packs for language prompt
+ * Code clean-up
+ * Translation updates
+ * Bug 12516: Compile Tor Browser with -fwrapv
+ * Bug 9659: Avoid loop due to optimistic data SOCKS code (fix of #3875)
+ * Bug 15564: Isolate SharedWorkers by first-party domain
+ * Bug 16940: After update, load local change notes
+ * Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
+ * Bug 17747: Add ndnop3 as new default obfs4 bridge
+ * Bug 17009: Shift and Alt keys leak physical keyboard layout (fix of #15646)
+ * Bug 17369: Disable RC4 fallback
+ * Bug 17442: Remove custom updater certificate pinning
+ * Bug 16863: Avoid confusing error when loop.enabled is false
+ * Bug 17502: Add a preference for hiding "Open with" on download dialog
+ * Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
+ * Bug 16441: Suppress "Reset Tor Browser" prompt
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index da69f65..511ea05 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -11,14 +11,14 @@ MULTI_LINGUAL=1
VERIFY_TAGS=1
-FIREFOX_VERSION=38.4.0esr
+FIREFOX_VERSION=38.5.0esr
TORBROWSER_UPDATE_CHANNEL=hardened
TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-5.5-1-build1
-TOR_TAG=tor-0.2.7.4-rc
-TORLAUNCHER_TAG=0.2.8
-TORBUTTON_TAG=1.9.4.1
+TOR_TAG=tor-0.2.7.6
+TORLAUNCHER_TAG=0.2.8.1
+TORBUTTON_TAG=1.9.4.2
HTTPSE_TAG=5.1.1
NSIS_TAG=v0.3
ZLIB_TAG=v1.2.8
@@ -43,10 +43,10 @@ NOTOFONTS_TAG=720e34851382ee3c1ef024d8dffb68ffbfb234c2
GITIAN_TAG=tor-browser-builder-3.x-8-gpgsux
-OPENSSL_VER=1.0.1p
+OPENSSL_VER=1.0.1q
GMP_VER=5.1.3
FIREFOX_LANG_VER=$FIREFOX_VERSION
-FIREFOX_LANG_BUILD=build2
+FIREFOX_LANG_BUILD=build1
BINUTILS_VER=2.24
GCC_VER=5.2.0
PYTHON_VER=2.7.5
@@ -66,7 +66,7 @@ NOTOCJKFONT_VER=1.004
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
-NOSCRIPT_PACKAGE=noscript_security_suite-2.6.9.39-sm+fx+fn.xpi
+NOSCRIPT_PACKAGE=noscript_security_suite-2.7-sm+fx+fn.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=MacOSX10.7.sdk.tar.gz
@@ -91,13 +91,13 @@ NOTOCJKFONT_PACKAGE=NotoSansCJKsc-Regular.otf
STIXMATHFONT_PACKAGE=STIXv1.1.1-latex.zip
# Hashes for packages with weak sigs or no sigs
-OPENSSL_HASH=bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1
+OPENSSL_HASH=b3658b84e9ea606a5ded3c972a5517cd785282e7ea86b20c78aa4b773a047fb7
GMP_HASH=752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
OSXSDK_HASH=da77bb0003fcca5ea8c4e8cb2da8828ded750c54afdcac29ec6f3b46ad5e3adf
OSXSDK_OLD_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
-NOSCRIPT_HASH=dd904c6a12a8b1f6b1da48d51e4df903d7f9211ba5b3f32d7272f413a3bf548a
+NOSCRIPT_HASH=ab84fd85addd6c15f2ce1e81c58ac9f09b228f9e56703f4d938447b8a2b752ea
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
ARGPARSE_HASH=ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 7eddcac..4244d87 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -9,7 +9,7 @@ build_targets:
osx32: Darwin_x86-gcc3
osx64: Darwin_x86_64-gcc3
channels:
- hardened: 5.5a4-hardened
+ hardened: 5.5a5-hardened
release: 5.0
versions:
5.0:
@@ -23,10 +23,12 @@ versions:
osx32:
minSupportedOSVersion: 10.8
detailsURL: https://blog.torproject.org/blog/end-life-plan-tor-browser-32-bit-macs#upda…
- 5.5a4-hardened:
- platformVersion: 38.4.0
- detailsURL: https://blog.torproject.org/blog/tor-browser-55a4-hardened-released
- download_url: https://www.torproject.org/dist/torbrowser/5.5a4-hardened
+ 5.5a5-hardened:
+ platformVersion: 38.5.0
+ detailsURL: https://blog.torproject.org/blog/tor-browser-55a5-hardened-released
+ download_url: https://www.torproject.org/dist/torbrowser/5.5a5-hardened
+ incremental_from:
+ - 5.5a4-hardened
migrate_archs:
osx32: osx64
osx32:
1
0

[tor-browser/tor-browser-38.5.0esr-5.5-1] fixup! Regression tests for Bug 15564: Isolate SharedWorker by first party domain
by gk@torproject.org 14 Dec '15
by gk@torproject.org 14 Dec '15
14 Dec '15
commit 07c085d76a70e9bb0ed81fe810936f7f2f659389
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Sat Dec 12 15:22:20 2015 -0800
fixup! Regression tests for Bug 15564: Isolate SharedWorker by first party domain
Fix an error in the comment
---
dom/base/test/test_tor_bug15564.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dom/base/test/test_tor_bug15564.html b/dom/base/test/test_tor_bug15564.html
index b8f7544..ccc749e 100644
--- a/dom/base/test/test_tor_bug15564.html
+++ b/dom/base/test/test_tor_bug15564.html
@@ -98,7 +98,7 @@ let sharedWorkerTest = function* (isolationOn, domainA, domainB, child_page) {
// ## The main test
// Run a coroutine that tests various combinations of domains
-// methods, and isolation states for sharing (or not sharing) SharedWorkers.
+// and isolation states for sharing (or not sharing) SharedWorkers.
spawnTask(function* () {
let domainA = domain1;
for (let isolate of [false, true]) {
1
0
commit 16950f7e29151ca3ebb230d2237128c6882b1930
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Dec 12 21:33:10 2015 +0000
Update Changelog
---
Bundle-Data/Docs/ChangeLog.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 9d34a21..237fdf9 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -14,10 +14,10 @@ Tor Browser 5.5a5 -- December 15 2015
* Bug 17568: Clean up tor-control-port.js
* Translation updates
* Update Tor Launcher to 0.2.8.1
- * Bug 17344: enumerate available language packs for language prompt
+ * Bug 17344: Enumerate available language packs for language prompt
* Code clean-up
* Translation updates
- * Bug 9659: Avoid loop due to optimistic data socks code (fix of #3875)
+ * Bug 9659: Avoid loop due to optimistic data SOCKS code (fix of #3875)
* Bug 15564: Isolate SharedWorkers by first-party domain
* Bug 16940: After update, load local change notes
* Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
@@ -29,9 +29,9 @@ Tor Browser 5.5a5 -- December 15 2015
* Bug 17502: Add a preference for hiding "Open with" on download dialog
* Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
* Bug 16441: Suppress "Reset Tor Browser" prompt
- * Bug 17250: Fix broken Japanese fonts
* Windows
- * Bug 13819: Ship expert bundles with console
+ * Bug 13819: Ship expert bundles with console enabled
+ * Bug 17250: Fix broken Japanese fonts
* OS X
* Bug 17661: Whitelist font .Helvetica Neue DeskInterface
1
0
commit 876e23b12d044bd5c68deec7484dd7bab2e0bf75
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Dec 12 20:55:21 2015 +0000
Update changelog
---
Bundle-Data/Docs/ChangeLog.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 335417f..9d34a21 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -18,6 +18,7 @@ Tor Browser 5.5a5 -- December 15 2015
* Code clean-up
* Translation updates
* Bug 9659: Avoid loop due to optimistic data socks code (fix of #3875)
+ * Bug 15564: Isolate SharedWorkers by first-party domain
* Bug 16940: After update, load local change notes
* Bug 17759: Apply whitelist to local fonts in @font-face (fix of #13313)
* Bug 17747: Add ndnop3 as new default obfs4 bridge
@@ -28,8 +29,11 @@ Tor Browser 5.5a5 -- December 15 2015
* Bug 17502: Add a preference for hiding "Open with" on download dialog
* Bug 17446: Prevent canvas extraction by third parties (fixup of #6253)
* Bug 16441: Suppress "Reset Tor Browser" prompt
+ * Bug 17250: Fix broken Japanese fonts
* Windows
* Bug 13819: Ship expert bundles with console
+ * OS X
+ * Bug 17661: Whitelist font .Helvetica Neue DeskInterface
Tor Browser 5.5a4 -- November 3 2015
* All Platforms
1
0

[tor-browser/tor-browser-38.4.0esr-5.5-1] Bug 15564: Isolate SharedWorker by first party domain
by gk@torproject.org 12 Dec '15
by gk@torproject.org 12 Dec '15
12 Dec '15
commit 67173fc914d1fb17b942e8f7b1c9de770a21a347
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Oct 8 12:45:37 2015 -0700
Bug 15564: Isolate SharedWorker by first party domain
---
dom/workers/RuntimeService.cpp | 27 ++++++++++++++++++++-------
dom/workers/RuntimeService.h | 5 ++++-
dom/workers/WorkerPrivate.cpp | 5 +++++
dom/workers/WorkerPrivate.h | 8 ++++++++
4 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/dom/workers/RuntimeService.cpp b/dom/workers/RuntimeService.cpp
index 271c74f..4f5f363 100644
--- a/dom/workers/RuntimeService.cpp
+++ b/dom/workers/RuntimeService.cpp
@@ -64,6 +64,7 @@
#include "WorkerPrivate.h"
#include "WorkerRunnable.h"
#include "WorkerThread.h"
+#include "ThirdPartyUtil.h"
#ifdef ENABLE_TESTS
#include "BackgroundChildImpl.h"
@@ -269,11 +270,13 @@ GetWorkerPref(const nsACString& aPref,
// This function creates a key for a SharedWorker composed by "name|scriptSpec".
// If the name contains a '|', this will be replaced by '||'.
void
-GenerateSharedWorkerKey(const nsACString& aScriptSpec, const nsACString& aName,
+GenerateSharedWorkerKey(const nsACString& aScriptSpec,
+ const nsACString& aIsolationKey,
+ const nsACString& aName,
nsCString& aKey)
{
aKey.Truncate();
- aKey.SetCapacity(aScriptSpec.Length() + aName.Length() + 1);
+ aKey.SetCapacity(aScriptSpec.Length() + aName.Length() + aIsolationKey.Length() + 2);
nsACString::const_iterator start, end;
aName.BeginReading(start);
@@ -288,6 +291,9 @@ GenerateSharedWorkerKey(const nsACString& aScriptSpec, const nsACString& aName,
aKey.Append('|');
aKey.Append(aScriptSpec);
+
+ aKey.Append('|');
+ aKey.Append(aIsolationKey);
}
void
@@ -1402,13 +1408,16 @@ RuntimeService::RegisterWorker(JSContext* aCx, WorkerPrivate* aWorkerPrivate)
if (isSharedOrServiceWorker) {
const nsCString& sharedWorkerName = aWorkerPrivate->SharedWorkerName();
+ const nsCString& isolationKey = aWorkerPrivate->IsolationKey();
nsAutoCString key;
- GenerateSharedWorkerKey(sharedWorkerScriptSpec, sharedWorkerName, key);
+ GenerateSharedWorkerKey(sharedWorkerScriptSpec, isolationKey, sharedWorkerName, key);
MOZ_ASSERT(!domainInfo->mSharedWorkerInfos.Get(key));
SharedWorkerInfo* sharedWorkerInfo =
- new SharedWorkerInfo(aWorkerPrivate, sharedWorkerScriptSpec,
+ new SharedWorkerInfo(aWorkerPrivate,
+ sharedWorkerScriptSpec,
+ isolationKey,
sharedWorkerName);
domainInfo->mSharedWorkerInfos.Put(key, sharedWorkerInfo);
}
@@ -1509,7 +1518,9 @@ RuntimeService::UnregisterWorker(JSContext* aCx, WorkerPrivate* aWorkerPrivate)
if (match.mSharedWorkerInfo) {
nsAutoCString key;
GenerateSharedWorkerKey(match.mSharedWorkerInfo->mScriptSpec,
- match.mSharedWorkerInfo->mName, key);
+ match.mSharedWorkerInfo->mIsolationKey,
+ match.mSharedWorkerInfo->mName,
+ key);
domainInfo->mSharedWorkerInfos.Remove(key);
}
}
@@ -2293,7 +2304,7 @@ RuntimeService::CreateSharedWorkerFromLoadInfo(JSContext* aCx,
NS_ENSURE_SUCCESS(rv, rv);
nsAutoCString key;
- GenerateSharedWorkerKey(scriptSpec, aName, key);
+ GenerateSharedWorkerKey(scriptSpec, aLoadInfo->mIsolationKey, aName, key);
if (mDomainMap.Get(aLoadInfo->mDomain, &domainInfo) &&
domainInfo->mSharedWorkerInfos.Get(key, &sharedWorkerInfo)) {
@@ -2368,7 +2379,9 @@ RuntimeService::ForgetSharedWorker(WorkerPrivate* aWorkerPrivate)
if (match.mSharedWorkerInfo) {
nsAutoCString key;
GenerateSharedWorkerKey(match.mSharedWorkerInfo->mScriptSpec,
- match.mSharedWorkerInfo->mName, key);
+ match.mSharedWorkerInfo->mIsolationKey,
+ match.mSharedWorkerInfo->mName,
+ key);
domainInfo->mSharedWorkerInfos.Remove(key);
}
}
diff --git a/dom/workers/RuntimeService.h b/dom/workers/RuntimeService.h
index 94bff10..8036b60 100644
--- a/dom/workers/RuntimeService.h
+++ b/dom/workers/RuntimeService.h
@@ -34,12 +34,15 @@ class RuntimeService final : public nsIObserver
{
WorkerPrivate* mWorkerPrivate;
nsCString mScriptSpec;
+ nsCString mIsolationKey;
nsCString mName;
SharedWorkerInfo(WorkerPrivate* aWorkerPrivate,
const nsACString& aScriptSpec,
+ const nsACString& aIsolationKey,
const nsACString& aName)
- : mWorkerPrivate(aWorkerPrivate), mScriptSpec(aScriptSpec), mName(aName)
+ : mWorkerPrivate(aWorkerPrivate), mScriptSpec(aScriptSpec),
+ mIsolationKey(aIsolationKey), mName(aName)
{ }
};
diff --git a/dom/workers/WorkerPrivate.cpp b/dom/workers/WorkerPrivate.cpp
index 7057b3a..5d0064b 100644
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -4355,6 +4355,7 @@ WorkerPrivate::GetLoadInfo(JSContext* aCx, nsPIDOMWindow* aWindow,
}
loadInfo.mDomain = aParent->Domain();
+ loadInfo.mIsolationKey = aParent->IsolationKey();
loadInfo.mFromWindow = aParent->IsFromWindow();
loadInfo.mWindowID = aParent->WindowID();
loadInfo.mIndexedDBAllowed = aParent->IsIndexedDBAllowed();
@@ -4421,6 +4422,10 @@ WorkerPrivate::GetLoadInfo(JSContext* aCx, nsPIDOMWindow* aWindow,
loadInfo.mBaseURI = document->GetDocBaseURI();
loadInfo.mLoadGroup = document->GetDocumentLoadGroup();
+ nsCString isolationKey;
+ ThirdPartyUtil::GetFirstPartyHost(document, isolationKey);
+ loadInfo.mIsolationKey = isolationKey;
+
// Use the document's NodePrincipal as our principal if we're not being
// called from chrome.
if (!loadInfo.mPrincipal) {
diff --git a/dom/workers/WorkerPrivate.h b/dom/workers/WorkerPrivate.h
index a684e6d..a84407c 100644
--- a/dom/workers/WorkerPrivate.h
+++ b/dom/workers/WorkerPrivate.h
@@ -169,6 +169,7 @@ public:
nsAutoPtr<PrincipalInfo> mPrincipalInfo;
nsCString mDomain;
+ nsCString mIsolationKey;
uint64_t mWindowID;
@@ -218,6 +219,7 @@ public:
mPrincipalInfo = aOther.mPrincipalInfo.forget();
mDomain = aOther.mDomain;
+ mIsolationKey = aOther.mIsolationKey;
mWindowID = aOther.mWindowID;
mFromWindow = aOther.mFromWindow;
mEvalAllowed = aOther.mEvalAllowed;
@@ -532,6 +534,12 @@ public:
return mLoadInfo.mDomain;
}
+ const nsCString&
+ IsolationKey() const
+ {
+ return mLoadInfo.mIsolationKey;
+ }
+
bool
IsFromWindow() const
{
1
0

[tor-browser/tor-browser-38.4.0esr-5.5-1] fixup! Regression tests for Bug 15564: Isolate SharedWorker by first party domain
by gk@torproject.org 12 Dec '15
by gk@torproject.org 12 Dec '15
12 Dec '15
commit 69f1279b009afc2625bb6d5038fc1fd90cf56b14
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Dec 12 20:33:08 2015 +0000
fixup! Regression tests for Bug 15564: Isolate SharedWorker by first party domain
---
dom/base/test/test_tor_bug15564.html | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/dom/base/test/test_tor_bug15564.html b/dom/base/test/test_tor_bug15564.html
index 3609616..b8f7544 100644
--- a/dom/base/test/test_tor_bug15564.html
+++ b/dom/base/test/test_tor_bug15564.html
@@ -38,7 +38,7 @@ let domain1 = "http://example.com",
// parent page should then open a `child` iframe. Post an
// `input` message to the child. Returns [tab, response].
let tabIO = function* (domain, child, input) {
- // Open a new tab with a parent page at the given (first party) domain.
+ // Open a new tab with a parent page at the given (first-party) domain.
tab = window.open(domain + path + "bug15502_tab.html", "_blank");
// Wait for the parent page to report that it has completed loading.
yield receiveMessage(tab); // ready message
@@ -64,15 +64,15 @@ let tabIO = function* (domain, child, input) {
// __sharedWorkerTest(isolationOn, domainA, domainB, childPage)__.
// Run a test where we set the pref "privacy.thirdparty.isolate" to on or off,
-// and then create a shared worker under first party `domainA`, using the page `child_page`,
-// and then a matching SharedWorker under first party `domainB`, and see if they match.
+// and then create a SharedWorker under first-party `domainA`, using the page `child_page`,
+// and then a matching SharedWorker under first-party `domainB`, and see if they match.
let sharedWorkerTest = function* (isolationOn, domainA, domainB, child_page) {
// Set the pref to reflect whether we want isolation on or off.
// 2 means always on; 0 means always off.
yield setPref("privacy.thirdparty.isolate", isolationOn ? 2 : 0);
- // Open two tabs with parent pages embedding child iframes. The parent (first party)
+ // Open two tabs with parent pages embedding child iframes. The parent (first-party)
// domains are set to domainA and domainB (which may be the same or different).
- // The child page always has origin example.org, but gets its first party domain
+ // The child page always has origin example.org, but gets its first-party domain
// from the parent page. Report results: are child pages able to share information?
let input = isolationOn + "|" + domainA + "|" + domainB,
[tabA, firstResult] = yield tabIO(domainA, child_page, input),
@@ -83,11 +83,11 @@ let sharedWorkerTest = function* (isolationOn, domainA, domainB, child_page) {
// If the child pages both report the same random number, then they have shared
// that number via a SharedWorker. Otherwise sharing was denied.
if (isolationOn && domainA !== domainB) {
- // The isolation pref is enabled and first party domains of the two child pages
+ // The isolation pref is enabled and first-party domains of the two child pages
// are different, so sharing should have been prevented.
ok(firstResult !== secondResult, description + " Deny sharing SharedWorker");
} else {
- // The isolation pref is disable, or the first party domain is the same for
+ // The isolation pref is disabled, or the first-party domain is the same for
// both child pages, so the secret data should have been shared.
ok(firstResult === secondResult, description + " Allow sharing SharedWorker");
}
@@ -103,8 +103,8 @@ spawnTask(function* () {
let domainA = domain1;
for (let isolate of [false, true]) {
for (let domainB of [domain1, domain2]) {
- // For the given isolation state, and a pair of first party domains
- // (which may or not be different), test if secret data can be
+ // For the given isolation state, and a pair of first-party domains
+ // (which may or may not be different), test if secret data can be
// shared via a SharedWorker, and if that matches the intended behavior.
// Here domainA is always domain1, and domainB is either
// domain1 or domain2.
1
0

[tor-browser/tor-browser-38.4.0esr-5.5-1] Regression tests for Bug 15564: Isolate SharedWorker by first party domain
by gk@torproject.org 12 Dec '15
by gk@torproject.org 12 Dec '15
12 Dec '15
commit 2c8a18f3f6ccd1a1db86b74b7bfca715890c1ed4
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Thu Oct 8 16:13:59 2015 -0700
Regression tests for Bug 15564: Isolate SharedWorker by first party domain
---
dom/base/test/bug15564_child_page.html | 29 ++++++++
dom/base/test/bug15564_sharedworker.js | 7 ++
dom/base/test/mochitest.ini | 3 +
dom/base/test/test_tor_bug15564.html | 120 ++++++++++++++++++++++++++++++++
4 files changed, 159 insertions(+)
diff --git a/dom/base/test/bug15564_child_page.html b/dom/base/test/bug15564_child_page.html
new file mode 100644
index 0000000..e84024e
--- /dev/null
+++ b/dom/base/test/bug15564_child_page.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugs.torproject.org/15564
+-->
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <title>Page SharedWorker creator for Tor Browser Bug 15564</title>
+ <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+ <script type="text/javascript;version=1.7" src="bug15502_utils.js"></script>
+</head>
+<body>
+<div id="display" style="white-space:pre; font-family:monospace; display:inline;"></div>
+
+<script type="text/javascript;version=1.7">
+
+spawnTask(function* () {
+ sendMessage(window.parent, "ready");
+ let message = yield receiveMessage(window.parent),
+ worker = new SharedWorker("bug15564_sharedworker.js", message);
+ worker.port.onmessage = function (e) {
+ document.getElementById("display").innerHTML = e.data;
+ sendMessage(window.parent, e.data);
+ }
+});
+
+</script>
+</body>
+</html>
diff --git a/dom/base/test/bug15564_sharedworker.js b/dom/base/test/bug15564_sharedworker.js
new file mode 100644
index 0000000..56cbc2c
--- /dev/null
+++ b/dom/base/test/bug15564_sharedworker.js
@@ -0,0 +1,7 @@
+self.randomValue = Math.random();
+
+onconnect = function (e) {
+ var port = e.ports[0];
+ port.postMessage(self.randomValue);
+ port.start();
+};
diff --git a/dom/base/test/mochitest.ini b/dom/base/test/mochitest.ini
index 6a8c334..e8812fb 100644
--- a/dom/base/test/mochitest.ini
+++ b/dom/base/test/mochitest.ini
@@ -33,6 +33,8 @@ support-files =
bug15502_worker_deblobify.html
bug15703_page_create.html
bug15703_page_retrieve.html
+ bug15564_child_page.html
+ bug15564_sharedworker.js
bug282547.sjs
bug298064-subframe.html
bug313646.txt
@@ -738,6 +740,7 @@ skip-if = toolkit == 'android' || e10s #RANDOM
[test_textnode_split_in_selection.html]
[test_title.html]
[test_tor_bug15502.html]
+[test_tor_bug15564.html]
[test_tor_bug15703.html]
[test_tor_bug17207.html]
[test_treewalker_nextsibling.xml]
diff --git a/dom/base/test/test_tor_bug15564.html b/dom/base/test/test_tor_bug15564.html
new file mode 100644
index 0000000..3609616
--- /dev/null
+++ b/dom/base/test/test_tor_bug15564.html
@@ -0,0 +1,120 @@
+<!DOCTYPE HTML>
+<html>
+<!--
+https://bugs.torproject.org/15564
+-->
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=utf-8">
+ <title>Test for Tor Browser Bug 15564</title>
+ <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+ <script type="text/javascript;version=1.7" src="bug15502_utils.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+<p id="display"></p>
+<div id="content"></div>
+
+<script class="testbody" type="application/javascript;version=1.7">
+SimpleTest.waitForExplicitFinish();
+
+// __setPref(key, value)__.
+// Set a pref value asynchronously, returning a promise that resolves
+// when it succeeds.
+let setPref = function* (key, value) {
+ return new Promise(function(resolve, reject) {
+ SpecialPowers.pushPrefEnv({"set": [[key, value]]}, resolve);
+ });
+};
+
+// ## Testing constants
+let domain1 = "http://example.com",
+ domain2 = "http://example.net",
+ path = "/tests/dom/base/test/",
+ child_page = "bug15564_child_page.html";
+
+// __tabIO(domain, child, input)__.
+// Open a parent page at the given `domain`, in a new tab. The
+// parent page should then open a `child` iframe. Post an
+// `input` message to the child. Returns [tab, response].
+let tabIO = function* (domain, child, input) {
+ // Open a new tab with a parent page at the given (first party) domain.
+ tab = window.open(domain + path + "bug15502_tab.html", "_blank");
+ // Wait for the parent page to report that it has completed loading.
+ yield receiveMessage(tab); // ready message
+ // Send a message to the parent page, with a URL for the child page.
+ // The first-party page will load the child page in an iframe.
+ // (Note that every child page always has the same origin, example.org,
+ // but its first-party domain is inherited from the parent page.)
+ sendMessage(tab, "http://example.org" + path + child);
+ // Wait for the child page to report that it has finished loading,
+ // in a message forwarded by the parent page.
+ yield receiveMessage(tab); // ready message
+ // Send the input message to the tab's parent page, which will forward
+ // the message to the child page.
+ sendMessage(tab, input);
+ // The child page will attempt to read a secret random number via a
+ // SharedWorker. If it is unable to find such a number, it
+ // generates a new random number, posts it to the SharedWorker,
+ // and also posts it back to us.
+ // Wait for a message containing the number from the child page,
+ // forwarded by the parent page. Return the tab and the response.
+ return [tab, yield receiveMessage(tab)];
+};
+
+// __sharedWorkerTest(isolationOn, domainA, domainB, childPage)__.
+// Run a test where we set the pref "privacy.thirdparty.isolate" to on or off,
+// and then create a shared worker under first party `domainA`, using the page `child_page`,
+// and then a matching SharedWorker under first party `domainB`, and see if they match.
+let sharedWorkerTest = function* (isolationOn, domainA, domainB, child_page) {
+ // Set the pref to reflect whether we want isolation on or off.
+ // 2 means always on; 0 means always off.
+ yield setPref("privacy.thirdparty.isolate", isolationOn ? 2 : 0);
+ // Open two tabs with parent pages embedding child iframes. The parent (first party)
+ // domains are set to domainA and domainB (which may be the same or different).
+ // The child page always has origin example.org, but gets its first party domain
+ // from the parent page. Report results: are child pages able to share information?
+ let input = isolationOn + "|" + domainA + "|" + domainB,
+ [tabA, firstResult] = yield tabIO(domainA, child_page, input),
+ [tabB, secondResult] = yield tabIO(domainB, child_page, input),
+ description = domainA + ":" + child_page + "->" +
+ domainB + ":" + child_page +
+ ", isolation " + (isolationOn ? "on." : "off.");
+ // If the child pages both report the same random number, then they have shared
+ // that number via a SharedWorker. Otherwise sharing was denied.
+ if (isolationOn && domainA !== domainB) {
+ // The isolation pref is enabled and first party domains of the two child pages
+ // are different, so sharing should have been prevented.
+ ok(firstResult !== secondResult, description + " Deny sharing SharedWorker");
+ } else {
+ // The isolation pref is disable, or the first party domain is the same for
+ // both child pages, so the secret data should have been shared.
+ ok(firstResult === secondResult, description + " Allow sharing SharedWorker");
+ }
+ // Clean up tabs now that this test has finished.
+ tabA.close();
+ tabB.close();
+};
+
+// ## The main test
+// Run a coroutine that tests various combinations of domains
+// methods, and isolation states for sharing (or not sharing) SharedWorkers.
+spawnTask(function* () {
+ let domainA = domain1;
+ for (let isolate of [false, true]) {
+ for (let domainB of [domain1, domain2]) {
+ // For the given isolation state, and a pair of first party domains
+ // (which may or not be different), test if secret data can be
+ // shared via a SharedWorker, and if that matches the intended behavior.
+ // Here domainA is always domain1, and domainB is either
+ // domain1 or domain2.
+ yield sharedWorkerTest(isolate, domainA, domainB, child_page);
+ }
+ }
+ SimpleTest.finish();
+});
+
+</script>
+
+</body>
+</html>
1
0