tor-commits
Threads by month
- ----- 2025 -----
- 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
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
February 2019
- 16 participants
- 1788 discussions

[tor/release-0.4.0] test/shared-random: Stop leaking shared random state in the unit tests
by nickm@torproject.org 27 Feb '19
by nickm@torproject.org 27 Feb '19
27 Feb '19
commit 4d9eb4dd0e67190f8e3bf5300e85611d8605400c
Author: teor <teor(a)torproject.org>
Date: Tue Feb 26 22:14:30 2019 +1000
test/shared-random: Stop leaking shared random state in the unit tests
Stop leaking parts of the shared random state in the shared-random unit
tests.
Fixes bug 29599; bugfix on 0.2.9.1-alpha.
---
changes/bug29599 | 3 +++
src/test/test_shared_random.c | 5 +++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/changes/bug29599 b/changes/bug29599
new file mode 100644
index 000000000..14e2f5d07
--- /dev/null
+++ b/changes/bug29599
@@ -0,0 +1,3 @@
+ o Minor bugfixes (memory management, testing):
+ - Stop leaking parts of the shared random state in the shared-random unit
+ tests. Fixes bug 29599; bugfix on 0.2.9.1-alpha.
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index 6a8c1abaf..cebe772d9 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -594,8 +594,8 @@ test_vote(void *arg)
}
done:
- sr_commit_free(our_commit);
UNMOCK(trusteddirserver_get_by_v3_auth_digest);
+ sr_state_free();
}
static const char *sr_state_str = "Version 1\n"
@@ -829,6 +829,7 @@ test_sr_compute_srv(void *arg)
done:
UNMOCK(trusteddirserver_get_by_v3_auth_digest);
+ sr_state_free();
}
/** Return a minimal vote document with a current SRV value set to
@@ -1094,7 +1095,7 @@ test_state_transition(void *arg)
}
done:
- return;
+ sr_state_free();
}
static void
1
0

[tor/release-0.4.0] test/shared-random: use sr_state_free_all() rather than sr_state_free()
by nickm@torproject.org 27 Feb '19
by nickm@torproject.org 27 Feb '19
27 Feb '19
commit d4b7975ce70fc93671136445c95c2009408cfe70
Author: teor <teor(a)torproject.org>
Date: Wed Feb 27 14:57:35 2019 +1000
test/shared-random: use sr_state_free_all() rather than sr_state_free()
sr_state_free() was renamed to sr_state_free_all() between 0.2.9 and 0.3.3.
Part of 29599.
---
src/test/test_shared_random.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
index 228397641..2f762dc90 100644
--- a/src/test/test_shared_random.c
+++ b/src/test/test_shared_random.c
@@ -687,7 +687,7 @@ test_vote(void *arg)
done:
UNMOCK(trusteddirserver_get_by_v3_auth_digest);
- sr_state_free();
+ sr_state_free_all();
}
static const char *sr_state_str = "Version 1\n"
@@ -921,7 +921,7 @@ test_sr_compute_srv(void *arg)
done:
UNMOCK(trusteddirserver_get_by_v3_auth_digest);
- sr_state_free();
+ sr_state_free_all();
}
/** Return a minimal vote document with a current SRV value set to
@@ -1187,7 +1187,7 @@ test_state_transition(void *arg)
}
done:
- sr_state_free();
+ sr_state_free_all();
}
static void
1
0
commit 1c48c0bc62bf7bceabd75a51357fd637c5c4d57a
Author: hiro <hiro(a)torproject.org>
Date: Wed Feb 27 15:08:50 2019 +0100
Fix some formatting
---
.../text/contents.lr | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
index 5a9f490..b1dcd0c 100644
--- a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
+++ b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
@@ -47,33 +47,44 @@ Learn more about OnionShare and its new features: https://blog.torproject.org/ne
## New Releases ##
Tor Browser 8.0.6
+
The main change in this new release is the update of Firefox to 60.5.1esr. Full changelog: https://blog.torproject.org/new-release-tor-browser-806
Tor Browser 8.5a8
+
The main change in this new release is the update of Firefox to 60.5.1esr, fixing some vulnerabilities in the Skia library. Full changelog: https://blog.torproject.org/new-release-tor-browser-85a8
Tor 0.4.0.2-alpha, 0.3.5.8, 0.3.4.11, and 0.3.3.12
+
These new source code releases all fix TROVE-2019-001. Full changelog: https://blog.torproject.org/new-releases-tor-0402-alpha-0358-03411-and-03312
## Upcoming Events with Tor ##
Nullcon. Goa, India. 1-3 March, 2019. https://blog.torproject.org/events/nullcon-goa
+
LibrePlanet. Boston, USA. 23-24 March, 2019. https://blog.torproject.org/events/libreplanet-boston
+
KNOW Conference. Las Vegas, USA. 24-27 March, 2019. https://blog.torproject.org/events/know-2019-vegas-0
+
Internet Freedom Festival. Valencia, Spain. 1-5 April, 2019. https://blog.torproject.org/events/internet-freedom-festival-valencia
+
## Join Our Community ##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
Learn about each of our teams and start collaborating: https://trac.torproject.org/projects/tor/wiki/WikiStart#Teams
-Donate to help keep Tor fast, strong, and secure. https://donate.torproject.org
+Donate to help keep Tor fast, strong, and secure.
+
+https://donate.torproject.org
--
The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open-source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.
Twitter: https://twitter.com/torproject
+
Facebook: https://facebook.com/torproject
+
Instagram: https://instagram.com/torproject
1
0
commit db1d618980283c674b7254a687f0022285d4d8a4
Author: hiro <hiro(a)torproject.org>
Date: Wed Feb 27 15:07:15 2019 +0100
Use markdown formats
---
.../text/contents.lr | 14 +++++++-------
.../text/contents.lr | 14 +++++++-------
content/archive/expect-more-from-tor/text/contents.lr | 2 +-
.../text/contents.lr | 12 ++++++------
.../text/contents.lr | 4 ++--
.../text/contents.lr | 10 +++++-----
.../text/contents.lr | 10 +++++-----
.../text/contents.lr | 12 ++++++------
.../text/contents.lr | 16 ++++++++--------
.../text/contents.lr | 14 +++++++-------
.../text/contents.lr | 2 +-
.../text/contents.lr | 10 +++++-----
.../we-gave-tor-browser-ux-overhaul/text/contents.lr | 10 +++++-----
13 files changed, 65 insertions(+), 65 deletions(-)
diff --git a/content/archive/domain-fronting-relay-help-user-needs-new-interns-events/text/contents.lr b/content/archive/domain-fronting-relay-help-user-needs-new-interns-events/text/contents.lr
index 8eeb09a..1bd9897 100644
--- a/content/archive/domain-fronting-relay-help-user-needs-new-interns-events/text/contents.lr
+++ b/content/archive/domain-fronting-relay-help-user-needs-new-interns-events/text/contents.lr
@@ -10,7 +10,7 @@ title: Domain Fronting, Relay Help, User Needs, New Interns, Events
---
body:
-// Domain Fronting Is Critical to the Open Web //
+## Domain Fronting Is Critical to the Open Web##
Last month, Amazon and Google have both announced they’re pulling the plug on domain fronting, a crucial tool which helps our most vulnerable users get access to Tor when their countries don’t allow it. Users of Signal and Telegram are also affected by this block, and Access Now identified approximately a dozen “human rights-enabling technologies” which had relied on Google for this purpose: https://www.accessnow.org/google-ends-domain-fronting-a-crucial-way-for-too…
@@ -24,23 +24,23 @@ For the time being, we are shifting to Microsoft’s Azure cloud. But we’ve he
Unfortunately, it doesn’t look like there is a fast fix. We were not given advance notice of these changes, so we are thinking hard on potential solutions to ensure our friends living in repressive regimes around the world can continue to access the open web.
-// Get Help Running Your Relay From Our New Advocate //
+## Get Help Running Your Relay From Our New Advocate##
Thousands of relays make up the roots of the Tor network, and the volunteers who run them are indispensable, donating their time, infrastructure, and technical know-how to help millions of people around the world, including activists and journalists, communicate privately and securely.
Over the years, the Tor team saw there was a need for greater support of the relay operator community and heard concerns about how to better meet their needs. We now have a Relay Advocate whose job will be improving the health and happiness of the relay operator community, expanding the community, and helping improve bonds between operators. Meet Colin (Phoul) and find out what he'll be up to: https://blog.torproject.org/get-help-running-your-relay-our-new-advocate
-// Tor + Tails UX: Identifying User Needs at CryptoRave 2018 //
+## Tor + Tails UX: Identifying User Needs at CryptoRave 2018##
This month during the geek CryptoRave in São Paulo, we invited Tails and Tor users to join a user needs session. We love to run sessions with groups of similar users so we can focus on their unique needs and experiences. Users of Tor and Tails have the common objective: they are looking to use private and secure tools, and their safety could be a concern.
We like to envision our community of users ultimately making the tools we build. UX is about relationships. We need to understand our users' relationship to our software. And in order to do that, we need a close relationship with our users. Find out what we're considering to address user needs we identified: https://blog.torproject.org/tor-tails-ux-identifying-user-needs-cryptorave-…
-// Meet the Tor Summer of Privacy & Outreachy Interns //
+## Meet the Tor Summer of Privacy & Outreachy Interns##
We have new contributors joining the Tor Project who come to us through two paid internship programs, Tor Summer of Privacy and Outreachy, an internship program for underrepresented groups in tech. Meet the interns and find out a few of the things they’ll be working on: blog.torproject.org/meet-tor-summer-privacy-and-outreachy-interns
-// New Releases //
+## New Releases##
Tor 0.3.3.6 This is the first stable release in the 0.3.3 series. It backports several important fixes from the 0.3.4.1-alpha. The Tor 0.3.3 series includes controller support and other improvements for v3 onion services, official support for embedding Tor within other applications, and our first non-trivial module written in the Rust programming language. (Rust is still not enabled by default when building Tor.) And as usual, there are numerous other smaller bugfixes, features, and improvements. Full changelog: https://blog.torproject.org/tor-0336-released-new-stable-series
@@ -48,7 +48,7 @@ Tor Browser 8.0a7 This release features important security updates to Firefox an
Tor Browser 7.5.4 This release updates Firefox to 52.8.0esr, HTTPS Everywhere to 2018.4.11, and NoScript to 5.1.8.5. In addition, we exempt .onion domains from mixed content warnings, fixed a fingerprinting issue and an issue with localized content. Full changelog: https://blog.torproject.org/tor-browser-754-released
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
Mozilla All-Hands. San Francisco, USA. June 11-15, 2018. https://blog.torproject.org/events/mozilla-all-hands-san-fran
@@ -58,7 +58,7 @@ The First Amendment for the 21st Century Pittsburgh, USA. June 21-22, 2018. http
The 18th Privacy Enhancing Technologies Symposium (PETS). Barcelona, Spain. July 24-27, 2018. https://petsymposium.org/2018/index.php
-// Join Our Community //
+## Join Our Community##
Getting involved with Tor is easy: you can help us make the network faster and more decentralized by running a relay. https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/ed-search-relay-guide-onions-for-anti-corruption-internships-events/text/contents.lr b/content/archive/ed-search-relay-guide-onions-for-anti-corruption-internships-events/text/contents.lr
index 987aec2..091d01b 100644
--- a/content/archive/ed-search-relay-guide-onions-for-anti-corruption-internships-events/text/contents.lr
+++ b/content/archive/ed-search-relay-guide-onions-for-anti-corruption-internships-events/text/contents.lr
@@ -10,7 +10,7 @@ title: ED Search, Relay Guide, Onions for Anti-Corruption, Internships, Events
---
body:
-// We've Launched a Search for Our Next Executive Director! //
+## We've Launched a Search for Our Next Executive Director!##
We are going to miss her, but Shari Steele, our current Executive Director, is set to give retirement a second try at the end of 2018. After 15 years as the Executive Director of the Electronic Frontier Foundation, Shari was brought on in December 2015 to make the Tor Project more operationally sound.
@@ -20,19 +20,19 @@ Around 35 engineers and operational support people plus many volunteers all over
Potential candidates can learn more about the position at the job page: https://www.torproject.org/about/jobs-execdirector.html
-// Our New Guide Makes Running a Relay Easier Than Ever //
+## Our New Guide Makes Running a Relay Easier Than Ever##
Have you considered running a relay, but didn't know where to start? Perhaps you're just looking for a way to help Tor, but you've always thought that running a relay was too complicated or technical for you and the documentation seemed daunting.
We're here to tell you that you can become one of the many thousands of relay operators powering the Tor network, if you have some basic command-line experience. Learn more and get started: https://blog.torproject.org/new-guide-running-tor-relay
-// Italian Anti-Corruption Agency (ANAC) Adopts Onion Services //
+## Italian Anti-Corruption Agency (ANAC) Adopts Onion Services##
ANAC software is based on a customized version of GlobaLeaks, a whistleblowing platform by the Hermes Center that integrates Tor natively. GlobaLeaks is expected to be redistributed to all Italian public agencies (~20.000 in total) to comply with Law 179/2017 and in line with the country’s recent strategic commitment to open-source software and the reuse of code.
Given that Tor is the world’s strongest internet anonymity tool, we expect to see usage of onion services for secure communication systems across all sectors continue to gain traction. Read more about laws governing whistleblowing and anti-corruption compliance and how Tor can help: https://blog.torproject.org/italian-anti-corruption-authority-anac-adopts-o…
-// Tor + Outreachy: Internships for Underrepresented People in Tech //
+## Tor + Outreachy: Internships for Underrepresented People in Tech##
The Tor Project has partnered with the Outreachy internship program, and we’ve got two internship slots for members of groups traditionally underrepresented in technology.
@@ -40,11 +40,11 @@ We’re committed to inclusion in all facets of Tor development, and having a di
This round, we are looking for a User Advocate and a Documentation Editor. Applications are due March 22. Learn more about how to get started: https://blog.torproject.org/tor-outreachy-internships-underrepresented-peop…
-// Tor Browser 8.0a2 is Released //
+## Tor Browser 8.0a2 is Released##
The new release includes Tor 0.3.3.2-alpha, plus, we updated HTTPS Everywhere to 2018.1.29, NoScript to 5.1.8.4, and meek to 0.29. See the full changelog: blog.torproject.org/tor-browser-80a2-released
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
Nullcon with Amogh: https://nullcon.net Goa, India March 22, 2018
@@ -52,7 +52,7 @@ LibrePlanet with many Tor folks: https://www.libreplanet.org/2018/ Cambridge, MA
Texas Library Association Conference with Alison Dallas, TX April 3, 2018
-// Donate // https://donate.torproject.org
+## Donate ## https://donate.torproject.org
The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open-source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.
diff --git a/content/archive/expect-more-from-tor/text/contents.lr b/content/archive/expect-more-from-tor/text/contents.lr
index 0f2938a..73b9ea4 100644
--- a/content/archive/expect-more-from-tor/text/contents.lr
+++ b/content/archive/expect-more-from-tor/text/contents.lr
@@ -44,7 +44,7 @@ These developments, plus the reality of threats everyone faces online, make 2019
Find out what you can expect from us this year: https://blog.torproject.org/expect-more-tor-2019
-## Tor Browser at TPL: Defending Intellectual Freedom, and Winning Awards Doing So //
+## Tor Browser at TPL: Defending Intellectual Freedom, and Winning Awards Doing So##
Guest post by Jonathon Hodge, Digital Literacy Service Lead, Toronto Public Library
diff --git a/content/archive/invasive-data-tor-ecosystem-localization-lfi-new-releases/text/contents.lr b/content/archive/invasive-data-tor-ecosystem-localization-lfi-new-releases/text/contents.lr
index d70bb60..571357f 100644
--- a/content/archive/invasive-data-tor-ecosystem-localization-lfi-new-releases/text/contents.lr
+++ b/content/archive/invasive-data-tor-ecosystem-localization-lfi-new-releases/text/contents.lr
@@ -12,13 +12,13 @@ body:
We're nearing the end of our year-end education and fundraising campaign, Strength in Numbers. Learn more about it or support our work: https://torproject.org/donate/donate-sin-tn3
-// Usable Tools Don't Need To Be Invasive //
+## Usable Tools Don't Need To Be Invasive ##
Usability is about making sure anyone, no matter their technical background, can use a tool. Usability and user experience (UX) work has gained a lot of importance in the last decade as the tech industry has grown. To improve user experience, most of the tech industry relies on analyzing their users\'92 behavioral data to drive decision making. Mechanisms for collecting this data are often invasive and performed without consent from users, who may never be told their behavior is being analyzed for this purpose. The same means used to collect behavioral data is also responsible for aiding the surveillance economy.
Tor does things differently. We refuse to collect this type of invasive data. Find out what we do instead: https://blog.torproject.org/strength-numbers-usable-tools-dont-need-be-inva…
-// An Entire Ecosystem Relies on Tor //
+## An Entire Ecosystem Relies on Tor##
If the Tor Project, the Tor network, and Tor Browser were to disappear, what would happen? Not only would millions of global, daily users lose access to Tor\'92s software, but the diverse ecosystem of privacy, security, and anti-censorship applications that rely on the Tor network would cease to function.
@@ -26,7 +26,7 @@ The same network and technologies that allow you to use the internet anonymously
Learn about the many vital anonymity and privacy applications that rely on the Tor network and technologies: https://blog.torproject.org/strength-numbers-entire-ecosystem-relies-tor
-// The Internet Freedom Movement Must Be Localized //
+## The Internet Freedom Movement Must Be Localized##
The aim of localization is much broader than just translating strings of words. To localize an application means to ensure that the application stays relevant in the local context, is understandable, and is usable.
@@ -38,11 +38,11 @@ We made big improvements this year on our mission to localize Tor software for e
Find out what's next in our mission to localize Tor tools and resources: https://blog.torproject.org/strength-numbers-internet-freedom-movement-must…
-// Library Freedom Institute Applications Are Open //
+## Library Freedom Institute Applications Are Open##
This is a one-of-a-kind opportunity for librarians who want to take their privacy advocacy to the next level. Tell your radical librarian friends to apply for LFI. Though tailored to public and community college librarians, LFI is open to librarians from all types of libraries, and it is completely free: https://libraryfreedomproject.org/lfi/
-// New Releases //
+## New Releases##
Tor 0.3.5.6-rc
This release fixes numerous small bugs in earlier versions of Tor. It is the first release candidate in the 0.3.5.x series; if no further huge bugs are found, our next release may be the stable 0.3.5.x. Full changelog: https://blog.torproject.org/new-release-tor-0356-rc
@@ -53,7 +53,7 @@ Tor Browser 8.0.4 contains updates to Tor (0.3.4.9), OpenSSL (1.0.2q) and other
Tor Browser 8.5a6
This release features important security updates to Firefox and updates OpenSSL to 1.0.2q for our desktop platforms. The most exciting news, however, compared to the alpha release early last week, comes from progress we made on our mobile builds. Tor Browser 8.5a6 is the first version that is built reproducibly for Android devices and is localized in all locales the desktop platforms support. Full changelog: https://blog.torproject.org/new-release-tor-browser-85a6
-// Join Our Community //
+## Join Our Community##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/new-board-member-internet-freedom-threats-events-new-releases/text/contents.lr b/content/archive/new-board-member-internet-freedom-threats-events-new-releases/text/contents.lr
index 8152ea6..7c12976 100644
--- a/content/archive/new-board-member-internet-freedom-threats-events-new-releases/text/contents.lr
+++ b/content/archive/new-board-member-internet-freedom-threats-events-new-releases/text/contents.lr
@@ -12,7 +12,7 @@ body:
We're in the middle of our year-end education and fundraising campaign, Strength in Numbers. Learn more about it or support our work: https://torproject.org/donate/donate-sin-tn2
-// Growing Our Board of Directors //
+## Growing Our Board of Directors##
Like most nonprofit organizations, the Tor Project relies on its Board of Directors to provide fiscal and corporate oversight to our important work. Over the past two years, the Tor Project has been focused on growing our board to reflect the diversity of cultures of people who build and use Tor.
@@ -26,7 +26,7 @@ In the coming year, we hope to continue to grow our board in number and in diver
As we challenge major threats to internet freedom around the world, there is strength in numbers -- our numbers keep us strong as we challenge those threats. And our diversity gives us the understanding to fight with compassion.
-// Internet Freedom Is on the Line //
+## Internet Freedom Is on the Line##
The Tor Project believes that everyone should have private access to an uncensored web, but digital authoritarianism is on the rise. For the 8th year in a row, internet freedom has declined around the world, including in the United States.
diff --git a/content/archive/newbie-reflections-mozilla-match-events/text/contents.lr b/content/archive/newbie-reflections-mozilla-match-events/text/contents.lr
index 52f8cf8..145c32c 100644
--- a/content/archive/newbie-reflections-mozilla-match-events/text/contents.lr
+++ b/content/archive/newbie-reflections-mozilla-match-events/text/contents.lr
@@ -10,7 +10,7 @@ title: Newbie Reflections, Mozilla's Match, Events
---
body:
-// Reflections From a Tor Meeting Newbie //
+## Reflections From a Tor Meeting Newbie ##
When I joined the Tor Project in July as Fundraising Director, I quickly learned that most questions I had about Tor'97what it does, its history, what makes up the greater ecosystem, even detailed notes from all past meetings'97can be found online. The beauty of a free and open source culture became apparent to me immediately. I learned this month at my first meeting in Mexico City that there is one aspect of Tor that cannot be encapsulated in documentation'97the people.
@@ -28,7 +28,7 @@ Everyone I met was genuinely happy to be there. Old friends and new laughed, sha
All of these values coalesce around the ultimate goal of Tor'97making the world a better place. Essential human rights cannot be achieved without private and safe access to the internet. The work we do at Tor saves lives. Meeting our Tor community in Mexico City energized me and made me proud of the small part I play in this essential work.
-// Mozilla Is Matching All Donations to Tor //
+## Mozilla Is Matching All Donations to Tor ##
We have a bold mission: to take a stand against invasive and restrictive online practices and bring privacy and freedom to internet users around the world. But we can'92t do it alone.
@@ -48,7 +48,7 @@ Donate: https://torproject.org/donate/donate-sin-tn1
Make a donation today, and you can be counted as one of the stakeholders bringing safe and private internet access to people worldwide.
-// New Releases //
+## New Releases ##
Tor Browser 8.0.3
Tor Browser 8.0.3 includes newer NoScript and HTTPS Everywhere versions. Moreover, it ships with a donation banner for our end of the year campaign and includes another round of smaller fixes for Tor Browser 8 issues on Linux systems. We also switched to a newer API for our NoScript <-> Torbutton communication, which we need for the Security Slider. Full changelog: https://blog.torproject.org/new-release-tor-browser-803
@@ -60,7 +60,7 @@ https://blog.torproject.org/new-release-tor-browser-85a4
Tor 0.3.5.3-alpha
Tor 0.3.5.3-alpha fixes several bugs, mostly from previous 0.3.5.x versions. One important fix for relays addresses a problem with rate- limiting code from back in 0.3.4.x: If the fix works out, we'll be backporting it soon.Full changelog: https://blog.torproject.org/new-release-tor-0353-alpha
-// Upcoming Events with Tor //
+## Upcoming Events with Tor ##
- Internet Freedom Hack. Brisbane. November 9-11, 2018. https://blog.torproject.org/events/internet-freedom-hack-brisbane
@@ -68,7 +68,7 @@ Tor 0.3.5.3-alpha fixes several bugs, mostly from previous 0.3.5.x versions. One
- GNU Health CON. Los Palmas, Spain. November 23-25, 2018. https://blog.torproject.org/events/gnu-health-con-los-palmas-spain
-// Join Our Community //
+## Join Our Community ##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/onionize-against-censorship-big-tor-browser-updates-volunteer-events/text/contents.lr b/content/archive/onionize-against-censorship-big-tor-browser-updates-volunteer-events/text/contents.lr
index e862604..d48a065 100644
--- a/content/archive/onionize-against-censorship-big-tor-browser-updates-volunteer-events/text/contents.lr
+++ b/content/archive/onionize-against-censorship-big-tor-browser-updates-volunteer-events/text/contents.lr
@@ -10,7 +10,7 @@ title: Onionize Against Censorship, Big Tor Browser Updates, Volunteer ❤, Even
---
body:
-// Activists & News Orgs: Onionize Your Sites Against Censorship //
+## Activists & News Orgs: Onionize Your Sites Against Censorship ##
In many countries, censorship of websites with critical information or news is commonplace. If opinions, analysis, or facts contrary to the country’s narrative are published, repressive governments can quickly silence those voices by blocking access to those websites.
@@ -34,7 +34,7 @@ Alec Muffett, a security researcher and longtime member of the Tor Community, ha
We want a free and open internet for all, so let’s onionize and build it.
-// Tor Browser has a New Launcher & Now Supports Next-Gen Onion Services //
+## Tor Browser has a New Launcher & Now Supports Next-Gen Onion Services##
The Tor Browser Team proudly announced the first stable release in the 7.5 series. This release is available from the Tor Browser Project page and also from our distribution directory.
@@ -50,7 +50,7 @@ Moved away from Gitian/tor-browser-bundle as the base of our reproducible builds
Learn more about the improvements and checkout the full changelog: https://blog.torproject.org/tor-browser-75-released
-// Volunteer Spotlights //
+## Volunteer Spotlights##
Alec Helps Companies Activate Onion Services
@@ -68,7 +68,7 @@ Setting up a relay is easy, she says. “I'd encourage anyone who has access to
DONATE NOW: donate.torproject.org
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
Explore Tor, NYC! Meetup and Q&A, NYU Tandon, February 15, 2017: https://blog.torproject.org/explore-tor-nyc-meetup-feb-15
@@ -76,7 +76,7 @@ Scholar and Feminist Conference Self-Defense Lab with Alison, Barnard College, F
LibrePlanet, Cambridge, March 24-25, 2017: https://blog.torproject.org/events/many-tor-people-cambridge-libreplanet
-// Thanks to the 3260 donors who made our end-of-year campaign such a success! //
+## Thanks to the 3260 donors who made our end-of-year campaign such a success!##
With Mozilla's generous matching grant, we raised $420,522.84 in less than three months. You can still take a stand against tracking, surveillance, and censorship. Donate to the Tor Project today, and power the digital resistance: donate.torproject.org
diff --git a/content/archive/our-next-executive-director-call-for-hotpets-talks-tor-messenger-new-releases/text/contents.lr b/content/archive/our-next-executive-director-call-for-hotpets-talks-tor-messenger-new-releases/text/contents.lr
index f59fac0..cf8b89c 100644
--- a/content/archive/our-next-executive-director-call-for-hotpets-talks-tor-messenger-new-releases/text/contents.lr
+++ b/content/archive/our-next-executive-director-call-for-hotpets-talks-tor-messenger-new-releases/text/contents.lr
@@ -10,7 +10,7 @@ title: Our Next Executive Director, Call for HotPETS Talks, Tor Messenger, New R
---
body:
-// Isabela Bagueros Will Be Our Next Executive Director //
+## Isabela Bagueros Will Be Our Next Executive Director##
Shari announced her retirement from the Tor Project at the end of February, and the search for our next Executive Director is already over. We didn't have to look far. Isabela Bagueros, current Tor Project Manager, will be our next Executive Director!
@@ -26,7 +26,7 @@ Congratulations, Isa! :D
Check out the post to read Isa's full bio: https://blog.torproject.org/announcing-tors-next-executive-director-isabela…
-// Call for Talks: HotPETS 2018 //
+## Call for Talks: HotPETS 2018##
The Workshop on Hot Topics in Privacy Enhancing Technologies (HotPETs) fosters new ideas and spirited debates on privacy. Held in conjunction with the 18th Privacy Enhancing Technologies Symposium (PETS), the 11th HotPETs will be held July 27, 2018 in Barcelona, Spain.
@@ -34,7 +34,7 @@ HotPETS is calling for engaging and informative 10-15 minute talks on hot topics
Last year there was an interesting discussion about whether a separate Tor network should be set up for safer research and another discussion around I2P. What idea, experience, lessons, or theories would you like to talk through? Find out some topics of interest and how to apply: https://blog.torproject.org/call-talks-hotpets-2018
-// Sunsetting Tor Messenger //
+## Sunsetting Tor Messenger##
In 2015, we introduced Tor Messenger, a cross-platform chat program that aimed to be secure by default by sending all of its traffic over Tor and enforcing encrypted one-to-one conversations by bundling and using OTR (Off-the-Record) messaging. The aim was to provide a chat client that supported a wide variety of transport networks like Jabber (XMPP), IRC, Google Talk, Facebook, Twitter; had an easy-to-use graphical interface; and configured most of the security and privacy settings automatically with minimal user intervention.
@@ -44,7 +44,7 @@ Eleven beta releases later, we have, sadly, decided to discontinue supporting To
We apologize for any inconvenience this may have caused. We still believe in Tor's ability to be used in a messaging app, but sadly, we don't have the resources to make it happen right now. Maybe you do?
-// New Releases //
+## New Releases##
Tor 0.3.3.5-rc This release fixes various bugs in earlier versions of Tor, including some that could affect reliability or correctness. This is the first release candidate in the 0.3.3 series. If no new bugs or regression is found, then the first stable 0.3.3 release will be nearly identical to this one. Full changelog: https://blog.torproject.org/tor-0335-rc-released
@@ -52,13 +52,13 @@ Tor Browser 8.0a6 This release includes newer versions of Tor (0.3.3.5-rc), Open
TorBirdy 0.2.4 TorBirdy is an extension for Mozilla Thunderbird that configures it to make connections over the Tor network. This release adds support for Thunderbird 58 and 59, fixes a bug in Thunderbird that leaks the installed dictionary language using the "Content-Language" header (for more information see Bug 22484), updates the Enigmail keyserver settings, and adds new translations. Full changelog: https://blog.torproject.org/torbirdy-024-released
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
RightsCon. Toronto, Canada. May 16-18, 2018: Several Tor folks will be attending and will have a booth set up for a half day on either the 16th or 17th (more info to follow on the events calendar). https://rightscon.org https://blog.torproject.org/events/month
The 18th Privacy Enhancing Technologies Symposium (PETS). Barcelona, Spain. July 24-27, 2018. https://petsymposium.org/2018/index.php
-// Join Our Community //
+## Join Our Community##
Getting involved with Tor is easy: you can help us make the network faster and more decentralized by running a relay. https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/research-tips-topics-egypt-censorship-report/text/contents.lr b/content/archive/research-tips-topics-egypt-censorship-report/text/contents.lr
index 16f25e4..497e9ef 100644
--- a/content/archive/research-tips-topics-egypt-censorship-report/text/contents.lr
+++ b/content/archive/research-tips-topics-egypt-censorship-report/text/contents.lr
@@ -10,7 +10,7 @@ title: Research Tips & Topics, Egypt Censorship Report, HOPE Vid, Events
---
body:
-// The State of Internet Censorship in Egypt //
+## The State of Internet Censorship in Egypt ##
A groundbreaking report by OONI and AFTE uncovered anomalies on Egyptian networks including censorship and the hijacking of unencrypted HTTP connections for advertising and cryptocurrency mining. Even UN sites were redirected.
@@ -20,7 +20,7 @@ Also, more than 100 news websites are blocked in Egypt, including Al Jazeera, Th
While it’s been known that Egypt has undertaken widespread censorship of websites, this is the first time a comprehensive study of the methods of censorship have been undertaken. Find out how Egypt censors: https://blog.torproject.org/egypt-internet-censorship
-// How to Do Effective and Impactful Tor Research //
+## How to Do Effective and Impactful Tor Research ##
As we mentioned in our previous post about Tor research topics, Tor greatly benefits from the research community. When researchers work closely with the design and development of deployed systems, this not only results in better research, but also better systems. For project maintainers, research that identifies vulnerabilities, creates new solutions to existing problems, and verifies proposed designs helps improve projects and make them safer for end users. TLS 1.3 is one recent example of where a symbiotic research/practitioner relationship has improved the protocol's design and safety.
@@ -32,15 +32,15 @@ We have structured this post in terms of an ordered list of goals for research.
Find out your list of goals, in order of increasing difficulty, when conducting relevant research: https://blog.torproject.org/how-do-effective-and-impactful-tor-research
-// Open Research Topics: 2018 Edition //
+## Open Research Topics: 2018 Edition##
Here we update the list of open Tor research problems, to bring focus to specific areas of research that the Tor Project thinks are necessary/useful in our efforts to upgrade and improve the Tor network and associated components and software. It is organized by topic area: network performance, network security, censorship circumvention, and application research. Each topic area provides information about current and desired work and ideas. We conclude with information about doing ethical and useful research on Tor and with suggestions on how to best ensure that this work is useful and easy for us to adopt. Check them out: https://blog.torproject.org/tors-open-research-topics-2018-edition
-// Watch The Onion Report from HOPE //
+## Watch The Onion Report from HOPE ##
Find out all about what different teams at Tor have been up to by watching The Onion Report from HOPE. Filmed July 20th in NYC with Steph, Alison, George, David, and Matt: https://livestream.com/internetsociety/hope/videos/178158095
-// New Onion Services Add-On: Vanguards //
+## New Onion Services Add-On: Vanguards##
Earlier this year, the Tor Project released its first stable Tor and Tor Browser releases with the new v3 onion service protocol. The protocol features many improvements, including longer and more secure onion addresses, service enumeration resistance, improved authentication, and upgraded cryptography.
@@ -50,7 +50,7 @@ The core Vanguards functionality ensures that all onion service circuits are res
If you want to beef up the security of your onion service, this add-on is for you: https://blog.torproject.org/announcing-vanguards-add-onion-services
-// New Releases //
+## New Releases ##
Tor 0.3.3.8
This release backports several changes from the 0.3.4.x series, including fixes for a memory leak affecting directory authorities. Full changelog: https://blog.torproject.org/tor-0338-released
@@ -61,7 +61,7 @@ This release features important security updates to Firefox and updates firefox
Tor Browser 7.5.4
This release updates Firefox to 52.8.0esr, HTTPS Everywhere to 2018.4.11, and NoScript to 5.1.8.5. In addition, we exempt .onion domains from mixed content warnings, fixed a fingerprinting issue and an issue with localized content. Full changelog: https://blog.torproject.org/tor-browser-754-released
-// Upcoming Events with Tor //
+## Upcoming Events with Tor ##
- Explore Tor, NYC! Meetup and Q&A with Isabela Bagueros. Brooklyn, USA. August 2, 2018. https://blog.torproject.org/events/explore-tor-nyc-meetup-qa-isa
@@ -75,7 +75,7 @@ This release updates Firefox to 52.8.0esr, HTTPS Everywhere to 2018.4.11, and No
- RustConf. Portland, USA. August 17, 2018. https://blog.torproject.org/events/rustconf-portland
-// Join Our Community //
+## Join Our Community ##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/text/contents.lr b/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/text/contents.lr
index 4fc028f..36a9ca3 100644
--- a/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/text/contents.lr
+++ b/content/archive/tor-browser-android-we-are-hiring-share-tor-story-open-days/text/contents.lr
@@ -11,7 +11,7 @@ title: Tor Browser for Android (alpha), We're Hiring, Share Your Tor Story, Open
---
body:
-// New Release: Tor Browser for Android (Alpha) //
+## New Release: Tor Browser for Android (Alpha) ##
Mobile browsing is on the rise around the world, and in some parts, it is commonly the only way people access the internet. In these same areas, there is often heavy surveillance and censorship online, so in the past year, we've focused on better supporting these users.
@@ -23,7 +23,7 @@ Note: For this release, you also need to install Orbot, a proxy application that
Learn about its features and try it out: https://blog.torproject.org/new-alpha-release-tor-browser-android
-// We're Hiring: Software Developer, Anti-Censorship Team //
+## We're Hiring: Software Developer, Anti-Censorship Team##
To strengthen our fight against censorship worldwide, we're forming a new Anti-Censorship Team. We need to hire a developer to help improve the user process of finding alternate routes to the Tor network when access is blocked.
@@ -31,7 +31,7 @@ Extensive experience writing and evaluating code in Python and Go is required. E
Learn more and apply: https://www.torproject.org/about/jobs-developer-anti-censorship.html.en
-// How Has Tor Helped You? We Need Your Stories //
+## How Has Tor Helped You? We Need Your Stories##
It's an understatement to say a lot has happened related to privacy and freedom online over the past seven years! Surveillance and crackdowns on free speech have increased around the world, and vast amounts of personal data have been collected and sold. Tools like Tor are needed more than ever to allow people to browse the web freely and privately.
@@ -41,7 +41,7 @@ We know these examples exist, and we reference them in our talks around the worl
https://blog.torproject.org/how-has-tor-helped-you-we-need-your-stories
-// Hack With Us in Mexico City //
+## Hack With Us in Mexico City##
Tor folks from around the world are heading out now to convene in Mexico City for one of our biannual meetings. We'll discuss the future of Tor as an organization and decide what protocols and features to focus our efforts on.
@@ -49,7 +49,7 @@ As part of this meeting, we're also having two open hack days everyone is welcom
Find out more: https://blog.torproject.org/hack-us-mexico-city-hackea-con-tor-en-mexico
-// More New Releases //
+## More New Releases##
Tor Browser 8.5a2
This alpha version contains the same bug fixes and improvements introduced in version 8.0.1. In addition we are updating Tor to 0.3.5.2-alpha, and are fixing some 8.0 issues. Full changelog: https://blog.torproject.org/new-release-tor-browser-85a2
@@ -61,7 +61,7 @@ https://blog.torproject.org/new-release-tor-browser-801
Tor 0.3.4.8 (also other stable updates: 0.2.9.17, 0.3.2.12, and 0.3.3.10)
This is the first stable release in its series; it includes compilation and portability fixes and improvements for running Tor in low-power and embedded environments, which should help performance in general. Full changelog: https://blog.torproject.org/new-release-tor-0348-also-other-stable-updates-…
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
- Tor Meetup Ciudad de M'e9xico. Mexico City. September 27, 2018. https://blog.torproject.org/events/tor-meetup-ciudad-de-mexico
@@ -69,7 +69,7 @@ This is the first stable release in its series; it includes compilation and port
- Tormenta: di'e1logos feministas para las libertades y autocuidados. Mexico City. October 4, 2018. https://blog.torproject.org/events/tormenta-dialogos-feministas-para-las-li…
-// Join Our Community //
+## Join Our Community##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
diff --git a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
index 7ffccc0..5a9f490 100644
--- a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
+++ b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
@@ -55,7 +55,7 @@ The main change in this new release is the update of Firefox to 60.5.1esr, fixin
Tor 0.4.0.2-alpha, 0.3.5.8, 0.3.4.11, and 0.3.3.12
These new source code releases all fix TROVE-2019-001. Full changelog: https://blog.torproject.org/new-releases-tor-0402-alpha-0358-03411-and-03312
-## Upcoming Events with Tor //
+## Upcoming Events with Tor ##
Nullcon. Goa, India. 1-3 March, 2019. https://blog.torproject.org/events/nullcon-goa
LibrePlanet. Boston, USA. 23-24 March, 2019. https://blog.torproject.org/events/libreplanet-boston
diff --git a/content/archive/volunteer-love-latam-nyc-meetups-upcoming-events/text/contents.lr b/content/archive/volunteer-love-latam-nyc-meetups-upcoming-events/text/contents.lr
index e30f663..4ab87be 100644
--- a/content/archive/volunteer-love-latam-nyc-meetups-upcoming-events/text/contents.lr
+++ b/content/archive/volunteer-love-latam-nyc-meetups-upcoming-events/text/contents.lr
@@ -10,7 +10,7 @@ title: Volunteer Love, LatAm & NYC Meetups + Upcoming Events
---
body:
-// We <3 Tor Volunteers! //
+## We <3 Tor Volunteers!##
Tor is a labor of love, built by a small group of committed individuals, but we’re lucky to have the support of a dedicated volunteer base who help us make Tor the strongest anonymity tool out there.
@@ -22,7 +22,7 @@ We’re grateful to Damian’s commitment to internet freedom, and for rolling u
We want to keep showing our volunteers some love, so if we don't reach out to you and you'd like to be featured in a volunteer spotlight, let Steph or Tommy know.
-// Explore Tor, NYC! A New Meetup Starting December 7 //
+## Explore Tor, NYC! A New Meetup Starting December 7##
The Tor community is vast and deep yet remains a virtual entity outside periodic physical events. In NYC on December 7, we are going to start to change that with a new meetup happening every two months: Explore Tor, NYC! Our first topic of discussion will be Running a Relay.
@@ -30,7 +30,7 @@ Current and future Tor relay operators will assemble on the 20th floor of 150 Br
We hope you'll consider running a relay, especially if you live in a part of the world where we don’t have a lot of relays yet. We'll be releasing what we want to become a comprehensive guide to running a relay in the next few weeks and look forward to your questions and feedback.
-// The Intersection of Technology, Culture, and Politics in LatAm //
+## The Intersection of Technology, Culture, and Politics in LatAm##
Last weekend, a Tor meetup was held during the Primavera Hacker festival (hacker spring), a yearly free gathering organized in Santiago de Chile around the relationships between technology, politics, and culture in every aspect of contemporary life. It's necessary and urgent to open up the discussion on the use, design, and development of technology, how it is incorporated in daily life, and to encourage the development of alternative solutions that come from the communities themselves.
@@ -40,13 +40,13 @@ Tor offers a set of tools that can help people protect themselves and challenge
The Tor meetup in Santiago, along with other meetups held in the region, is a tiny step in the effort to fill this gap. Join the Tor global south mailing list to stay tuned about other meetups and activities: https://lists.torproject.org/cgi-bin/mailman/listinfo/global-south
-// Tor is a vital tool for protecting privacy and resisting repressive censorship and surveillance around the world, and you can help us make it stronger. //
+## Tor is a vital tool for protecting privacy and resisting repressive censorship and surveillance around the world, and you can help us make it stronger.##
Mozilla is generously matching every donation up to $500,000, so now’s your chance to double your impact towards a more free and open internet for all.
DONATE NOW: donate.torproject.org
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
[Explore Tor, NYC!] Running a Relay; December 7, 2017: https://blog.torproject.org/events/running-relay-explore-tor-nyc
diff --git a/content/archive/we-gave-tor-browser-ux-overhaul/text/contents.lr b/content/archive/we-gave-tor-browser-ux-overhaul/text/contents.lr
index 51cca91..ce93044 100644
--- a/content/archive/we-gave-tor-browser-ux-overhaul/text/contents.lr
+++ b/content/archive/we-gave-tor-browser-ux-overhaul/text/contents.lr
@@ -10,7 +10,7 @@ title: We Gave Tor Browser a UX Overhaul
---
body:
-// We Gave Tor Browser a UX Overhaul //
+## We Gave Tor Browser a UX Overhaul ##
For the past year, we have been collecting feedback on how we can make Tor Browser work better for you.
@@ -35,7 +35,7 @@ Providing this many improvements for our users could only be possible with colla
Learn more about it: https://blog.torproject.org/new-alpha-release-tor-browser-android
Try it out: https://www.torproject.org/download/download-easy.html
-// Volunteer Spotlight: Sina Rabbani Helps Activists Avoid Government Censorship //
+## Volunteer Spotlight: Sina Rabbani Helps Activists Avoid Government Censorship##
Tor is a labor of love built by a small group of committed individuals. We’re grateful to have the support of a dedicated volunteer base who help us to make Tor the strongest privacy tool out there, and we’re highlighting their work in this series. We want to thank Sina Rabbani, one of the co-founders (and former CTO) of Access Now, a nonprofit dedicated to defending users’ digital rights, for his years of support to Tor and to the internet freedom movement.
@@ -47,7 +47,7 @@ Free speech is something Sina doesn’t take for granted. “I was born in a cou
Learn more about Sina's work and how he became involved with Tor: https://blog.torproject.org/volunteer-spotlight-sina-rabbani-helps-activist…
-// More New Releases //
+## More New Releases##
Tor Browser 8.0a10
Tor Browser 8.0a10 is the second alpha release based on Firefox ESR 60 and contains a number of improvements and bug fixes. It includes major updates to the user experience, and there are more to come. The stable version is slated for release next week! Full changelog: https://blog.torproject.org/new-release-tor-browser-80a10
@@ -55,14 +55,14 @@ Tor Browser 8.0a10 is the second alpha release based on Firefox ESR 60 and conta
Tor 0.3.4.7-rc
Tor 0.3.4.7-rc fixes several small compilation, portability, and correctness issues in previous versions of Tor. This version is a release candidate: if no serious bugs are found, we expect that the stable 0.3.4 release will be (almost) the same as this release. Full changelog: https://blog.torproject.org/new-release-tor-0347-rc
-// Upcoming Events with Tor //
+## Upcoming Events with Tor##
- Tor Meetup Ciudad de México. Mexico City. September 27, 2018. https://blog.torproject.org/events/tor-meetup-ciudad-de-mexico
- Tor's Open Hack Days. Mexico City. October 2-3, 2018. https://blog.torproject.org/events/tors-open-hack-days-mexico-city
-// Join Our Community //
+## Join Our Community##
Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
1
0
commit a062dc598c5efd1ae3ba8a30f0a51bdac772c565
Author: hiro <hiro(a)torproject.org>
Date: Wed Feb 27 14:57:40 2019 +0100
Add February newsletter
---
.../contents.lr | 168 +++++++++++++++++++++
.../text/contents.lr | 79 ++++++++++
2 files changed, 247 insertions(+)
diff --git a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/contents.lr b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/contents.lr
new file mode 100644
index 0000000..3ce2e6b
--- /dev/null
+++ b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/contents.lr
@@ -0,0 +1,168 @@
+_model: post
+---
+_template: newsletter.html
+---
+author: steph(a)torproject.org
+---
+pub_date: 2019-02-27
+---
+title: Tor Stories, Sharing Files Over Tor, New Releases, Events
+---
+html_body:
+
+<table align="center" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody>
+ <tr>
+ <td width="100%">
+ <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody><!-- Spacing -->
+ <tr>
+ <td height="20" width="100%"><a href="https://newsletter.torproject.org"><img alt="tor-news-logo" src="https://blog.torproject.org/sites/default/files/inline-images/tor-news-logo…" style="width: 250px; height: 75px;" /></a></td>
+ </tr>
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody>
+ <tr>
+ <td width="100%">
+ <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody><!-- /Spacing --><!-- Spacing --><!-- /Spacing --><!-- content -->
+ <tr>
+ <td style="padding:0 15px 15px 15px;">
+ <hr />
+ <h1>What is Your Tor Story?</h1>
+
+ <p><a href="https://blog.torproject.org/how-has-tor-helped-you-we-need-your-stories"><img alt="tor-people " src="https://blog.torproject.org/sites/default/files/styles/full_width/public/im…" style="width: 650px; height: 325px;" /></a></p>
+
+ <p>Last September, <a href="https://blog.torproject.org/how-has-tor-helped-you-we-need-your-stories">we asked</a> to hear stories about how Tor has helped protect people online.</p>
+
+ <p>We heard from a father protecting his kids and their friends with Tor.</p>
+
+ <blockquote>
+ <p><strong>"I am a father of two teenagers. As teenagers, they, or their friends , are bumping into issues regarding sex, drugs and social media issues and bullying. They are pretty open about many issues and so I try to be up to date with research, information and details if anything arises. I use Tor to do the research to basically avoid telling Google (and others) that my children have these issues. It would be unethical of any parent NOT to do so and expose their childrens issues to these corporations. I also encourage my children to use Tor for their research for the same reasons..."</strong></p>
+ </blockquote>
+
+ <p>We heard how Tor grants access to blocked resources online in Iran.</p>
+
+ <blockquote>
+ <p><strong>"I live in Iran and I have been using Tor for censorship circumvention. During political unrest while the government tightens grip on other censorship circumvention alternatives, Tor with obfuscation plugins remain the only solution. Tor changed my personal life in many ways. It made it possible to access information on Youtube, Twitter, Blogger and countless other sites. I am grateful of Tor project, people working on it as well as people running Tor nodes."</strong></p>
+ </blockquote>
+
+ <p>We heard from someone using Tor to research transgender issues and access a site blocked by their network.</p>
+
+ <blockquote>
+ <p><strong>"I am transgender and sometimes look thing up on Tor about that. When I was in high school I also used it to access blocked sites like the Internet Wayback Machine."</strong></p>
+ </blockquote>
+
+ <p>We heard from an activist who relies on Tor to stay safe.</p>
+
+ <blockquote>
+ <p><strong>"I'm a political activist, part of a semi-criminalized minority. In my younger years I entered the public debate openly, and as a result got harassed by government agencies. I later tried to obfuscate my identity, but I found that my government has surprisingly broad powers to track down dissidents. Only by using anonymizing means, among which Tor is key, can I get my message out without having police come to "check my papers" in the middle of the night. Tor allows me freedom to publish my message to the world without being personally persecuted for it. Being a dissident is hard enough, privacy is already heavily curtailed, so anonymized communication is a godsend."</strong></p>
+ </blockquote>
+
+ <p>What is your Tor story? Have you used Tor to curtail surveillance, circumvent censorship, conduct research, cope with an abuser, or speak up about corruption? If any of these apply to you or if you have another story to share, <a href="https://blog.torproject.org/how-has-tor-helped-you-send-us-your-story">please let us know</a>. Because of our deep commitment to protect your privacy, we won’t know your story unless you tell us. Your story can help us make Tor better for you and other people around the world who need it most.</p>
+
+ <hr />
+ <h1>Share Files Over Tor with OnionShare 2</h1>
+
+ <p><a href="https://blog.torproject.org/new-release-onionshare-2"><img alt="onionshare-logo" src="https://blog.torproject.org/sites/default/files/styles/full_width/public/im…" style="width: 650px; height: 325px;" /></a></p>
+
+ <p>OnionShare is an open source tool for securely and anonymously sending and receiving files using Tor onion services. It works by starting a web server directly on your computer and making it accessible as an unguessable Tor web address that others can load in <a href="https://www.torproject.org/">Tor Browser</a> to download files from you, or upload files to you. It doesn't require setting up a separate server, using a third party file-sharing service, or even logging into an account.</p>
+
+ <p>Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly any other way people typically send files to each other, when you use OnionShare you don't give any companies access to the files that you're sharing. So long as you share the unguessable web address in a secure way (like pasting it in an encrypted messaging app), <em>no one</em> but you and the person you're sharing with can access your files.</p>
+
+ <p><a href="https://blog.torproject.org/tor-heart-onionshare" moz-do-not-send="true">Micah Lee first saw the need </a>for this tool when he learned about how David Miranda, the partner of his colleague Glenn Greenwald, got detained for nine hours at a London airport while he was trying to fly home to Brazil. Working on a journalism assignment for the <em>Guardian</em>, Miranda was carrying a USB stick with sensitive documents. Micah knew that he could have securely sent the documents over the internet using a Tor onion service, one of the most underappreciated technologies on the internet, and avoided the risk of physically traveling with them. Micah developed OnionShare to make this file sharing process over the Tor network more accessible to everyone.</p>
+
+ <p>After nearly a year of work from a <a href="https://github.com/micahflee/onionshare/wiki/Developing-OnionShare">growing community</a> of developers, designers, and translators, OnionShare 2 is finally ready. You can download it from <a href="https://onionshare.org/">onionshare.org</a>.</p>
+
+ <p><a href="https://blog.torproject.org/new-release-onionshare-2">Learn more about OnionShare</a> and its new features.</p>
+
+ <hr />
+ <h1>New Releases</h1>
+
+ <h2>Tor Browser 8.0.6</h2>
+
+ <p>The main change in this new release is the update of Firefox to 60.5.1esr. <a href="https://blog.torproject.org/new-release-tor-browser-806">Full changelog</a>.</p>
+
+ <h2>Tor Browser 8.5a8</h2>
+
+ <p>The main change in this new release is the update of Firefox to 60.5.1esr, fixing some vulnerabilities in the Skia library. <a href="https://blog.torproject.org/new-release-tor-browser-85a8">Full changelog</a>.</p>
+
+ <h2>Tor 0.4.0.2-alpha, 0.3.5.8, 0.3.4.11, and 0.3.3.12</h2>
+
+ <p>These new source code releases all fix TROVE-2019-001. <a href="https://blog.torproject.org/new-releases-tor-0402-alpha-0358-03411-and-03312">Full changelog</a>.</p>
+
+ <hr />
+ <h1>Upcoming Events with Tor</h1>
+
+ <p><a href="https://blog.torproject.org/events/libreplanet-boston">LibrePlanet</a>. Boston, USA. 23-24 March, 2019.</p>
+
+ <p><a href="https://blog.torproject.org/events/know-2019-vegas-0">KNOW Conference</a>. Las Vegas, USA. 24-27 March, 2019.</p>
+
+ <p><a href="https://blog.torproject.org/events/nullcon-goa">Nullcon</a>. Goa, India. 1-3 March, 2019.</p>
+
+ <p><a href="https://blog.torproject.org/events/internet-freedom-festival-valencia">Internet Freedom Festival (IFF)</a>. Valencia, Spain. 1-5 April, 2019.</p>
+
+ <hr />
+ <h1>Join Our Community</h1>
+
+ <p>Getting involved with Tor is easy. <a href="https://trac.torproject.org/projects/tor/wiki/TorRelayGuide">Run a relay</a> to make the network faster and more decentralized.</p>
+
+ <p>Learn about each of our <a href="https://trac.torproject.org/projects/tor/wiki/WikiStart#Teams">teams </a>and start collaborating.</p>
+
+ <p><a href="https://donate.torproject.org">Donate</a> to help keep Tor fast, strong, and secure.</p>
+
+ <div style="background-color: #68b030; padding: 6px 8px 6px 8px;
+-webkit-border-radius:3px; border-radius:3px; margin: 0 auto; width:200px; text-align: center;"><a href="https://donate.torproject.org" style="font-size: 24px; font-family: Source sans pro, Helvetica, Arial, sans-serif; font-weight: bold; color: #ffffff; text-decoration: none; display:inline-block;" target="_blank">DONATE</a></div>
+ </td>
+ </tr>
+ <tr>
+ <td style="padding:0 15px;">
+ <p>The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open-source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.</p>
+
+ <hr />
+ <p><a href="https://facebook.com/torproject"><img alt="" src="https://blog.torproject.org/sites/default/files/inline-images/tor-facebook.…" style="width: 25px; height: 25px; margin: 3px;" /></a><a href="https://twitter.com/torproject"> <img alt="tor-twitter" src="https://blog.torproject.org/sites/default/files/inline-images/tor-twitter.p…" style="width: 25px; height: 25px; margin: 3px;" /></a><a href="https://instagram.com/torproject"> <img alt="tor-insta" src="https://blog.torproject.org/sites/default/files/inline-images/instagram-tor…" style="width: 25px; height: 25px; margin: 3px;" /></a></p>
+
+
+ <a href="https://torproject.org">torproject.org</a></small></p>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+</table>
+
+<table bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" id="backgroundTable" st-sortable="left-image" width="100%">
+ <tbody>
+ <tr>
+ <td>
+ <table align="center" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody>
+ <tr>
+ <td width="100%">
+ <table align="center" bgcolor="#ffffff" border="0" cellpadding="0" cellspacing="0" class="devicewidth" width="650">
+ <tbody><!-- Spacing -->
+ <tr>
+ <td> </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ </tr>
+ </tbody>
+</table>
+<!-- Spacing -->
diff --git a/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
new file mode 100644
index 0000000..7ffccc0
--- /dev/null
+++ b/content/archive/tor-stories-sharing-files-over-tor-new-releases-events/text/contents.lr
@@ -0,0 +1,79 @@
+_model: post
+---
+_template: post.html
+---
+author: steph(a)torproject.org
+---
+pub_date: 2019-02-27
+---
+title: Tor Stories, Sharing Files Over Tor, New Releases, Events
+---
+body:
+
+## What is Your Tor Story? ##
+
+Last September, we asked to hear stories about how Tor has helped protect people online.
+
+We heard from a father protecting his kids and their friends with Tor.
+
+"I am a father of two teenagers. As teenagers, they, or their friends , are bumping into issues regarding sex, drugs and social media issues and bullying. They are pretty open about many issues and so I try to be up to date with research, information and details if anything arises. I use Tor to do the research to basically avoid telling Google (and others) that my children have these issues. It would be unethical of any parent NOT to do so and expose their children's issues to these corporations. I also encourage my children to use Tor for their research for the same reasons..."
+
+We heard how Tor grants access to blocked resources online in Iran.
+
+"I live in Iran and I have been using Tor for censorship circumvention. During political unrest while the government tightens grip on other censorship circumvention alternatives, Tor with obfuscation plugins remain the only solution. Tor changed my personal life in many ways. It made it possible to access information on YouTube, Twitter, Blogger, and countless other sites. I am grateful to the Tor Project, people working on it, as well as people running Tor nodes."
+
+We heard from someone using Tor to research transgender issues and access a site blocked by their network.
+
+"I am transgender and sometimes look thing up on Tor about that. When I was in high school I also used it to access blocked sites like the Internet Wayback Machine."
+
+We heard from an activist who relies on Tor to stay safe.
+
+"I'm a political activist, part of a semi-criminalized minority. In my younger years I entered the public debate openly, and as a result got harassed by government agencies. I later tried to obfuscate my identity, but I found that my government has surprisingly broad powers to track down dissidents. Only by using anonymizing means, among which Tor is key, can I get my message out without having police come to "check my papers" in the middle of the night. Tor allows me freedom to publish my message to the world without being personally persecuted for it. Being a dissident is hard enough, privacy is already heavily curtailed, so anonymized communication is a godsend."
+
+What is your Tor story? Have you used Tor to curtail surveillance, circumvent censorship, conduct research, cope with an abuser, or speak up about corruption? If any of these apply to you or if you have another story to share, please let us know. Because of our deep commitment to protect your privacy, we won’t know your story unless you tell us. Your story can help us make Tor better for you and other people around the world who need it most: https://blog.torproject.org/how-has-tor-helped-you-send-us-your-story
+
+## Share Files Over Tor with OnionShare 2 ##
+
+OnionShare is an open source tool for securely and anonymously sending and receiving files using Tor onion services. It works by starting a web server directly on your computer and making it accessible as an unguessable Tor web address that others can load in Tor Browser to download files from you, or upload files to you. It doesn't require setting up a separate server, using a third party file-sharing service, or even logging into an account.
+
+Unlike services like email, Google Drive, DropBox, WeTransfer, or nearly any other way people typically send files to each other, when you use OnionShare you don't give any companies access to the files that you're sharing. So long as you share the unguessable web address in a secure way (like pasting it in an encrypted messaging app), no one but you and the person you're sharing with can access your files.
+
+I first saw the need for this tool when I learned about how David Miranda, the partner of my colleague Glenn Greenwald, got detained for nine hours at a London airport while he was trying to fly home to Brazil. Working on a journalism assignment for the Guardian, Miranda was carrying a USB stick with sensitive documents. I knew that he could have securely sent the documents over the internet using a Tor onion service, one of the most underappreciated technologies on the internet, and avoided the risk of physically traveling with them. I developed OnionShare to make this file sharing process over the Tor network more accessible to everyone.
+
+After nearly a year of work from a growing community of developers, designers, and translators, I'm excited that OnionShare 2 is finally ready. You can download it from https://onionshare.org.
+
+Learn more about OnionShare and its new features: https://blog.torproject.org/new-release-onionshare-2
+
+## New Releases ##
+
+Tor Browser 8.0.6
+The main change in this new release is the update of Firefox to 60.5.1esr. Full changelog: https://blog.torproject.org/new-release-tor-browser-806
+
+Tor Browser 8.5a8
+The main change in this new release is the update of Firefox to 60.5.1esr, fixing some vulnerabilities in the Skia library. Full changelog: https://blog.torproject.org/new-release-tor-browser-85a8
+
+Tor 0.4.0.2-alpha, 0.3.5.8, 0.3.4.11, and 0.3.3.12
+These new source code releases all fix TROVE-2019-001. Full changelog: https://blog.torproject.org/new-releases-tor-0402-alpha-0358-03411-and-03312
+
+## Upcoming Events with Tor //
+
+Nullcon. Goa, India. 1-3 March, 2019. https://blog.torproject.org/events/nullcon-goa
+LibrePlanet. Boston, USA. 23-24 March, 2019. https://blog.torproject.org/events/libreplanet-boston
+KNOW Conference. Las Vegas, USA. 24-27 March, 2019. https://blog.torproject.org/events/know-2019-vegas-0
+Internet Freedom Festival. Valencia, Spain. 1-5 April, 2019. https://blog.torproject.org/events/internet-freedom-festival-valencia
+
+## Join Our Community ##
+
+Getting involved with Tor is easy. Run a relay to make the network faster and more decentralized: https://trac.torproject.org/projects/tor/wiki/TorRelayGuide
+
+Learn about each of our teams and start collaborating: https://trac.torproject.org/projects/tor/wiki/WikiStart#Teams
+
+Donate to help keep Tor fast, strong, and secure. https://donate.torproject.org
+
+--
+
+The Tor Project is a US 501(c)(3) non-profit organization advancing human rights and freedoms by creating and deploying free and open-source anonymity and privacy technologies, supporting their unrestricted availability and use, and furthering their scientific and popular understanding.
+
+Twitter: https://twitter.com/torproject
+Facebook: https://facebook.com/torproject
+Instagram: https://instagram.com/torproject
1
0

[translation/tor-launcher-properties] Update translations for tor-launcher-properties
by translation@torproject.org 27 Feb '19
by translation@torproject.org 27 Feb '19
27 Feb '19
commit 333b89ad931262e800471a2b0e67d96e8e5f0817
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Feb 27 13:49:34 2019 +0000
Update translations for tor-launcher-properties
---
bn/torlauncher.properties | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/bn/torlauncher.properties b/bn/torlauncher.properties
index 198111a98..96752cc26 100644
--- a/bn/torlauncher.properties
+++ b/bn/torlauncher.properties
@@ -72,11 +72,11 @@ torlauncher.bootstrapStatus.ap_conn_pt=বিল্ডিং সার্কি
torlauncher.bootstrapStatus.ap_conn_done_pt=বিল্ডিং সার্কিট: ব্রিজে সংযুক্ত হয়েছে
torlauncher.bootstrapStatus.ap_conn_proxy=বিল্ডিং সার্কিট: প্রক্সির সাথে সংযোগ করা হচ্ছে
torlauncher.bootstrapStatus.ap_conn_done_proxy=বিল্ডিং সার্কিট: প্রক্সির সাথে সংযুক্ত হয়েছে
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
+torlauncher.bootstrapStatus.ap_conn=বিল্ডিং সার্কিট: একটি টর রিলে সংযোগ
+torlauncher.bootstrapStatus.ap_conn_done=বিল্ডিং সার্কিট: একটি টর রিলে সংযুক্ত
torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
+torlauncher.bootstrapStatus.circuit_create=বিল্ডিং সার্কিট: একটি টর সার্কিট প্রতিষ্ঠা
torlauncher.bootstrapStatus.done=টর নেটওয়ার্ক সংযুক্ত!
torlauncher.bootstrapWarning.done=সম্পন্ন
1
0

[translation/https_everywhere_completed] Update translations for https_everywhere_completed
by translation@torproject.org 27 Feb '19
by translation@torproject.org 27 Feb '19
27 Feb '19
commit 457a3d5f6c5e1080e45e60fb66ff86502450a783
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Feb 27 13:45:55 2019 +0000
Update translations for https_everywhere_completed
---
bn/https-everywhere.dtd | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bn/https-everywhere.dtd b/bn/https-everywhere.dtd
index 39a44db1f..857426368 100644
--- a/bn/https-everywhere.dtd
+++ b/bn/https-everywhere.dtd
@@ -33,8 +33,9 @@
<!ENTITY https-everywhere.prefs.reset_defaults "àŠ¡àŠ¿àŠ«àŠ²à§àŠà§ àŠ°àŠ¿àŠžà§àŠ àŠàаà§àŠš">
<!ENTITY https-everywhere.prefs.reset_defaults_message "àŠàŠàŠ¿ àŠªà§àŠ°àŠ€àŠ¿àŠàŠ¿ àŠšàŠ¿àŠ¯àŠŒàŠ® àŠžà§àŠàŠàŠ¿ àŠ€àŠŸàŠ° àŠ¡àŠ¿àŠ«àŠ²à§àŠ àŠžà§àŠà§àŠà§ àŠªà§àŠšàŠ°àŠŸàŠ¯àŠŒ àŠžà§àŠ àŠàŠ°àŠ¬à§à¥€ àŠàŠŸàŠ²àŠ¿àŠ¯àŠŒà§ àŠ¯à§àŠ€à§ àŠàŠŸàŠš?">
-<!ENTITY https-everywhere.cancel.he_blocking_explainer "HTTPS àŠŠà§àŠ¬àŠŸàŠ°àŠŸ àŠžàŠ°à§àŠ¬àŠ€à§àа àŠ²àŠà§àŠ·à§àН àŠàŠªàŠšàŠ¿ àŠàŠ¿àŠ² àŠšà§àŠàŠ¿àŠà§àŠ, àŠàŠàŠàŠ¿ àŠ
-HTTPS àŠªà§àŠ·à§àŠ àŠŸ, àŠàŠ¬àŠ àŠà§àŠ·à§àŠàŠŸ àŠàŠ°àŠŸàŠ° àŠàŠšà§àН àŠàŠªàŠšàŠŸàŠà§ àŠªàŠŸàŠ àŠŸàŠ€à§ HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€à§. HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£ àŠ
àŠšà§àŠªàŠ²àŠ¬à§àЧ. àŠžàŠ®à§àŠàŠ¬àŠ€ àŠàŠ àŠžàŠŸàŠàŠà§àа àŠžàŠ®àŠ°à§àŠ¥àŠš àŠàŠ°à§ àŠšàŠŸ, HTTPS àŠŠà§àŠ¬àŠŸàŠ°àŠŸ, àŠàŠ¿àŠšà§àŠ€à§ àŠàŠàŠŸ àŠžàŠ®à§àŠàЬ àŠ¯à§ àŠàŠàŠàŠ¿ àŠàŠà§àŠ°àŠ®àŠ£àŠàŠŸàŠ°à§ àŠ¬à§àŠ²àŠ àŠàŠ°àŠŸ àŠ¹àŠ¯àŠŒ, HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£. àŠ¯àŠŠàŠ¿ àŠàŠªàŠšàŠ¿ àŠàŠŸàŠš àŠàŠªàŠšàŠ¿ àŠŠà§àŠàŠ€à§ àŠàŠšàŠà§àŠ°àŠ¿àŠªàŠ¶àŠšàŠ¬àŠ¿àŠ¹à§àŠš àŠžàŠàŠžà§àŠàŠ°àŠ£ àŠàŠ àŠªà§àŠ·à§àŠ àŠŸàŠ¯àŠŒ àŠàŠªàŠšàŠ¿ àŠàŠàŠšàŠ àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§àŠš àŠšàŠŸ, àŠ€àŠŸàŠ àŠšàŠ¿àŠ·à§àŠà§àŠ°àŠ¿àŠ¯àŠŒ àŠŠà§àŠ¬àŠŸàŠ°àŠŸ 'àŠ¬à§àŠ²àŠ àŠžàŠ¬ àŠàŠšàŠà§àа
àŠ¿àŠªàŠ¶àŠšàŠ¬àŠ¿àŠ¹à§àŠš àŠ
àŠšà§àаà§àЧ' àŠ¬àŠ¿àŠàвà§àŠª àŠàŠªàŠšàŠŸàŠ° HTTPS àŠžàŠ°à§àŠ¬àŠ€à§àа àŠàŠà§àŠžàŠà§àŠšàŠ¶àŠš. àŠ¯à§ àŠžàŠà§àŠ€àŠš àŠ¹àŠ€à§ àŠ¹àŠ¬à§ àŠàŠ àŠ¬àŠ¿àŠàвà§àŠªàŠàŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§ àŠàŠªàŠšàŠŸàŠ° àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ° àŠªà§àŠ°àŠ¬àŠš, àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ-àŠàŠ¿àŠ€à§àŠ€àŠ¿àŠ àŠ¡àŠŸàŠàŠšàŠà§àаà§àŠ¡ àŠàŠªàŠ° àŠ¹àŠŸàŠ®àŠ²àŠŸ, àŠàŠªàŠšàŠ¿ àŠ¯àŠŸàŠš àŠàŠ¯àŠŒà§àŠ¬àŠžàŠŸàŠàŠà§àа.">
+<!ENTITY https-everywhere.cancel.he_blocking_explainer "HTTPS àŠžàŠ°à§àŠ¬àŠ€à§àа àŠ²àŠà§àŠ·à§àН àŠàаà§àŠà§ àŠ¯à§ àŠàŠªàŠšàŠ¿ àŠàŠàŠàŠ¿ HTTPS àŠšàŠŸ àŠªà§àŠ·à§àŠ àŠŸàŠ€à§ àŠšà§àŠàŠ¿àŠà§àŠ àŠàаàŠà§àŠš àŠàŠ¬àŠ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€à§ àŠàŠªàŠšàŠŸàŠà§ HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£à§ àŠªàŠŸàŠ àŠŸàŠšà§àа àŠà§àŠ·à§àŠàŠŸ àŠàаà§àŠà§àŠšà¥€HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£ àŠ
àŠšà§àŠªàŠ²àŠà§àŠ¯à¥€ àŠžàŠ®à§àŠàŠ¬àŠ€ àŠàŠ àŠžàŠŸàŠàŠàŠàŠ¿ HTTPS àŠžàŠ®àŠ°à§àŠ¥àŠš àŠàŠ°à§ àŠšàŠŸ, àŠ€àŠ¬à§ àŠàŠàŠ¿àŠ àŠžàŠ®à§àŠàЬ àŠ¯à§ àŠàŠà§àŠ°àŠ®àŠ£àŠàŠŸàŠ°à§ HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£àŠàŠ¿ àŠ
àŠ¬àŠ°à§àЧ àŠàаàŠà§à¥€àŠàŠªàŠšàŠ¿ àŠ¯àŠŠàŠ¿ àŠàŠ àŠªà§àŠ·à§àŠ àŠŸàŠ° àŠàŠšàŠà§àŠ°àŠ¿àŠªà§àŠ àŠ¹àŠàŠ¯àŠŒàŠŸ àŠžàŠàŠžà§àŠàŠ°àŠ£àŠàŠ¿ àŠŠà§àŠàŠ€à§ àŠàŠŸàŠš àŠ€àŠ¬à§ àŠàŠªàŠšàŠ¿ àŠàŠàŠšàŠ àŠàŠªàŠšàŠŸàŠ° HTTPS àŠžàŠ°à§àŠ¬àŠ€à§àа àŠàŠà§àŠžàŠà§àŠšàŠ¶àŠšà§ 'àŠžàŠ®àŠžà§àŠ€ àŠžàŠŸàŠàŠàŠà§ àŠ¯à§àŠà§àН àŠàŠšàŠà§àŠ°àŠ¿àŠªà§
àŠ àŠàаà§àŠš' (EASE) àŠ¬àŠ¿àŠàвà§àŠªàŠàŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°à§ àŠàŠàŠ¿ àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§àŠšà¥€ àŠžàŠà§àŠ€àŠš àŠ¥àŠŸàŠà§àŠš àŠ¯à§ àŠàŠ àŠ¬àŠ¿àŠàвà§àŠªàŠàŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°àŠŸ àŠàŠªàŠšàŠŸàŠ° àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°àŠàŠ¿àŠà§ àŠàŠªàŠšàŠŸàŠ° àŠªàŠ°àŠ¿àŠŠàŠ°à§àŠ¶àŠš àŠàŠ°àŠŸ àŠàŠ¯àŠŒà§àŠ¬àŠžàŠŸàŠàŠàŠà§àŠ²àŠ¿àŠ€à§ àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ-àŠàŠ¿àŠ€à§àŠ€àŠ¿àŠ àŠ¡àŠŸàŠàŠšàŠà§àаà§àŠ¡ àŠàŠà§àŠ°àŠ®àŠ£àŠà§àŠ²àŠ¿àŠ° àŠªàŠà§àŠ·à§ àŠà§àŠàŠàŠ¿àŠ° àŠžà§àŠ·à§àŠàŠ¿ àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§à¥€">
<!ENTITY https-everywhere.cancel.he_blocking_network "àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ-àŠàŠ¿àŠ€à§àŠ€àŠ¿àŠ àŠ¡àŠŸàŠàŠšàŠà§àаà§àŠ¡ àŠ¹àŠŸàŠ®àŠ²àŠŸ">
+<!ENTITY https-everywhere.cancel.open_page "àŠ
àŠšàŠ¿àŠ°àŠŸàŠªàŠŠ àŠªà§àŠ·à§àŠ àŠŸ àŠà§àвà§àŠš">
<!ENTITY https-everywhere.chrome.stable_rules "àŠžà§àŠ¥àŠ¿àŠ€àŠ¿àŠ¶à§àв àŠšàŠ¿àŠ¯àŠŒàŠ®">
<!ENTITY https-everywhere.chrome.stable_rules_description "àŠàŠ àŠàŠ¯àŠŒà§àŠ¬àŠžàŠŸàŠàŠàŠà§àŠ²àŠ¿àŠ€à§ àŠàŠšàŠà§àŠ°àŠ¿àŠªà§àŠ àŠžàŠàНà§àŠ àŠàŠŸàŠ²à§ àŠàаà§àŠš:">
1
0

[translation/https_everywhere] Update translations for https_everywhere
by translation@torproject.org 27 Feb '19
by translation@torproject.org 27 Feb '19
27 Feb '19
commit 7eff1a6386188fc3decb6773242fdf8fb67e4d43
Author: Translation commit bot <translation(a)torproject.org>
Date: Wed Feb 27 13:45:47 2019 +0000
Update translations for https_everywhere
---
bn/https-everywhere.dtd | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bn/https-everywhere.dtd b/bn/https-everywhere.dtd
index f8583022c..857426368 100644
--- a/bn/https-everywhere.dtd
+++ b/bn/https-everywhere.dtd
@@ -33,9 +33,9 @@
<!ENTITY https-everywhere.prefs.reset_defaults "àŠ¡àŠ¿àŠ«àŠ²à§àŠà§ àŠ°àŠ¿àŠžà§àŠ àŠàаà§àŠš">
<!ENTITY https-everywhere.prefs.reset_defaults_message "àŠàŠàŠ¿ àŠªà§àŠ°àŠ€àŠ¿àŠàŠ¿ àŠšàŠ¿àŠ¯àŠŒàŠ® àŠžà§àŠàŠàŠ¿ àŠ€àŠŸàŠ° àŠ¡àŠ¿àŠ«àŠ²à§àŠ àŠžà§àŠà§àŠà§ àŠªà§àŠšàŠ°àŠŸàŠ¯àŠŒ àŠžà§àŠ àŠàŠ°àŠ¬à§à¥€ àŠàŠŸàŠ²àŠ¿àŠ¯àŠŒà§ àŠ¯à§àŠ€à§ àŠàŠŸàŠš?">
-<!ENTITY https-everywhere.cancel.he_blocking_explainer "HTTPS Everywhere noticed you were navigating to a non-HTTPS page, and tried to send you to the HTTPS version instead. The HTTPS version is unavailable. Most likely this site does not support HTTPS, but it is also possible that an attacker is blocking the HTTPS version. If you wish to view the unencrypted version of this page, you can still do so by disabling the 'Encrypt All Sites Eligible' (EASE) option in your HTTPS Everywhere extension. Be aware that disabling this option could make your browser vulnerable to network-based downgrade attacks on websites you visit.">
+<!ENTITY https-everywhere.cancel.he_blocking_explainer "HTTPS àŠžàŠ°à§àŠ¬àŠ€à§àа àŠ²àŠà§àŠ·à§àН àŠàаà§àŠà§ àŠ¯à§ àŠàŠªàŠšàŠ¿ àŠàŠàŠàŠ¿ HTTPS àŠšàŠŸ àŠªà§àŠ·à§àŠ àŠŸàŠ€à§ àŠšà§àŠàŠ¿àŠà§àŠ àŠàаàŠà§àŠš àŠàŠ¬àŠ àŠªàŠ°àŠ¿àŠ¬àŠ°à§àŠ€à§ àŠàŠªàŠšàŠŸàŠà§ HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£à§ àŠªàŠŸàŠ àŠŸàŠšà§àа àŠà§àŠ·à§àŠàŠŸ àŠàаà§àŠà§àŠšà¥€HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£ àŠ
àŠšà§àŠªàŠ²àŠà§àŠ¯à¥€ àŠžàŠ®à§àŠàŠ¬àŠ€ àŠàŠ àŠžàŠŸàŠàŠàŠàŠ¿ HTTPS àŠžàŠ®àŠ°à§àŠ¥àŠš àŠàŠ°à§ àŠšàŠŸ, àŠ€àŠ¬à§ àŠàŠàŠ¿àŠ àŠžàŠ®à§àŠàЬ àŠ¯à§ àŠàŠà§àŠ°àŠ®àŠ£àŠàŠŸàŠ°à§ HTTPS àŠžàŠàŠžà§àŠàŠ°àŠ£àŠàŠ¿ àŠ
àŠ¬àŠ°à§àЧ àŠàаàŠà§à¥€àŠàŠªàŠšàŠ¿ àŠ¯àŠŠàŠ¿ àŠàŠ àŠªà§àŠ·à§àŠ àŠŸàŠ° àŠàŠšàŠà§àŠ°àŠ¿àŠªà§àŠ àŠ¹àŠàŠ¯àŠŒàŠŸ àŠžàŠàŠžà§àŠàŠ°àŠ£àŠàŠ¿ àŠŠà§àŠàŠ€à§ àŠàŠŸàŠš àŠ€àŠ¬à§ àŠàŠªàŠšàŠ¿ àŠàŠàŠšàŠ àŠàŠªàŠšàŠŸàŠ° HTTPS àŠžàŠ°à§àŠ¬àŠ€à§àа àŠàŠà§àŠžàŠà§àŠšàŠ¶àŠšà§ 'àŠžàŠ®àŠžà§àŠ€ àŠžàŠŸàŠàŠàŠà§ àŠ¯à§àŠà§àН àŠàŠšàŠà§àŠ°àŠ¿àŠªà§
àŠ àŠàаà§àŠš' (EASE) àŠ¬àŠ¿àŠàвà§àŠªàŠàŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°à§ àŠàŠàŠ¿ àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§àŠšà¥€ àŠžàŠà§àŠ€àŠš àŠ¥àŠŸàŠà§àŠš àŠ¯à§ àŠàŠ àŠ¬àŠ¿àŠàвà§àŠªàŠàŠ¿ àŠ
àŠà§àŠ·àŠ® àŠàŠ°àŠŸ àŠàŠªàŠšàŠŸàŠ° àŠ¬à§àŠ°àŠŸàŠàŠàŠŸàŠ°àŠàŠ¿àŠà§ àŠàŠªàŠšàŠŸàŠ° àŠªàŠ°àŠ¿àŠŠàŠ°à§àŠ¶àŠš àŠàŠ°àŠŸ àŠàŠ¯àŠŒà§àŠ¬àŠžàŠŸàŠàŠàŠà§àŠ²àŠ¿àŠ€à§ àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ-àŠàŠ¿àŠ€à§àŠ€àŠ¿àŠ àŠ¡àŠŸàŠàŠšàŠà§àаà§àŠ¡ àŠàŠà§àŠ°àŠ®àŠ£àŠà§àŠ²àŠ¿àŠ° àŠªàŠà§àŠ·à§ àŠà§àŠàŠàŠ¿àŠ° àŠžà§àŠ·à§àŠàŠ¿ àŠàŠ°àŠ€à§ àŠªàŠŸàŠ°à§à¥€">
<!ENTITY https-everywhere.cancel.he_blocking_network "àŠšà§àŠàŠàŠ¯àŠŒàŠŸàŠ°à§àŠ-àŠàŠ¿àŠ€à§àŠ€àŠ¿àŠ àŠ¡àŠŸàŠàŠšàŠà§àаà§àŠ¡ àŠ¹àŠŸàŠ®àŠ²àŠŸ">
-<!ENTITY https-everywhere.cancel.open_page "Open insecure page">
+<!ENTITY https-everywhere.cancel.open_page "àŠ
àŠšàŠ¿àŠ°àŠŸàŠªàŠŠ àŠªà§àŠ·à§àŠ àŠŸ àŠà§àвà§àŠš">
<!ENTITY https-everywhere.chrome.stable_rules "àŠžà§àŠ¥àŠ¿àŠ€àŠ¿àŠ¶à§àв àŠšàŠ¿àŠ¯àŠŒàŠ®">
<!ENTITY https-everywhere.chrome.stable_rules_description "àŠàŠ àŠàŠ¯àŠŒà§àŠ¬àŠžàŠŸàŠàŠàŠà§àŠ²àŠ¿àŠ€à§ àŠàŠšàŠà§àŠ°àŠ¿àŠªà§àŠ àŠžàŠàНà§àŠ àŠàŠŸàŠ²à§ àŠàаà§àŠš:">
1
0

27 Feb '19
commit 14b8ccf70c991e612edcd0e55904b6d8289048f3
Author: juga0 <juga(a)riseup.net>
Date: Wed Feb 27 08:59:54 2019 +0000
cleanup: Use getpath to get configuration paths
We changed conf['paths']['X'] to use conf.getpath('paths', 'X'),
so that paths with `~` get expanded, but cleanup was forgotten.
Also remove extra path check in main.
And run cleanup as part of the integration tests.
Bugfix v0.7.0.
---
sbws/core/cleanup.py | 8 ++------
tox.ini | 1 +
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/sbws/core/cleanup.py b/sbws/core/cleanup.py
index 9a04ec0..aa16fba 100644
--- a/sbws/core/cleanup.py
+++ b/sbws/core/cleanup.py
@@ -122,7 +122,7 @@ def _check_validity_periods_results(
def _clean_v3bw_files(args, conf):
- v3bw_dname = conf['paths']['v3bw_dname']
+ v3bw_dname = conf.getpath('paths', 'v3bw_dname')
if not os.path.isdir(v3bw_dname):
fail_hard('%s does not exist', v3bw_dname)
compress_after_days = conf.getint('cleanup',
@@ -144,7 +144,7 @@ def _clean_v3bw_files(args, conf):
def _clean_result_files(args, conf):
- datadir = conf['paths']['datadir']
+ datadir = conf.getpath('paths', 'datadir')
if not os.path.isdir(datadir):
fail_hard('%s does not exist', datadir)
data_period = conf.getint('general', 'data_period')
@@ -174,10 +174,6 @@ def main(args, conf):
:param argparse.Namespace args: command line arguments
:param configparser.ConfigParser conf: parsed config files
'''
- datadir = conf.getpath('paths', 'datadir')
- if not os.path.isdir(datadir):
- fail_hard('%s does not exist', datadir)
-
if not args.no_results:
_clean_result_files(args, conf)
diff --git a/tox.ini b/tox.ini
index eb8e3a1..7109cc5 100644
--- a/tox.ini
+++ b/tox.ini
@@ -57,6 +57,7 @@ commands =
; This add around 3min more to the tests
sbws -c {toxinidir}/tests/integration/sbws_testnet.ini scanner
coverage run -a --rcfile={toxinidir}/.coveragerc --source=sbws -m pytest -s {toxinidir}/tests/integration -vv
+ sbws -c {toxinidir}/tests/integration/sbws_testnet.ini cleanup
bash {envtmpdir}/net/stop.sh
# no need to remove .tox/net directory.
rm -rf /tmp/.sbws
1
0
commit 84e5d82cb99f06c37eb26039e59aaba04a6041d0
Author: juga0 <juga(a)riseup.net>
Date: Thu Dec 20 15:26:33 2018 +0000
destination: record consecutive failures
Add methods to store consecutive destination failures and retrieve
the destinations that are still functional.
Since destinations can fail because of Tor circuits, it's not count
individual failures but consecutives one.
Also exit with error if there are no functional destinations left.
The maximum number of consecuitve failures is set to 10, but it
may need to be changed depending on the percentage of circuits and
requests that fail.
---
DEPLOY.rst | 2 +
docs/source/examples/sbws.example.ini | 7 +++-
docs/source/man_sbws.ini.rst | 5 +++
sbws/core/scanner.py | 9 +++--
sbws/globals.py | 5 +++
sbws/lib/destination.py | 53 +++++++++++++++++++++++++-
tests/integration/lib/test_destination.py | 38 ++++++++++++++++++
tests/integration/lib/test_relayprioritizer.py | 1 +
8 files changed, 114 insertions(+), 6 deletions(-)
diff --git a/DEPLOY.rst b/DEPLOY.rst
index 1a1ea76..a1ab4dd 100644
--- a/DEPLOY.rst
+++ b/DEPLOY.rst
@@ -38,6 +38,8 @@ or `<INSTALL.html>`_ (local build or Read the Docs).
To run the ``scanner`` it is mandatory to create a configuration file with at
least one ``destination``.
+It is recommended to set several ``destination``s so that the ``scanner`` can
+continue if one fails.
If ``sbws`` is installed from the Debian package, then create a file in
``/etc/sbws/sbws.ini`` like in the following example:
diff --git a/docs/source/examples/sbws.example.ini b/docs/source/examples/sbws.example.ini
index 1325bc8..2f0a6bd 100644
--- a/docs/source/examples/sbws.example.ini
+++ b/docs/source/examples/sbws.example.ini
@@ -4,7 +4,12 @@
nickname = sbws_default
[destinations]
-# a destination can be disabled changing `on` by `off`
+# With several destinations, the scanner can continue even if some of them
+# fail, which can be caused by a network problem on their side.
+# If all of them fail, the scanner will stop, which
+# will happen if there is network problem on the scanner side.
+
+# A destination can be disabled changing `on` by `off`
foo = on
[destinations.foo]
diff --git a/docs/source/man_sbws.ini.rst b/docs/source/man_sbws.ini.rst
index 8064e72..8886d62 100644
--- a/docs/source/man_sbws.ini.rst
+++ b/docs/source/man_sbws.ini.rst
@@ -58,6 +58,11 @@ paths
(Default ~/.sbws/log)
destinations
+
+ It is required to set at least one destination for the scanner to run.
+ It is recommended to set several destinations so that the scanner can
+ continue if one fails.
+
STR = {on, off}
Name of destination. It is a name for the Web server from where to
download files in order to measure bandwidths.
diff --git a/sbws/core/scanner.py b/sbws/core/scanner.py
index dd4198c..4e981fd 100644
--- a/sbws/core/scanner.py
+++ b/sbws/core/scanner.py
@@ -244,11 +244,14 @@ def measure_relay(args, conf, destinations, cb, rl, relay):
cb.controller, conf.getfloat('general', 'http_timeout'))
# Pick a destionation
dest = destinations.next()
+ # If there is no any destination at this point, it can not continue.
if not dest:
# XXX: this should return a ResultError
- log.debug('Unable to get destination to measure %s %s',
- relay.nickname, relay.fingerprint)
- return None
+ log.critical("There are not any functional destinations.\n"
+ "It is recommended to set several destinations so that "
+ "the scanner can continue if one fails.")
+ # This should raise an error so that the caller can close the pool.
+ exit(1)
# Pick a relay to help us measure the given relay. If the given relay is an
# exit, then pick a non-exit. Otherwise pick an exit.
helper = None
diff --git a/sbws/globals.py b/sbws/globals.py
index a40322c..3f128fb 100644
--- a/sbws/globals.py
+++ b/sbws/globals.py
@@ -108,6 +108,11 @@ HTTP_GET_HEADERS = {
'Accept-Encoding': 'identity',
}
DESTINATION_VERIFY_CERTIFICATE = True
+# This number might need adjusted depending on the percentage of circuits and
+# HTTP requests failures.
+# While the scanner can not recover from some/all failing destionations,
+# set a big number so that it continues trying.
+MAXIMUM_NUMBER_DESTINATION_FAILURES = 100
def fail_hard(*a, **kw):
diff --git a/sbws/lib/destination.py b/sbws/lib/destination.py
index 468b3f6..302ac3f 100644
--- a/sbws/lib/destination.py
+++ b/sbws/lib/destination.py
@@ -11,6 +11,8 @@ from sbws.globals import DESTINATION_VERIFY_CERTIFICATE
import sbws.util.stem as stem_utils
import sbws.util.requests as requests_utils
+from ..globals import MAXIMUM_NUMBER_DESTINATION_FAILURES
+
log = logging.getLogger(__name__)
@@ -83,21 +85,32 @@ def connect_to_destination_over_circuit(dest, circ_id, session, cont, max_dl):
head = session.head(dest.url, verify=dest.verify)
except (requests.exceptions.ConnectionError,
requests.exceptions.ReadTimeout) as e:
+ dest.set_failure()
return False, 'Could not connect to {} over circ {} {}: {}'.format(
dest.url, circ_id, stem_utils.circuit_str(cont, circ_id), e)
finally:
stem_utils.remove_event_listener(cont, listener)
if head.status_code != requests.codes.ok:
+ dest.set_failure()
return False, error_prefix + 'we expected HTTP code '\
'{} not {}'.format(requests.codes.ok, head.status_code)
if 'content-length' not in head.headers:
+ dest.set_failure()
return False, error_prefix + 'we except the header Content-Length '\
- 'to exist in the response'
+ 'to exist in the response'
content_length = int(head.headers['content-length'])
if max_dl > content_length:
+ dest.set_failure()
return False, error_prefix + 'our maximum configured download size '\
'is {} but the content is only {}'.format(max_dl, content_length)
log.debug('Connected to %s over circuit %s', dest.url, circ_id)
+ # Any failure connecting to the destination will call set_failure,
+ # which will set `failed` to True and count consecutives failures.
+ # It can not be set at the start, to be able to know if it failed a
+ # a previous time, which is checked by set_failure.
+ # Future improvement: use a list to count consecutive failures
+ # or calculate it from the results.
+ dest.failed = False
return True, {'content_length': content_length}
@@ -107,6 +120,38 @@ class Destination:
u = urlparse(url)
self._url = u
self._verify = verify
+ # Flag to record whether this destination failed in the last
+ # measurement.
+ # Failures can happen if:
+ # - an HTTPS request can not be made over Tor
+ # (which might be the relays fault, not the destination being
+ # unreachable)
+ # - the destination does not support HTTP Range requests.
+ self.failed = False
+ self.consecutive_failures = 0
+
+ @property
+ def is_functional(self):
+ """
+ Returns True if there has not been a number consecutive measurements.
+ Otherwise warn about it and return False.
+
+ """
+ if self.consecutive_failures > MAXIMUM_NUMBER_DESTINATION_FAILURES:
+ log.warning("Destination %s is not functional. Please check that "
+ "it is correct.", self._url)
+ return False
+ return True
+
+ def set_failure(self):
+ """Set failed to True and increase the number of consecutive failures.
+ Only if it also failed in the previous measuremnt.
+
+ """
+ # if it failed in the last measurement
+ if self.failed:
+ self.consecutive_failures += 1
+ self.failed = True
def is_usable(self, circ_id, session, cont):
''' Use **connect_to_destination_over_circuit** to determine if this
@@ -172,6 +217,10 @@ class DestinationList:
conf.getfloat('general', 'http_timeout')
self._usability_lock = RLock()
+ @property
+ def functional_destinations(self):
+ return [d for d in self._all_dests if d.is_functional]
+
def _should_perform_usability_test(self):
# Until bigger refactor, do not perform usability test.
# Every time a measurement is done, it already performs what usability
@@ -259,4 +308,4 @@ class DestinationList:
# This removes the need for an extra lock for every measurement.
# Do not change the order of the destinations, just return a
# destination.
- return self._rng.choice(self._usable_dests)
+ return self._rng.choice(self.functional_destinations)
diff --git a/tests/integration/lib/test_destination.py b/tests/integration/lib/test_destination.py
index 53c0ab5..44a8631 100644
--- a/tests/integration/lib/test_destination.py
+++ b/tests/integration/lib/test_destination.py
@@ -1,4 +1,5 @@
"""Integration tests for destination.py"""
+from sbws.globals import MAXIMUM_NUMBER_DESTINATION_FAILURES
import sbws.util.requests as requests_utils
from sbws.lib.destination import (DestinationList, Destination,
connect_to_destination_over_circuit)
@@ -39,6 +40,9 @@ def test_connect_to_destination_over_circuit_success(persistent_launch_tor,
destination, circuit_id, session, persistent_launch_tor, 1024)
assert is_usable is True
assert 'content_length' in response
+ assert not destination.failed
+ assert destination.consecutive_failures == 0
+ assert destination.is_functional
def test_connect_to_destination_over_circuit_fail(persistent_launch_tor,
@@ -59,3 +63,37 @@ def test_connect_to_destination_over_circuit_fail(persistent_launch_tor,
is_usable, response = connect_to_destination_over_circuit(
bad_destination, circuit_id, session, persistent_launch_tor, 1024)
assert is_usable is False
+
+ # because it is the first time it fails, failures aren't count
+ assert bad_destination.failed
+ assert bad_destination.consecutive_failures == 0
+ assert bad_destination.is_functional
+
+ # fail twice in a row
+ is_usable, response = connect_to_destination_over_circuit(
+ bad_destination, circuit_id, session, persistent_launch_tor, 1024)
+ assert bad_destination.failed
+ assert bad_destination.consecutive_failures == 1
+ assert bad_destination.is_functional
+
+
+def test_functional_destinations(conf, cb, rl, persistent_launch_tor):
+ good_destination = Destination('https://127.0.0.1:28888', 1024, False)
+ # Mock that it failed before and just now, but it's still considered
+ # functional.
+ good_destination.consecutive_failures = 3
+ good_destination.failed = True
+ bad_destination = Destination('https://example.example', 1024, False)
+ # Mock that it didn't fail now, but it already failed 11 consecutive
+ # times.
+ bad_destination.consecutive_failures = \
+ MAXIMUM_NUMBER_DESTINATION_FAILURES + 1
+ bad_destination.failed = False
+ # None of the arguments are used, move to unit tests when this get
+ # refactored
+ destination_list = DestinationList(
+ conf, [good_destination, bad_destination], cb, rl,
+ persistent_launch_tor)
+ expected_functional_destinations = [good_destination]
+ functional_destinations = destination_list.functional_destinations
+ assert expected_functional_destinations == functional_destinations
diff --git a/tests/integration/lib/test_relayprioritizer.py b/tests/integration/lib/test_relayprioritizer.py
index 76c5969..60e3405 100644
--- a/tests/integration/lib/test_relayprioritizer.py
+++ b/tests/integration/lib/test_relayprioritizer.py
@@ -14,6 +14,7 @@ def static_time(value):
def _build_result_for_relay(conf, rl, result_type, relay_nick,
timestamp):
relay = [r for r in rl.relays if r.nickname == relay_nick]
+ print(rl.relays)
assert len(relay) == 1
relay = relay[0]
other = [r for r in rl.relays if r.nickname != relay_nick][0]
1
0