tor-commits
Threads by month
- ----- 2026 -----
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 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
- 1 participants
- 216116 discussions
31 Aug '12
commit c55937a3782b166e85f97dac308f258009794de8
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Thu Aug 30 12:12:53 2012 +0200
Add unchanged challenges report sources.
svn co https://svn.torproject.org/svn/projects/design-paper/
---
2005/challenges/.gitignore | 3 +
2005/challenges/challenges.tex | 1505 ++++++++++++++++++++++++++++++++++++++
2005/challenges/graphnodes.pdf | Bin 0 -> 62261 bytes
2005/challenges/graphtraffic.pdf | Bin 0 -> 62459 bytes
2005/challenges/llncs.cls | 1016 +++++++++++++++++++++++++
2005/challenges/tor-design.bib | 1493 +++++++++++++++++++++++++++++++++++++
6 files changed, 4017 insertions(+), 0 deletions(-)
diff --git a/2005/challenges/.gitignore b/2005/challenges/.gitignore
new file mode 100644
index 0000000..c8900d9
--- /dev/null
+++ b/2005/challenges/.gitignore
@@ -0,0 +1,3 @@
+challenges.pdf
+challenges-2005-02.pdf
+
diff --git a/2005/challenges/challenges.tex b/2005/challenges/challenges.tex
new file mode 100644
index 0000000..6949693
--- /dev/null
+++ b/2005/challenges/challenges.tex
@@ -0,0 +1,1505 @@
+\documentclass{llncs}
+
+\usepackage{url}
+\usepackage{amsmath}
+\usepackage{epsfig}
+
+\setlength{\textwidth}{5.9in}
+\setlength{\textheight}{8.4in}
+\setlength{\topmargin}{.5cm}
+\setlength{\oddsidemargin}{1cm}
+\setlength{\evensidemargin}{1cm}
+
+\newenvironment{tightlist}{\begin{list}{$\bullet$}{
+ \setlength{\itemsep}{0mm}
+ \setlength{\parsep}{0mm}
+ % \setlength{\labelsep}{0mm}
+ % \setlength{\labelwidth}{0mm}
+ % \setlength{\topsep}{0mm}
+ }}{\end{list}}
+
+\begin{document}
+
+\title{Challenges in deploying low-latency anonymity (DRAFT)}
+
+\author{Roger Dingledine\inst{1} \and
+Nick Mathewson\inst{1} \and
+Paul Syverson\inst{2}}
+\institute{The Free Haven Project \email{<\{arma,nickm\}(a)freehaven.net>} \and
+Naval Research Laboratory \email{<syverson(a)itd.nrl.navy.mil>}}
+
+\maketitle
+\pagestyle{plain}
+
+\begin{abstract}
+ There are many unexpected or unexpectedly difficult obstacles to
+ deploying anonymous communications. Drawing on our experiences deploying
+ Tor (the second-generation onion routing network), we describe social
+ challenges and technical issues that must be faced
+ in building, deploying, and sustaining a scalable, distributed, low-latency
+ anonymity network.
+\end{abstract}
+
+\section{Introduction}
+% Your network is not practical unless it is sustainable and distributed.
+Anonymous communication is full of surprises. This paper discusses some
+unexpected challenges arising from our experiences deploying Tor, a
+low-latency general-purpose anonymous communication system. We will discuss
+some of the difficulties we have experienced and how we have met them (or how
+we plan to meet them, if we know). We also discuss some less
+troublesome open problems that we must nevertheless eventually address.
+%We will describe both those future challenges that we intend to explore and
+%those that we have decided not to explore and why.
+
+Tor is an overlay network for anonymizing TCP streams over the
+Internet~\cite{tor-design}. It addresses limitations in earlier Onion
+Routing designs~\cite{or-ih96,or-jsac98,or-discex00,or-pet00} by adding
+perfect forward secrecy, congestion control, directory servers, data
+integrity, configurable exit policies, and location-hidden services using
+rendezvous points. Tor works on the real-world Internet, requires no special
+privileges or kernel modifications, requires little synchronization or
+coordination between nodes, and provides a reasonable trade-off between
+anonymity, usability, and efficiency.
+
+We deployed the public Tor network in October 2003; since then it has
+grown to over a hundred volunteer-operated nodes
+and as much as 80 megabits of
+average traffic per second. Tor's research strategy has focused on deploying
+a network to as many users as possible; thus, we have resisted designs that
+would compromise deployability by imposing high resource demands on node
+operators, and designs that would compromise usability by imposing
+unacceptable restrictions on which applications we support. Although this
+strategy has
+drawbacks (including a weakened threat model, as discussed below), it has
+made it possible for Tor to serve many thousands of users and attract
+funding from diverse sources whose goals range from security on a
+national scale down to individual liberties.
+
+In~\cite{tor-design} we gave an overall view of Tor's
+design and goals. Here we describe some policy, social, and technical
+issues that we face as we continue deployment.
+Rather than providing complete solutions to every problem, we
+instead lay out the challenges and constraints that we have observed while
+deploying Tor. In doing so, we aim to provide a research agenda
+of general interest to projects attempting to build
+and deploy practical, usable anonymity networks in the wild.
+
+%While the Tor design paper~\cite{tor-design} gives an overall view its
+%design and goals,
+%this paper describes the policy and technical issues that Tor faces as
+%we continue deployment. Rather than trying to provide complete solutions
+%to every problem here, we lay out the assumptions and constraints
+%that we have observed through deploying Tor in the wild. In doing so, we
+%aim to create a research agenda for others to
+%help in addressing these issues.
+% Section~\ref{sec:what-is-tor} gives an
+%overview of the Tor
+%design and ours goals. Sections~\ref{sec:crossroads-policy}
+%and~\ref{sec:crossroads-design} go on to describe the practical challenges,
+%both policy and technical respectively,
+%that stand in the way of moving
+%from a practical useful network to a practical useful anonymous network.
+
+%\section{What Is Tor}
+\section{Background}
+Here we give a basic overview of the Tor design and its properties, and
+compare Tor to other low-latency anonymity designs.
+
+\subsection{Tor, threat models, and distributed trust}
+\label{sec:what-is-tor}
+
+%Here we give a basic overview of the Tor design and its properties. For
+%details on the design, assumptions, and security arguments, we refer
+%the reader to the Tor design paper~\cite{tor-design}.
+
+Tor provides \emph{forward privacy}, so that users can connect to
+Internet sites without revealing their logical or physical locations
+to those sites or to observers. It also provides \emph{location-hidden
+services}, so that servers can support authorized users without
+giving an effective vector for physical or online attackers.
+Tor provides these protections even when a portion of its
+infrastructure is compromised.
+
+To connect to a remote server via Tor, the client software learns a signed
+list of Tor nodes from one of several central \emph{directory servers}, and
+incrementally creates a private pathway or \emph{circuit} of encrypted
+connections through authenticated Tor nodes on the network, negotiating a
+separate set of encryption keys for each hop along the circuit. The circuit
+is extended one node at a time, and each node along the way knows only the
+immediately previous and following nodes in the circuit, so no individual Tor
+node knows the complete path that each fixed-sized data packet (or
+\emph{cell}) will take.
+%Because each node sees no more than one hop in the
+%circuit,
+Thus, neither an eavesdropper nor a compromised node can
+see both the connection's source and destination. Later requests use a new
+circuit, to complicate long-term linkability between different actions by
+a single user.
+
+Tor also helps servers hide their locations while
+providing services such as web publishing or instant
+messaging. Using ``rendezvous points'', other Tor users can
+connect to these authenticated hidden services, neither one learning the
+other's network identity.
+
+Tor attempts to anonymize the transport layer, not the application layer.
+This approach is useful for applications such as SSH
+where authenticated communication is desired. However, when anonymity from
+those with whom we communicate is desired,
+application protocols that include personally identifying information need
+additional application-level scrubbing proxies, such as
+Privoxy~\cite{privoxy} for HTTP\@. Furthermore, Tor does not relay arbitrary
+IP packets; it only anonymizes TCP streams and DNS requests
+%, and only supports
+%connections via SOCKS
+(but see Section~\ref{subsec:tcp-vs-ip}).
+
+Most node operators do not want to allow arbitrary TCP traffic. % to leave
+%their server.
+To address this, Tor provides \emph{exit policies} so
+each exit node can block the IP addresses and ports it is unwilling to allow.
+Tor nodes advertise their exit policies to the directory servers, so that
+clients can tell which nodes will support their connections.
+
+As of January 2005, the Tor network has grown to around a hundred nodes
+on four continents, with a total capacity exceeding 1Gbit/s. Appendix A
+shows a graph of the number of working nodes over time, as well as a
+graph of the number of bytes being handled by the network over time.
+The network is now sufficiently diverse for further development
+and testing; but of course we always encourage new nodes
+to join.
+
+Tor research and development has been funded by ONR and DARPA
+for use in securing government
+communications, and by the Electronic Frontier Foundation for use
+in maintaining civil liberties for ordinary citizens online. The Tor
+protocol is one of the leading choices
+for the anonymizing layer in the European Union's PRIME directive to
+help maintain privacy in Europe.
+The AN.ON project in Germany
+has integrated an independent implementation of the Tor protocol into
+their popular Java Anon Proxy anonymizing client.
+% This wide variety of
+%interests helps maintain both the stability and the security of the
+%network.
+
+\medskip
+\noindent
+{\bf Threat models and design philosophy.}
+The ideal Tor network would be practical, useful and anonymous. When
+trade-offs arise between these properties, Tor's research strategy has been
+to remain useful enough to attract many users,
+and practical enough to support them. Only subject to these
+constraints do we try to maximize
+anonymity.\footnote{This is not the only possible
+direction in anonymity research: designs exist that provide more anonymity
+than Tor at the expense of significantly increased resource requirements, or
+decreased flexibility in application support (typically because of increased
+latency). Such research does not typically abandon aspirations toward
+deployability or utility, but instead tries to maximize deployability and
+utility subject to a certain degree of structural anonymity (structural because
+usability and practicality affect usage which affects the actual anonymity
+provided by the network \cite{econymics,back01}).}
+%{We believe that these
+%approaches can be promising and useful, but that by focusing on deploying a
+%usable system in the wild, Tor helps us experiment with the actual parameters
+%of what makes a system ``practical'' for volunteer operators and ``useful''
+%for home users, and helps illuminate undernoticed issues which any deployed
+%volunteer anonymity network will need to address.}
+Because of our strategy, Tor has a weaker threat model than many designs in
+the literature. In particular, because we
+support interactive communications without impractically expensive padding,
+we fall prey to a variety
+of intra-network~\cite{back01,attack-tor-oak05,flow-correlation04} and
+end-to-end~\cite{danezis:pet2004,SS03} anonymity-breaking attacks.
+
+Tor does not attempt to defend against a global observer. In general, an
+attacker who can measure both ends of a connection through the Tor network
+% I say 'measure' rather than 'observe', to encompass murdoch-danezis
+% style attacks. -RD
+can correlate the timing and volume of data on that connection as it enters
+and leaves the network, and so link communication partners.
+Known solutions to this attack would seem to require introducing a
+prohibitive degree of traffic padding between the user and the network, or
+introducing an unacceptable degree of latency (but see Section
+\ref{subsec:mid-latency}). Also, it is not clear that these methods would
+work at all against a minimally active adversary who could introduce timing
+patterns or additional traffic. Thus, Tor only attempts to defend against
+external observers who cannot observe both sides of a user's connections.
+
+
+Against internal attackers who sign up Tor nodes, the situation is more
+complicated. In the simplest case, if an adversary has compromised $c$ of
+$n$ nodes on the Tor network, then the adversary will be able to compromise
+a random circuit with probability $\frac{c^2}{n^2}$ (since the circuit
+initiator chooses hops randomly). But there are
+complicating factors:
+(1)~If the user continues to build random circuits over time, an adversary
+ is pretty certain to see a statistical sample of the user's traffic, and
+ thereby can build an increasingly accurate profile of her behavior. (See
+ Section~\ref{subsec:helper-nodes} for possible solutions.)
+(2)~An adversary who controls a popular service outside the Tor network
+ can be certain to observe all connections to that service; he
+ can therefore trace connections to that service with probability
+ $\frac{c}{n}$.
+(3)~Users do not in fact choose nodes with uniform probability; they
+ favor nodes with high bandwidth or uptime, and exit nodes that
+ permit connections to their favorite services.
+(See Section~\ref{subsec:routing-zones} for discussion of larger
+adversaries and our dispersal goals.)
+
+% I'm trying to make this paragraph work without reference to the
+% analysis/confirmation distinction, which we haven't actually introduced
+% yet, and which we realize isn't very stable anyway. Also, I don't want to
+% deprecate these attacks if we can't demonstrate that they don't work, since
+% in case they *do* turn out to work well against Tor, we'll look pretty
+% foolish. -NM
+More powerful attacks may exist. In \cite{hintz-pet02} it was
+shown that an attacker who can catalog data volumes of popular
+responder destinations (say, websites with consistent data volumes) may not
+need to
+observe both ends of a stream to learn source-destination links for those
+responders.
+Similarly, latencies of going through various routes can be
+cataloged~\cite{back01} to connect endpoints.
+% Also, \cite{kesdogan:pet2002} takes the
+% attack another level further, to narrow down where you could be
+% based on an intersection attack on subpages in a website. -RD
+It has not yet been shown whether these attacks will succeed or fail
+in the presence of the variability and volume quantization introduced by the
+Tor network, but it seems likely that these factors will at best delay
+rather than halt the attacks in the cases where they succeed.
+Along similar lines, the same paper suggests a ``clogging
+attack'' in which the throughput on a circuit is observed to slow
+down when an adversary clogs the right nodes with his own traffic.
+To determine the nodes in a circuit this attack requires the ability
+to continuously monitor the traffic exiting the network on a circuit
+that is up long enough to probe all network nodes in binary fashion.
+% Though somewhat related, clogging and interference are really different
+% attacks with different assumptions about adversary distribution and
+% capabilities as well as different techniques. -pfs
+Murdoch and Danezis~\cite{attack-tor-oak05} show a practical
+interference attack against portions of
+the fifty node Tor network as deployed in mid 2004.
+An outside attacker can actively trace a circuit through the Tor network
+by observing changes in the latency of his
+own traffic sent through various Tor nodes. This can be done
+simultaneously at multiple nodes; however, like clogging,
+this attack only reveals
+the Tor nodes in the circuit, not initiator and responder addresses,
+so it is still necessary to discover the endpoints to complete an
+effective attack. Increasing the size and diversity of the Tor network may
+help counter these attacks.
+
+%discuss $\frac{c^2}{n^2}$, except how in practice the chance of owning
+%the last hop is not $c/n$ since that doesn't take the destination (website)
+%into account. so in cases where the adversary does not also control the
+%final destination we're in good shape, but if he *does* then we'd be better
+%off with a system that lets each hop choose a path.
+%
+%Isn't it more accurate to say ``If the adversary _always_ controls the final
+% dest, we would be just as well off with such as system.'' ? If not, why
+% not? -nm
+% Sure. In fact, better off, since they seem to scale more easily. -rd
+
+%Murdoch and Danezis describe an attack
+%\cite{attack-tor-oak05} that lets an attacker determine the nodes used
+%in a circuit; yet s/he cannot identify the initiator or responder,
+%e.g., client or web server, through this attack. So the endpoints
+%remain secure, which is the goal. It is conceivable that an
+%adversary could attack or set up observation of all connections
+%to an arbitrary Tor node in only a few minutes. If such an adversary
+%were to exist, s/he could use this probing to remotely identify a node
+%for further attack. Of more likely immediate practical concern
+%an adversary with active access to the responder traffic
+%wants to keep a circuit alive long enough to attack an identified
+%node. Thus it is important to prevent the responding end of the circuit
+%from keeping it open indefinitely.
+%Also, someone could identify nodes in this way and if in their
+%jurisdiction, immediately get a subpoena (if they even need one)
+%telling the node operator(s) that she must retain all the active
+%circuit data she now has.
+%Further, the enclave model, which had previously looked to be the most
+%generally secure, seems particularly threatened by this attack, since
+%it identifies endpoints when they're also nodes in the Tor network:
+%see Section~\ref{subsec:helper-nodes} for discussion of some ways to
+%address this issue.
+
+\medskip
+\noindent
+{\bf Distributed trust.}
+In practice Tor's threat model is based on
+dispersal and diversity.
+Our defense lies in having a diverse enough set of nodes
+to prevent most real-world
+adversaries from being in the right places to attack users,
+by distributing each transaction
+over several nodes in the network. This ``distributed trust'' approach
+means the Tor network can be safely operated and used by a wide variety
+of mutually distrustful users, providing sustainability and security.
+%than some previous attempts at anonymizing networks.
+
+No organization can achieve this security on its own. If a single
+corporation or government agency were to build a private network to
+protect its operations, any connections entering or leaving that network
+would be obviously linkable to the controlling organization. The members
+and operations of that agency would be easier, not harder, to distinguish.
+
+Instead, to protect our networks from traffic analysis, we must
+collaboratively blend the traffic from many organizations and private
+citizens, so that an eavesdropper can't tell which users are which,
+and who is looking for what information. %By bringing more users onto
+%the network, all users become more secure~\cite{econymics}.
+%[XXX I feel uncomfortable saying this last sentence now. -RD]
+%[So, I took it out. I think we can do without it. -PFS]
+The Tor network has a broad range of users, including ordinary citizens
+concerned about their privacy, corporations
+who don't want to reveal information to their competitors, and law
+enforcement and government intelligence agencies who need
+to do operations on the Internet without being noticed.
+Naturally, organizations will not want to depend on others for their
+security. If most participating providers are reliable, Tor tolerates
+some hostile infiltration of the network. For maximum protection,
+the Tor design includes an enclave approach that lets data be encrypted
+(and authenticated) end-to-end, so high-sensitivity users can be sure it
+hasn't been read or modified. This even works for Internet services that
+don't have built-in encryption and authentication, such as unencrypted
+HTTP or chat, and it requires no modification of those services.
+
+\subsection{Related work}
+Tor differs from other deployed systems for traffic analysis resistance
+in its security and flexibility. Mix networks such as
+Mixmaster~\cite{mixmaster-spec} or its successor Mixminion~\cite{minion-design}
+gain the highest degrees of anonymity at the expense of introducing highly
+variable delays, making them unsuitable for applications such as web
+browsing. Commercial single-hop
+proxies~\cite{anonymizer} can provide good performance, but
+a single compromise can expose all users' traffic, and a single-point
+eavesdropper can perform traffic analysis on the entire network.
+%Also, their proprietary implementations place any infrastructure that
+%depends on these single-hop solutions at the mercy of their providers'
+%financial health as well as network security.
+The Java
+Anon Proxy~\cite{web-mix} provides similar functionality to Tor but
+handles only web browsing rather than all TCP\@.
+%Some peer-to-peer file-sharing overlay networks such as
+%Freenet~\cite{freenet} and Mute~\cite{mute}
+The Freedom
+network from Zero-Knowledge Systems~\cite{freedom21-security}
+was even more flexible than Tor in
+transporting arbitrary IP packets, and also supported
+pseudonymity in addition to anonymity; but it had
+a different approach to sustainability (collecting money from users
+and paying ISPs to run Tor nodes), and was eventually shut down due to financial
+load. Finally, %potentially more scalable
+% [I had added 'potentially' because the scalability of these designs
+% is not established, and I am uncomfortable making the
+% bolder unmodified assertion. Roger took 'potentially' out.
+% Here's an attempt at more neutral wording -pfs]
+peer-to-peer designs that are intended to be more scalable,
+for example Tarzan~\cite{tarzan:ccs02} and
+MorphMix~\cite{morphmix:fc04}, have been proposed in the literature but
+have not been fielded. These systems differ somewhat
+in threat model and presumably practical resistance to threats.
+Note that MorphMix differs from Tor only in
+node discovery and circuit setup; so Tor's architecture is flexible
+enough to contain a MorphMix experiment.
+We direct the interested reader
+to~\cite{tor-design} for a more in-depth review of related work.
+
+%XXXX six-four. crowds. i2p.
+
+%XXXX
+%have a serious discussion of morphmix's assumptions, since they would
+%seem to be the direct competition. in fact tor is a flexible architecture
+%that would encompass morphmix, and they're nearly identical except for
+%path selection and node discovery. and the trust system morphmix has
+%seems overkill (and/or insecure) based on the threat model we've picked.
+% this para should probably move to the scalability / directory system. -RD
+% Nope. Cut for space, except for small comment added above -PFS
+
+\section{Social challenges}
+
+Many of the issues the Tor project needs to address extend beyond
+system design and technology development. In particular, the
+Tor project's \emph{image} with respect to its users and the rest of
+the Internet impacts the security it can provide.
+With this image issue in mind, this section discusses the Tor user base and
+Tor's interaction with other services on the Internet.
+
+\subsection{Communicating security}
+
+Usability for anonymity systems
+contributes to their security, because usability
+affects the possible anonymity set~\cite{econymics,back01}.
+Conversely, an unusable system attracts few users and thus can't provide
+much anonymity.
+
+This phenomenon has a second-order effect: knowing this, users should
+choose which anonymity system to use based in part on how usable
+and secure
+\emph{others} will find it, in order to get the protection of a larger
+anonymity set. Thus we might supplement the adage ``usability is a security
+parameter''~\cite{back01} with a new one: ``perceived usability is a
+security parameter.'' From here we can better understand the effects
+of publicity on security: the more convincing your
+advertising, the more likely people will believe you have users, and thus
+the more users you will attract. Perversely, over-hyped systems (if they
+are not too broken) may be a better choice than modestly promoted ones,
+if the hype attracts more users~\cite{usability-network-effect}.
+
+So it follows that we should come up with ways to accurately communicate
+the available security levels to the user, so she can make informed
+decisions. JAP aims to do this by including a
+comforting `anonymity meter' dial in the software's graphical interface,
+giving the user an impression of the level of protection for her current
+traffic.
+
+However, there's a catch. For users to share the same anonymity set,
+they need to act like each other. An attacker who can distinguish
+a given user's traffic from the rest of the traffic will not be
+distracted by anonymity set size. For high-latency systems like
+Mixminion, where the threat model is based on mixing messages with each
+other, there's an arms race between end-to-end statistical attacks and
+counter-strategies~\cite{statistical-disclosure,minion-design,e2e-traffic,trickle02}.
+But for low-latency systems like Tor, end-to-end \emph{traffic
+correlation} attacks~\cite{danezis:pet2004,defensive-dropping,SS03}
+allow an attacker who can observe both ends of a communication
+to correlate packet timing and volume, quickly linking
+the initiator to her destination.
+
+Like Tor, the current JAP implementation does not pad connections
+apart from using small fixed-size cells for transport. In fact,
+JAP's cascade-based network topology may be more vulnerable to these
+attacks, because its network has fewer edges. JAP was born out of
+the ISDN mix design~\cite{isdn-mixes}, where padding made sense because
+every user had a fixed bandwidth allocation and altering the timing
+pattern of packets could be immediately detected. But in its current context
+as an Internet web anonymizer, adding sufficient padding to JAP
+would probably be prohibitively expensive and ineffective against a
+minimally active attacker.\footnote{Even if JAP could
+fund higher-capacity nodes indefinitely, our experience
+suggests that many users would not accept the increased per-user
+bandwidth requirements, leading to an overall much smaller user base. But
+see Section~\ref{subsec:mid-latency}.} Therefore, since under this threat
+model the number of concurrent users does not seem to have much impact
+on the anonymity provided, we suggest that JAP's anonymity meter is not
+accurately communicating security levels to its users.
+
+On the other hand, while the number of active concurrent users may not
+matter as much as we'd like, it still helps to have some other users
+on the network. We investigate this issue next.
+
+\subsection{Reputability and perceived social value}
+Another factor impacting the network's security is its reputability:
+the perception of its social value based on its current user base. If Alice is
+the only user who has ever downloaded the software, it might be socially
+accepted, but she's not getting much anonymity. Add a thousand
+activists, and she's anonymous, but everyone thinks she's an activist too.
+Add a thousand
+diverse citizens (cancer survivors, privacy enthusiasts, and so on)
+and now she's harder to profile.
+
+Furthermore, the network's reputability affects its operator base: more people
+are willing to run a service if they believe it will be used by human rights
+workers than if they believe it will be used exclusively for disreputable
+ends. This effect becomes stronger if node operators themselves think they
+will be associated with their users' disreputable ends.
+
+So the more cancer survivors on Tor, the better for the human rights
+activists. The more malicious hackers, the worse for the normal users. Thus,
+reputability is an anonymity issue for two reasons. First, it impacts
+the sustainability of the network: a network that's always about to be
+shut down has difficulty attracting and keeping adequate nodes.
+Second, a disreputable network is more vulnerable to legal and
+political attacks, since it will attract fewer supporters.
+
+While people therefore have an incentive for the network to be used for
+``more reputable'' activities than their own, there are still trade-offs
+involved when it comes to anonymity. To follow the above example, a
+network used entirely by cancer survivors might welcome file sharers
+onto the network, though of course they'd prefer a wider
+variety of users.
+
+Reputability becomes even more tricky in the case of privacy networks,
+since the good uses of the network (such as publishing by journalists in
+dangerous countries) are typically kept private, whereas network abuses
+or other problems tend to be more widely publicized.
+
+The impact of public perception on security is especially important
+during the bootstrapping phase of the network, where the first few
+widely publicized uses of the network can dictate the types of users it
+attracts next.
+As an example, some U.S.~Department of Energy
+penetration testing engineers are tasked with compromising DoE computers
+from the outside. They only have a limited number of ISPs from which to
+launch their attacks, and they found that the defenders were recognizing
+attacks because they came from the same IP space. These engineers wanted
+to use Tor to hide their tracks. First, from a technical standpoint,
+Tor does not support the variety of IP packets one would like to use in
+such attacks (see Section~\ref{subsec:tcp-vs-ip}). But aside from this,
+we also decided that it would probably be poor precedent to encourage
+such use---even legal use that improves national security---and managed
+to dissuade them.
+
+%% "outside of academia, jap has just lost, permanently". (That is,
+%% even though the crime detection issues are resolved and are unlikely
+%% to go down the same way again, public perception has not been kind.)
+
+\subsection{Sustainability and incentives}
+One of the unsolved problems in low-latency anonymity designs is
+how to keep the nodes running. ZKS's Freedom network
+depended on paying third parties to run its servers; the JAP project's
+bandwidth depends on grants to pay for its bandwidth and
+administrative expenses. In Tor, bandwidth and administrative costs are
+distributed across the volunteers who run Tor nodes, so we at least have
+reason to think that the Tor network could survive without continued research
+funding.\footnote{It also helps that Tor is implemented with free and open
+ source software that can be maintained by anybody with the ability and
+ inclination.} But why are these volunteers running nodes, and what can we
+do to encourage more volunteers to do so?
+
+We have not formally surveyed Tor node operators to learn why they are
+running nodes, but
+from the information they have provided, it seems that many of them run Tor
+nodes for reasons of personal interest in privacy issues. It is possible
+that others are running Tor nodes to protect their own
+anonymity, but of course they are
+hardly likely to tell us specifics if they are.
+%Significantly, Tor's threat model changes the anonymity incentives for running
+%a node. In a high-latency mix network, users can receive additional
+%anonymity by running their own node, since doing so obscures when they are
+%injecting messages into the network. But, anybody observing all I/O to a Tor
+%node can tell when the node is generating traffic that corresponds to
+%none of its incoming traffic.
+%
+%I didn't buy the above for reason's subtle enough that I just cut it -PFS
+Tor exit node operators do attain a degree of
+``deniability'' for traffic that originates at that exit node. For
+ example, it is likely in practice that HTTP requests from a Tor node's IP
+ will be assumed to be from the Tor network.
+ More significantly, people and organizations who use Tor for
+ anonymity depend on the
+ continued existence of the Tor network to do so; running a node helps to
+ keep the network operational.
+%\item Local Tor entry and exit nodes allow users on a network to run in an
+% `enclave' configuration. [XXXX need to resolve this. They would do this
+% for E2E encryption + auth?]
+
+
+%We must try to make the costs of running a Tor node easily minimized.
+Since Tor is run by volunteers, the most crucial software usability issue is
+usability by operators: when an operator leaves, the network becomes less
+usable by everybody. To keep operators pleased, we must try to keep Tor's
+resource and administrative demands as low as possible.
+
+Because of ISP billing structures, many Tor operators have underused capacity
+that they are willing to donate to the network, at no additional monetary
+cost to them. Features to limit bandwidth have been essential to adoption.
+Also useful has been a ``hibernation'' feature that allows a Tor node that
+wants to provide high bandwidth, but no more than a certain amount in a
+giving billing cycle, to become dormant once its bandwidth is exhausted, and
+to reawaken at a random offset into the next billing cycle. This feature has
+interesting policy implications, however; see
+the next section below.
+Exit policies help to limit administrative costs by limiting the frequency of
+abuse complaints (see Section~\ref{subsec:tor-and-blacklists}). We discuss
+technical incentive mechanisms in Section~\ref{subsec:incentives-by-design}.
+
+%[XXXX say more. Why else would you run a node? What else can we do/do we
+% already do to make running a node more attractive?]
+%[We can enforce incentives; see Section 6.1. We can rate-limit clients.
+% We can put "top bandwidth nodes lists" up a la seti@home.]
+
+\subsection{Bandwidth and file-sharing}
+\label{subsec:bandwidth-and-file-sharing}
+%One potentially problematical area with deploying Tor has been our response
+%to file-sharing applications.
+Once users have configured their applications to work with Tor, the largest
+remaining usability issue is performance. Users begin to suffer
+when websites ``feel slow.''
+Clients currently try to build their connections through nodes that they
+guess will have enough bandwidth. But even if capacity is allocated
+optimally, it seems unlikely that the current network architecture will have
+enough capacity to provide every user with as much bandwidth as she would
+receive if she weren't using Tor, unless far more nodes join the network.
+
+%Limited capacity does not destroy the network, however. Instead, usage tends
+%towards an equilibrium: when performance suffers, users who value performance
+%over anonymity tend to leave the system, thus freeing capacity until the
+%remaining users on the network are exactly those willing to use that capacity
+%there is.
+
+Much of Tor's recent bandwidth difficulties have come from file-sharing
+applications. These applications provide two challenges to
+any anonymizing network: their intensive bandwidth requirement, and the
+degree to which they are associated (correctly or not) with copyright
+infringement.
+
+High-bandwidth protocols can make the network unresponsive,
+but tend to be somewhat self-correcting as lack of bandwidth drives away
+users who need it. Issues of copyright violation,
+however, are more interesting. Typical exit node operators want to help
+people achieve private and anonymous speech, not to help people (say) host
+Vin Diesel movies for download; and typical ISPs would rather not
+deal with customers who draw menacing letters
+from the MPAA\@. While it is quite likely that the operators are doing nothing
+illegal, many ISPs have policies of dropping users who get repeated legal
+threats regardless of the merits of those threats, and many operators would
+prefer to avoid receiving even meritless legal threats.
+So when letters arrive, operators are likely to face
+pressure to block file-sharing applications entirely, in order to avoid the
+hassle.
+
+But blocking file-sharing is not easy: popular
+protocols have evolved to run on non-standard ports to
+get around other port-based bans. Thus, exit node operators who want to
+block file-sharing would have to find some way to integrate Tor with a
+protocol-aware exit filter. This could be a technically expensive
+undertaking, and one with poor prospects: it is unlikely that Tor exit nodes
+would succeed where so many institutional firewalls have failed. Another
+possibility for sensitive operators is to run a restrictive node that
+only permits exit connections to a restricted range of ports that are
+not frequently associated with file sharing. There are increasingly few such
+ports.
+
+Other possible approaches might include rate-limiting connections, especially
+long-lived connections or connections to file-sharing ports, so that
+high-bandwidth connections do not flood the network. We might also want to
+give priority to cells on low-bandwidth connections to keep them interactive,
+but this could have negative anonymity implications.
+
+For the moment, it seems that Tor's bandwidth issues have rendered it
+unattractive for bulk file-sharing traffic; this may continue to be so in the
+future. Nevertheless, Tor will likely remain attractive for limited use in
+file-sharing protocols that have separate control and data channels.
+
+%[We should say more -- but what? That we'll see a similar
+% equilibriating effect as with bandwidth, where sensitive ops switch to
+% middleman, and we become less useful for file-sharing, so the file-sharing
+% people back off, so we get more ops since there's less file-sharing, so the
+% file-sharers come back, etc.]
+
+%XXXX
+%in practice, plausible deniability is hypothetical and doesn't seem very
+%convincing. if ISPs find the activity antisocial, they don't care *why*
+%your computer is doing that behavior.
+
+\subsection{Tor and blacklists}
+\label{subsec:tor-and-blacklists}
+
+It was long expected that, alongside legitimate users, Tor would also
+attract troublemakers who exploit Tor to abuse services on the
+Internet with vandalism, rude mail, and so on.
+Our initial answer to this situation was to use ``exit policies''
+to allow individual Tor nodes to block access to specific IP/port ranges.
+This approach aims to make operators more willing to run Tor by allowing
+them to prevent their nodes from being used for abusing particular
+services. For example, all Tor nodes currently block SMTP (port 25),
+to avoid being used for spam.
+
+Exit policies are useful, but they are insufficient: if not all nodes
+block a given service, that service may try to block Tor instead.
+While being blockable is important to being good netizens, we would like
+to encourage services to allow anonymous access. Services should not
+need to decide between blocking legitimate anonymous use and allowing
+unlimited abuse.
+
+This is potentially a bigger problem than it may appear.
+On the one hand, services should be allowed to refuse connections from
+sources of possible abuse.
+But when a Tor node administrator decides whether he prefers to be able
+to post to Wikipedia from his IP address, or to allow people to read
+Wikipedia anonymously through his Tor node, he is making the decision
+for others as well. (For a while, Wikipedia
+blocked all posting from all Tor nodes based on IP addresses.) If
+the Tor node shares an address with a campus or corporate NAT,
+then the decision can prevent the entire population from posting.
+This is a loss for both Tor
+and Wikipedia: we don't want to compete for (or divvy up) the
+NAT-protected entities of the world.
+
+Worse, many IP blacklists are coarse-grained: they ignore Tor's exit
+policies, partly because it's easier to implement and partly
+so they can punish
+all Tor nodes. One IP blacklist even bans
+every class C network that contains a Tor node, and recommends banning SMTP
+from these networks even though Tor does not allow SMTP at all. This
+strategic decision aims to discourage the
+operation of anything resembling an open proxy by encouraging its neighbors
+to shut it down to get unblocked themselves. This pressure even
+affects Tor nodes running in middleman mode (disallowing all exits) when
+those nodes are blacklisted too.
+
+Problems of abuse occur mainly with services such as IRC networks and
+Wikipedia, which rely on IP blocking to ban abusive users. While at first
+blush this practice might seem to depend on the anachronistic assumption that
+each IP is an identifier for a single user, it is actually more reasonable in
+practice: it assumes that non-proxy IPs are a costly resource, and that an
+abuser can not change IPs at will. By blocking IPs which are used by Tor
+nodes, open proxies, and service abusers, these systems hope to make
+ongoing abuse difficult. Although the system is imperfect, it works
+tolerably well for them in practice.
+
+Of course, we would prefer that legitimate anonymous users be able to
+access abuse-prone services. One conceivable approach would require
+would-be IRC users, for instance, to register accounts if they want to
+access the IRC network from Tor. In practice this would not
+significantly impede abuse if creating new accounts were easily automatable;
+this is why services use IP blocking. To deter abuse, pseudonymous
+identities need to require a significant switching cost in resources or human
+time. Some popular webmail applications
+impose cost with Reverse Turing Tests, but this step may not deter all
+abusers. Freedom used blind signatures to limit
+the number of pseudonyms for each paying account, but Tor has neither the
+ability nor the desire to collect payment.
+
+We stress that as far as we can tell, most Tor uses are not
+abusive. Most services have not complained, and others are actively
+working to find ways besides banning to cope with the abuse. For example,
+the Freenode IRC network had a problem with a coordinated group of
+abusers joining channels and subtly taking over the conversation; but
+when they labelled all users coming from Tor IPs as ``anonymous users,''
+removing the ability of the abusers to blend in, the abuse stopped.
+
+%The use of squishy IP-based ``authentication'' and ``authorization''
+%has not broken down even to the level that SSNs used for these
+%purposes have in commercial and public record contexts. Externalities
+%and misplaced incentives cause a continued focus on fighting identity
+%theft by protecting SSNs rather than developing better authentication
+%and incentive schemes \cite{price-privacy}. Similarly we can expect a
+%continued use of identification by IP number as long as there is no
+%workable alternative.
+
+%[XXX Mention correct DNS-RBL implementation. -NM]
+
+\section{Design choices}
+
+In addition to social issues, Tor also faces some design trade-offs that must
+be investigated as the network develops.
+
+\subsection{Transporting the stream vs transporting the packets}
+\label{subsec:stream-vs-packet}
+\label{subsec:tcp-vs-ip}
+
+Tor transports streams; it does not tunnel packets.
+It has often been suggested that like the old Freedom
+network~\cite{freedom21-security}, Tor should
+``obviously'' anonymize IP traffic
+at the IP layer. Before this could be done, many issues need to be resolved:
+
+\begin{enumerate}
+\setlength{\itemsep}{0mm}
+\setlength{\parsep}{0mm}
+\item \emph{IP packets reveal OS characteristics.} We would still need to do
+IP-level packet normalization, to stop things like TCP fingerprinting
+attacks. %There likely exist libraries that can help with this.
+This is unlikely to be a trivial task, given the diversity and complexity of
+TCP stacks.
+\item \emph{Application-level streams still need scrubbing.} We still need
+Tor to be easy to integrate with user-level application-specific proxies
+such as Privoxy. So it's not just a matter of capturing packets and
+anonymizing them at the IP layer.
+\item \emph{Certain protocols will still leak information.} For example, we
+must rewrite DNS requests so they are delivered to an unlinkable DNS server
+rather than the DNS server at a user's ISP; thus, we must understand the
+protocols we are transporting.
+\item \emph{The crypto is unspecified.} First we need a block-level encryption
+approach that can provide security despite
+packet loss and out-of-order delivery. Freedom allegedly had one, but it was
+never publicly specified.
+Also, TLS over UDP is not yet implemented or
+specified, though some early work has begun~\cite{dtls}.
+\item \emph{We'll still need to tune network parameters.} Since the above
+encryption system will likely need sequence numbers (and maybe more) to do
+replay detection, handle duplicate frames, and so on, we will be reimplementing
+a subset of TCP anyway---a notoriously tricky path.
+\item \emph{Exit policies for arbitrary IP packets mean building a secure
+IDS\@.} Our node operators tell us that exit policies are one of
+the main reasons they're willing to run Tor.
+Adding an Intrusion Detection System to handle exit policies would
+increase the security complexity of Tor, and would likely not work anyway,
+as evidenced by the entire field of IDS and counter-IDS papers. Many
+potential abuse issues are resolved by the fact that Tor only transports
+valid TCP streams (as opposed to arbitrary IP including malformed packets
+and IP floods), so exit policies become even \emph{more} important as
+we become able to transport IP packets. We also need to compactly
+describe exit policies so clients can predict
+which nodes will allow which packets to exit.
+\item \emph{The Tor-internal name spaces would need to be redesigned.} We
+support hidden service {\tt{.onion}} addresses (and other special addresses,
+like {\tt{.exit}} which lets the user request a particular exit node),
+by intercepting the addresses when they are passed to the Tor client.
+Doing so at the IP level would require a more complex interface between
+Tor and the local DNS resolver.
+\end{enumerate}
+
+This list is discouragingly long, but being able to transport more
+protocols obviously has some advantages. It would be good to learn which
+items are actual roadblocks and which are easier to resolve than we think.
+
+To be fair, Tor's stream-based approach has run into
+stumbling blocks as well. While Tor supports the SOCKS protocol,
+which provides a standardized interface for generic TCP proxies, many
+applications do not support SOCKS\@. For them we already need to
+replace the networking system calls with SOCKS-aware
+versions, or run a SOCKS tunnel locally, neither of which is
+easy for the average user. %---even with good instructions.
+Even when applications can use SOCKS, they often make DNS requests
+themselves before handing an IP address to Tor, which advertises
+where the user is about to connect.
+We are still working on more usable solutions.
+
+%So to actually provide good anonymity, we need to make sure that
+%users have a practical way to use Tor anonymously. Possibilities include
+%writing wrappers for applications to anonymize them automatically; improving
+%the applications' support for SOCKS; writing libraries to help application
+%writers use Tor properly; and implementing a local DNS proxy to reroute DNS
+%requests to Tor so that applications can simply point their DNS resolvers at
+%localhost and continue to use SOCKS for data only.
+
+\subsection{Mid-latency}
+\label{subsec:mid-latency}
+
+Some users need to resist traffic correlation attacks. Higher-latency
+mix-networks introduce variability into message
+arrival times: as timing variance increases, timing correlation attacks
+require increasingly more data~\cite{e2e-traffic}. Can we improve Tor's
+resistance without losing too much usability?
+
+We need to learn whether we can trade a small increase in latency
+for a large anonymity increase, or if we'd end up trading a lot of
+latency for only a minimal security gain. A trade-off might be worthwhile
+even if we
+could only protect certain use cases, such as infrequent short-duration
+transactions. % To answer this question
+We might adapt the techniques of~\cite{e2e-traffic} to a lower-latency mix
+network, where the messages are batches of cells in temporally clustered
+connections. These large fixed-size batches can also help resist volume
+signature attacks~\cite{hintz-pet02}. We could also experiment with traffic
+shaping to get a good balance of throughput and security.
+%Other padding regimens might supplement the
+%mid-latency option; however, we should continue the caution with which
+%we have always approached padding lest the overhead cost us too much
+%performance or too many volunteers.
+
+We must keep usability in mind too. How much can latency increase
+before we drive users away? We've already been forced to increase
+latency slightly, as our growing network incorporates more DSL and
+cable-modem nodes and more nodes in distant continents. Perhaps we can
+harness this increased latency to improve anonymity rather than just
+reduce usability. Further, if we let clients label certain circuits as
+mid-latency as they are constructed, we could handle both types of traffic
+on the same network, giving users a choice between speed and security---and
+giving researchers a chance to experiment with parameters to improve the
+quality of those choices.
+
+\subsection{Enclaves and helper nodes}
+\label{subsec:helper-nodes}
+
+It has long been thought that users can improve their anonymity by
+running their own node~\cite{tor-design,or-ih96,or-pet00}, and using
+it in an \emph{enclave} configuration, where all their circuits begin
+at the node under their control. Running Tor clients or servers at
+the enclave perimeter is useful when policy or other requirements
+prevent individual machines within the enclave from running Tor
+clients~\cite{or-jsac98,or-discex00}.
+
+Of course, Tor's default path length of
+three is insufficient for these enclaves, since the entry and/or exit
+% [edit war: without the ``and/'' the natural reading here
+% is aut rather than vel. And the use of the plural verb does not work -pfs]
+themselves are sensitive. Tor thus increments path length by one
+for each sensitive endpoint in the circuit.
+Enclaves also help to protect against end-to-end attacks, since it's
+possible that traffic coming from the node has simply been relayed from
+elsewhere. However, if the node has recognizable behavior patterns,
+an attacker who runs nodes in the network can triangulate over time to
+gain confidence that it is in fact originating the traffic. Wright et
+al.~\cite{wright03} introduce the notion of a \emph{helper node}---a
+single fixed entry node for each user---to combat this \emph{predecessor
+attack}.
+
+However, the attack in~\cite{attack-tor-oak05} shows that simply adding
+to the path length, or using a helper node, may not protect an enclave
+node. A hostile web server can send constant interference traffic to
+all nodes in the network, and learn which nodes are involved in the
+circuit (though at least in the current attack, he can't learn their
+order). Using randomized path lengths may help some, since the attacker
+will never be certain he has identified all nodes in the path unless
+he probes the entire network, but as
+long as the network remains small this attack will still be feasible.
+
+Helper nodes also aim to help Tor clients, because choosing entry and exit
+points
+randomly and changing them frequently allows an attacker who controls
+even a few nodes to eventually link some of their destinations. The goal
+is to take the risk once and for all about choosing a bad entry node,
+rather than taking a new risk for each new circuit. (Choosing fixed
+exit nodes is less useful, since even an honest exit node still doesn't
+protect against a hostile website.) But obstacles remain before
+we can implement helper nodes.
+For one, the literature does not describe how to choose helpers from a list
+of nodes that changes over time. If Alice is forced to choose a new entry
+helper every $d$ days and $c$ of the $n$ nodes are bad, she can expect
+to choose a compromised node around
+every $dc/n$ days. Statistically over time this approach only helps
+if she is better at choosing honest helper nodes than at choosing
+honest nodes. Worse, an attacker with the ability to DoS nodes could
+force users to switch helper nodes more frequently, or remove
+other candidate helpers.
+
+%Do general DoS attacks have anonymity implications? See e.g. Adam
+%Back's IH paper, but I think there's more to be pointed out here. -RD
+% Not sure what you want to say here. -NM
+
+%Game theory for helper nodes: if Alice offers a hidden service on a
+%server (enclave model), and nobody ever uses helper nodes, then against
+%George+Steven's attack she's totally nailed. If only Alice uses a helper
+%node, then she's still identified as the source of the data. If everybody
+%uses a helper node (including Alice), then the attack identifies the
+%helper node and also Alice, and knows which one is which. If everybody
+%uses a helper node (but not Alice), then the attacker figures the real
+%source was a client that is using Alice as a helper node. [How's my
+%logic here?] -RD
+%
+% Not sure about the logic. For the attack to work with helper nodes, the
+%attacker needs to guess that Alice is running the hidden service, right?
+%Otherwise, how can he know to measure her traffic specifically? -NM
+%
+% In the Murdoch-Danezis attack, the adversary measures all servers. -RD
+
+%point to routing-zones section re: helper nodes to defend against
+%big stuff.
+
+\subsection{Location-hidden services}
+\label{subsec:hidden-services}
+
+% This section is first up against the wall when the revolution comes.
+
+Tor's \emph{rendezvous points}
+let users provide TCP services to other Tor users without revealing
+the service's location. Since this feature is relatively recent, we describe
+here
+a couple of our early observations from its deployment.
+
+First, our implementation of hidden services seems less hidden than we'd
+like, since they build a different rendezvous circuit for each user,
+and an external adversary can induce them to
+produce traffic. This insecurity means that they may not be suitable as
+a building block for Free Haven~\cite{freehaven-berk} or other anonymous
+publishing systems that aim to provide long-term security, though helper
+nodes, as discussed above, would seem to help.
+
+\emph{Hot-swap} hidden services, where more than one location can
+provide the service and loss of any one location does not imply a
+change in service, would help foil intersection and observation attacks
+where an adversary monitors availability of a hidden service and also
+monitors whether certain users or servers are online. The design
+challenges in providing such services without otherwise compromising
+the hidden service's anonymity remain an open problem;
+however, see~\cite{move-ndss05}.
+
+In practice, hidden services are used for more than just providing private
+access to a web server or IRC server. People are using hidden services
+as a poor man's VPN and firewall-buster. Many people want to be able
+to connect to the computers in their private network via secure shell,
+and rather than playing with dyndns and trying to pierce holes in their
+firewall, they run a hidden service on the inside and then rendezvous
+with that hidden service externally.
+
+News sites like Bloggers Without Borders (www.b19s.org) are advertising
+a hidden-service address on their front page. Doing this can provide
+increased robustness if they use the dual-IP approach we describe
+in~\cite{tor-design},
+but in practice they do it to increase visibility
+of the Tor project and their support for privacy, and to offer
+a way for their users, using unmodified software, to get end-to-end
+encryption and authentication to their website.
+
+\subsection{Location diversity and ISP-class adversaries}
+\label{subsec:routing-zones}
+
+Anonymity networks have long relied on diversity of node location for
+protection against attacks---typically an adversary who can observe a
+larger fraction of the network can launch a more effective attack. One
+way to achieve dispersal involves growing the network so a given adversary
+sees less. Alternately, we can arrange the topology so traffic can enter
+or exit at many places (for example, by using a free-route network
+like Tor rather than a cascade network like JAP). Lastly, we can use
+distributed trust to spread each transaction over multiple jurisdictions.
+But how do we decide whether two nodes are in related locations?
+
+Feamster and Dingledine defined a \emph{location diversity} metric
+in~\cite{feamster:wpes2004}, and began investigating a variant of location
+diversity based on the fact that the Internet is divided into thousands of
+independently operated networks called {\em autonomous systems} (ASes).
+The key insight from their paper is that while we typically think of a
+connection as going directly from the Tor client to the first Tor node,
+actually it traverses many different ASes on each hop. An adversary at
+any of these ASes can monitor or influence traffic. Specifically, given
+plausible initiators and recipients, and given random path selection,
+some ASes in the simulation were able to observe 10\% to 30\% of the
+transactions (that is, learn both the origin and the destination) on
+the deployed Tor network (33 nodes as of June 2004).
+
+The paper concludes that for best protection against the AS-level
+adversary, nodes should be in ASes that have the most links to other ASes:
+Tier-1 ISPs such as AT\&T and Abovenet. Further, a given transaction
+is safest when it starts or ends in a Tier-1 ISP\@. Therefore, assuming
+initiator and responder are both in the U.S., it actually \emph{hurts}
+our location diversity to use far-flung nodes in
+continents like Asia or South America.
+% it's not just entering or exiting from them. using them as the middle
+% hop reduces your effective path length, which you presumably don't
+% want because you chose that path length for a reason.
+%
+% Not sure I buy that argument. Two end nodes in the right ASs to
+% discourage linking are still not known to each other. If some
+% adversary in a single AS can bridge the middle node, it shouldn't
+% therefore be able to identify initiator or responder; although it could
+% contribute to further attacks given more assumptions.
+% Nonetheless, no change to the actual text for now.
+
+Many open questions remain. First, it will be an immense engineering
+challenge to get an entire BGP routing table to each Tor client, or to
+summarize it sufficiently. Without a local copy, clients won't be
+able to safely predict what ASes will be traversed on the various paths
+through the Tor network to the final destination. Tarzan~\cite{tarzan:ccs02}
+and MorphMix~\cite{morphmix:fc04} suggest that we compare IP prefixes to
+determine location diversity; but the above paper showed that in practice
+many of the Mixmaster nodes that share a single AS have entirely different
+IP prefixes. When the network has scaled to thousands of nodes, does IP
+prefix comparison become a more useful approximation? % Alternatively, can
+%relevant parts of the routing tables be summarized centrally and delivered to
+%clients in a less verbose format?
+%% i already said "or to summarize is sufficiently" above. is that not
+%% enough? -RD
+%
+Second, we can take advantage of caching certain content at the
+exit nodes, to limit the number of requests that need to leave the
+network at all. What about taking advantage of caches like Akamai or
+Google~\cite{shsm03}? (Note that they're also well-positioned as global
+adversaries.)
+%
+Third, if we follow the recommendations in~\cite{feamster:wpes2004}
+ and tailor path selection
+to avoid choosing endpoints in similar locations, how much are we hurting
+anonymity against larger real-world adversaries who can take advantage
+of knowing our algorithm?
+%
+Fourth, can we use this knowledge to figure out which gaps in our network
+most affect our robustness to this class of attack, and go recruit
+new nodes with those ASes in mind?
+
+%Tor's security relies in large part on the dispersal properties of its
+%network. We need to be more aware of the anonymity properties of various
+%approaches so we can make better design decisions in the future.
+
+\subsection{The Anti-censorship problem}
+\label{subsec:china}
+
+Citizens in a variety of countries, such as most recently China and
+Iran, are blocked from accessing various sites outside
+their country. These users try to find any tools available to allow
+them to get around these firewalls. Some anonymity networks, such as
+Six-Four~\cite{six-four}, are designed specifically with this goal in
+mind; others like the Anonymizer~\cite{anonymizer} are paid by sponsors
+such as Voice of America to encourage Internet
+freedom. Even though Tor wasn't
+designed with ubiquitous access to the network in mind, thousands of
+users across the world are now using it for exactly this purpose.
+% Academic and NGO organizations, peacefire, \cite{berkman}, etc
+
+Anti-censorship networks hoping to bridge country-level blocks face
+a variety of challenges. One of these is that they need to find enough
+exit nodes---servers on the `free' side that are willing to relay
+traffic from users to their final destinations. Anonymizing
+networks like Tor are well-suited to this task since we have
+already gathered a set of exit nodes that are willing to tolerate some
+political heat.
+
+The other main challenge is to distribute a list of reachable relays
+to the users inside the country, and give them software to use those relays,
+without letting the censors also enumerate this list and block each
+relay. Anonymizer solves this by buying lots of seemingly-unrelated IP
+addresses (or having them donated), abandoning old addresses as they are
+`used up,' and telling a few users about the new ones. Distributed
+anonymizing networks again have an advantage here, in that we already
+have tens of thousands of separate IP addresses whose users might
+volunteer to provide this service since they've already installed and use
+the software for their own privacy~\cite{koepsell:wpes2004}. Because
+the Tor protocol separates routing from network discovery \cite{tor-design},
+volunteers could configure their Tor clients
+to generate node descriptors and send them to a special directory
+server that gives them out to dissidents who need to get around blocks.
+
+Of course, this still doesn't prevent the adversary
+from enumerating and preemptively blocking the volunteer relays.
+Perhaps a tiered-trust system could be built where a few individuals are
+given relays' locations. They could then recommend other individuals
+by telling them
+those addresses, thus providing a built-in incentive to avoid letting the
+adversary intercept them. Max-flow trust algorithms~\cite{advogato}
+might help to bound the number of IP addresses leaked to the adversary. Groups
+like the W3C are looking into using Tor as a component in an overall system to
+help address censorship; we wish them success.
+
+%\cite{infranet}
+
+\section{Scaling}
+\label{sec:scaling}
+
+Tor is running today with hundreds of nodes and tens of thousands of
+users, but it will certainly not scale to millions.
+Scaling Tor involves four main challenges. First, to get a
+large set of nodes, we must address incentives for
+users to carry traffic for others. Next is safe node discovery, both
+while bootstrapping (Tor clients must robustly find an initial
+node list) and later (Tor clients must learn about a fair sample
+of honest nodes and not let the adversary control circuits).
+We must also detect and handle node speed and reliability as the network
+becomes increasingly heterogeneous: since the speed and reliability
+of a circuit is limited by its worst link, we must learn to track and
+predict performance. Finally, we must stop assuming that all points on
+the network can connect to all other points.
+
+\subsection{Incentives by Design}
+\label{subsec:incentives-by-design}
+
+There are three behaviors we need to encourage for each Tor node: relaying
+traffic; providing good throughput and reliability while doing it;
+and allowing traffic to exit the network from that node.
+
+We encourage these behaviors through \emph{indirect} incentives: that
+is, by designing the system and educating users in such a way that users
+with certain goals will choose to relay traffic. One
+main incentive for running a Tor node is social: volunteers
+altruistically donate their bandwidth and time. We encourage this with
+public rankings of the throughput and reliability of nodes, much like
+seti@home. We further explain to users that they can get
+deniability for any traffic emerging from the same address as a Tor
+exit node, and they can use their own Tor node
+as an entry or exit point with confidence that it's not run by an adversary.
+Further, users may run a node simply because they need such a network
+to be persistently available and usable, and the value of supporting this
+exceeds any countervening costs.
+Finally, we can encourage operators by improving the usability and feature
+set of the software:
+rate limiting support and easy packaging decrease the hassle of
+maintaining a node, and our configurable exit policies allow each
+operator to advertise a policy describing the hosts and ports to which
+he feels comfortable connecting.
+
+To date these incentives appear to have been adequate. As the system scales
+or as new issues emerge, however, we may also need to provide
+ \emph{direct} incentives:
+providing payment or other resources in return for high-quality service.
+Paying actual money is problematic: decentralized e-cash systems are
+not yet practical, and a centralized collection system not only reduces
+robustness, but also has failed in the past (the history of commercial
+anonymizing networks is littered with failed attempts). A more promising
+option is to use a tit-for-tat incentive scheme, where nodes provide better
+service to nodes that have provided good service for them.
+
+Unfortunately, such an approach introduces new anonymity problems.
+There are many surprising ways for nodes to game the incentive and
+reputation system to undermine anonymity---such systems are typically
+designed to encourage fairness in storage or bandwidth usage, not
+fairness of provided anonymity. An adversary can attract more traffic
+by performing well or can target individual users by selectively
+performing, to undermine their anonymity. Typically a user who
+chooses evenly from all nodes is most resistant to an adversary
+targeting him, but that approach hampers the efficient use
+of heterogeneous nodes.
+
+%When a node (call him Steve) performs well for Alice, does Steve gain
+%reputation with the entire system, or just with Alice? If the entire
+%system, how does Alice tell everybody about her experience in a way that
+%prevents her from lying about it yet still protects her identity? If
+%Steve's behavior only affects Alice's behavior, does this allow Steve to
+%selectively perform only for Alice, and then break her anonymity later
+%when somebody (presumably Alice) routes through his node?
+
+A possible solution is a simplified approach to the tit-for-tat
+incentive scheme based on two rules: (1) each node should measure the
+service it receives from adjacent nodes, and provide service relative
+to the received service, but (2) when a node is making decisions that
+affect its own security (such as building a circuit for its own
+application connections), it should choose evenly from a sufficiently
+large set of nodes that meet some minimum service
+threshold~\cite{casc-rep}. This approach allows us to discourage
+bad service
+without opening Alice up as much to attacks. All of this requires
+further study.
+
+\subsection{Trust and discovery}
+\label{subsec:trust-and-discovery}
+
+The published Tor design is deliberately simplistic in how
+new nodes are authorized and how clients are informed about Tor
+nodes and their status.
+All nodes periodically upload a signed description
+of their locations, keys, and capabilities to each of several well-known {\it
+ directory servers}. These directory servers construct a signed summary
+of all known Tor nodes (a ``directory''), and a signed statement of which
+nodes they
+believe to be operational then (a ``network status''). Clients
+periodically download a directory to learn the latest nodes and
+keys, and more frequently download a network status to learn which nodes are
+likely to be running. Tor nodes also operate as directory caches, to
+lighten the bandwidth on the directory servers.
+
+To prevent Sybil attacks (wherein an adversary signs up many
+purportedly independent nodes to increase her network view),
+this design
+requires the directory server operators to manually
+approve new nodes. Unapproved nodes are included in the directory,
+but clients
+do not use them at the start or end of their circuits. In practice,
+directory administrators perform little actual verification, and tend to
+approve any Tor node whose operator can compose a coherent email.
+This procedure
+may prevent trivial automated Sybil attacks, but will do little
+against a clever and determined attacker.
+
+There are a number of flaws in this system that need to be addressed as we
+move forward. First,
+each directory server represents an independent point of failure: any
+compromised directory server could start recommending only compromised
+nodes.
+Second, as more nodes join the network, %the more unreasonable it
+%becomes to expect clients to know about them all.
+directories
+become infeasibly large, and downloading the list of nodes becomes
+burdensome.
+Third, the validation scheme may do as much harm as it does good. It
+does not prevent clever attackers from mounting Sybil attacks,
+and it may deter node operators from joining the network---if
+they expect the validation process to be difficult, or they do not share
+any languages in common with the directory server operators.
+
+We could try to move the system in several directions, depending on our
+choice of threat model and requirements. If we did not need to increase
+network capacity to support more users, we could simply
+ adopt even stricter validation requirements, and reduce the number of
+nodes in the network to a trusted minimum.
+But, we can only do that if we can simultaneously make node capacity
+scale much more than we anticipate to be feasible soon, and if we can find
+entities willing to run such nodes, an equally daunting prospect.
+
+In order to address the first two issues, it seems wise to move to a system
+including a number of semi-trusted directory servers, no one of which can
+compromise a user on its own. Ultimately, of course, we cannot escape the
+problem of a first introducer: since most users will run Tor in whatever
+configuration the software ships with, the Tor distribution itself will
+remain a single point of failure so long as it includes the seed
+keys for directory servers, a list of directory servers, or any other means
+to learn which nodes are on the network. But omitting this information
+from the Tor distribution would only delegate the trust problem to each
+individual user. %, most of whom are presumably less informed about how to make
+%trust decisions than the Tor developers.
+A well publicized, widely available, authoritatively and independently
+endorsed and signed list of initial directory servers and their keys
+is a possible solution. But, setting that up properly is itself a large
+bootstrapping task.
+
+%Network discovery, sybil, node admission, scaling. It seems that the code
+%will ship with something and that's our trust root. We could try to get
+%people to build a web of trust, but no. Where we go from here depends
+%on what threats we have in mind. Really decentralized if your threat is
+%RIAA; less so if threat is to application data or individuals or...
+
+\subsection{Measuring performance and capacity}
+\label{subsec:performance}
+
+One of the paradoxes with engineering an anonymity network is that we'd like
+to learn as much as we can about how traffic flows so we can improve the
+network, but we want to prevent others from learning how traffic flows in
+order to trace users' connections through the network. Furthermore, many
+mechanisms that help Tor run efficiently
+require measurements about the network.
+
+Currently, nodes try to deduce their own available bandwidth (based on how
+much traffic they have been able to transfer recently) and include this
+information in the descriptors they upload to the directory. Clients
+choose servers weighted by their bandwidth, neglecting really slow
+servers and capping the influence of really fast ones.
+%
+This is, of course, eminently cheatable. A malicious node can get a
+disproportionate amount of traffic simply by claiming to have more bandwidth
+than it does. But better mechanisms have their problems. If bandwidth data
+is to be measured rather than self-reported, it is usually possible for
+nodes to selectively provide better service for the measuring party, or
+sabotage the measured value of other nodes. Complex solutions for
+mix networks have been proposed, but do not address the issues
+completely~\cite{mix-acc,casc-rep}.
+
+Even with no cheating, network measurement is complex. It is common
+for views of a node's latency and/or bandwidth to vary wildly between
+observers. Further, it is unclear whether total bandwidth is really
+the right measure; perhaps clients should instead be considering nodes
+based on unused bandwidth or observed throughput.
+%How to measure performance without letting people selectively deny service
+%by distinguishing pings. Heck, just how to measure performance at all. In
+%practice people have funny firewalls that don't match up to their exit
+%policies and Tor doesn't deal.
+%
+%Network investigation: Is all this bandwidth publishing thing a good idea?
+%How can we collect stats better? Note weasel's smokeping, at
+%http://seppia.noreply.org/cgi-bin/smokeping.cgi?target=Tor
+%which probably gives george and steven enough info to break tor?
+%
+And even if we can collect and use this network information effectively,
+we must ensure
+that it is not more useful to attackers than to us. While it
+seems plausible that bandwidth data alone is not enough to reveal
+sender-recipient connections under most circumstances, it could certainly
+reveal the path taken by large traffic flows under low-usage circumstances.
+
+\subsection{Non-clique topologies}
+
+Tor's comparatively weak threat model may allow easier scaling than
+other
+designs. High-latency mix networks need to avoid partitioning attacks, where
+network splits let an attacker distinguish users in different partitions.
+Since Tor assumes the adversary cannot cheaply observe nodes at will,
+a network split may not decrease protection much.
+Thus, one option when the scale of a Tor network
+exceeds some size is simply to split it. Nodes could be allocated into
+partitions while hampering collaborating hostile nodes from taking over
+a single partition~\cite{casc-rep}.
+Clients could switch between
+networks, even on a per-circuit basis.
+%Future analysis may uncover
+%other dangers beyond those affecting mix-nets.
+
+More conservatively, we can try to scale a single Tor network. Likely
+problems with adding more servers to a single Tor network include an
+explosion in the number of sockets needed on each server as more servers
+join, and increased coordination overhead to keep each users' view of
+the network consistent. As we grow, we will also have more instances of
+servers that can't reach each other simply due to Internet topology or
+routing problems.
+
+%include restricting the number of sockets and the amount of bandwidth
+%used by each node. The number of sockets is determined by the network's
+%connectivity and the number of users, while bandwidth capacity is determined
+%by the total bandwidth of nodes on the network. The simplest solution to
+%bandwidth capacity is to add more nodes, since adding a Tor node of any
+%feasible bandwidth will increase the traffic capacity of the network. So as
+%a first step to scaling, we should focus on making the network tolerate more
+%nodes, by reducing the interconnectivity of the nodes; later we can reduce
+%overhead associated with directories, discovery, and so on.
+
+We can address these points by reducing the network's connectivity.
+Danezis~\cite{danezis:pet2003} considers
+the anonymity implications of restricting routes on mix networks and
+recommends an approach based on expander graphs (where any subgraph is likely
+to have many neighbors). It is not immediately clear that this approach will
+extend to Tor, which has a weaker threat model but higher performance
+requirements: instead of analyzing the
+probability of an attacker's viewing whole paths, we will need to examine the
+attacker's likelihood of compromising the endpoints.
+%
+Tor may not need an expander graph per se: it
+may be enough to have a single central subnet that is highly connected, like
+an Internet backbone. % As an
+%example, assume fifty nodes of relatively high traffic capacity. This
+%\emph{center} forms a clique. Assume each center node can
+%handle 200 connections to other nodes (including the other ones in the
+%center). Assume every noncenter node connects to three nodes in the
+%center and anyone out of the center that they want to. Then the
+%network easily scales to c. 2500 nodes with commensurate increase in
+%bandwidth.
+There are many open questions: how to distribute connectivity information
+(presumably nodes will learn about the central nodes
+when they download Tor), whether central nodes
+will need to function as a `backbone', and so on. As above,
+this could reduce the amount of anonymity available from a mix-net,
+but for a low-latency network where anonymity derives largely from
+the edges, it may be feasible.
+
+%In a sense, Tor already has a non-clique topology.
+%Individuals can set up and run Tor nodes without informing the
+%directory servers. This allows groups to run a
+%local Tor network of private nodes that connects to the public Tor
+%network. This network is hidden behind the Tor network, and its
+%only visible connection to Tor is at those points where it connects.
+%As far as the public network, or anyone observing it, is concerned,
+%they are running clients.
+
+\section{The Future}
+\label{sec:conclusion}
+
+Tor is the largest and most diverse low-latency anonymity network
+available, but we are still in the beginning stages of deployment. Several
+major questions remain.
+
+First, will our volunteer-based approach to sustainability work in the
+long term? As we add more features and destabilize the network, the
+developers spend a lot of time keeping the server operators happy. Even
+though Tor is free software, the network would likely stagnate and die at
+this stage if the developers stopped actively working on it. We may get
+an unexpected boon from the fact that we're a general-purpose overlay
+network: as Tor grows more popular, other groups who need an overlay
+network on the Internet are starting to adapt Tor to their needs.
+%
+Second, Tor is only one of many components that preserve privacy online.
+For applications where it is desirable to
+keep identifying information out of application traffic, someone must build
+more and better protocol-aware proxies that are usable by ordinary people.
+%
+Third, we need to gain a reputation for social good, and learn how to
+coexist with the variety of Internet services and their established
+authentication mechanisms. We can't just keep escalating the blacklist
+standoff forever.
+%
+Fourth, the current Tor
+architecture does not scale even to handle current user demand. We must
+find designs and incentives to let some clients relay traffic too, without
+sacrificing too much anonymity.
+
+These are difficult and open questions. Yet choosing not to solve them
+means leaving most users to a less secure network or no anonymizing
+network at all.
+
+\bibliographystyle{plain} \bibliography{tor-design}
+
+\clearpage
+\appendix
+
+\begin{figure}[t]
+%\unitlength=1in
+\centering
+%\begin{picture}(6.0,2.0)
+%\put(3,1){\makebox(0,0)[c]{\epsfig{figure=graphnodes,width=6in}}}
+%\end{picture}
+\mbox{\epsfig{figure=graphnodes,width=5in}}
+\caption{Number of Tor nodes over time, through January 2005. Lowest
+line is number of exit
+nodes that allow connections to port 80. Middle line is total number of
+verified (registered) Tor nodes. The line above that represents nodes
+that are running but not yet registered.}
+\label{fig:graphnodes}
+\end{figure}
+
+\begin{figure}[t]
+\centering
+\mbox{\epsfig{figure=graphtraffic,width=5in}}
+\caption{The sum of traffic reported by each node over time, through
+January 2005. The bottom
+pair show average throughput, and the top pair represent the largest 15
+minute burst in each 4 hour period.}
+\label{fig:graphtraffic}
+\end{figure}
+
+\end{document}
+
+%Making use of nodes with little bandwidth, or high latency/packet loss.
+
+%Running Tor nodes behind NATs, behind great-firewalls-of-China, etc.
+%Restricted routes. How to propagate to everybody the topology? BGP
+%style doesn't work because we don't want just *one* path. Point to
+%Geoff's stuff.
+
diff --git a/2005/challenges/graphnodes.pdf b/2005/challenges/graphnodes.pdf
new file mode 100644
index 0000000..68e98dc
Binary files /dev/null and b/2005/challenges/graphnodes.pdf differ
diff --git a/2005/challenges/graphtraffic.pdf b/2005/challenges/graphtraffic.pdf
new file mode 100644
index 0000000..e37382f
Binary files /dev/null and b/2005/challenges/graphtraffic.pdf differ
diff --git a/2005/challenges/llncs.cls b/2005/challenges/llncs.cls
new file mode 100644
index 0000000..697dd77
--- /dev/null
+++ b/2005/challenges/llncs.cls
@@ -0,0 +1,1016 @@
+% LLNCS DOCUMENT CLASS -- version 2.8
+% for LaTeX2e
+%
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{llncs}[2000/05/16 v2.8
+^^JLaTeX document class for Lecture Notes in Computer Science]
+% Options
+\let\if@envcntreset\iffalse
+\DeclareOption{envcountreset}{\let\if@envcntreset\iftrue}
+\DeclareOption{citeauthoryear}{\let\citeauthoryear=Y}
+\DeclareOption{oribibl}{\let\oribibl=Y}
+\let\if@custvec\iftrue
+\DeclareOption{orivec}{\let\if@custvec\iffalse}
+\let\if@envcntsame\iffalse
+\DeclareOption{envcountsame}{\let\if@envcntsame\iftrue}
+\let\if@envcntsect\iffalse
+\DeclareOption{envcountsect}{\let\if@envcntsect\iftrue}
+\let\if@runhead\iffalse
+\DeclareOption{runningheads}{\let\if@runhead\iftrue}
+
+\let\if@openbib\iffalse
+\DeclareOption{openbib}{\let\if@openbib\iftrue}
+
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+
+\ProcessOptions
+
+\LoadClass[twoside]{article}
+\RequirePackage{multicol} % needed for the list of participants, index
+
+\setlength{\textwidth}{12.2cm}
+\setlength{\textheight}{19.3cm}
+
+% Ragged bottom for the actual page
+\def\thisbottomragged{\def\@textbottom{\vskip\z@ plus.0001fil
+\global\let\@textbottom\relax}}
+
+\renewcommand\small{%
+ \@setfontsize\small\@ixpt{11}%
+ \abovedisplayskip 8.5\p@ \@plus3\p@ \@minus4\p@
+ \abovedisplayshortskip \z@ \@plus2\p@
+ \belowdisplayshortskip 4\p@ \@plus2\p@ \@minus2\p@
+ \def\@listi{\leftmargin\leftmargini
+ \parsep 0\p@ \@plus1\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep0\p@}%
+ \belowdisplayskip \abovedisplayskip
+}
+
+\frenchspacing
+\widowpenalty=10000
+\clubpenalty=10000
+
+\setlength\oddsidemargin {63\p@}
+\setlength\evensidemargin {63\p@}
+\setlength\marginparwidth {90\p@}
+
+\setlength\headsep {16\p@}
+
+\setlength\footnotesep{7.7\p@}
+\setlength\textfloatsep{8mm\@plus 2\p@ \@minus 4\p@}
+\setlength\intextsep {8mm\@plus 2\p@ \@minus 2\p@}
+
+\setcounter{secnumdepth}{2}
+
+\newcounter {chapter}
+\renewcommand\thechapter {\@arabic\c@chapter}
+
+\newif\if@mainmatter \@mainmattertrue
+\newcommand\frontmatter{\cleardoublepage
+ \@mainmatterfalse\pagenumbering{Roman}}
+\newcommand\mainmatter{\cleardoublepage
+ \@mainmattertrue\pagenumbering{arabic}}
+\newcommand\backmatter{\if@openright\cleardoublepage\else\clearpage\fi
+ \@mainmatterfalse}
+
+\renewcommand\part{\cleardoublepage
+ \thispagestyle{empty}%
+ \if@twocolumn
+ \onecolumn
+ \@tempswatrue
+ \else
+ \@tempswafalse
+ \fi
+ \null\vfil
+ \secdef\@part\@spart}
+
+\def\@part[#1]#2{%
+ \ifnum \c@secnumdepth >-2\relax
+ \refstepcounter{part}%
+ \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}%
+ \else
+ \addcontentsline{toc}{part}{#1}%
+ \fi
+ \markboth{}{}%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \ifnum \c@secnumdepth >-2\relax
+ \huge\bfseries \partname~\thepart
+ \par
+ \vskip 20\p@
+ \fi
+ \Huge \bfseries #2\par}%
+ \@endpart}
+\def\@spart#1{%
+ {\centering
+ \interlinepenalty \@M
+ \normalfont
+ \Huge \bfseries #1\par}%
+ \@endpart}
+\def\@endpart{\vfil\newpage
+ \if@twoside
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
+
+\newcommand\chapter{\clearpage
+ \thispagestyle{empty}%
+ \global\@topnum\z@
+ \@afterindentfalse
+ \secdef\@chapter\@schapter}
+\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \refstepcounter{chapter}%
+ \typeout{\(a)chapapp\space\thechapter.}%
+ \addcontentsline{toc}{chapter}%
+ {\protect\numberline{\thechapter}#1}%
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \else
+ \addcontentsline{toc}{chapter}{#1}%
+ \fi
+ \chaptermark{#1}%
+ \addtocontents{lof}{\protect\addvspace{10\p@}}%
+ \addtocontents{lot}{\protect\addvspace{10\p@}}%
+ \if@twocolumn
+ \@topnewpage[\@makechapterhead{#2}]%
+ \else
+ \@makechapterhead{#2}%
+ \@afterheading
+ \fi}
+\def\@makechapterhead#1{%
+% \vspace*{50\p@}%
+ {\centering
+ \ifnum \c@secnumdepth >\m@ne
+ \if@mainmatter
+ \large\bfseries \@chapapp{} \thechapter
+ \par\nobreak
+ \vskip 20\p@
+ \fi
+ \fi
+ \interlinepenalty\@M
+ \Large \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }}
+\def\@schapter#1{\if@twocolumn
+ \@topnewpage[\@makeschapterhead{#1}]%
+ \else
+ \@makeschapterhead{#1}%
+ \@afterheading
+ \fi}
+\def\@makeschapterhead#1{%
+% \vspace*{50\p@}%
+ {\centering
+ \normalfont
+ \interlinepenalty\@M
+ \Large \bfseries #1\par\nobreak
+ \vskip 40\p@
+ }}
+
+\renewcommand\section{\@startsection{section}{1}{\z@}%
+ {-18\p@ \@plus -4\p@ \@minus -4\p@}%
+ {12\p@ \@plus 4\p@ \@minus 4\p@}%
+ {\normalfont\large\bfseries\boldmath
+ \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
+\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
+ {-18\p@ \@plus -4\p@ \@minus -4\p@}%
+ {8\p@ \@plus 4\p@ \@minus 4\p@}%
+ {\normalfont\normalsize\bfseries\boldmath
+ \rightskip=\z@ \@plus 8em\pretolerance=10000 }}
+\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
+ {-18\p@ \@plus -4\p@ \@minus -4\p@}%
+ {-0.5em \@plus -0.22em \@minus -0.1em}%
+ {\normalfont\normalsize\bfseries\boldmath}}
+\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
+ {-12\p@ \@plus -4\p@ \@minus -4\p@}%
+ {-0.5em \@plus -0.22em \@minus -0.1em}%
+ {\normalfont\normalsize\itshape}}
+\renewcommand\subparagraph[1]{\typeout{LLNCS warning: You should not use
+ \string\subparagraph\space with this class}\vskip0.5cm
+You should not use \verb|\subparagraph| with this class.\vskip0.5cm}
+
+\DeclareMathSymbol{\Gamma}{\mathalpha}{letters}{"00}
+\DeclareMathSymbol{\Delta}{\mathalpha}{letters}{"01}
+\DeclareMathSymbol{\Theta}{\mathalpha}{letters}{"02}
+\DeclareMathSymbol{\Lambda}{\mathalpha}{letters}{"03}
+\DeclareMathSymbol{\Xi}{\mathalpha}{letters}{"04}
+\DeclareMathSymbol{\Pi}{\mathalpha}{letters}{"05}
+\DeclareMathSymbol{\Sigma}{\mathalpha}{letters}{"06}
+\DeclareMathSymbol{\Upsilon}{\mathalpha}{letters}{"07}
+\DeclareMathSymbol{\Phi}{\mathalpha}{letters}{"08}
+\DeclareMathSymbol{\Psi}{\mathalpha}{letters}{"09}
+\DeclareMathSymbol{\Omega}{\mathalpha}{letters}{"0A}
+
+\let\footnotesize\small
+
+\if@custvec
+\def\vec#1{\mathchoice{\mbox{\boldmath$\displaystyle#1$}}
+{\mbox{\boldmath$\textstyle#1$}}
+{\mbox{\boldmath$\scriptstyle#1$}}
+{\mbox{\boldmath$\scriptscriptstyle#1$}}}
+\fi
+
+\def\squareforqed{\hbox{\rlap{$\sqcap$}$\sqcup$}}
+\def\qed{\ifmmode\squareforqed\else{\unskip\nobreak\hfil
+\penalty50\hskip1em\null\nobreak\hfil\squareforqed
+\parfillskip=0pt\finalhyphendemerits=0\endgraf}\fi}
+
+\def\getsto{\mathrel{\mathchoice {\vcenter{\offinterlineskip
+\halign{\hfil
+$\displaystyle##$\hfil\cr\gets\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr\gets
+\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr\gets
+\cr\to\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
+\gets\cr\to\cr}}}}}
+\def\lid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\displaystyle##$\hfil\cr<\cr\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr<\cr
+\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr<\cr
+\noalign{\vskip1pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
+<\cr
+\noalign{\vskip0.9pt}=\cr}}}}}
+\def\gid{\mathrel{\mathchoice {\vcenter{\offinterlineskip\halign{\hfil
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr>\cr
+\noalign{\vskip1.2pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr>\cr
+\noalign{\vskip1pt}=\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
+>\cr
+\noalign{\vskip0.9pt}=\cr}}}}}
+\def\grole{\mathrel{\mathchoice {\vcenter{\offinterlineskip
+\halign{\hfil
+$\displaystyle##$\hfil\cr>\cr\noalign{\vskip-1pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\textstyle##$\hfil\cr
+>\cr\noalign{\vskip-1pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptstyle##$\hfil\cr
+>\cr\noalign{\vskip-0.8pt}<\cr}}}
+{\vcenter{\offinterlineskip\halign{\hfil$\scriptscriptstyle##$\hfil\cr
+>\cr\noalign{\vskip-0.3pt}<\cr}}}}}
+\def\bbbr{{\rm I\!R}} %reelle Zahlen
+\def\bbbm{{\rm I\!M}}
+\def\bbbn{{\rm I\!N}} %natuerliche Zahlen
+\def\bbbf{{\rm I\!F}}
+\def\bbbh{{\rm I\!H}}
+\def\bbbk{{\rm I\!K}}
+\def\bbbp{{\rm I\!P}}
+\def\bbbone{{\mathchoice {\rm 1\mskip-4mu l} {\rm 1\mskip-4mu l}
+{\rm 1\mskip-4.5mu l} {\rm 1\mskip-5mu l}}}
+\def\bbbc{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm C$}\hbox{\hbox
+to0pt{\kern0.4\wd0\vrule height0.9\ht0\hss}\box0}}}}
+\def\bbbq{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
+Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.8\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm Q$}\hbox{\raise
+0.15\ht0\hbox to0pt{\kern0.4\wd0\vrule height0.7\ht0\hss}\box0}}}}
+\def\bbbt{{\mathchoice {\setbox0=\hbox{$\displaystyle\rm
+T$}\hbox{\hbox to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm T$}\hbox{\hbox
+to0pt{\kern0.3\wd0\vrule height0.9\ht0\hss}\box0}}}}
+\def\bbbs{{\mathchoice
+{\setbox0=\hbox{$\displaystyle \rm S$}\hbox{\raise0.5\ht0\hbox
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
+{\setbox0=\hbox{$\textstyle \rm S$}\hbox{\raise0.5\ht0\hbox
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\hbox
+to0pt{\kern0.55\wd0\vrule height0.5\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptstyle \rm S$}\hbox{\raise0.5\ht0\hbox
+to0pt{\kern0.35\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
+to0pt{\kern0.5\wd0\vrule height0.45\ht0\hss}\box0}}
+{\setbox0=\hbox{$\scriptscriptstyle\rm S$}\hbox{\raise0.5\ht0\hbox
+to0pt{\kern0.4\wd0\vrule height0.45\ht0\hss}\raise0.05\ht0\hbox
+to0pt{\kern0.55\wd0\vrule height0.45\ht0\hss}\box0}}}}
+\def\bbbz{{\mathchoice {\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
+{\hbox{$\mathsf\textstyle Z\kern-0.4em Z$}}
+{\hbox{$\mathsf\scriptstyle Z\kern-0.3em Z$}}
+{\hbox{$\mathsf\scriptscriptstyle Z\kern-0.2em Z$}}}}
+
+\let\ts\,
+
+\setlength\leftmargini {17\p@}
+\setlength\leftmargin {\leftmargini}
+\setlength\leftmarginii {\leftmargini}
+\setlength\leftmarginiii {\leftmargini}
+\setlength\leftmarginiv {\leftmargini}
+\setlength \labelsep {.5em}
+\setlength \labelwidth{\leftmargini}
+\addtolength\labelwidth{-\labelsep}
+
+\def\@listI{\leftmargin\leftmargini
+ \parsep 0\p@ \@plus1\p@ \@minus\p@
+ \topsep 8\p@ \@plus2\p@ \@minus4\p@
+ \itemsep0\p@}
+\let\@listi\@listI
+\@listi
+\def\@listii {\leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus2\p@ \@minus\p@}
+\def\@listiii{\leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ \topsep 0\p@ \@plus\p@\@minus\p@
+ \parsep \z@
+ \partopsep \p@ \@plus\z@ \@minus\p@}
+
+\renewcommand\labelitemi{\normalfont\bfseries --}
+\renewcommand\labelitemii{$\m@th\bullet$}
+
+\setlength\arraycolsep{1.4\p@}
+\setlength\tabcolsep{1.4\p@}
+
+\def\tableofcontents{\chapter*{\contentsname\@mkboth{{\contentsname}}%
+ {{\contentsname}}}
+ \def\authcount##1{\setcounter{auco}{##1}\setcounter{@auth}{1}}
+ \def\lastand{\ifnum\value{auco}=2\relax
+ \unskip{} \andname\
+ \else
+ \unskip \lastandname\
+ \fi}%
+ \def\and{\stepcounter{@auth}\relax
+ \ifnum\value{@auth}=\value{auco}%
+ \lastand
+ \else
+ \unskip,
+ \fi}%
+ \@starttoc{toc}\if@restonecol\twocolumn\fi}
+
+\def\l@part#1#2{\addpenalty{\@secpenalty}%
+ \addvspace{2em plus\p@}% % space above part line
+ \begingroup
+ \parindent \z@
+ \rightskip \z@ plus 5em
+ \hrule\vskip5pt
+ \large % same size as for a contribution heading
+ \bfseries\boldmath % set line in boldface
+ \leavevmode % TeX command to enter horizontal mode.
+ #1\par
+ \vskip5pt
+ \hrule
+ \vskip1pt
+ \nobreak % Never break after part entry
+ \endgroup}
+
+\def\@dotsep{2}
+
+\def\hyperhrefextend{\ifx\hyper@anchor\@undefined\else
+{chapter.\thechapter}\fi}
+
+\def\addnumcontentsmark#1#2#3{%
+\addtocontents{#1}{\protect\contentsline{#2}{\protect\numberline
+ {\thechapter}#3}{\thepage}\hyperhrefextend}}
+\def\addcontentsmark#1#2#3{%
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}\hyperhrefextend}}
+\def\addcontentsmarkwop#1#2#3{%
+\addtocontents{#1}{\protect\contentsline{#2}{#3}{0}\hyperhrefextend}}
+
+\def\@adcmk[#1]{\ifcase #1 \or
+\def\@gtempa{\addnumcontentsmark}%
+ \or \def\@gtempa{\addcontentsmark}%
+ \or \def\@gtempa{\addcontentsmarkwop}%
+ \fi\@gtempa{toc}{chapter}}
+\def\addtocmark{\@ifnextchar[{\@adcmk}{\@adcmk[3]}}
+
+\def\l@chapter#1#2{\addpenalty{-\@highpenalty}
+ \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
+ \parindent \z@ \rightskip \@pnumwidth
+ \parfillskip -\@pnumwidth
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
+ {\large\bfseries\boldmath#1}\ifx0#2\hfil\null
+ \else
+ \nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
+ \@dotsep mu$}\hfill
+ \nobreak\hbox to\@pnumwidth{\hss #2}%
+ \fi\par
+ \penalty\@highpenalty \endgroup}
+
+\def\l@title#1#2{\addpenalty{-\@highpenalty}
+ \addvspace{8pt plus 1pt}
+ \@tempdima \z@
+ \begingroup
+ \parindent \z@ \rightskip \@tocrmarg
+ \parfillskip -\@tocrmarg
+ \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
+ #1\nobreak
+ \leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern
+ \@dotsep mu$}\hfill
+ \nobreak\hbox to\@pnumwidth{\hss #2}\par
+ \penalty\@highpenalty \endgroup}
+
+\setcounter{tocdepth}{0}
+\newdimen\tocchpnum
+\newdimen\tocsecnum
+\newdimen\tocsectotal
+\newdimen\tocsubsecnum
+\newdimen\tocsubsectotal
+\newdimen\tocsubsubsecnum
+\newdimen\tocsubsubsectotal
+\newdimen\tocparanum
+\newdimen\tocparatotal
+\newdimen\tocsubparanum
+\tocchpnum=\z@ % no chapter numbers
+\tocsecnum=15\p@ % section 88. plus 2.222pt
+\tocsubsecnum=23\p@ % subsection 88.8 plus 2.222pt
+\tocsubsubsecnum=27\p@ % subsubsection 88.8.8 plus 1.444pt
+\tocparanum=35\p@ % paragraph 88.8.8.8 plus 1.666pt
+\tocsubparanum=43\p@ % subparagraph 88.8.8.8.8 plus 1.888pt
+\def\calctocindent{%
+\tocsectotal=\tocchpnum
+\advance\tocsectotal by\tocsecnum
+\tocsubsectotal=\tocsectotal
+\advance\tocsubsectotal by\tocsubsecnum
+\tocsubsubsectotal=\tocsubsectotal
+\advance\tocsubsubsectotal by\tocsubsubsecnum
+\tocparatotal=\tocsubsubsectotal
+\advance\tocparatotal by\tocparanum}
+\calctocindent
+
+\def\l@section{\@dottedtocline{1}{\tocchpnum}{\tocsecnum}}
+\def\l@subsection{\@dottedtocline{2}{\tocsectotal}{\tocsubsecnum}}
+\def\l@subsubsection{\@dottedtocline{3}{\tocsubsectotal}{\tocsubsubsecnum}}
+\def\l@paragraph{\@dottedtocline{4}{\tocsubsubsectotal}{\tocparanum}}
+\def\l@subparagraph{\@dottedtocline{5}{\tocparatotal}{\tocsubparanum}}
+
+\def\listoffigures{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
+ \fi\section*{\listfigurename\@mkboth{{\listfigurename}}{{\listfigurename}}}
+ \@starttoc{lof}\if@restonecol\twocolumn\fi}
+\def\l@figure{\@dottedtocline{1}{0em}{1.5em}}
+
+\def\listoftables{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
+ \fi\section*{\listtablename\@mkboth{{\listtablename}}{{\listtablename}}}
+ \@starttoc{lot}\if@restonecol\twocolumn\fi}
+\let\l@table\l@figure
+
+\renewcommand\listoffigures{%
+ \section*{\listfigurename
+ \@mkboth{\listfigurename}{\listfigurename}}%
+ \@starttoc{lof}%
+ }
+
+\renewcommand\listoftables{%
+ \section*{\listtablename
+ \@mkboth{\listtablename}{\listtablename}}%
+ \@starttoc{lot}%
+ }
+
+\ifx\oribibl\undefined
+\ifx\citeauthoryear\undefined
+\renewenvironment{thebibliography}[1]
+ {\section*{\refname}
+ \def\(a)biblabel##1{##1.}
+ \small
+ \list{\@biblabel{\@arabic\c@enumiv}}%
+ {\settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \if@openbib
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ \fi
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}}%
+ \if@openbib
+ \renewcommand\newblock{\par}%
+ \else
+ \renewcommand\newblock{\hskip .11em \(a)plus.33em \(a)minus.07em}%
+ \fi
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+\def\@lbibitem[#1]#2{\item[{[#1]}\hfill]\if@filesw
+ {\let\protect\noexpand\immediate
+ \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+\newcount\@tempcntc
+\def\@citex[#1]#2{\if@filesw\immediate\write\@auxout{\string\citation{#2}}\fi
+ \@tempcnta\z@\@tempcntb\m@ne\def\@citea{}\@cite{\@for\@citeb:=#2\do
+ {\@ifundefined
+ {b@\@citeb}{\@citeo\@tempcntb\m@ne\@citea\def\@citea{,}{\bfseries
+ ?}\@warning
+ {Citation `\@citeb' on page \thepage \space undefined}}%
+ {\setbox\z@\hbox{\global\@tempcntc0\csname b@\@citeb\endcsname\relax}%
+ \ifnum\@tempcntc=\z@ \@citeo\@tempcntb\m@ne
+ \@citea\def\@citea{,}\hbox{\csname b@\@citeb\endcsname}%
+ \else
+ \advance\@tempcntb\@ne
+ \ifnum\@tempcntb=\@tempcntc
+ \else\advance\@tempcntb\m@ne\@citeo
+ \@tempcnta\@tempcntc\@tempcntb\@tempcntc\fi\fi}}\@citeo}{#1}}
+\def\@citeo{\ifnum\@tempcnta>\@tempcntb\else
+ \@citea\def\@citea{,\,\hskip\z@skip}%
+ \ifnum\@tempcnta=\@tempcntb\the\@tempcnta\else
+ {\advance\@tempcnta\@ne\ifnum\@tempcnta=\@tempcntb \else
+ \def\@citea{--}\fi
+ \advance\@tempcnta\m@ne\the\@tempcnta\@citea\the\@tempcntb}\fi\fi}
+\else
+\renewenvironment{thebibliography}[1]
+ {\section*{\refname}
+ \small
+ \list{}%
+ {\settowidth\labelwidth{}%
+ \leftmargin\parindent
+ \itemindent=-\parindent
+ \labelsep=\z@
+ \if@openbib
+ \advance\leftmargin\bibindent
+ \itemindent -\bibindent
+ \listparindent \itemindent
+ \parsep \z@
+ \fi
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{}}%
+ \if@openbib
+ \renewcommand\newblock{\par}%
+ \else
+ \renewcommand\newblock{\hskip .11em \(a)plus.33em \(a)minus.07em}%
+ \fi
+ \sloppy\clubpenalty4000\widowpenalty4000%
+ \sfcode`\.=\@m}
+ {\def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist}
+ \def\@cite#1{#1}%
+ \def\@lbibitem[#1]#2{\item[]\if@filesw
+ {\def\protect##1{\string ##1\space}\immediate
+ \write\@auxout{\string\bibcite{#2}{#1}}}\fi\ignorespaces}
+ \fi
+\else
+\@cons\@openbib@code{\noexpand\small}
+\fi
+
+\def\idxquad{\hskip 10\p@}% space that divides entry from number
+
+\def\@idxitem{\par\hangindent 10\p@}
+
+\def\subitem{\par\setbox0=\hbox{--\enspace}% second order
+ \noindent\hangindent\wd0\box0}% index entry
+
+\def\subsubitem{\par\setbox0=\hbox{--\,--\enspace}% third
+ \noindent\hangindent\wd0\box0}% order index entry
+
+\def\indexspace{\par \vskip 10\p@ plus5\p@ minus3\p@\relax}
+
+\renewenvironment{theindex}
+ {\@mkboth{\indexname}{\indexname}%
+ \thispagestyle{empty}\parindent\z@
+ \parskip\z@ \@plus .3\p@\relax
+ \let\item\par
+ \def\,{\relax\ifmmode\mskip\thinmuskip
+ \else\hskip0.2em\ignorespaces\fi}%
+ \normalfont\small
+ \begin{multicols}{2}[\@makeschapterhead{\indexname}]%
+ }
+ {\end{multicols}}
+
+\renewcommand\footnoterule{%
+ \kern-3\p@
+ \hrule\@width 2truecm
+ \kern2.6\p@}
+ \newdimen\fnindent
+ \fnindent1em
+\long\def\@makefntext#1{%
+ \parindent \fnindent%
+ \leftskip \fnindent%
+ \noindent
+ \llap{\hb@xt@1em{\hss\@makefnmark\ }}\ignorespaces#1}
+
+\long\def\@makecaption#1#2{%
+ \vskip\abovecaptionskip
+ \sbox\@tempboxa{{\bfseries #1.} #2}%
+ \ifdim \wd\@tempboxa >\hsize
+ {\bfseries #1.} #2\par
+ \else
+ \global \@minipagefalse
+ \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \vskip\belowcaptionskip}
+
+\def\fps@figure{htbp}
+\def\fnum@figure{\figurename\thinspace\thefigure}
+\def \@floatboxreset {%
+ \reset@font
+ \small
+ \@setnobreak
+ \@setminipage
+}
+\def\fps@table{htbp}
+\def\fnum@table{\tablename~\thetable}
+\renewenvironment{table}
+ {\setlength\abovecaptionskip{0\p@}%
+ \setlength\belowcaptionskip{10\p@}%
+ \@float{table}}
+ {\end@float}
+\renewenvironment{table*}
+ {\setlength\abovecaptionskip{0\p@}%
+ \setlength\belowcaptionskip{10\p@}%
+ \@dblfloat{table}}
+ {\end@dblfloat}
+
+\long\def\@caption#1[#2]#3{\par\addcontentsline{\csname
+ ext@#1\endcsname}{#1}{\protect\numberline{\csname
+ the#1\endcsname}{\ignorespaces #2}}\begingroup
+ \@parboxrestore
+ \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces #3}\par
+ \endgroup}
+
+% LaTeX does not provide a command to enter the authors institute
+% addresses. The \institute command is defined here.
+
+\newcounter{@inst}
+\newcounter{@auth}
+\newcounter{auco}
+\def\andname{and}
+\def\lastandname{\unskip, and}
+\newdimen\instindent
+\newbox\authrun
+\newtoks\authorrunning
+\newtoks\tocauthor
+\newbox\titrun
+\newtoks\titlerunning
+\newtoks\toctitle
+
+\def\clearheadinfo{\gdef\@author{No Author Given}%
+ \gdef\@title{No Title Given}%
+ \gdef\@subtitle{}%
+ \gdef\@institute{No Institute Given}%
+ \gdef\@thanks{}%
+ \global\titlerunning={}\global\authorrunning={}%
+ \global\toctitle={}\global\tocauthor={}}
+
+\def\institute#1{\gdef\@institute{#1}}
+
+\def\institutename{\par
+ \begingroup
+ \parskip=\z@
+ \parindent=\z@
+ \setcounter{@inst}{1}%
+ \def\and{\par\stepcounter{@inst}%
+ \noindent$^{\the@inst}$\enspace\ignorespaces}%
+ \setbox0=\vbox{\def\thanks##1{}\@institute}%
+ \ifnum\c@@inst=1\relax
+ \else
+ \setcounter{footnote}{\c@@inst}%
+ \setcounter{@inst}{1}%
+ \noindent$^{\the@inst}$\enspace
+ \fi
+ \ignorespaces
+ \@institute\par
+ \endgroup}
+
+\def\@fnsymbol#1{\ensuremath{\ifcase#1\or\star\or{\star\star}\or
+ {\star\star\star}\or \dagger\or \ddagger\or
+ \mathchar "278\or \mathchar "27B\or \|\or **\or \dagger\dagger
+ \or \ddagger\ddagger \else\@ctrerr\fi}}
+
+\def\inst#1{\unskip$^{#1}$}
+\def\fnmsep{\unskip$^,$}
+\def\email#1{{\tt#1}}
+\AtBeginDocument{\@ifundefined{url}{\def\url#1{#1}}{}}
+\def\homedir{\~{ }}
+
+\def\subtitle#1{\gdef\@subtitle{#1}}
+\clearheadinfo
+
+\renewcommand\maketitle{\newpage
+ \refstepcounter{chapter}%
+ \stepcounter{section}%
+ \setcounter{section}{0}%
+ \setcounter{subsection}{0}%
+ \setcounter{figure}{0}
+ \setcounter{table}{0}
+ \setcounter{equation}{0}
+ \setcounter{footnote}{0}%
+ \begingroup
+ \parindent=\z@
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@maketitle
+ \else
+ \twocolumn[\@maketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@maketitle
+ \fi
+ \thispagestyle{empty}\@thanks
+%
+ \def\\{\unskip\ \ignorespaces}\def\inst##1{\unskip{}}%
+ \def\thanks##1{\unskip{}}\def\fnmsep{\unskip}%
+ \instindent=\hsize
+ \advance\instindent by-\headlineindent
+ \if!\the\toctitle!\addcontentsline{toc}{title}{\@title}\else
+ \addcontentsline{toc}{title}{\the\toctitle}\fi
+ \if@runhead
+ \if!\the\titlerunning!\else
+ \edef\@title{\the\titlerunning}%
+ \fi
+ \global\setbox\titrun=\hbox{\small\rm\unboldmath\ignorespaces\@title}%
+ \ifdim\wd\titrun>\instindent
+ \typeout{Title too long for running head. Please supply}%
+ \typeout{a shorter form with \string\titlerunning\space prior to
+ \string\maketitle}%
+ \global\setbox\titrun=\hbox{\small\rm
+ Title Suppressed Due to Excessive Length}%
+ \fi
+ \xdef\@title{\copy\titrun}%
+ \fi
+%
+ \if!\the\tocauthor!\relax
+ {\def\and{\noexpand\protect\noexpand\and}%
+ \protected@xdef\toc@uthor{\@author}}%
+ \else
+ \def\\{\noexpand\protect\noexpand\newline}%
+ \protected@xdef\scratch{\the\tocauthor}%
+ \protected@xdef\toc@uthor{\scratch}%
+ \fi
+ \addtocontents{toc}{{\protect\raggedright\protect\leftskip15\p@
+ \protect\rightskip\@tocrmarg
+ \protect\itshape\toc@uthor\protect\endgraf}}%
+ \if@runhead
+ \if!\the\authorrunning!
+ \value{@inst}=\value{@auth}%
+ \setcounter{@auth}{1}%
+ \else
+ \edef\@author{\the\authorrunning}%
+ \fi
+ \global\setbox\authrun=\hbox{\small\unboldmath\@author\unskip}%
+ \ifdim\wd\authrun>\instindent
+ \typeout{Names of authors too long for running head. Please supply}%
+ \typeout{a shorter form with \string\authorrunning\space prior to
+ \string\maketitle}%
+ \global\setbox\authrun=\hbox{\small\rm
+ Authors Suppressed Due to Excessive Length}%
+ \fi
+ \xdef\@author{\copy\authrun}%
+ \markboth{\@author}{\@title}%
+ \fi
+ \endgroup
+ \setcounter{footnote}{0}%
+ \clearheadinfo}
+%
+\def\@maketitle{\newpage
+ \markboth{}{}%
+ \def\lastand{\ifnum\value{@inst}=2\relax
+ \unskip{} \andname\
+ \else
+ \unskip \lastandname\
+ \fi}%
+ \def\and{\stepcounter{@auth}\relax
+ \ifnum\value{@auth}=\value{@inst}%
+ \lastand
+ \else
+ \unskip,
+ \fi}%
+ \begin{center}%
+ {\Large \bfseries\boldmath
+ \pretolerance=10000
+ \@title \par}\vskip .8cm
+\if!\@subtitle!\else {\large \bfseries\boldmath
+ \vskip -.65cm
+ \pretolerance=10000
+ \@subtitle \par}\vskip .8cm\fi
+ \setbox0=\vbox{\setcounter{@auth}{1}\def\and{\stepcounter{@auth}}%
+ \def\thanks##1{}\@author}%
+ \global\value{@inst}=\value{@auth}%
+ \global\value{auco}=\value{@auth}%
+ \setcounter{@auth}{1}%
+{\lineskip .5em
+\noindent\ignorespaces
+\(a)author\vskip.35cm}
+ {\small\institutename}
+ \end{center}%
+ }
+
+% definition of the "\spnewtheorem" command.
+%
+% Usage:
+%
+% \spnewtheorem{env_nam}{caption}[within]{cap_font}{body_font}
+% or \spnewtheorem{env_nam}[numbered_like]{caption}{cap_font}{body_font}
+% or \spnewtheorem*{env_nam}{caption}{cap_font}{body_font}
+%
+% New is "cap_font" and "body_font". It stands for
+% fontdefinition of the caption and the text itself.
+%
+% "\spnewtheorem*" gives a theorem without number.
+%
+% A defined spnewthoerem environment is used as described
+% by Lamport.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\@thmcountersep{}
+\def\(a)thmcounterend{.}
+
+\def\spnewtheorem{\@ifstar{\@sthm}{\@Sthm}}
+
+% definition of \spnewtheorem with number
+
+\def\@spnthm#1#2{%
+ \@ifnextchar[{\@spxnthm{#1}{#2}}{\@spynthm{#1}{#2}}}
+\def\@Sthm#1{\@ifnextchar[{\@spothm{#1}}{\@spnthm{#1}}}
+
+\def\@spxnthm#1#2[#3]#4#5{\expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}\@addtoreset{#1}{#3}%
+ \expandafter\xdef\csname the#1\endcsname{\expandafter\noexpand
+ \csname the#3\endcsname \noexpand\@thmcountersep \@thmcounter{#1}}%
+ \expandafter\xdef\csname #1name\endcsname{#2}%
+ \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#4}{#5}}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+
+\def\@spynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
+ {\@definecounter{#1}%
+ \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+ \expandafter\xdef\csname #1name\endcsname{#2}%
+ \global\@namedef{#1}{\@spthm{#1}{\csname #1name\endcsname}{#3}{#4}}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+
+\def\@spothm#1[#2]#3#4#5{%
+ \@ifundefined{c@#2}{\@latexerr{No theorem environment `#2' defined}\@eha}%
+ {\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{the#1}{\@nameuse{the#2}}%
+ \expandafter\xdef\csname #1name\endcsname{#3}%
+ \global\@namedef{#1}{\@spthm{#2}{\csname #1name\endcsname}{#4}{#5}}%
+ \global\@namedef{end#1}{\@endtheorem}}}}
+
+\def\@spthm#1#2#3#4{\topsep 7\p@ \@plus2\p@ \@minus4\p@
+\refstepcounter{#1}%
+\@ifnextchar[{\@spythm{#1}{#2}{#3}{#4}}{\@spxthm{#1}{#2}{#3}{#4}}}
+
+\def\@spxthm#1#2#3#4{\@spbegintheorem{#2}{\csname the#1\endcsname}{#3}{#4}%
+ \ignorespaces}
+
+\def\@spythm#1#2#3#4[#5]{\@spopargbegintheorem{#2}{\csname
+ the#1\endcsname}{#5}{#3}{#4}\ignorespaces}
+
+\def\@spbegintheorem#1#2#3#4{\trivlist
+ \item[\hskip\labelsep{#3#1\ #2\@thmcounterend}]#4}
+
+\def\@spopargbegintheorem#1#2#3#4#5{\trivlist
+ \item[\hskip\labelsep{#4#1\ #2}]{#4(#3)\@thmcounterend\ }#5}
+
+% definition of \spnewtheorem* without number
+
+\def\@sthm#1#2{\@Ynthm{#1}{#2}}
+
+\def\@Ynthm#1#2#3#4{\expandafter\@ifdefinable\csname #1\endcsname
+ {\global\@namedef{#1}{\@Thm{\csname #1name\endcsname}{#3}{#4}}%
+ \expandafter\xdef\csname #1name\endcsname{#2}%
+ \global\@namedef{end#1}{\@endtheorem}}}
+
+\def\@Thm#1#2#3{\topsep 7\p@ \@plus2\p@ \@minus4\p@
+\@ifnextchar[{\@Ythm{#1}{#2}{#3}}{\@Xthm{#1}{#2}{#3}}}
+
+\def\@Xthm#1#2#3{\@Begintheorem{#1}{#2}{#3}\ignorespaces}
+
+\def\@Ythm#1#2#3[#4]{\@Opargbegintheorem{#1}
+ {#4}{#2}{#3}\ignorespaces}
+
+\def\@Begintheorem#1#2#3{#3\trivlist
+ \item[\hskip\labelsep{#2#1\@thmcounterend}]}
+
+\def\@Opargbegintheorem#1#2#3#4{#4\trivlist
+ \item[\hskip\labelsep{#3#1}]{#3(#2)\@thmcounterend\ }}
+
+\if@envcntsect
+ \def\(a)thmcountersep{.}
+ \spnewtheorem{theorem}{Theorem}[section]{\bfseries}{\itshape}
+\else
+ \spnewtheorem{theorem}{Theorem}{\bfseries}{\itshape}
+ \if@envcntreset
+ \@addtoreset{theorem}{section}
+ \else
+ \@addtoreset{theorem}{chapter}
+ \fi
+\fi
+
+%definition of divers theorem environments
+\spnewtheorem*{claim}{Claim}{\itshape}{\rmfamily}
+\spnewtheorem*{proof}{Proof}{\itshape}{\rmfamily}
+\if@envcntsame % alle Umgebungen wie Theorem.
+ \def\spn@wtheorem#1#2#3#4{\@spothm{#1}[theorem]{#2}{#3}{#4}}
+\else % alle Umgebungen mit eigenem Zaehler
+ \if@envcntsect % mit section numeriert
+ \def\spn@wtheorem#1#2#3#4{\@spxnthm{#1}{#2}[section]{#3}{#4}}
+ \else % nicht mit section numeriert
+ \if@envcntreset
+ \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
+ \@addtoreset{#1}{section}}
+ \else
+ \def\spn@wtheorem#1#2#3#4{\@spynthm{#1}{#2}{#3}{#4}
+ \@addtoreset{#1}{chapter}}%
+ \fi
+ \fi
+\fi
+\spn@wtheorem{case}{Case}{\itshape}{\rmfamily}
+\spn@wtheorem{conjecture}{Conjecture}{\itshape}{\rmfamily}
+\spn@wtheorem{corollary}{Corollary}{\bfseries}{\itshape}
+\spn@wtheorem{definition}{Definition}{\bfseries}{\itshape}
+\spn@wtheorem{example}{Example}{\itshape}{\rmfamily}
+\spn@wtheorem{exercise}{Exercise}{\itshape}{\rmfamily}
+\spn@wtheorem{lemma}{Lemma}{\bfseries}{\itshape}
+\spn@wtheorem{note}{Note}{\itshape}{\rmfamily}
+\spn@wtheorem{problem}{Problem}{\itshape}{\rmfamily}
+\spn@wtheorem{property}{Property}{\itshape}{\rmfamily}
+\spn@wtheorem{proposition}{Proposition}{\bfseries}{\itshape}
+\spn@wtheorem{question}{Question}{\itshape}{\rmfamily}
+\spn@wtheorem{solution}{Solution}{\itshape}{\rmfamily}
+\spn@wtheorem{remark}{Remark}{\itshape}{\rmfamily}
+
+\def\@takefromreset#1#2{%
+ \def\@tempa{#1}%
+ \let\@tempd\@elt
+ \def\@elt##1{%
+ \def\@tempb{##1}%
+ \ifx\@tempa\@tempb\else
+ \@addtoreset{##1}{#2}%
+ \fi}%
+ \expandafter\expandafter\let\expandafter\@tempc\csname cl@#2\endcsname
+ \expandafter\def\csname cl@#2\endcsname{}%
+ \@tempc
+ \let\@elt\@tempd}
+
+\def\theopargself{\def\@spopargbegintheorem##1##2##3##4##5{\trivlist
+ \item[\hskip\labelsep{##4##1\ ##2}]{##4##3\@thmcounterend\ }##5}
+ \def\@Opargbegintheorem##1##2##3##4{##4\trivlist
+ \item[\hskip\labelsep{##3##1}]{##3##2\@thmcounterend\ }}
+ }
+
+\renewenvironment{abstract}{%
+ \list{}{\advance\topsep by0.35cm\relax\small
+ \leftmargin=1cm
+ \labelwidth=\z@
+ \listparindent=\z@
+ \itemindent\listparindent
+ \rightmargin\leftmargin}\item[\hskip\labelsep
+ \bfseries\abstractname]}
+ {\endlist}
+\renewcommand{\abstractname}{Abstract.}
+\renewcommand{\contentsname}{Table of Contents}
+\renewcommand{\figurename}{Fig.}
+\renewcommand{\tablename}{Table}
+
+\newdimen\headlineindent % dimension for space between
+\headlineindent=1.166cm % number and text of headings.
+
+\def\ps@headings{\let\@mkboth\@gobbletwo
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
+ \leftmark\hfil}
+ \def\@oddhead{\normalfont\small\hfil\rightmark\hspace{\headlineindent}%
+ \llap{\thepage}}
+ \def\chaptermark##1{}%
+ \def\sectionmark##1{}%
+ \def\subsectionmark##1{}}
+
+\def\ps@titlepage{\let\@mkboth\@gobbletwo
+ \let\@oddfoot\@empty\let\@evenfoot\@empty
+ \def\@evenhead{\normalfont\small\rlap{\thepage}\hspace{\headlineindent}%
+ \hfil}
+ \def\@oddhead{\normalfont\small\hfil\hspace{\headlineindent}%
+ \llap{\thepage}}
+ \def\chaptermark##1{}%
+ \def\sectionmark##1{}%
+ \def\subsectionmark##1{}}
+
+\if@runhead\ps@headings\else
+\ps@empty\fi
+
+\setlength\arraycolsep{1.4\p@}
+\setlength\tabcolsep{1.4\p@}
+
+\endinput
+
diff --git a/2005/challenges/tor-design.bib b/2005/challenges/tor-design.bib
new file mode 100644
index 0000000..981761e
--- /dev/null
+++ b/2005/challenges/tor-design.bib
@@ -0,0 +1,1493 @@
+% hs-attack
+@inproceedings{hs-attack,
+ title = {Locating Hidden Servers},
+ author = {Lasse {\O}verlier and Paul Syverson},
+ booktitle = {Proceedings of the 2006 IEEE Symposium on Security and Privacy},
+ year = {2006},
+ month = {May},
+ publisher = {IEEE CS},
+}
+
+
+@TechReport{bauer:tr2007,
+ author = {Kevin Bauer and Damon McCoy and Dirk Grunwald and Tadayoshi Kohno and Douglas Sicker},
+ title = {Low-Resource Routing Attacks Against Anonymous Systems},
+ institution = {University of Colorado at Boulder},
+ year = 2007,
+ number = {CU-CS-1025-07}
+}
+
+@inproceedings{bauer:wpes2007,
+ title = {Low-Resource Routing Attacks Against Tor},
+ author = {Kevin Bauer and Damon McCoy and Dirk Grunwald and Tadayoshi Kohno and Douglas Sicker},
+ booktitle = {{Proceedings of the Workshop on Privacy in the Electronic Society (WPES 2007)}},
+ year = {2007},
+ month = {October},
+ address = {Washington, DC, USA},
+}
+
+% fix me
+@misc{tannenbaum96,
+ author = "Andrew Tannenbaum",
+ title = "Computer Networks",
+ year = "1996",
+ publisher = "Prentice Hall, 3rd edition",
+}
+
+@article{ meadows96,
+ author = "Catherine Meadows",
+ title = "The {NRL} Protocol Analyzer: An Overview",
+ journal = "Journal of Logic Programming",
+ volume = "26",
+ number = "2",
+ pages = "113--131",
+ year = "1996",
+}
+@inproceedings{kesdogan:pet2002,
+ title = {Unobservable Surfing on the World Wide Web: Is Private Information Retrieval an
+ alternative to the MIX based Approach?},
+ author = {Dogan Kesdogan and Mark Borning and Michael Schmeink},
+ booktitle = {Privacy Enhancing Technologies (PET 2002)},
+ year = {2002},
+ month = {April},
+ editor = {Roger Dingledine and Paul Syverson},
+ publisher = {Springer-Verlag, LNCS 2482},
+}
+
+@inproceedings{statistical-disclosure,
+ title = {Statistical Disclosure Attacks},
+ author = {George Danezis},
+ booktitle = {Security and Privacy in the Age of Uncertainty ({SEC2003})},
+ organization = {{IFIP TC11}},
+ year = {2003},
+ month = {May},
+ address = {Athens},
+ pages = {421--426},
+ publisher = {Kluwer},
+}
+
+@inproceedings{limits-open,
+ title = {Limits of Anonymity in Open Environments},
+ author = {Dogan Kesdogan and Dakshi Agrawal and Stefan Penz},
+ booktitle = {Information Hiding Workshop (IH 2002)},
+ year = {2002},
+ month = {October},
+ editor = {Fabien Petitcolas},
+ publisher = {Springer-Verlag, LNCS 2578},
+}
+
+@inproceedings{isdn-mixes,
+ title = {{ISDN-mixes: Untraceable communication with very small bandwidth overhead}},
+ author = {Andreas Pfitzmann and Birgit Pfitzmann and Michael Waidner},
+ booktitle = {GI/ITG Conference on Communication in Distributed Systems},
+ year = {1991},
+ month = {February},
+ pages = {451-463},
+}
+
+
+@Article{jerichow-jsac98,
+ author = {Anja Jerichow and Jan M\"{u}ller and Andreas
+ Pfitzmann and Birgit Pfitzmann and Michael Waidner},
+ title = {Real-Time Mixes: A Bandwidth-Efficient Anonymity Protocol},
+ journal = {IEEE Journal on Selected Areas in Communications},
+ year = 1998,
+ volume = 16,
+ number = 4,
+ pages = {495--509},
+ month = {May}
+}
+
+@inproceedings{tarzan:ccs02,
+ title = {Tarzan: A Peer-to-Peer Anonymizing Network Layer},
+ author = {Michael J. Freedman and Robert Morris},
+ booktitle = {9th {ACM} {C}onference on {C}omputer and {C}ommunications
+ {S}ecurity ({CCS 2002})},
+ year = {2002},
+ month = {November},
+ address = {Washington, DC},
+}
+
+@inproceedings{cebolla,
+ title = {{Cebolla: Pragmatic IP Anonymity}},
+ author = {Zach Brown},
+ booktitle = {Ottawa Linux Symposium},
+ year = {2002},
+ month = {June},
+}
+
+@inproceedings{eax,
+ author = "M. Bellare and P. Rogaway and D. Wagner",
+ title = {The {EAX} Mode of Operation: A Two-Pass Authenticated-Encryption Scheme Optimized for Simplicity and Efficiency},
+ booktitle = {Fast Software Encryption 2004},
+ month = {February},
+ year = {2004},
+}
+
+@misc{darkside,
+ title = {{The Dark Side of the Web: An Open Proxy's View}},
+ author = {Vivek S. Pai and Limin Wang and KyoungSoo Park and Ruoming Pang and Larry Peterson},
+ note = {\newline \url{http://codeen.cs.princeton.edu/}},
+}
+% note = {Submitted to HotNets-II. \url{http://codeen.cs.princeton.edu/}},
+
+@Misc{anonymizer,
+ key = {anonymizer},
+ title = {The {Anonymizer}},
+ note = {\url{http://anonymizer.com/}}
+}
+
+@Misc{privoxy,
+ key = {privoxy},
+ title = {{Privoxy}},
+ note = {\url{http://www.privoxy.org/}}
+}
+
+@Misc{i2p,
+ key = {i2p},
+ title = {{I2P}},
+ note = {\url{http://www.i2p.net/}}
+}
+
+@Misc{nym,
+ author = {Jason Holt},
+ title = {nym: practical pseudonymity for anonymous networks},
+ note = {Paper and source code at \url{http://www.lunkwill.org/src/nym/}}
+}
+
+@InProceedings{nymble,
+ author = {Peter C. Johnson and Apu Kapadia and Patrick P. Tsang and Sean W. Smith},
+ title = {Nymble: Anonymous {IP}-address Blocking},
+ booktitle = {Privacy Enhancing Technologies (PET 2007)},
+ year = 2007,
+ publisher = {Springer-Verlag, LNCS 4776}
+}
+
+@inproceedings{anonnet,
+ title = {{Analysis of an Anonymity Network for Web Browsing}},
+ author = {Marc Rennhard and Sandro Rafaeli and Laurent Mathy and Bernhard Plattner and
+ David Hutchison},
+ booktitle = {{IEEE 7th Intl. Workshop on Enterprise Security (WET ICE
+ 2002)}},
+ year = {2002},
+ month = {June},
+ address = {Pittsburgh, USA},
+}
+% pages = {49--54},
+
+@inproceedings{econymics,
+ title = {On the Economics of Anonymity},
+ author = {Alessandro Acquisti and Roger Dingledine and Paul Syverson},
+ booktitle = {Financial Cryptography},
+ year = {2003},
+ editor = {Rebecca N. Wright},
+ publisher = {Springer-Verlag, LNCS 2742},
+}
+
+@inproceedings{defensive-dropping,
+ title = {Timing Analysis in Low-Latency Mix-Based Systems},
+ author = {Brian N. Levine and Michael K. Reiter and Chenxi Wang and Matthew Wright},
+ booktitle = {Financial Cryptography},
+ year = {2004},
+ editor = {Ari Juels},
+ publisher = {Springer-Verlag, LNCS (forthcoming)},
+}
+
+@inproceedings{morphmix:fc04,
+ title = {Practical Anonymity for the Masses with MorphMix},
+ author = {Marc Rennhard and Bernhard Plattner},
+ booktitle = {Financial Cryptography},
+ year = {2004},
+ editor = {Ari Juels},
+ publisher = {Springer-Verlag, LNCS (forthcoming)},
+}
+
+@inproceedings{eternity,
+ title = {The Eternity Service},
+ author = {Ross Anderson},
+ booktitle = {Pragocrypt '96},
+ year = {1996},
+}
+ %note = {\url{http://www.cl.cam.ac.uk/users/rja14/eternity/eternity.html}},
+
+
+@inproceedings{minion-design,
+ title = {Mixminion: Design of a Type {III} Anonymous Remailer Protocol},
+ author = {George Danezis and Roger Dingledine and Nick Mathewson},
+ booktitle = {2003 IEEE Symposium on Security and Privacy},
+ year = {2003},
+ month = {May},
+ publisher = {IEEE CS},
+ pages = {2--15},
+}
+ %note = {\url{http://mixminion.net/minion-design.pdf}},
+
+@inproceedings{ rao-pseudonymity,
+ author = "Josyula R. Rao and Pankaj Rohatgi",
+ title = "Can Pseudonymity Really Guarantee Privacy?",
+ booktitle = "Proceedings of the Ninth USENIX Security Symposium",
+ year = {2000},
+ month = Aug,
+ publisher = {USENIX},
+ pages = "85--96",
+}
+ %note = {\url{http://www.usenix.org/publications/library/proceedings/sec2000/
+%full_papers/rao/rao.pdf}},
+
+@InProceedings{pfitzmann90how,
+ author = "Birgit Pfitzmann and Andreas Pfitzmann",
+ title = "How to Break the Direct {RSA}-Implementation of {MIXes}",
+ booktitle = {Eurocrypt 89},
+ publisher = {Springer-Verlag, LNCS 434},
+ year = {1990},
+ note = {\url{http://citeseer.nj.nec.com/pfitzmann90how.html}},
+}
+
+@Misc{tor-spec,
+ author = {Roger Dingledine and Nick Mathewson},
+ title = {Tor Protocol Specifications},
+ note = {\url{https://www.torproject.org/svn/trunk/doc/tor-spec.txt}},
+}
+
+@Misc{incentives-txt,
+ author = {Roger Dingledine and Nick Mathewson},
+ title = {Tor Incentives Design Brainstorms},
+ note = {\url{https://www.torproject.org/svn/trunk/doc/incentives.txt}},
+}
+
+@InProceedings{BM:mixencrypt,
+ author = {M{\"o}ller, Bodo},
+ title = {Provably Secure Public-Key Encryption for Length-Preserving Chaumian Mixes},
+ booktitle = {{CT-RSA} 2003},
+ publisher = {Springer-Verlag, LNCS 2612},
+ year = 2003,
+}
+
+@InProceedings{back01,
+ author = {Adam Back and Ulf M\"oller and Anton Stiglic},
+ title = {Traffic Analysis Attacks and Trade-Offs in Anonymity Providing Systems},
+ booktitle = {Information Hiding (IH 2001)},
+ pages = {245--257},
+ year = 2001,
+ editor = {Ira S. Moskowitz},
+ publisher = {Springer-Verlag, LNCS 2137},
+}
+ %note = {\newline \url{http://www.cypherspace.org/adam/pubs/traffic.pdf}},
+
+@InProceedings{rackoff93cryptographic,
+ author = {Charles Rackoff and Daniel R. Simon},
+ title = {Cryptographic Defense Against Traffic Analysis},
+ booktitle = {{ACM} Symposium on Theory of Computing},
+ pages = {672--681},
+ year = {1993},
+}
+ %note = {\url{http://research.microsoft.com/crypto/dansimon/me.htm}},
+
+@InProceedings{freehaven-berk,
+ author = {Roger Dingledine and Michael J. Freedman and David Molnar},
+ title = {The Free Haven Project: Distributed Anonymous Storage Service},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ year = 2000,
+ month = {July},
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+}
+
+ @InProceedings{move-ndss05,
+ author = {Angelos Stavrou and Angelos D. Keromytis and Jason Nieh and Vishal Misra and Dan Rubenstein},
+ title = {MOVE: An End-to-End Solution To Network Denial of Service},
+ booktitle = {{ISOC Network and Distributed System Security Symposium (NDSS05)}},
+ year = 2005,
+ month = {February},
+ publisher = {Internet Society}
+}
+
+%note = {\url{http://freehaven.net/papers.html}},
+
+
+
+
+@InProceedings{raymond00,
+ author = {J. F. Raymond},
+ title = {{Traffic Analysis: Protocols, Attacks, Design Issues,
+ and Open Problems}},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ year = 2000,
+ month = {July},
+ pages = {10-29},
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+}
+
+@InProceedings{sybil,
+ author = "John Douceur",
+ title = {{The Sybil Attack}},
+ booktitle = "Proceedings of the 1st International Peer To Peer Systems Workshop (IPTPS)",
+ month = Mar,
+ year = 2002,
+}
+
+
+@InCollection{price-privacy,
+ author = {Paul Syverson and Adam Shostack},
+ editor = {L. Jean Camp and Stephen Lewis},
+ title = {What Price Privacy? (and why identity theft is about neither identity nor theft)},
+ booktitle = {Economics of Information Security},
+ chapter = 10,
+ publisher = {Kluwer},
+ year = 2004,
+ pages = {129--142}
+}
+
+
+@InProceedings{trickle02,
+ author = {Andrei Serjantov and Roger Dingledine and Paul Syverson},
+ title = {From a Trickle to a Flood: Active Attacks on Several
+ Mix Types},
+ booktitle = {Information Hiding (IH 2002)},
+ year = {2002},
+ editor = {Fabien Petitcolas},
+ publisher = {Springer-Verlag, LNCS 2578},
+}
+
+@InProceedings{langos02,
+ author = {Oliver Berthold and Heinrich Langos},
+ title = {Dummy Traffic Against Long Term Intersection Attacks},
+ booktitle = {Privacy Enhancing Technologies (PET 2002)},
+ year = {2002},
+ editor = {Roger Dingledine and Paul Syverson},
+ publisher = {Springer-Verlag, LNCS 2482}
+}
+
+
+@InProceedings{hintz-pet02,
+ author = {Andrew Hintz},
+ title = {Fingerprinting Websites Using Traffic Analysis},
+ booktitle = {Privacy Enhancing Technologies (PET 2002)},
+ pages = {171--178},
+ year = 2002,
+ editor = {Roger Dingledine and Paul Syverson},
+ publisher = {Springer-Verlag, LNCS 2482}
+}
+
+@InProceedings{or-discex00,
+ author = {Paul Syverson and Michael Reed and David Goldschlag},
+ title = {{O}nion {R}outing Access Configurations},
+ booktitle = {DARPA Information Survivability Conference and
+ Exposition (DISCEX 2000)},
+ year = {2000},
+ publisher = {IEEE CS Press},
+ pages = {34--40},
+ volume = {1},
+}
+ %note = {\newline \url{http://www.onion-router.net/Publications.html}},
+
+@Inproceedings{or-pet00,
+ title = {{Towards an Analysis of Onion Routing Security}},
+ author = {Paul Syverson and Gene Tsudik and Michael Reed and
+ Carl Landwehr},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ year = 2000,
+ month = {July},
+ pages = {96--114},
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+}
+ %note = {\url{http://www.onion-router.net/Publications/WDIAU-2000.ps.gz}},
+
+@Inproceedings{freenet-pets00,
+ title = {Freenet: A Distributed Anonymous Information Storage
+ and Retrieval System},
+ author = {Ian Clarke and Oskar Sandberg and Brandon Wiley and
+ Theodore W. Hong},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ year = 2000,
+ month = {July},
+ pages = {46--66},
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+}
+ %note = {\url{http://citeseer.nj.nec.com/clarke00freenet.html}},
+
+@InProceedings{or-ih96,
+ author = {David M. Goldschlag and Michael G. Reed and Paul
+ F. Syverson},
+ title = {Hiding Routing Information},
+ booktitle = {Information Hiding, First International Workshop},
+ pages = {137--150},
+ year = 1996,
+ editor = {R. Anderson},
+ month = {May},
+ publisher = {Springer-Verlag, LNCS 1174},
+}
+
+@InProceedings{federrath-ih96,
+ author = {Hannes Federrath and Anja Jerichow and Andreas Pfitzmann},
+ title = {{MIXes} in Mobile Communication Systems: Location
+ Management with Privacy},
+ booktitle = {Information Hiding, First International Workshop},
+ pages = {121--135},
+ year = 1996,
+ editor = {R. Anderson},
+ month = {May},
+ publisher = {Springer-Verlag, LNCS 1174},
+}
+
+
+@InProceedings{reed-protocols97,
+ author = {Michael G. Reed and Paul F. Syverson and David
+ M. Goldschlag},
+ title = {Protocols Using Anonymous Connections: Mobile Applications},
+ booktitle = {Security Protocols: 5th International Workshop},
+ pages = {13--23},
+ year = 1997,
+ editor = {Bruce Christianson and Bruno Crispo and Mark Lomas
+ and Michael Roe},
+ month = {April},
+ publisher = {Springer-Verlag, LNCS 1361}
+}
+
+
+
+@Article{or-jsac98,
+ author = {Michael G. Reed and Paul F. Syverson and David
+ M. Goldschlag},
+ title = {Anonymous Connections and Onion Routing},
+ journal = {IEEE Journal on Selected Areas in Communications},
+ year = 1998,
+ volume = 16,
+ number = 4,
+ pages = {482--494},
+ month = {May},
+}
+ %note = {\url{http://www.onion-router.net/Publications/JSAC-1998.ps.gz}}
+
+@Misc{TLS,
+ author = {T. Dierks and C. Allen},
+ title = {The {TLS} {P}rotocol --- {V}ersion 1.0},
+ howpublished = {IETF RFC 2246},
+ month = {January},
+ year = {1999},
+}
+%note = {\url{http://www.rfc-editor.org/rfc/rfc2246.txt}},
+
+@Misc{SMTP,
+ author = {J. Postel},
+ title = {Simple {M}ail {T}ransfer {P}rotocol},
+ howpublished = {IETF RFC 2821 (also STD0010)},
+ month = {April},
+ year = {2001},
+ note = {\url{http://www.rfc-editor.org/rfc/rfc2821.txt}},
+}
+
+@Misc{IMAP,
+ author = {M. Crispin},
+ title = {Internet {M}essage {A}ccess {P}rotocol --- {V}ersion 4rev1},
+ howpublished = {IETF RFC 2060},
+ month = {December},
+ year = {1996},
+ note = {\url{http://www.rfc-editor.org/rfc/rfc2060.txt}},
+}
+
+@misc{pipenet,
+ title = {PipeNet 1.1},
+ author = {Wei Dai},
+ year = 1996,
+ month = {August},
+ howpublished = {Usenet post},
+ note = {\url{http://www.eskimo.com/~weidai/pipenet.txt} First mentioned
+ in a post to the cypherpunks list, Feb.\ 1995.},
+}
+
+
+@Misc{POP3,
+ author = {J. Myers and M. Rose},
+ title = {Post {O}ffice {P}rotocol --- {V}ersion 3},
+ howpublished = {IETF RFC 1939 (also STD0053)},
+ month = {May},
+ year = {1996},
+ note = {\url{http://www.rfc-editor.org/rfc/rfc1939.txt}},
+}
+
+
+@InProceedings{shuffle,
+ author = {C. Andrew Neff},
+ title = {A Verifiable Secret Shuffle and its Application to E-Voting},
+ booktitle = {8th ACM Conference on Computer and Communications
+ Security (CCS-8)},
+ pages = {116--125},
+ year = 2001,
+ editor = {P. Samarati},
+ month = {November},
+ publisher = {ACM Press},
+}
+ %note = {\url{http://www.votehere.net/ada_compliant/ourtechnology/
+ % technicaldocs/shuffle.pdf}},
+
+@InProceedings{dolev91,
+ author = {Danny Dolev and Cynthia Dwork and Moni Naor},
+ title = {Non-Malleable Cryptography},
+ booktitle = {23rd ACM Symposium on the Theory of Computing (STOC)},
+ pages = {542--552},
+ year = 1991,
+ note = {Updated version at
+ \url{http://citeseer.nj.nec.com/dolev00nonmalleable.html}},
+}
+
+@TechReport{rsw96,
+ author = {Ronald L. Rivest and Adi Shamir and David A. Wagner},
+ title = {Time-lock puzzles and timed-release Crypto},
+ year = 1996,
+ type = {MIT LCS technical memo},
+ number = {MIT/LCS/TR-684},
+ month = {February},
+ note = {\newline \url{http://citeseer.nj.nec.com/rivest96timelock.html}},
+}
+
+@InProceedings{web-mix,
+ author = {Oliver Berthold and Hannes Federrath and Stefan K\"opsell},
+ title = {Web {MIX}es: A system for anonymous and unobservable
+ {I}nternet access},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+ year = {2000},
+}
+% pages = {115--129},
+
+@InProceedings{disad-free-routes,
+ author = {Oliver Berthold and Andreas Pfitzmann and Ronny Standtke},
+ title = {The disadvantages of free {MIX} routes and how to overcome
+ them},
+ booktitle = {Designing Privacy Enhancing Technologies: Workshop
+ on Design Issue in Anonymity and Unobservability},
+ pages = {30--45},
+ year = 2000,
+ editor = {H. Federrath},
+ publisher = {Springer-Verlag, LNCS 2009},
+}
+ %note = {\url{http://www.tik.ee.ethz.ch/~weiler/lehre/netsec/Unterlagen/anon/
+ % disadvantages_berthold.pdf}},
+
+@InProceedings{boneh00,
+ author = {Dan Boneh and Moni Naor},
+ title = {Timed Commitments},
+ booktitle = {Advances in Cryptology -- {CRYPTO} 2000},
+ pages = {236--254},
+ year = 2000,
+ publisher = {Springer-Verlag, LNCS 1880},
+ note = {\newline \url{http://crypto.stanford.edu/~dabo/abstracts/timedcommit.html}},
+}
+
+@InProceedings{goldschlag98,
+ author = {David M. Goldschlag and Stuart G. Stubblebine},
+ title = {Publicly Verifiable Lotteries: Applications of
+ Delaying Functions},
+ booktitle = {Financial Cryptography},
+ pages = {214--226},
+ year = 1998,
+ publisher = {Springer-Verlag, LNCS 1465},
+ note = {\newline \url{http://citeseer.nj.nec.com/goldschlag98publicly.html}},
+}
+
+@InProceedings{syverson98,
+ author = {Paul Syverson},
+ title = {Weakly Secret Bit Commitment: Applications to
+ Lotteries and Fair Exchange},
+ booktitle = {Computer Security Foundations Workshop (CSFW11)},
+ pages = {2--13},
+ year = 1998,
+ address = {Rockport Massachusetts},
+ month = {June},
+ publisher = {IEEE CS Press},
+ note = {\newline \url{http://chacs.nrl.navy.mil/publications/CHACS/1998/}},
+}
+
+@Misc{shoup-iso,
+ author = {Victor Shoup},
+ title = {A Proposal for an {ISO} {S}tandard for Public Key Encryption (version 2.1)},
+ note = {Revised December 20, 2001. \url{http://www.shoup.net/papers/}},
+}
+
+@Misc{shoup-oaep,
+ author = {Victor Shoup},
+ title = {{OAEP} Reconsidered},
+ howpublished = {{IACR} e-print 2000/060},
+ note = {\newline \url{http://eprint.iacr.org/2000/060/}},
+}
+
+@Misc{oaep-still-alive,
+ author = {E. Fujisaki and D. Pointcheval and T. Okamoto and J. Stern},
+ title = {{RSA}-{OAEP} is Still Alive!},
+ howpublished = {{IACR} e-print 2000/061},
+ note = {\newline \url{http://eprint.iacr.org/2000/061/}},
+}
+
+@misc{echolot,
+ author = {Peter Palfrader},
+ title = {Echolot: a pinger for anonymous remailers},
+ note = {\url{http://www.palfrader.org/echolot/}},
+}
+
+@Misc{mixmaster-attacks,
+ author = {Lance Cottrell},
+ title = {Mixmaster and Remailer Attacks},
+ note = {\url{http://www.obscura.com/~loki/remailer/remailer-essay.html}},
+}
+
+@Misc{mixmaster-spec,
+ author = {Ulf M{\"o}ller and Lance Cottrell and Peter
+ Palfrader and Len Sassaman},
+ title = {Mixmaster {P}rotocol --- {V}ersion 2},
+ year = {2003},
+ month = {July},
+ howpublished = {Draft},
+ note = {\url{http://www.abditum.com/mixmaster-spec.txt}},
+}
+
+@InProceedings{puzzles-tls,
+ author = "Drew Dean and Adam Stubblefield",
+ title = {{Using Client Puzzles to Protect TLS}},
+ booktitle = "Proceedings of the 10th USENIX Security Symposium",
+ year = {2001},
+ month = Aug,
+ publisher = {USENIX},
+}
+
+@InProceedings{breadpudding,
+ author = {Markus Jakobsson and Ari Juels},
+ title = {Proofs of Work and Bread Pudding Protocols},
+ booktitle = {Proceedings of the IFIP TC6 and TC11 Joint Working
+ Conference on Communications and Multimedia Security
+ (CMS '99)},
+ year = 1999,
+ month = {September},
+ publisher = {Kluwer}
+}
+
+@Misc{hashcash,
+ author = {Adam Back},
+ title = {Hash cash},
+ note = {\newline \url{http://www.cypherspace.org/~adam/hashcash/}},
+}
+
+@InProceedings{oreilly-acc,
+ author = {Roger Dingledine and Michael J. Freedman and David Molnar},
+ title = {Accountability},
+ booktitle = {Peer-to-peer: Harnessing the Benefits of a Disruptive
+ Technology},
+ year = {2001},
+ publisher = {O'Reilly and Associates},
+}
+
+
+@InProceedings{han,
+ author = {Yongfei Han},
+ title = {Investigation of non-repudiation protocols},
+ booktitle = {ACISP '96},
+ year = 1996,
+ publisher = {Springer-Verlag},
+}
+
+
+@Misc{socks5,
+ key = {socks5},
+ title = {{SOCKS} {P}rotocol {V}ersion 5},
+ howpublished= {IETF RFC 1928},
+ month = {March},
+ year = 1996,
+ note = {\url{http://www.ietf.org/rfc/rfc1928.txt}}
+}
+
+@InProceedings{abe,
+ author = {Masayuki Abe},
+ title = {Universally Verifiable {MIX} With Verification Work Independent of
+ The Number of {MIX} Servers},
+ booktitle = {{EUROCRYPT} 1998},
+ year = {1998},
+ publisher = {Springer-Verlag, LNCS 1403},
+}
+
+@InProceedings{desmedt,
+ author = {Yvo Desmedt and Kaoru Kurosawa},
+ title = {How To Break a Practical {MIX} and Design a New One},
+ booktitle = {{EUROCRYPT} 2000},
+ year = {2000},
+ publisher = {Springer-Verlag, LNCS 1803},
+ note = {\url{http://citeseer.nj.nec.com/447709.html}},
+}
+
+@InProceedings{mitkuro,
+ author = {M. Mitomo and K. Kurosawa},
+ title = {{Attack for Flash MIX}},
+ booktitle = {{ASIACRYPT} 2000},
+ year = {2000},
+ publisher = {Springer-Verlag, LNCS 1976},
+ note = {\newline \url{http://citeseer.nj.nec.com/450148.html}},
+}
+
+@InProceedings{hybrid-mix,
+ author = {M. Ohkubo and M. Abe},
+ title = {A {L}ength-{I}nvariant {H}ybrid {MIX}},
+ booktitle = {Advances in Cryptology - {ASIACRYPT} 2000},
+ year = {2000},
+ publisher = {Springer-Verlag, LNCS 1976},
+}
+
+@InProceedings{PShuffle,
+ author = {Jun Furukawa and Kazue Sako},
+ title = {An Efficient Scheme for Proving a Shuffle},
+ editor = {Joe Kilian},
+ booktitle = {CRYPTO 2001},
+ year = {2001},
+ publisher = {Springer-Verlag, LNCS 2139},
+}
+
+
+@InProceedings{jakobsson-optimally,
+ author = "Markus Jakobsson and Ari Juels",
+ title = "An Optimally Robust Hybrid Mix Network (Extended Abstract)",
+ booktitle = {Principles of Distributed Computing - {PODC} '01},
+ year = "2001",
+ publisher = {ACM Press},
+ note = {\url{http://citeseer.nj.nec.com/492015.html}},
+}
+
+@InProceedings{kesdogan,
+ author = {D. Kesdogan and M. Egner and T. B\"uschkes},
+ title = {Stop-and-Go {MIX}es Providing Probabilistic Anonymity in an Open
+ System},
+ booktitle = {Information Hiding (IH 1998)},
+ year = {1998},
+ publisher = {Springer-Verlag, LNCS 1525},
+}
+ %note = {\url{http://www.cl.cam.ac.uk/~fapp2/ihw98/ihw98-sgmix.pdf}},
+
+@InProceedings{socks4,
+ author = {David Koblas and Michelle R. Koblas},
+ title = {{SOCKS}},
+ booktitle = {UNIX Security III Symposium (1992 USENIX Security
+ Symposium)},
+ pages = {77--83},
+ year = 1992,
+ publisher = {USENIX},
+}
+
+@InProceedings{flash-mix,
+ author = {Markus Jakobsson},
+ title = {Flash {M}ixing},
+ booktitle = {Principles of Distributed Computing - {PODC} '99},
+ year = {1999},
+ publisher = {ACM Press},
+ note = {\newline \url{http://citeseer.nj.nec.com/jakobsson99flash.html}},
+}
+
+@InProceedings{SK,
+ author = {Joe Kilian and Kazue Sako},
+ title = {Receipt-Free {MIX}-Type Voting Scheme - A Practical Solution to
+ the Implementation of a Voting Booth},
+ booktitle = {EUROCRYPT '95},
+ year = {1995},
+ publisher = {Springer-Verlag},
+}
+
+@InProceedings{OAEP,
+ author = {M. Bellare and P. Rogaway},
+ year = {1994},
+ booktitle = {EUROCRYPT '94},
+ title = {Optimal {A}symmetric {E}ncryption {P}adding : How To Encrypt With
+ {RSA}},
+ publisher = {Springer-Verlag},
+ note = {\newline \url{http://www-cse.ucsd.edu/users/mihir/papers/oaep.html}},
+}
+@inproceedings{babel,
+ title = {Mixing {E}-mail With {B}abel},
+ author = {Ceki G\"ulc\"u and Gene Tsudik},
+ booktitle = {{Network and Distributed Security Symposium (NDSS 96)}},
+ year = 1996,
+ month = {February},
+ pages = {2--16},
+ publisher = {IEEE},
+}
+ %note = {\url{http://citeseer.nj.nec.com/2254.html}},
+
+@Misc{rprocess,
+ author = {RProcess},
+ title = {Selective Denial of Service Attacks},
+ note = {\newline \url{http://www.eff.org/pub/Privacy/Anonymity/1999\_09\_DoS\_remail\_vuln.html}},
+}
+
+@Article{remailer-history,
+ author = {Sameer Parekh},
+ title = {Prospects for Remailers},
+ journal = {First Monday},
+ volume = {1},
+ number = {2},
+ month = {August},
+ year = {1996},
+ note = {\url{http://www.firstmonday.dk/issues/issue2/remailers/}},
+}
+
+@Article{chaum-mix,
+ author = {David Chaum},
+ title = {Untraceable electronic mail, return addresses, and digital pseudo-nyms},
+ journal = {Communications of the ACM},
+ year = {1981},
+ volume = {4},
+ number = {2},
+ month = {February},
+}
+ %note = {\url{http://www.eskimo.com/~weidai/mix-net.txt}},
+
+@InProceedings{nym-alias-net,
+ author = {David Mazi\`{e}res and M. Frans Kaashoek},
+ title = {{The Design, Implementation and Operation of an Email
+ Pseudonym Server}},
+ booktitle = {$5^{th}$ ACM Conference on Computer and
+ Communications Security (CCS'98)},
+ year = 1998,
+ publisher = {ACM Press},
+}
+ %note = {\newline \url{http://www.scs.cs.nyu.edu/~dm/}},
+
+@InProceedings{tangler,
+ author = {Marc Waldman and David Mazi\`{e}res},
+ title = {Tangler: A Censorship-Resistant Publishing System
+ Based on Document Entanglements},
+ booktitle = {$8^{th}$ ACM Conference on Computer and
+ Communications Security (CCS-8)},
+ pages = {86--135},
+ year = 2001,
+ publisher = {ACM Press},
+}
+ %note = {\url{http://www.scs.cs.nyu.edu/~dm/}}
+
+@misc{neochaum,
+ author = {Tim May},
+ title = {Payment mixes for anonymity},
+ howpublished = {E-mail archived at
+ \url{http://\newline www.inet-one.com/cypherpunks/dir.2000.02.28-2000.03.05/msg00334.html}},
+}
+
+@misc{helsingius,
+ author = {J. Helsingius},
+ title = {{\tt anon.penet.fi} press release},
+ note = {\newline \url{http://www.penet.fi/press-english.html}},
+}
+
+@InProceedings{garay97secure,
+ author = {J. Garay and R. Gennaro and C. Jutla and T. Rabin},
+ title = {Secure distributed storage and retrieval},
+ booktitle = {11th International Workshop, WDAG '97},
+ pages = {275--289},
+ year = {1997},
+ publisher = {Springer-Verlag, LNCS 1320},
+ note = {\newline \url{http://citeseer.nj.nec.com/garay97secure.html}},
+}
+
+@InProceedings{PIK,
+ author = {C. Park and K. Itoh and K. Kurosawa},
+ title = {Efficient anonymous channel and all/nothing election scheme},
+ booktitle = {Advances in Cryptology -- {EUROCRYPT} '93},
+ pages = {248--259},
+ publisher = {Springer-Verlag, LNCS 765},
+}
+
+@Misc{pgpfaq,
+ key = {PGP},
+ title = {{PGP} {FAQ}},
+ note = {\newline \url{http://www.faqs.org/faqs/pgp-faq/}},
+}
+
+@Article{riordan-schneier,
+ author = {James Riordan and Bruce Schneier},
+ title = {A Certified E-mail Protocol with No Trusted Third Party},
+ journal = {13th Annual Computer Security Applications Conference},
+ month = {December},
+ year = {1998},
+ note = {\newline \url{http://www.counterpane.com/certified-email.html}},
+}
+
+
+@Article{crowds-tissec,
+ author = {Michael K. Reiter and Aviel D. Rubin},
+ title = {Crowds: Anonymity for Web Transactions},
+ journal = {ACM TISSEC},
+ year = 1998,
+ volume = 1,
+ number = 1,
+ pages = {66--92},
+ month = {June},
+}
+ %note = {\url{http://citeseer.nj.nec.com/284739.html}}
+
+@Article{crowds-dimacs,
+ author = {Michael K. Reiter and Aviel D. Rubin},
+ title = {Crowds: Anonymity for Web Transactions},
+ journal = {{DIMACS} Technical Report (Revised)},
+ volume = {97},
+ number = {15},
+ month = {August},
+ year = {1997},
+}
+
+@Misc{advogato,
+ author = {Raph Levien},
+ title = {Advogato's Trust Metric},
+ note = {\newline \url{http://www.advogato.org/trust-metric.html}},
+}
+
+@InProceedings{publius,
+ author = {Marc Waldman and Aviel Rubin and Lorrie Cranor},
+ title = {Publius: {A} robust, tamper-evident, censorship-resistant and
+ source-anonymous web publishing system},
+ booktitle = {Proc. 9th USENIX Security Symposium},
+ pages = {59--72},
+ year = {2000},
+ month = {August},
+}
+ %note = {\newline \url{http://citeseer.nj.nec.com/waldman00publius.html}},
+
+@Misc{freedom-nyms,
+ author = {Russell Samuels},
+ title = {Untraceable Nym Creation on the {F}reedom {N}etwork},
+ year = {1999},
+ month = {November},
+ day = {21},
+ note = {\newline \url{http://www.freedom.net/products/whitepapers/white11.html}},
+}
+
+@techreport{freedom2-arch,
+ title = {Freedom Systems 2.0 Architecture},
+ author = {Philippe Boucher and Adam Shostack and Ian Goldberg},
+ institution = {Zero Knowledge Systems, {Inc.}},
+ year = {2000},
+ month = {December},
+ type = {White Paper},
+ day = {18},
+}
+
+@techreport{freedom21-security,
+ title = {Freedom Systems 2.1 Security Issues and Analysis},
+ author = {Adam Back and Ian Goldberg and Adam Shostack},
+ institution = {Zero Knowledge Systems, {Inc.}},
+ year = {2001},
+ month = {May},
+ type = {White Paper},
+}
+
+@inproceedings{cfs:sosp01,
+ title = {Wide-area cooperative storage with {CFS}},
+ author = {Frank Dabek and M. Frans Kaashoek and David Karger and Robert Morris and Ion Stoica},
+ booktitle = {18th {ACM} {S}ymposium on {O}perating {S}ystems {P}rinciples ({SOSP} '01)},
+ year = {2001},
+ month = {October},
+ address = {Chateau Lake Louise, Banff, Canada},
+}
+
+@inproceedings{SS03,
+ title = {Passive Attack Analysis for Connection-Based Anonymity Systems},
+ author = {Andrei Serjantov and Peter Sewell},
+ booktitle = {Computer Security -- ESORICS 2003},
+ publisher = {Springer-Verlag, LNCS 2808},
+ year = {2003},
+ month = {October},
+}
+ %note = {\url{http://www.cl.cam.ac.uk/users/aas23/papers_aas/conn_sys.ps}},
+
+@Misc{pk-relations,
+ author = {M. Bellare and A. Desai and D. Pointcheval and P. Rogaway},
+ title = {Relations Among Notions of Security for Public-Key Encryption
+ Schemes},
+ howpublished = {
+ Extended abstract in {\em Advances in Cryptology - CRYPTO '98}, LNCS Vol. 1462.
+ Springer-Verlag, 1998.
+ Full version available from \newline \url{http://www-cse.ucsd.edu/users/mihir/}},
+}
+
+
+@InProceedings{mix-acc,
+ author = {Roger Dingledine and Michael J. Freedman and David
+ Hopwood and David Molnar},
+ title = {{A Reputation System to Increase MIX-net
+ Reliability}},
+ booktitle = {Information Hiding (IH 2001)},
+ pages = {126--141},
+ year = 2001,
+ editor = {Ira S. Moskowitz},
+ publisher = {Springer-Verlag, LNCS 2137},
+}
+ %note = {\url{http://www.freehaven.net/papers.html}},
+
+@InProceedings{casc-rep,
+ author = {Roger Dingledine and Paul Syverson},
+ title = {{Reliable MIX Cascade Networks through Reputation}},
+ booktitle = {Financial Cryptography},
+ year = 2002,
+ editor = {Matt Blaze},
+ publisher = {Springer-Verlag, LNCS 2357},
+}
+ %note = {\newline \url{http://www.freehaven.net/papers.html}},
+
+@InProceedings{zhou96certified,
+ author = {Zhou and Gollmann},
+ title = {Certified Electronic Mail},
+ booktitle = {{ESORICS: European Symposium on Research in Computer
+ Security}},
+ publisher = {Springer-Verlag, LNCS 1146},
+ year = {1996},
+ note = {\newline \url{http://citeseer.nj.nec.com/zhou96certified.html}},
+}
+
+@Misc{realtime-mix,
+ author = {Anja Jerichow and Jan M\"uller and Andreas Pfitzmann and
+ Birgit Pfitzmann and Michael Waidner},
+ title = {{Real-Time MIXes: A Bandwidth-Efficient Anonymity Protocol}},
+ howpublished = {IEEE Journal on Selected Areas in Communications, 1998.},
+ note = {\url{http://www.zurich.ibm.com/security/publications/1998.html}},
+}
+
+@InProceedings{danezis:pet2003,
+ author = {George Danezis},
+ title = {Mix-networks with Restricted Routes},
+ booktitle = {Privacy Enhancing Technologies (PET 2003)},
+ year = 2003,
+ editor = {Roger Dingledine},
+ publisher = {Springer-Verlag LNCS 2760}
+}
+
+@InProceedings{gap-pets03,
+ author = {Krista Bennett and Christian Grothoff},
+ title = {{GAP} -- practical anonymous networking},
+ booktitle = {Privacy Enhancing Technologies (PET 2003)},
+ year = 2003,
+ editor = {Roger Dingledine},
+ publisher = {Springer-Verlag LNCS 2760}
+}
+
+@Article{hordes-jcs,
+ author = {Brian Neal Levine and Clay Shields},
+ title = {Hordes: A Multicast-Based Protocol for Anonymity},
+ journal = {Journal of Computer Security},
+ year = 2002,
+ volume = 10,
+ number = 3,
+ pages = {213--240}
+}
+
+@TechReport{herbivore,
+ author = {Sharad Goel and Mark Robson and Milo Polte and Emin G\"{u}n Sirer},
+ title = {Herbivore: A Scalable and Efficient Protocol for Anonymous Communication},
+ institution = {Cornell University Computing and Information Science},
+ year = 2003,
+ type = {Technical Report},
+ number = {TR2003-1890},
+ month = {February}
+}
+
+@InProceedings{p5,
+ author = {Rob Sherwood and Bobby Bhattacharjee and Aravind Srinivasan},
+ title = {$P^5$: A Protocol for Scalable Anonymous Communication},
+ booktitle = {IEEE Symposium on Security and Privacy},
+ pages = {58--70},
+ year = 2002,
+ publisher = {IEEE CS}
+}
+
+@phdthesis{ian-thesis,
+ title = {A Pseudonymous Communications Infrastructure for the Internet},
+ author = {Ian Goldberg},
+ school = {UC Berkeley},
+ year = {2000},
+ month = {Dec},
+}
+
+@Article{taz,
+ author = {Ian Goldberg and David Wagner},
+ title = {TAZ Servers and the Rewebber Network: Enabling
+ Anonymous Publishing on the World Wide Web},
+ journal = {First Monday},
+ year = 1998,
+ volume = 3,
+ number = 4,
+ month = {August},
+ note = {\url{http://www.firstmonday.dk/issues/issue3_4/goldberg/}}
+}
+
+@Misc{tcp-over-tcp-is-bad,
+ key = {tcp-over-tcp-is-bad},
+ title = {Why {TCP} Over {TCP} Is A Bad Idea},
+ author = {Olaf Titz},
+ note = {\url{http://sites.inka.de/sites/bigred/devel/tcp-tcp.html}}
+}
+
+@inproceedings{wright02,
+ title = {An Analysis of the Degradation of Anonymous Protocols},
+ author = {Matthew Wright and Micah Adler and Brian Neil Levine and Clay Shields},
+ booktitle = {{Network and Distributed Security Symposium (NDSS 02)}},
+ year = {2002},
+ month = {February},
+ publisher = {IEEE},
+}
+
+@inproceedings{wright03,
+ title = {Defending Anonymous Communication Against Passive Logging Attacks},
+ author = {Matthew Wright and Micah Adler and Brian Neil Levine and Clay Shields},
+ booktitle = {IEEE Symposium on Security and Privacy},
+ pages= {28--41},
+ year = {2003},
+ month = {May},
+ publisher = {IEEE CS},
+}
+
+
+@InProceedings{attack-tor-oak05,
+ author = {Steven J. Murdoch and George Danezis},
+ title = {Low-cost Traffic Analysis of {T}or},
+ booktitle = {IEEE Symposium on Security and Privacy},
+ year = 2005,
+ month = {May},
+ publisher = {IEEE CS}
+}
+
+@Misc{jap-backdoor,
+ author={{The AN.ON Project}},
+ howpublished={Press release},
+ year={2003},
+ month={September},
+ title={German Police proceeds against anonymity service},
+ note={\url{http://www.datenschutzzentrum.de/material/themen/presse/anon-bka_e.htm}}
+}
+
+@article{shsm03,
+ title = {Using Caching for Browsing Anonymity},
+ author = {Anna Shubina and Sean Smith},
+ journal = {ACM SIGEcom Exchanges},
+ volume = {4},
+ number = {2},
+ year = {2003},
+ month = {Sept},
+ note = {\url{http://www.acm.org/sigs/sigecom/exchanges/volume_4_(03)/4.2-Shubina.pdf}},
+}
+
+@inproceedings{tor-design,
+ title = {Tor: The Second-Generation Onion Router},
+ author = {Roger Dingledine and Nick Mathewson and Paul Syverson},
+ booktitle = {Proceedings of the 13th USENIX Security Symposium},
+ year = {2004},
+ month = {August},
+ note = {\url{https://www.torproject.org/tor-design.pdf}}
+}
+
+@inproceedings{flow-correlation04,
+ title = {On Flow Correlation Attacks and Countermeasures in Mix Networks},
+ author = {Ye Zhu and Xinwen Fu and Bryan Graham and Riccardo Bettati and Wei Zhao},
+ booktitle = {Proceedings of Privacy Enhancing Technologies workshop (PET 2004)},
+ year = {2004},
+ month = {May},
+ series = {LNCS},
+ note = {\url{http://students.cs.tamu.edu/xinwenfu/paper/PET04.pdf}},
+}
+
+@InProceedings{danezis:pet2004,
+ author = "George Danezis",
+ title = "The Traffic Analysis of Continuous-Time Mixes",
+ booktitle= {Privacy Enhancing Technologies (PET 2004)},
+ editor = {David Martin and Andrei Serjantov},
+ month = {May},
+ year = {2004},
+ series = {LNCS},
+ note = {\url{http://www.cl.cam.ac.uk/users/gd216/cmm2.pdf}},
+}
+
+@inproceedings{feamster:wpes2004,
+ title = {Location Diversity in Anonymity Networks},
+ author = {Nick Feamster and Roger Dingledine},
+ booktitle = {{Proceedings of the Workshop on Privacy in the Electronic Society (WPES 2004)}},
+ year = {2004},
+ month = {October},
+ address = {Washington, DC, USA},
+ note = {\url{http://freehaven.net/doc/routing-zones/routing-zones.ps}},
+}
+
+@inproceedings{koepsell:wpes2004,
+ title = {How to Achieve Blocking Resistance for Existing Systems Enabling Anonymous Web Surfing},
+ author = {Stefan K\"opsell and Ulf Hilling},
+ booktitle = {{Proceedings of the Workshop on Privacy in the Electronic Society (WPES 2004)}},
+ year = {2004},
+ month = {October},
+ address = {Washington, DC, USA},
+ note = {\url{http://freehaven.net/anonbib/papers/p103-koepsell.pdf}},
+}
+
+@inproceedings{sync-batching,
+ title = {Synchronous Batching: From Cascades to Free Routes},
+ author = {Roger Dingledine and Vitaly Shmatikov and Paul Syverson},
+ booktitle = {Proceedings of Privacy Enhancing Technologies workshop (PET 2004)},
+ editor = {David Martin and Andrei Serjantov},
+ year = {2004},
+ month = {May},
+ series = {LNCS},
+ note = {\url{http://freehaven.net/doc/sync-batching/sync-batching.pdf}},
+}
+
+@InProceedings{e2e-traffic,
+ author = "Nick Mathewson and Roger Dingledine",
+ title = "Practical Traffic Analysis: Extending and Resisting Statistical Disclosure",
+ booktitle= {Privacy Enhancing Technologies (PET 2004)},
+ editor = {David Martin and Andrei Serjantov},
+ month = {May},
+ year = {2004},
+ series = {LNCS},
+ note = {\url{http://freehaven.net/doc/e2e-traffic/e2e-traffic.pdf}},
+}
+
+@Misc{dtls,
+ author = {E. Rescorla and N. Modadugu},
+ title = {{Datagram Transport Layer Security}},
+ howpublished = {IETF Draft},
+ month = {December},
+ year = {2003},
+ note = {\url{http://www.ietf.org/internet-drafts/draft-rescorla-dtls-02.txt}},
+}
+
+@InProceedings{usability-network-effect,
+ author={Roger Dingledine and Nick Mathewson},
+ title={Anonymity Loves Company: Usability and the Network Effect},
+ booktitle = {Designing Security Systems That People Can Use},
+ year = {2005},
+ publisher = {O'Reilly Media},
+}
+
+@inproceedings{usability:weis2006,
+ title = {Anonymity Loves Company: Usability and the Network Effect},
+ author = {Roger Dingledine and Nick Mathewson},
+ booktitle = {Proceedings of the Fifth Workshop on the Economics of Information Security
+ (WEIS 2006)},
+ year = {2006},
+ month = {June},
+ address = {Cambridge, UK},
+ bookurl = {http://weis2006.econinfosec.org/},
+ note = {\url{http://freehaven.net/doc/wupss04/usability.pdf}},
+}
+
+@Misc{six-four,
+ key = {six-four},
+ title = {{The Six/Four System}},
+ note = {\url{http://sourceforge.net/projects/sixfour/}}
+}
+
+@inproceedings{clayton:pet2006,
+ title = {Ignoring the Great Firewall of China},
+ author = {Richard Clayton and Steven J. Murdoch and Robert N. M. Watson},
+ booktitle = {Proceedings of the Sixth Workshop on Privacy Enhancing Technologies (PET 2006)},
+ year = {2006},
+ month = {June},
+ address = {Cambridge, UK},
+ publisher = {Springer},
+ bookurl = {http://petworkshop.org/2006/},
+ note = {\url{http://www.cl.cam.ac.uk/~rnc1/ignoring.pdf}},
+}
+
+@Misc{zuckerman-threatmodels,
+ key = {zuckerman-threatmodels},
+ title = {We've got to adjust some of our threat models},
+ author = {Ethan Zuckerman},
+ note = {\url{http://www.ethanzuckerman.com/blog/?p=1019}}
+}
+
+@Misc{cgiproxy,
+ key = {cgiproxy},
+ title = {{CGIProxy: HTTP/FTP Proxy in a CGI Script}},
+ author = {James Marshall},
+ note = {\url{http://www.jmarshall.com/tools/cgiproxy/}}
+}
+
+@Misc{circumventor,
+ key = {circumventor},
+ title = {{How to install the Circumventor program}},
+ author = {Bennett Haselton},
+ note = {\url{http://www.peacefire.org/circumventor/simple-circumventor-instructions.html}}
+}
+
+@Misc{psiphon,
+ key = {psiphon},
+ title = {Psiphon},
+ author = {Ronald Deibert et al},
+ note = {\url{http://psiphon.civisec.org/}}
+}
+
+@InProceedings{tcpstego, author = {Steven J. Murdoch and Stephen Lewis},
+ title = {Embedding Covert Channels into {TCP/IP}},
+ booktitle = {Information Hiding: 7th International Workshop},
+ pages = {247--261},
+ year = {2005},
+ editor = {Mauro Barni and Jordi Herrera-Joancomart\'{\i} and
+Stefan Katzenbeisser and Fernando P\'{e}rez-Gonz\'{a}lez},
+ volume = {3727},
+ series = {LNCS},
+ address = {Barcelona, Catalonia (Spain)},
+ month = {June},
+ publisher = {Springer-Verlag},
+ url = {http://www.cl.cam.ac.uk/~sjm217/papers/ih05coverttcp.pdf}
+}
+
+@phdthesis{blossom-thesis,
+ title = {Perspective Access Networks},
+ author = {Geoffrey Goodell},
+ school = {Harvard University},
+ year = {2006},
+ month = {July},
+ note = {\url{http://afs.eecs.harvard.edu/~goodell/thesis.pdf}},
+}
+
+@inproceedings{tap:pet2006,
+ title = {On the Security of the Tor Authentication Protocol},
+ author = {Ian Goldberg},
+ booktitle = {Proceedings of the Sixth Workshop on Privacy Enhancing Technologies (PET 2006)},
+ year = {2006},
+ month = {June},
+ address = {Cambridge, UK},
+ publisher = {Springer},
+ bookurl = {http://petworkshop.org/2006/},
+ note = {\url{http://www.cypherpunks.ca/~iang/pubs/torsec.pdf}},
+}
+
+@inproceedings{rep-anon,
+ title = {{Reputation in P2P Anonymity Systems}},
+ author = {Roger Dingledine and Nick Mathewson and Paul Syverson},
+ booktitle = {Proceedings of Workshop on Economics of Peer-to-Peer Systems},
+ year = {2003},
+ month = {June},
+ note = {\url{http://freehaven.net/doc/econp2p03/econp2p03.pdf}},
+}
+
+@misc{tor-challenges,
+ author = {Roger Dingledine and Nick Mathewson and Paul Syverson},
+ title = {Challenges in deploying low-latency anonymity},
+ year = {2005},
+ note = {Manuscript}
+}
+
+@InProceedings{chaum-blind,
+ author = {David Chaum},
+ title = {Blind Signatures for Untraceable Payments},
+ booktitle = {Advances in Cryptology: Proceedings of Crypto 82},
+ pages = {199--203},
+ year = 1983,
+ editor = {D. Chaum and R.L. Rivest and A.T. Sherman},
+ publisher = {Plenum Press}
+}
+
+@Article{netauth,
+ author = {Geoffrey Goodell and Paul Syverson},
+ title = {The Right Place at the Right Time: Examining the use of network location in authentication and abuse prevention},
+ journal = {Communications of the ACM},
+ year = 2007,
+ volume = 50,
+ number = 5,
+ pages = {113--117},
+ month = {May}
+}
+
+@misc{ip-to-country,
+ key = {ip-to-country},
+ title = {IP-to-country database},
+ note = {\url{http://ip-to-country.webhosting.info/}},
+}
+
+@misc{mackinnon-personal,
+ author = {Rebecca MacKinnon},
+ title = {Private communication},
+ year = {2006},
+}
+
+@inproceedings{pet05-bissias,
+ title = {Privacy Vulnerabilities in Encrypted HTTP Streams},
+ author = {George Dean Bissias and Marc Liberatore and Brian Neil Levine},
+ booktitle = {Proceedings of Privacy Enhancing Technologies workshop (PET 2005)},
+ year = {2005},
+ month = {May},
+ note = {\url{http://prisms.cs.umass.edu/brian/pubs/bissias.liberatore.pet.2005.pdf}},
+}
+
+@InProceedings{infranet,
+ author = {Nick Feamster and Magdalena Balazinska and Greg Harfst and Hari Balakrishnan and David Karger},
+ title = {Infranet: Circumventing Web Censorship and Surveillance},
+ booktitle = {Proceedings of the 11th USENIX Security Symposium},
+ year = {2002},
+ month = {August},
+ note = {\url{http://nms.lcs.mit.edu/~feamster/papers/usenixsec2002.pdf}},
+}
+
+@techreport{ ptacek98insertion,
+ author = "Thomas H. Ptacek and Timothy N. Newsham",
+ title = "Insertion, Evasion, and Denial of Service: Eluding Network Intrusion Detection",
+ institution = "Secure Networks, Inc.",
+ address = "Suite 330, 1201 5th Street S.W, Calgary, Alberta, Canada, T2R-0Y6",
+ year = "1998",
+ url = "citeseer.ist.psu.edu/ptacek98insertion.html",
+}
+
+@inproceedings{active-wardens,
+ author = "Gina Fisk and Mike Fisk and Christos Papadopoulos and Joshua Neil",
+ title = "Eliminating Steganography in Internet Traffic with Active Wardens",
+ booktitle = {Information Hiding Workshop (IH 2002)},
+ year = {2002},
+ month = {October},
+ editor = {Fabien Petitcolas},
+ publisher = {Springer-Verlag, LNCS 2578},
+}
+
+@inproceedings{clog-the-queue,
+ title = {Don't Clog the Queue: Circuit Clogging and Mitigation in {P2P} anonymity schemes},
+ author = {Jon McLachlan and Nicholas Hopper},
+ booktitle = {Proceedings of Financial Cryptography (FC '08)},
+ year = {2008},
+ month = {January},
+}
+
+@inproceedings{snader08,
+ title = {A Tune-up for {Tor}: Improving Security and Performance in the {Tor} Network},
+ author = {Robin Snader and Nikita Borisov},
+ booktitle = {Proceedings of the Network and Distributed Security Symposium - {NDSS} '08},
+ year = {2008},
+ month = {February},
+ publisher = {Internet Society},
+}
+
+@inproceedings{murdoch-pet2008,
+ title = {Metrics for Security and Performance in Low-Latency Anonymity Networks},
+ author = {Steven J. Murdoch and Robert N. M. Watson},
+ booktitle = {Proceedings of the Eighth International Symposium on Privacy Enhancing Technologies (PETS 2008)},
+ year = {2008},
+ month = {July},
+ address = {Leuven, Belgium},
+ pages = {115--132},
+ editor = {Nikita Borisov and Ian Goldberg},
+ publisher = {Springer},
+ bookurl = {http://petsymposium.org/2008/},
+}
+
+@inproceedings{danezis-pet2008,
+ title = {Bridging and Fingerprinting: Epistemic Attacks on Route Selection},
+ author = {George Danezis and Paul Syverson},
+ booktitle = {Proceedings of the Eighth International Symposium on Privacy Enhancing Technologies (PETS 2008)},
+ year = {2008},
+ month = {July},
+ address = {Leuven, Belgium},
+ pages = {133--150},
+ editor = {Nikita Borisov and Ian Goldberg},
+ publisher = {Springer},
+ bookurl = {http://petsymposium.org/2008/},
+}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "tor-design"
+%%% End:
1
0
31 Aug '12
commit 801c31f881454408ad63c69dda18911a23a033c2
Author: Karsten Loesing <karsten.loesing(a)gmx.net>
Date: Fri Aug 31 09:50:37 2012 +0200
Take out nocutoff madness in user graphs.
A recent change turned on that feature by default, which is a bug. But
it's a confusing feature anyway, so let's kill it.
---
rserve/graphs.R | 7 +----
.../ernie/web/GraphParameterChecker.java | 21 --------------------
src/org/torproject/ernie/web/RObjectGenerator.java | 2 +-
3 files changed, 3 insertions(+), 27 deletions(-)
diff --git a/rserve/graphs.R b/rserve/graphs.R
index 4f99eeb..f5bc089 100644
--- a/rserve/graphs.R
+++ b/rserve/graphs.R
@@ -664,11 +664,8 @@ plot_relayflags <- function(start, end, flags, granularity, path, dpi) {
ggsave(filename = path, width = 8, height = 5, dpi = as.numeric(dpi))
}
-plot_direct_users <- function(start, end, country, events, path, nocutoff,
- dpi) {
- if (nocutoff != "off") {
- end <- min(end, as.character(Sys.Date() - 4))
- }
+plot_direct_users <- function(start, end, country, events, path, dpi) {
+ end <- min(end, as.character(Sys.Date() - 4))
drv <- dbDriver("PostgreSQL")
con <- dbConnect(drv, user = dbuser, password = dbpassword, dbname = db)
q <- paste("SELECT date, r, bwp, brn, bwn, brp, bwr, brr, country ",
diff --git a/src/org/torproject/ernie/web/GraphParameterChecker.java b/src/org/torproject/ernie/web/GraphParameterChecker.java
index 19a4081..c939035 100644
--- a/src/org/torproject/ernie/web/GraphParameterChecker.java
+++ b/src/org/torproject/ernie/web/GraphParameterChecker.java
@@ -60,7 +60,6 @@ public class GraphParameterChecker {
this.knownParameterValues.put("language", "all,en,zh_CN,fa");
this.knownParameterValues.put("source", "all,siv,moria,torperf");
this.knownParameterValues.put("filesize", "50kb,1mb,5mb");
- this.knownParameterValues.put("nocutoff", "on,off");
this.knownParameterValues.put("dpi", "72,150,300");
}
@@ -292,26 +291,6 @@ public class GraphParameterChecker {
}
}
- /* Parse whether the last day(s) of a time series should be cut off.
- * This parameter can either be "on" or "off," where "off" is the
- * default. */
- if (supportedGraphParameters.contains("nocutoff")) {
- String[] nocutoffParameter = (String[]) requestParameters.get(
- "nocutoff");
- List<String> knownValues = Arrays.asList(
- this.knownParameterValues.get("nocutoff").split(","));
- if (nocutoffParameter != null) {
- if (nocutoffParameter.length != 1 ||
- nocutoffParameter[0].length() == 0 ||
- !knownValues.contains(nocutoffParameter[0])) {
- return null;
- }
- } else {
- nocutoffParameter = new String[] { "off" };
- }
- recognizedGraphParameters.put("nocutoff", nocutoffParameter);
- }
-
/* Parse graph resolution in dpi. The default is 72. */
if (supportedGraphParameters.contains("dpi")) {
String[] dpiParameter = (String[]) requestParameters.get("dpi");
diff --git a/src/org/torproject/ernie/web/RObjectGenerator.java b/src/org/torproject/ernie/web/RObjectGenerator.java
index e4e08bc..b964958 100644
--- a/src/org/torproject/ernie/web/RObjectGenerator.java
+++ b/src/org/torproject/ernie/web/RObjectGenerator.java
@@ -93,7 +93,7 @@ public class RObjectGenerator implements ServletContextListener {
this.availableGraphs.put("bwhist-flags", "start,end,filename,dpi");
this.availableGraphs.put("dirbytes", "start,end,filename,dpi");
this.availableGraphs.put("direct-users",
- "start,end,country,events,filename,nocutoff,dpi");
+ "start,end,country,events,filename,dpi");
this.availableGraphs.put("bridge-users",
"start,end,country,filename,dpi");
this.availableGraphs.put("torperf",
1
0
[flashproxy/master] We typically have a few proxies running at all time these days.
by dcf@torproject.org 30 Aug '12
by dcf@torproject.org 30 Aug '12
30 Aug '12
commit 86d340f15ce0046df53add5869b8ab2d35891d30
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Aug 30 16:13:19 2012 -0700
We typically have a few proxies running at all time these days.
---
README | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
diff --git a/README b/README
index f814ebe..0db5973 100644
--- a/README
+++ b/README
@@ -32,10 +32,6 @@ From tor you are looking for:
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done.
-If you don't get a connection within 30 seconds or so, make sure someone
-is viewing http://crypto.stanford.edu/flashproxy/. There aren't yet
-enough operational proxies that one is available all the time.
-
== Overview
1
0
[flashproxy/master] Show the console log iff flashproxy-exercise fails.
by dcf@torproject.org 30 Aug '12
by dcf@torproject.org 30 Aug '12
30 Aug '12
commit c6b0433653472a155af86ea5ac6c71bff6cce4fc
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Aug 30 14:48:10 2012 -0700
Show the console log iff flashproxy-exercise fails.
This is to send cron mail when the script fails, but not otherwise.
---
experiments/exercise/flashproxy-exercise.sh | 5 +----
1 files changed, 1 insertions(+), 4 deletions(-)
diff --git a/experiments/exercise/flashproxy-exercise.sh b/experiments/exercise/flashproxy-exercise.sh
index 4db7530..488bd5b 100755
--- a/experiments/exercise/flashproxy-exercise.sh
+++ b/experiments/exercise/flashproxy-exercise.sh
@@ -6,7 +6,4 @@
DATE=$(date +"%Y-%m-%d-%H:%M")
LOG="log-$DATE"
-# To get cron mail:
-# ./exercise.sh 2>&1 | tee "$LOG"
-# To not get cron mail:
-./exercise.sh &> "$LOG"
+(./exercise.sh &> "$LOG") || cat "$LOG"
1
0
[flashproxy/master] Allow omitting the port in parse_addr_spec and format_addr.
by dcf@torproject.org 30 Aug '12
by dcf@torproject.org 30 Aug '12
30 Aug '12
commit 887b6eebd7505ef5d8d58d46b79f46c48ce7c0aa
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Aug 30 15:17:13 2012 -0700
Allow omitting the port in parse_addr_spec and format_addr.
---
flashproxy-client | 13 ++++++++-----
flashproxy-reg-http | 13 ++++++++-----
2 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/flashproxy-client b/flashproxy-client
index 0dfe8c7..74c2a74 100755
--- a/flashproxy-client
+++ b/flashproxy-client
@@ -123,9 +123,9 @@ def parse_addr_spec(spec, defhost = None, defport = None):
af = 0
host = host or defhost
port = port or defport
- if not port:
- raise ValueError("Bad address specification \"%s\"" % spec)
- return host, int(port)
+ if port is not None:
+ port = int(port)
+ return host, port
def format_addr(addr):
host, port = addr
@@ -138,9 +138,12 @@ def format_addr(addr):
except socket.gaierror, e:
af = 0
if af == socket.AF_INET6:
- return u"[%s]:%d" % (host, port)
+ result = u"[%s]" % host
else:
- return u"%s:%d" % (host, port)
+ result = "%s" % host
+ if port is not None:
+ result += u":%d" % port
+ return result
def safe_format_addr(addr):
return safe_str(format_addr(addr))
diff --git a/flashproxy-reg-http b/flashproxy-reg-http
index 4cff231..6b0310f 100755
--- a/flashproxy-reg-http
+++ b/flashproxy-reg-http
@@ -61,9 +61,9 @@ def parse_addr_spec(spec, defhost = None, defport = None):
af = 0
host = host or defhost
port = port or defport
- if not port:
- raise ValueError("Bad address specification \"%s\"" % spec)
- return host, int(port)
+ if port is not None:
+ port = int(port)
+ return host, port
def format_addr(addr):
host, port = addr
@@ -76,9 +76,12 @@ def format_addr(addr):
except socket.gaierror, e:
af = 0
if af == socket.AF_INET6:
- return u"[%s]:%d" % (host, port)
+ result = u"[%s]" % host
else:
- return u"%s:%d" % (host, port)
+ result = "%s" % host
+ if port is not None:
+ result += u":%d" % port
+ return result
options.facilitator_addr = (DEFAULT_FACILITATOR_HOST, DEFAULT_FACILITATOR_PORT)
options.remote_addr = (DEFAULT_REMOTE_ADDRESS, DEFAULT_REMOTE_PORT)
1
0
commit 5c0b0115af3ca875699e37493f187a92b1fa9d9a
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Aug 30 15:18:47 2012 -0700
Remove dead code.
---
flashproxy-client | 14 --------------
1 files changed, 0 insertions(+), 14 deletions(-)
diff --git a/flashproxy-client b/flashproxy-client
index 74c2a74..dfa295e 100755
--- a/flashproxy-client
+++ b/flashproxy-client
@@ -147,20 +147,6 @@ def format_addr(addr):
def safe_format_addr(addr):
return safe_str(format_addr(addr))
- host, port = addr
- if not host:
- return u":%d" % port
- # Numeric IPv6 address?
- try:
- addrs = socket.getaddrinfo(host, port, 0, socket.SOCK_STREAM, socket.IPPROTO_TCP, socket.AI_NUMERICHOST)
- af = addrs[0][0]
- except socket.gaierror, e:
- af = 0
- if af == socket.AF_INET6:
- return u"[%s]:%d" % (host, port)
- else:
- return u"%s:%d" % (host, port)
-
def apply_mask_numpy(payload, mask_key):
1
0
30 Aug '12
commit a90d0d3dd964480c6b5ef7999dfe768dc9dbe999
Author: David Fifield <david(a)bamsoftware.com>
Date: Thu Aug 30 15:45:28 2012 -0700
Obey REMOTE_ADDR host when registering.
---
flashproxy-client | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/flashproxy-client b/flashproxy-client
index dfa295e..a8dcd15 100755
--- a/flashproxy-client
+++ b/flashproxy-client
@@ -29,7 +29,7 @@ try:
except ImportError:
numpy = None
-DEFAULT_REMOTE_ADDRESS = "0.0.0.0"
+DEFAULT_REMOTE_ADDRESS = None
DEFAULT_REMOTE_PORT = 9000
DEFAULT_LOCAL_ADDRESS = "127.0.0.1"
DEFAULT_LOCAL_PORT = 9001
@@ -423,6 +423,7 @@ class WebSocketBinaryEncoder(object):
def listen_socket(addr):
"""Return a nonblocking socket listening on the given address."""
+ addr = (addr[0] or "0.0.0.0", addr[1])
addrinfo = socket.getaddrinfo(addr[0], addr[1], 0, socket.SOCK_STREAM, socket.IPPROTO_TCP)[0]
s = socket.socket(addrinfo[0], addrinfo[1], addrinfo[2])
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
@@ -624,7 +625,7 @@ def register():
# Maybe the script was read from stdin; in any case don't guess at the directory.
return
command = [os.path.join(script_dir, "flashproxy-reg-http")]
- spec = format_addr((None, options.remote_addr[1]))
+ spec = format_addr(options.remote_addr)
if options.facilitator_addr is None:
log(u"Registering \"%s\"." % spec)
else:
1
0
30 Aug '12
commit 1b9814bf603871689d16d0a3decddaea4c0247ce
Author: Mike Perry <mikeperry-git(a)fscked.org>
Date: Thu Aug 30 15:33:11 2012 -0700
Updated strings from transifex.
---
src/chrome/locale/ar/torbutton.dtd | 2 +-
src/chrome/locale/cs/torbutton.dtd | 2 +-
src/chrome/locale/da/torbutton.dtd | 2 +-
src/chrome/locale/de/torbutton.dtd | 2 +-
src/chrome/locale/el/torbutton.dtd | 2 +-
src/chrome/locale/es/torbutton.dtd | 2 +-
src/chrome/locale/et/torbutton.properties | 4 +-
src/chrome/locale/eu/torbutton.dtd | 2 +-
src/chrome/locale/fa/torbutton.dtd | 2 +-
src/chrome/locale/fi/torbutton.dtd | 2 +-
src/chrome/locale/fr/torbutton.dtd | 2 +-
src/chrome/locale/gu/torbutton.dtd | 2 +-
src/chrome/locale/hu/torbutton.dtd | 2 +-
src/chrome/locale/id/torbutton.dtd | 2 +-
src/chrome/locale/id/torbutton.properties | 12 +-
src/chrome/locale/it/torbutton.dtd | 2 +-
src/chrome/locale/ko/torbutton.dtd | 240 ++++++++++++++--------------
src/chrome/locale/ko/torbutton.properties | 84 +++++-----
src/chrome/locale/lv/torbutton.properties | 84 +++++-----
src/chrome/locale/my/torbutton.dtd | 230 ++++++++++++++--------------
src/chrome/locale/my/torbutton.properties | 82 +++++-----
src/chrome/locale/nb/torbutton.dtd | 2 +-
src/chrome/locale/nl/torbutton.dtd | 2 +-
src/chrome/locale/pl/torbutton.dtd | 2 +-
src/chrome/locale/pt-BR/torbutton.dtd | 2 +-
src/chrome/locale/pt/torbutton.dtd | 2 +-
src/chrome/locale/ro/torbutton.dtd | 2 +-
src/chrome/locale/ro/torbutton.properties | 2 +-
src/chrome/locale/ru/torbutton.dtd | 2 +-
src/chrome/locale/sr/torbutton.dtd | 8 +-
src/chrome/locale/sr/torbutton.properties | 58 ++++----
src/chrome/locale/tr/torbutton.dtd | 2 +-
src/chrome/locale/uk/torbutton.dtd | 72 +++++-----
src/chrome/locale/uk/torbutton.properties | 36 ++--
src/chrome/locale/vi/torbutton.dtd | 2 +-
src/chrome/locale/vi/torbutton.properties | 28 ++--
src/chrome/locale/zh-CN/torbutton.dtd | 34 ++--
37 files changed, 510 insertions(+), 510 deletions(-)
diff --git a/src/chrome/locale/ar/torbutton.dtd b/src/chrome/locale/ar/torbutton.dtd
index f2a08a9..8f924ca 100644
--- a/src/chrome/locale/ar/torbutton.dtd
+++ b/src/chrome/locale/ar/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "أز٠اÙÙ
ÙØµØ© ÙØ§ÙÙØºØ© Ù
Ù Ø§Ø³ØªÙØ³Ø§Ø±Ø§Øª Ù
ØØ±Ù ØšØØ« ØºÙØºÙ">
<!ENTITY torbutton.prefs.transparentTor "ØŽÙØ§ÙÙØ© ØªÙØ±ÙÙÙÙØŽÙ (ØªØØªØ§Ø¬ Ù
ÙØ¬Ù ØªÙØ± Ø£Ù ØªØ±Ø§ÙØ³ØšÙÙØ³Ù Ù
خصص)">
diff --git a/src/chrome/locale/cs/torbutton.dtd b/src/chrome/locale/cs/torbutton.dtd
index e60e73f..6c56a47 100644
--- a/src/chrome/locale/cs/torbutton.dtd
+++ b/src/chrome/locale/cs/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Strip platform and language off of Google Search Box queries">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/da/torbutton.dtd b/src/chrome/locale/da/torbutton.dtd
index f705743..0aec979 100644
--- a/src/chrome/locale/da/torbutton.dtd
+++ b/src/chrome/locale/da/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Fjern platform og sprog fra forespÞrgsler i Google-sÞgninger">
<!ENTITY torbutton.prefs.transparentTor "Gennemsigtig Torifikation (KrÊver tilpasset transproxy eller Tor-router)">
diff --git a/src/chrome/locale/de/torbutton.dtd b/src/chrome/locale/de/torbutton.dtd
index 2d39bcf..20bac8b 100644
--- a/src/chrome/locale/de/torbutton.dtd
+++ b/src/chrome/locale/de/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Betriebssystem und Sprache bei Google Suchabfragen nicht ÃŒbermitteln">
<!ENTITY torbutton.prefs.transparentTor "Transparente Torification (Erfordert eigenen Transproxy oder Tor-Router)">
diff --git a/src/chrome/locale/el/torbutton.dtd b/src/chrome/locale/el/torbutton.dtd
index 3c74a8b..297b3fb 100644
--- a/src/chrome/locale/el/torbutton.dtd
+++ b/src/chrome/locale/el/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "ÎÏαίÏεÏε ÏηΜ ÏλαÏÏÏÏΌα και Ïη γλÏÏÏα (ÏοÏ
ÏÏ
ÏÏήΌαÏοÏ) αÏο Ïα εÏÏÏήΌαÏα ÏÏα κοÏ
Ïιά αΜαζήÏηÏηÏ">
<!ENTITY torbutton.prefs.transparentTor "ÎιαÏÎ±ÎœÎ®Ï Torification (ÎÏαιÏεί ÏÏοÏαÏΌοÏÎŒÎΜο proxy ή Tor ÎŽÏοΌολογηÏή)">
diff --git a/src/chrome/locale/es/torbutton.dtd b/src/chrome/locale/es/torbutton.dtd
index 6b02699..22ac5dd 100644
--- a/src/chrome/locale/es/torbutton.dtd
+++ b/src/chrome/locale/es/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Quitar plataforma y lenguaje de los Cuadros de petición de busqueda de Google">
<!ENTITY torbutton.prefs.transparentTor "Torificación transparente (Requiere transproxy personalizado o router Tor)">
diff --git a/src/chrome/locale/et/torbutton.properties b/src/chrome/locale/et/torbutton.properties
index e40b20e..4935488 100644
--- a/src/chrome/locale/et/torbutton.properties
+++ b/src/chrome/locale/et/torbutton.properties
@@ -32,8 +32,8 @@ torbutton.popup.test.no_http_proxy = Tor vaheserveri kontroll: kohalik HTTP vahe
torbutton.popup.captcha.title = Avoid Google Captchas?
torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
+torbutton.popup.redirect = Suuna ÃŒmber
+torbutton.popup.no_redirect = Ãra suuna ÃŒmber
torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
diff --git a/src/chrome/locale/eu/torbutton.dtd b/src/chrome/locale/eu/torbutton.dtd
index 4e7db0f..1495c6b 100644
--- a/src/chrome/locale/eu/torbutton.dtd
+++ b/src/chrome/locale/eu/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Kendu plataforma eta hizkuntza Google Searh Box eskaeretatik">
<!ENTITY torbutton.prefs.transparentTor "Torifikazio Gardena (transproxy pertsonalizatua edo Tor routerra behar du)">
diff --git a/src/chrome/locale/fa/torbutton.dtd b/src/chrome/locale/fa/torbutton.dtd
index 1197684..6882cba 100644
--- a/src/chrome/locale/fa/torbutton.dtd
+++ b/src/chrome/locale/fa/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Ø§Ø·ÙØ§Ø¹Ø§Øª Ù
Ø±ØšÙØ· ØšÙ ÙÙØ¹ Ø³ÙØ³ØªÙ
عاÙ
Ù Ù Ù
Ø±ÙØ±Ú¯Ø± ٠زؚا٠Ù
ÙØ±Ø¯ Ø§Ø³ØªÙØ§Ø¯Ù ØŽÙ
ا را از ÙØ±ÙدÛâÙØ§Û جستجÙگر Ú¯ÙÚ¯Ù ØØ°Ù Ú©Ù">
<!ENTITY torbutton.prefs.transparentTor "Ø³Ø§Ø²Ú¯Ø§Ø±Ø³Ø§Ø²Û ØšØ§ ØªÙØ± ØšÙ ØµÙØ±Øª ØŽÙØ§Ù (ÙÙØ§Ø² ؚ٠رÙÙØ§Øš ØªÙØ± ÙØ§ Tor router Ù ÙØ§ transproxy Ø³ÙØ§Ø±ØŽÛ دارد)">
diff --git a/src/chrome/locale/fi/torbutton.dtd b/src/chrome/locale/fi/torbutton.dtd
index 428812f..3cad5aa 100644
--- a/src/chrome/locale/fi/torbutton.dtd
+++ b/src/chrome/locale/fi/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Poista yksilöintitiedot (laitteisto ja kieliasetukset) Google hakuja suoritettaessa ">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index ca7644a..2e21353 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "bing.com">
<!ENTITY torbutton.prefs.engine3 "yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Supprimer les informations relatives à la plateforme et à la langue des requêtes Google">
<!ENTITY torbutton.prefs.transparentTor "Torification transparente (requiert un transproxy personnalisé ou un routeur Tor)">
diff --git a/src/chrome/locale/gu/torbutton.dtd b/src/chrome/locale/gu/torbutton.dtd
index bfa8c59..73d91f4 100644
--- a/src/chrome/locale/gu/torbutton.dtd
+++ b/src/chrome/locale/gu/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Strip platform and language off of Google Search Box queries">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/hu/torbutton.dtd b/src/chrome/locale/hu/torbutton.dtd
index 42c5b5e..c88d5e9 100644
--- a/src/chrome/locale/hu/torbutton.dtd
+++ b/src/chrome/locale/hu/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Szedje ki az operációs rendszert és a nyelvet a Google keresŠablakokból">
<!ENTITY torbutton.prefs.transparentTor "Ãtlátszó Tor-osÃtás (Egyedi transproxy-t vagy Tor routert igényel)">
diff --git a/src/chrome/locale/id/torbutton.dtd b/src/chrome/locale/id/torbutton.dtd
index b999ac5..18fe5b5 100644
--- a/src/chrome/locale/id/torbutton.dtd
+++ b/src/chrome/locale/id/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Lepaskan serambi dan bahasa dari Kotak Pencarian Google">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/id/torbutton.properties b/src/chrome/locale/id/torbutton.properties
index 1c4dbc6..827a7c9 100644
--- a/src/chrome/locale/id/torbutton.properties
+++ b/src/chrome/locale/id/torbutton.properties
@@ -34,12 +34,12 @@ torbutton.popup.captcha.ask = Torbutton mendeteksi sebuah Captcha Google. Apakah
torbutton.popup.captcha.always = Selalu lakukan hal ini mulai dari sekarang
torbutton.popup.redirect = Pemindahan jalur
torbutton.popup.no_redirect = Jangan Pindahkan jalur
-torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
-torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
-torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
-torbutton.popup.pref_error = Torbutton cannot update preferences in the Tor Browser profile directory.
-torbutton.popup.permission_denied = Please either reset the permissions of the Tor Browser directory or copy it to a new location.
-torbutton.popup.device_full = The disk appears to be full. Please free up space or move Tor Browser to a new device.
+torbutton.popup.prompted_language = Untuk memberikan Anda kerahasiaan yang lebih, Torbutton akan meminta versi bahasa Inggris dari halaman web. Ini mungkin menyebabkan halaman web yang Anda ingin baca dalam bahasa asli Anda akan ditampilkan dalam bahasa Inggris. â â Apakah anda mau meminta halaman web bahasa Inggris untuk kerahasiaan yang lebih baik?
+torbutton.popup.no_newnym = Torbution tidak dapat memberikan Anda identitas baru secara aman. Torbutton tidak memiliki akses terhadap Tor Control Port. ââ Apakah Anda sedang menjalankan paket browser Tor?
+torbutton.popup.use_tbb = Tampaknya Anda menggunakan Torbutton dengan Firefox, yang mana bukan lagi merupakan konfigurasi aman yang direkomendasikan.ââ sebaliknya, Kami rekomendasikan Anda untuk mendapatkan paket browser Tor yang terbaru dengan mengirimkan email ke gettor(a)torproject.org atau dengan mendownload melalui URL berikut:
+torbutton.popup.pref_error = Torbutton tidak dapat memperbarui preferensi di dalam petunjuk profil browser Tor.
+torbutton.popup.permission_denied = Silahkan reset izin petunjuk dari browser Tor atau copy ke lokasi baru
+torbutton.popup.device_full = Disk tampaknya sudah penuh. Harap kosongkan tempat atau pindahkan browser Tor ke alat baru.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/it/torbutton.dtd b/src/chrome/locale/it/torbutton.dtd
index e84fb1b..834a96d 100644
--- a/src/chrome/locale/it/torbutton.dtd
+++ b/src/chrome/locale/it/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Estrai sistema e idioma dalle interrogazioni di Google Search Box">
<!ENTITY torbutton.prefs.transparentTor "Torificazione trasparente (richiede un transproxy personalizzato o un tor router)">
diff --git a/src/chrome/locale/ko/torbutton.dtd b/src/chrome/locale/ko/torbutton.dtd
index 01fa8f1..eedb001 100644
--- a/src/chrome/locale/ko/torbutton.dtd
+++ b/src/chrome/locale/ko/torbutton.dtd
@@ -1,147 +1,147 @@
-<!ENTITY torbutton.prefs.title "Torbutton Preferences">
-<!ENTITY torbutton.prefs.display_settings "Display Settings">
-<!ENTITY torbutton.prefs.display_panel "Display Tor proxy setting in the status bar">
-<!ENTITY torbutton.prefs.panel_format "Status bar display format:">
-<!ENTITY torbutton.prefs.panel_text_format "Text">
-<!ENTITY torbutton.prefs.panel_icon_format "Icon">
-<!ENTITY torbutton.prefs.tor_settings "Proxy Settings">
-<!ENTITY torbutton.prefs.recommended_settings "Use the recommended proxy settings for my version of Firefox">
-<!ENTITY torbutton.prefs.use_privoxy "Use Privoxy">
-<!ENTITY torbutton.prefs.use_polipo "Use Polipo">
-<!ENTITY torbutton.prefs.custom_settings "Use custom proxy settings">
+<!ENTITY torbutton.prefs.title "Torbutton í겜 ì€ì ">
+<!ENTITY torbutton.prefs.display_settings "í멎 ì€ì ">
+<!ENTITY torbutton.prefs.display_panel "ìíë°ì Tor íë¡ì ì€ì ì íì">
+<!ENTITY torbutton.prefs.panel_format "ìí ë° íì íí : ">
+<!ENTITY torbutton.prefs.panel_text_format "í
ì€íž">
+<!ENTITY torbutton.prefs.panel_icon_format "ììŽìœ">
+<!ENTITY torbutton.prefs.tor_settings "íë¡ì ì€ì ">
+<!ENTITY torbutton.prefs.recommended_settings "ëŽê° ì¬ì©íê³ ìë íìŽìŽíì€ë¥Œ ìí ì¶ì² ì€ì ì¬ì©">
+<!ENTITY torbutton.prefs.use_privoxy "Privoxy ì¬ì©">
+<!ENTITY torbutton.prefs.use_polipo "Polipo ì¬ì©">
+<!ENTITY torbutton.prefs.custom_settings "ì¬ì©ì íë¡ì ì€ì ì¬ì©">
<!ENTITY torbutton.prefs.proxy.host.http "HTTP Proxy:">
<!ENTITY torbutton.prefs.proxy.host.https "SSL Proxy:">
<!ENTITY torbutton.prefs.proxy.host.ftp "FTP Proxy:">
<!ENTITY torbutton.prefs.proxy.host.gopher "Gopher Proxy:">
<!ENTITY torbutton.prefs.proxy.host.socks "SOCKS Host:">
-<!ENTITY torbutton.prefs.proxy.port "Port:">
-<!ENTITY torbutton.about.title "About Torbutton">
-<!ENTITY torbutton.about.version "Version:">
-<!ENTITY torbutton.about.summary "Protects the privacy of your Tor browsing.">
-<!ENTITY torbutton.about.code "Code Contributors:">
-<!ENTITY torbutton.about.maintainer "Maintainer:">
-<!ENTITY torbutton.about.security_review "Security Review:">
-<!ENTITY torbutton.about.donate "If you like using Tor, you might consider">
-<!ENTITY torbutton.about.make_donation "making a donation.">
-<!ENTITY torbutton.pref_connection.notice "Disable Torbutton to change these settings.">
-<!ENTITY torbutton.pref_connection.more_info "More information">
-<!ENTITY torbutton.pref_connection_more_info.title "Help">
-<!ENTITY torbutton.pref_connection_more_info.text "Torbutton is currently enabled. If you would like to change your non-Tor proxy settings, please disable Torbutton and return here. If you would like to change your Tor settings, please use the Torbutton preference window.">
-<!ENTITY torbutton.context_menu.new_identity "New Identity">
+<!ENTITY torbutton.prefs.proxy.port "í¬íž : ">
+<!ENTITY torbutton.about.title "Torbuttonì ëíì¬">
+<!ENTITY torbutton.about.version "ë²ì :">
+<!ENTITY torbutton.about.summary "Tor ëžëŒì°ì§ì íëŒìŽë²ì 볎íž">
+<!ENTITY torbutton.about.code "ìœë ê³µíì:">
+<!ENTITY torbutton.about.maintainer "êŽëЬì :">
+<!ENTITY torbutton.about.security_review "볎ì 늬뷰:">
+<!ENTITY torbutton.about.donate "Tor륌 ì¬ì©íë ê²ìŽ ì¢ìŒìë€ë©Ž, êž°ì¬í ì ììµëë€">
+<!ENTITY torbutton.about.make_donation "êž°ë¶íêž°">
+<!ENTITY torbutton.pref_connection.notice "ìŽ ì€ì ì ë°êŸžë ê²ì ë¹íì±íí©ëë€">
+<!ENTITY torbutton.pref_connection.more_info "ë ë§ì ì 볎">
+<!ENTITY torbutton.pref_connection_more_info.title "ëìë§">
+<!ENTITY torbutton.pref_connection_more_info.text "TorbuttonìŽ íì¬ íì±íëììµëë€. ë§ìœ Tor íë¡ì륌 ì¬ì©íì§ ììŒìë €ë©Ž, Torbuttonì ë¹íì±ííê³ ì¬êž°ë¥Œ ë°©ë¬žíŽ ì£Œììì€. ë§ìœ Tor ì€ì ì ë°êŸžê³ ì¶ìŒìë€ë©Ž, Torbutton ì€ì í멎ì ì¬ì©íŽ ì£Œììì€.">
+<!ENTITY torbutton.context_menu.new_identity "ìë¡ìŽ ì ì">
<!ENTITY torbutton.context_menu.new_identity_key "I">
-<!ENTITY torbutton.context_menu.toggle "Toggle Tor status">
+<!ENTITY torbutton.context_menu.toggle "Tor ìí í êž">
<!ENTITY torbutton.context_menu.toggle.key "T">
-<!ENTITY torbutton.context_menu.preferences "Preferences...">
+<!ENTITY torbutton.context_menu.preferences "ì€ì ...">
<!ENTITY torbutton.context_menu.preferences.key "P">
-<!ENTITY torbutton.context_menu.about "About Torbutton...">
+<!ENTITY torbutton.context_menu.about "Torbuttonì ëíì¬">
<!ENTITY torbutton.context_menu.about.key "A">
-<!ENTITY torbutton.context_menu.cookieProtections "Cookie Protections">
+<!ENTITY torbutton.context_menu.cookieProtections "ì¿ í€ ë³Žíž">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
-<!ENTITY torbutton.context_menu.copyTor "Copy Tor URL">
-<!ENTITY torbutton.context_menu.copyTor.key "p">
-<!ENTITY torbutton.context_menu.openTorTab "Open Tor URL in new Tab">
+<!ENTITY torbutton.context_menu.copyTor "Tor URL ë³µì¬">
+<!ENTITY torbutton.context_menu.copyTor.key "P">
+<!ENTITY torbutton.context_menu.openTorTab "Tor URLì ì íìì ìŽêž°">
<!ENTITY torbutton.context_menu.openTorTab.key "r">
-<!ENTITY torbutton.context_menu.openTorWindow "Open Tor URL in new Window">
+<!ENTITY torbutton.context_menu.openTorWindow "Tor URLì ì ì°œìì ìŽêž°">
<!ENTITY torbutton.context_menu.openTorWindow.key "d">
<!ENTITY torbutton.button.label "Torbutton">
-<!ENTITY torbutton.button.tooltip "Click to initialize Torbutton">
-<!ENTITY torbutton.prefs.sec_settings "Security Settings">
-<!ENTITY torbutton.prefs.block_thread "Block history reads during Tor (crucial)">
-<!ENTITY torbutton.prefs.block_thwrite "Block history writes during Tor (recommended)">
-<!ENTITY torbutton.prefs.block_nthread "Block history reads during Non-Tor (optional)">
-<!ENTITY torbutton.prefs.block_nthwrite "Block history writes during Non-Tor (optional)">
-<!ENTITY torbutton.prefs.clear_history "Clear history on Tor toggle (optional)">
-<!ENTITY torbutton.prefs.clear_cache "Block Tor disk cache and clear all cache on Tor toggle">
-<!ENTITY torbutton.prefs.block_cache "Block disk and memory cache access during Tor">
-<!ENTITY torbutton.prefs.cookie_jars "Store Non-Tor cookies in a protected jar">
-<!ENTITY torbutton.prefs.cookie_protection "Use the Cookie Protections Dialog to choose">
-<!ENTITY torbutton.prefs.mmm_cookies "I will manually manage my cookies (dangerous)">
-<!ENTITY torbutton.prefs.clear_cookies "Clear cookies on Tor toggle">
-<!ENTITY torbutton.prefs.disable_plugins "Disable plugins during Tor usage (crucial)">
-<!ENTITY torbutton.prefs.kill_bad_js "Hook dangerous javascript (crucial)">
-<!ENTITY torbutton.prefs.isolate_content "Isolate dynamic content to Tor state (crucial)">
-<!ENTITY torbutton.prefs.no_updates "Disable updates during Tor usage">
-<!ENTITY torbutton.prefs.set_uagent "Set user agent for Tor usage (crucial)">
-<!ENTITY torbutton.prefs.dynamic "Dynamic Content">
-<!ENTITY torbutton.prefs.cookies "Cookies">
-<!ENTITY torbutton.prefs.cache "Cache">
-<!ENTITY torbutton.prefs.history "History">
-<!ENTITY torbutton.prefs.no_search "Disable search suggestions during Tor (recommended)">
-<!ENTITY torbutton.prefs.shutdown "Shutdown">
-<!ENTITY torbutton.prefs.tor_shutdown "Clear Tor cookies during Tor-enabled browser shutdown">
-<!ENTITY torbutton.prefs.all_shutdown "Clear cookies during any browser shutdown">
-<!ENTITY torbutton.prefs.no_shutdown "Do not clear my cookies at shutdown">
-<!ENTITY torbutton.prefs.disable_sessionstore "Disable Session Saving (recommended)">
-<!ENTITY torbutton.prefs.headers "Headers">
-<!ENTITY torbutton.prefs.spoof_english "Spoof US English Browser">
-<!ENTITY torbutton.prefs.refererspoofing "Referer spoofing">
+<!ENTITY torbutton.button.tooltip "Torbutton ìŽêž°í">
+<!ENTITY torbutton.prefs.sec_settings "볎ì ì€ì ">
+<!ENTITY torbutton.prefs.block_thread "Tor ì¬ì©íë ëì íì€í 늬륌 ìœë ê²ì ë§êž° (ì€ì)">
+<!ENTITY torbutton.prefs.block_thwrite "Tor ì¬ì©ì€ íì€í 늬 ì°êž° ë§êž° (ì¶ì²)">
+<!ENTITY torbutton.prefs.block_nthread "Tor륌 ì¬ì©íì§ ìì ë íì€í 늬륌 ìœë ê²ì ë§êž° (ì í)">
+<!ENTITY torbutton.prefs.block_nthwrite "Tor륌 ì¬ì©íì§ ìì ë íì€í 늬륌 ì°ë ê²ì ë§êž° (ì í)">
+<!ENTITY torbutton.prefs.clear_history "Tor Toggleìì íì€í 늬 ìŽêž°í (ì í)">
+<!ENTITY torbutton.prefs.clear_cache "Tor ëì€í¬ ìºì륌 ë§ê³ Tor Toggleìì 몚ë ìºì ìŽêž°í">
+<!ENTITY torbutton.prefs.block_cache "Tor ìëì€ ëì€í¬ì ë©ëªšëЬ ìºì ì ê·Œ ì°šëš">
+<!ENTITY torbutton.prefs.cookie_jars "볎ížëë íì늬ì Torê° ìë ì¿ í€ ì ì¥">
+<!ENTITY torbutton.prefs.cookie_protection "ì ííêž° ìí ì¿ í€ ë³Žíž ë€ìŽìŽë¡ê·ž ì¬ì©">
+<!ENTITY torbutton.prefs.mmm_cookies "ëë ìëìŒë¡ ëŽ ì¿ í€ë¥Œ êŽëЬí ê²ì
ëë€ (ìí)">
+<!ENTITY torbutton.prefs.clear_cookies "Tor toggleìì ì¿ í€ ìŽêž°í">
+<!ENTITY torbutton.prefs.disable_plugins "Tor ì¬ì©ì€ íë¬ê·žìž ë¹íì±í (ì€ë)">
+<!ENTITY torbutton.prefs.kill_bad_js "ìíí ìë°ì€í¬ëŠœíž ì¡ìì±êž° (ì€ì)">
+<!ENTITY torbutton.prefs.isolate_content "Tor ìíìì ëì ìž ìœí
ìž ê²©ëŠ¬ (ì€ì)">
+<!ENTITY torbutton.prefs.no_updates "Tor ì¬ì©ì€ ì
ë°ìŽíž ë¹íì±í">
+<!ENTITY torbutton.prefs.set_uagent "Tor ì¬ì©ì ì ì ììŽì íž ì€ì (ì€ì)">
+<!ENTITY torbutton.prefs.dynamic "ëì ìœí
ìž ">
+<!ENTITY torbutton.prefs.cookies "ì¿ í€">
+<!ENTITY torbutton.prefs.cache "ìºì">
+<!ENTITY torbutton.prefs.history "íì€í 늬">
+<!ENTITY torbutton.prefs.no_search "Tor ì¬ì©ì€ ê²ì ìì§ ì ì ë¹íì±í (ì¶ì²)">
+<!ENTITY torbutton.prefs.shutdown "ì¢
ë£">
+<!ENTITY torbutton.prefs.tor_shutdown "Torê° íì±íë ëžëŒì°ì ê° êºŒì§ë ëì ì¿ í€ ìì ">
+<!ENTITY torbutton.prefs.all_shutdown "ìŽë€ ëžëŒì°ì ëŒë 꺌ì§ë©Ž ì¿ í€ ìì ">
+<!ENTITY torbutton.prefs.no_shutdown "ì¢
ë£ì ì¿ í€ë¥Œ ìì íì§ ìì">
+<!ENTITY torbutton.prefs.disable_sessionstore "ìžì
ì ì ì¥íì§ ìì (ì¶ì²)">
+<!ENTITY torbutton.prefs.headers "í€ë">
+<!ENTITY torbutton.prefs.spoof_english "US ììŽ ëžëŒì°ì ë¡ ì¡°ì">
+<!ENTITY torbutton.prefs.refererspoofing "늬íŒë¬ ì¡°ì">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
-<!ENTITY torbutton.prefs.smartspoof "Smart referer spoof during Tor usage (spoofs cross domain referers)">
+<!ENTITY torbutton.prefs.smartspoof "Tor ì¬ì©ì ì€ë§íž 늬íŒë¬ ì¡°ì (ëë©ìž 늬íŒë¬ë¥Œ ê°ë¡ì§ë¬ ì¡°ì)">
<!ENTITY torbutton.prefs.nospoof "No referer spoof during Tor usage (sends referers as normal)">
-<!ENTITY torbutton.prefs.disable_domstorage "Disable DOM Storage during Tor usage (crucial)">
-<!ENTITY torbutton.prefs.forms "Forms">
-<!ENTITY torbutton.prefs.block_tforms "Block password+form saving during Tor (recommended)">
-<!ENTITY torbutton.prefs.block_ntforms "Block password+form saving during Non-Tor (optional)">
+<!ENTITY torbutton.prefs.disable_domstorage "Tor ì¬ì©ì DOM ì ì¥ì ë¹íì±í (ì€ì)">
+<!ENTITY torbutton.prefs.forms "ìì">
+<!ENTITY torbutton.prefs.block_tforms "Tor ì¬ì©ì ë¹ë°ë²ížì ìì ì ì¥ ë§êž° (ì¶ì²)">
+<!ENTITY torbutton.prefs.block_ntforms "Tor륌 ìì©íì§ ìì ë ë¹ë°ë²ížì ìì ì ì¥ ë§êž° (ì¶ì²)">
<!ENTITY torbutton.prefs.tor "Tor">
<!ENTITY torbutton.prefs.non_tor "Non-Tor">
-<!ENTITY torbutton.prefs.restore_tor "On session restored startup, set Tor state to:">
-<!ENTITY torbutton.prefs.startup_tor "On browser startup, set Tor state to:">
-<!ENTITY torbutton.prefs.reload_crashed_jar "Reload cookie jar/clear cookies on Firefox crash (recommended)">
-<!ENTITY torbutton.prefs.dual_cookie_jars "Store both Tor and Non-Tor cookies in protected jars (dangerous)">
-<!ENTITY torbutton.prefs.clear_http_auth "Clear HTTP auth sessions (recommended)">
-<!ENTITY torbutton.prefs.block_js_history "Isolate access to history navigation to Tor state (crucial)">
-<!ENTITY torbutton.prefs.resize_on_toggle "Resize windows to multiples of 50px during Tor usage (recommended)">
-<!ENTITY torbutton.prefs.close_tor "Close all Tor windows and tabs on toggle (optional)">
-<!ENTITY torbutton.prefs.close_nontor "Close all Non-Tor windows and tabs on toggle (optional)">
-<!ENTITY torbutton.prefs.block_links "Block link clicks and page reloads from different Tor states (optional)">
-<!ENTITY torbutton.prefs.jar_certs "Store SSL certs in seperate jars for Tor/Non-Tor (recommended)">
-<!ENTITY torbutton.prefs.jar_ca_certs "Store CA certs in seperate jars for Tor/Non-Tor (recommended)">
-<!ENTITY torbutton.prefs.locked_mode "Disable Button and Hotkeys to prevent accidental toggle">
-<!ENTITY torbutton.prefs.startup_state "On normal startup, set Tor state to:">
-<!ENTITY torbutton.prefs.shutdown_state "Shutdown state">
-<!ENTITY torbutton.prefs.startup "Startup">
-<!ENTITY torbutton.prefs.block_tor_file_net "Block Tor access to network from file:// urls (recommended)">
-<!ENTITY torbutton.prefs.block_nontor_file_net "Block Non-Tor access to network from file:// urls">
-<!ENTITY torbutton.prefs.restore_defaults "Restore Defaults">
-<!ENTITY torbutton.prefs.test_settings "Test Settings">
-<!ENTITY torbutton.prefs.test_auto "Test my Tor settings after the first time I toggle on every Firefox start">
+<!ENTITY torbutton.prefs.restore_tor "ììì ì ì¥ë ìžì
ìŽ ìë€ë©Ž, Tor ìí륌 ë€ì곌 ê°ìŽ í©ëë€.">
+<!ENTITY torbutton.prefs.startup_tor "ëžëŒì°ì ê° ììë ë, Tor ìí : ">
+<!ENTITY torbutton.prefs.reload_crashed_jar "íìŽìŽíì€ê° ì€ë¥ë¡ ì¢
ë£ëììë Cookie Jar륌 ë€ì ë¡ëíê³ ì¿ í€ë¥Œ ì ê±°í©ëë€.">
+<!ENTITY torbutton.prefs.dual_cookie_jars "볎ížë Jar íìŒì Tor ë° ë¹-Tor ì¿ í€ ì ì¥ (ìí)">
+<!ENTITY torbutton.prefs.clear_http_auth "HTTP ìžìŠ ìžì
ì§ì°êž° (ê¶ì¥)">
+<!ENTITY torbutton.prefs.block_js_history "Tor ìíë¡ íì êž°ë¡ì ëí ì¡ìžì€ ë¶ëЬ (ì€ì)">
+<!ENTITY torbutton.prefs.resize_on_toggle "Tor륌 ì¬ì©íë ëì 50 íœì
ì ë°°ìë¡ ì°œ í¬êž° ì¡°ì (ê¶ì¥)">
+<!ENTITY torbutton.prefs.close_tor "ì í ì 몚ë Tor 찜곌 í ë«êž° (ìµì
)">
+<!ENTITY torbutton.prefs.close_nontor "ì í ì 몚ë ë¹-Tor 찜곌 í ë«êž° (ìµì
)">
+<!ENTITY torbutton.prefs.block_links "ë€ë¥ž Tor ìíë¡ë¶í° ë§í¬ íŽëŠê³Œ íìŽì§ë¥Œ ë€ì ë¡ëíë ê²ì ë§ì (ì í)">
+<!ENTITY torbutton.prefs.jar_certs "SSL ìžìŠì륌 Tor/Non-Torìž ëì ë€ë¥ž 볎êŽìì ë³ŽêŽ (ì¶ì²)">
+<!ENTITY torbutton.prefs.jar_ca_certs "CA ìžìŠì륌 Tor/Non-Torìž ëì ë€ë¥ž 볎êŽìì ë³ŽêŽ (ì¶ì²)">
+<!ENTITY torbutton.prefs.locked_mode "ê³ ì ì ìž í êžì ë§ë ë²íŒê³Œ ëšì¶í€ë¥Œ ë¹íì±íí©ëë€.">
+<!ENTITY torbutton.prefs.startup_state "ìŒë°ì ìž ìììì, Tor ìí ì€ì :">
+<!ENTITY torbutton.prefs.shutdown_state "ì¢
ë£ë ìí">
+<!ENTITY torbutton.prefs.startup "ìì">
+<!ENTITY torbutton.prefs.block_tor_file_net "file:// urlë¡ Torì ì ê·Œì ë§ì (ì¶ì²)">
+<!ENTITY torbutton.prefs.block_nontor_file_net "file:// urlë¡ Tor륌 ì¬ì©ì€ìŽì§ ìì ìíìì ì ê·Œì ë§ì">
+<!ENTITY torbutton.prefs.restore_defaults "ì€ì ìŽêž°í">
+<!ENTITY torbutton.prefs.test_settings "ì€ì í
ì€íž">
+<!ENTITY torbutton.prefs.test_auto "íìŽìŽíì€ê° ììí ëë§ë€ ëŽ Tor ì€ì íìž">
<!ENTITY torbutton.prefs.disable_livemarks "Disable livemarks updates during Tor usage">
-<!ENTITY torbutton.prefs.tor_memory_jar "Do not write Tor cookies to disk">
-<!ENTITY torbutton.prefs.nontor_memory_jar "Do not write Non-Tor cookies to disk">
-<!ENTITY torbutton.prefs.session_restore "Have the session store save and restore these tabs:">
-<!ENTITY torbutton.prefs.nontor_tabs "Tabs loaded in Non-Tor">
-<!ENTITY torbutton.prefs.tor_tabs "Tabs loaded in Tor">
+<!ENTITY torbutton.prefs.tor_memory_jar "Tor ì¿ í€ë¥Œ ëì€í¬ì ì°ì§ ìì">
+<!ENTITY torbutton.prefs.nontor_memory_jar "Torê° ìë ì¿ í€ë¥Œ ëì€í¬ì ì°ì§ ìì">
+<!ENTITY torbutton.prefs.session_restore "ìžì
ì ì¥ìê° ìŽë¬í íì ì ì¥íê³ ë³µìíìµëë€">
+<!ENTITY torbutton.prefs.nontor_tabs "Torê° ìë ë¡ëë í">
+<!ENTITY torbutton.prefs.tor_tabs "Torìì ë¡ëë í">
<!ENTITY torbutton.prefs.socks_vfour "SOCKS v4">
<!ENTITY torbutton.prefs.socks_vfive "SOCKS v5">
-<!ENTITY torbutton.prefs.no_proxies_on "No Proxies for: ">
-<!ENTITY torbutton.prefs.no_proxy_warning "Warning: Avoid using any hostnames above">
+<!ENTITY torbutton.prefs.no_proxies_on "ë€ì 죌ìììë íë¡ì륌 ì¬ì©íì§ ìì :">
+<!ENTITY torbutton.prefs.no_proxy_warning "죌ì : ìŽë€ ížì€ížë€ìì ìëìì ì¬ì©íë ê²ì íŒíììì€.">
<!ENTITY torbutton.prefs.spoofreresh "Spoof Refresh">
-<!ENTITY torbutton.prefs.refereroptions "Referer Spoofing Options">
-<!ENTITY torbutton.prefs.nospoof "Do not spoof referer">
-<!ENTITY torbutton.prefs.spoofroot "Spoof the containing folder of the page">
-<!ENTITY torbutton.prefs.spoofdomain "Spoof the domain as referer">
-<!ENTITY torbutton.prefs.spoofblank "Make referer blank">
-<!ENTITY torbutton.cookiedialog.title "Manage Cookie Protections">
-<!ENTITY torbutton.cookiedialog.lockCol "Protected">
+<!ENTITY torbutton.prefs.refereroptions "Referer Spoofing ìµì
">
+<!ENTITY torbutton.prefs.nospoof "늬íŒë¬ë¥Œ spoof íì§ ë§ììì€">
+<!ENTITY torbutton.prefs.spoofroot "íìŽì§ íŽë륌 í¬íšíë spoof">
+<!ENTITY torbutton.prefs.spoofdomain "ëì믌ì 늬íŒë¬ë¡ spoof íììì€">
+<!ENTITY torbutton.prefs.spoofblank "referer륌 ê³µëìŒë¡ ë§ë€êž°">
+<!ENTITY torbutton.cookiedialog.title "ì¿ í€ ë³Žíž êŽëЬ">
+<!ENTITY torbutton.cookiedialog.lockCol "볎ížëš">
<!ENTITY torbutton.cookiedialog.domainCol "Host">
-<!ENTITY torbutton.cookiedialog.nameCol "Name">
-<!ENTITY torbutton.cookiedialog.pathCol "Path">
-<!ENTITY torbutton.cookiedialog.protectCookie "Protect Cookie">
-<!ENTITY torbutton.cookiedialog.removeCookie "Remove Cookie">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "Unprotect Cookie">
-<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
-<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
-<!ENTITY torbutton.prefs.disable_livemarks "Disable Livemark updates during Tor usage">
-<!ENTITY torbutton.prefs.dtd_recommended "(recommended)">
-<!ENTITY torbutton.prefs.dtd_optional "(optional)">
-<!ENTITY torbutton.prefs.dtd_crucial "(crucial)">
-<!ENTITY torbutton.prefs.update_torbutton_via_tor "Redirect Torbutton updates through Tor">
-<!ENTITY torbutton.prefs.dodge_google_captcha "Automatically use an alternate search engine when presented with a Google Captcha:">
+<!ENTITY torbutton.cookiedialog.nameCol "ìŽëŠ">
+<!ENTITY torbutton.cookiedialog.pathCol "겜ë¡">
+<!ENTITY torbutton.cookiedialog.protectCookie "ì¿ í€ ë³Žíž">
+<!ENTITY torbutton.cookiedialog.removeCookie "ì¿ í€ ìì ">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "ì¿ í€ ë³Žížíì§ ìì">
+<!ENTITY torbutton.cookiedialog.removeAllBut "볎ížë ê² ë¹Œê³ ëªšë ì§ì°êž°">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "ìë¡ìŽ ì¿ í€ ë³Žíž">
+<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ìë¡ìŽ ì¿ í€ë¥Œ 볎ížíì§ ìì">
+<!ENTITY torbutton.prefs.disable_livemarks "Tor toggle ëì Livemark ì
ë°ìŽíž ë¹íì±í">
+<!ENTITY torbutton.prefs.dtd_recommended "(ì¶ì²)">
+<!ENTITY torbutton.prefs.dtd_optional "(ì í)">
+<!ENTITY torbutton.prefs.dtd_crucial "(ì€ì)">
+<!ENTITY torbutton.prefs.update_torbutton_via_tor "Torbutton ì
ë°ìŽížë¥Œ Torë¡ ëëŒìŽë íž">
+<!ENTITY torbutton.prefs.dodge_google_captcha "Google Captcha ê° ê°ì§ëììë ìëì ìŒë¡ ë€ë¥ž ê²ì ìì§ ì¬ì©">
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
-<!ENTITY torbutton.prefs.fix_google_srch "Strip platform and language off of Google Search Box queries">
-<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
+<!ENTITY torbutton.prefs.fix_google_srch "êµ¬êž ê²ì 쿌늬ì íë«íŒê³Œ ìžìŽ ì 볎륌 ë²ê²šë">
+<!ENTITY torbutton.prefs.transparentTor "í¬ëª
Toritication (ì¬ì©ì transproxyë Tor ëŒì°í° íì)">
diff --git a/src/chrome/locale/ko/torbutton.properties b/src/chrome/locale/ko/torbutton.properties
index 8679003..32f11ce 100644
--- a/src/chrome/locale/ko/torbutton.properties
+++ b/src/chrome/locale/ko/torbutton.properties
@@ -1,45 +1,45 @@
-torbutton.button.tooltip.disabled = Enable Tor
-torbutton.button.tooltip.enabled = Disable Tor
-torbutton.panel.tooltip.disabled = Click to enable Tor
-torbutton.panel.tooltip.enabled = Click to disable Tor
-torbutton.panel.plugins.disabled = Click to enable plugins
-torbutton.panel.plugins.enabled = Click to disable plugins
-torbutton.panel.label.disabled = Tor Disabled
-torbutton.panel.label.enabled = Tor Enabled
-extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton provides a button to easily enable or disable pointing Firefox to the Tor proxy
-torbutton.popup.history.warning = Torbutton blocked activity from a tab loaded in a different Tor state.\n\nThis is to work around Firefox Bugs 409737 and 417869.\n\nIf this popup seemed to happen for no reason, one of your tabs is attempting to reload itself in the background, and this was blocked.\n\nTo reload the tab in this Tor state, hit 'enter' in the URL location box.\n\n
-torbutton.popup.plugin.warning = Torbutton blocked direct Tor load of plugin content.\n\nUse Save-As instead.\n\n
-torbutton.popup.confirm_ca_certs = Torbutton Note: It appears you have no custom Certificate Authorities. Examining the Certificate Authority list is a slow operation and slows down Tor toggle. Would you like to disable the isolation of Certificate Authority certificates? (If you don't understand this, it is safe to click OK)
-torbutton.popup.ff3.warning = Warning!\n\nTorbutton on Firefox 3 is known to leak your timezone and livemarks via Tor.\n\nDo you wish to continue anyway?
-torbutton.popup.toggle.warning = You need to toggle Tor or restart for your settings to take effect.
-torbutton.popup.test.success = Tor proxy test successful!
-torbutton.popup.test.failure = Tor proxy test FAILED! Check your proxy and Polipo settings.
-torbutton.popup.test.confirm_toggle = The most recent Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?\n\nNote: If you have fixed the problem, you can rerun the test in the Torbutton Proxy Preferences window to eliminate this warning.
-torbutton.popup.test.ff3_notice = Click OK to test Tor proxy settings. This test will happen in the background. Please be patient.
-torbutton.panel.label.verified = Tor Verified
-torbutton.popup.test.auto_failed = The automatic Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?
-torbutton.prefs.recommended = (recommended)
-torbutton.prefs.optional = (optional)
-torbutton.prefs.crucial = (crucial)
-torbutton.popup.external.title = Load external content?
-torbutton.popup.external.app = An external application is needed to handle:\n\n
-torbutton.popup.external.note = \n\nNOTE: External applications are NOT Tor safe by default and can unmask you!\n
-torbutton.popup.external.suggest = \nIf this file is untrusted, you should either save it to view while offline or in a VM,\nor consider using a transparent Tor proxy like Tails LiveCD or torsocks.\n
-torbutton.popup.launch = Launch application
-torbutton.popup.cancel = Cancel
-torbutton.popup.dontask = Always launch applications from now on
-torbutton.popup.test.no_http_proxy = Tor proxy test: Local HTTP Proxy is unreachable. Is Polipo running properly?
-torbutton.popup.captcha.title = Avoid Google Captchas?
-torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
-torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
-torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
-torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
-torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
-torbutton.popup.pref_error = Torbutton cannot update preferences in the Tor Browser profile directory.
-torbutton.popup.permission_denied = Please either reset the permissions of the Tor Browser directory or copy it to a new location.
-torbutton.popup.device_full = The disk appears to be full. Please free up space or move Tor Browser to a new device.
+torbutton.button.tooltip.disabled = Tor íì±í
+torbutton.button.tooltip.enabled = Tor ë¹íì±í
+torbutton.panel.tooltip.disabled = Tor륌 íì±ííë €ë©Ž íŽëŠ
+torbutton.panel.tooltip.enabled = Tor륌 ë¹íì±ííë €ë©Ž íŽëŠ
+torbutton.panel.plugins.disabled = íë¬ê·žìžì íì±ííë €ë©Ž íŽëŠ
+torbutton.panel.plugins.enabled = íë¬ê·žìžì ë¹íì±ííë €ë©Ž íŽëŠ
+torbutton.panel.label.disabled = Tor ë¹íì±í
+torbutton.panel.label.enabled = Tor íì±í
+extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbuttonì Firefoxê° Tor íë¡ì륌 ì¬ì©íê±°ë ì¬ì©íì§ ìëë¡ ìœê² íŽ ì£Œë ë²íŒì
ëë€.
+torbutton.popup.history.warning = Torbuttonì ë€ë¥ž Tor ìíìì ìŽëа íì íëì ë§ììµëë€.\n\nìŽê²ì Firefox ë²ê·ž 409737곌 417869 ë묞ì ìŒìŽë¬ìµëë€.\n\në§ìœ ìŽ íì
ìŽ ìŽì ììŽ ìŒìŽë ê²ì²ëŒ 볎ìžë€ë©Ž, ê·íì í ì€ íëê° ë°±ê·žëŒìŽëìì ë€ì ìŽëŠ¬ë €ê³ íë ê²ìŽê³ , ìŽê²ìŽ ë§íìµëë€.\n\nê·ž íì ìŽ Tor ìíìì ìŽêž° ìíì¬, URL ììì Enter í€ë¥Œ ë륎ììì€.\n
+torbutton.popup.plugin.warning = Torbuttonì íë¬ê·žìž ìœí
ìž ì ì§ì Tor ë¡ë륌 ë§ììµëë€.\n\në€ë¥ž ìŽëŠìŒë¡ ì ì¥ì ëì ì¬ì©íììì€.\n\n
+torbutton.popup.confirm_ca_certs = Torbutton Note: ì¬ì©ì ì ì ìžìŠ êž°êŽìŽ ìë ê²ìŒë¡ 볎ì
ëë€. ìžìŠ êž°êŽ ëª©ë¡ ê²ì¬ë ëëŠ¬ê³ , Tor toggle ìëê° ëë €ì§ëë€. ìžìŠ êž°êŽ ìžìŠìì 격늬륌 íŽì íìê² ìµëê¹? (ë§ìœ ìŽíŽê° ì ëì ë€ë©Ž, OK륌 ëë¬ë ìì í©ëë€.)
+torbutton.popup.ff3.warning = ê²œê³ !\n\nFirefox 3 ìì Torbuttonì íì졎곌 Livemark륌 Tor륌 íµíŽ ëì¶ìíµëë€.\n\nê·žëë ê³ìíìê² ìµëê¹?
+torbutton.popup.toggle.warning = ê·íì ì€ì ìŽ íšê³Œë¥Œ ë°ííêž° ìíŽìë, Tor륌 í êžíê±°ë ì¬ììí íìê° ììµëë€.
+torbutton.popup.test.success = Tor íë¡ì í
ì€íž ì±ê³µ!
+torbutton.popup.test.failure = Tor íë¡ì í
ì€íž "ì€íš"! íë¡ìì Polipo ì€ì ì íìžíììì€.
+torbutton.popup.test.confirm_toggle = ìµê·Œ ëë¶ë¶ Tor륌 ì¬ì©íêž° ìí Tor íë¡ì í
ì€ížê° ì€íšíììµëë€.\n\nìŽìšë íì±ííìꞰ륌 ìíë ê²ìŽ íì€íìëê¹?\n\nNote: 묞ì 륌 ê³ ì¹ì
šë€ë©Ž, ìŽ ê²œê³ ë¥Œ ìì êž° ìíŽ Tor íë¡ì ì€ì ì í
ì€ížë¥Œ ë€ì í ì ììµëë€.
+torbutton.popup.test.ff3_notice = OK륌 ë륎ì멎 Tor íë¡ì ì€ì ì í
ì€íží©ëë€. ìŽ í
ì€ížë 백귞ëŒìŽëìì ìì
ë©ëë€. ì ì êž°ë€ë € 쥡ìì€.
+torbutton.panel.label.verified = Tor ê²ìŠëš.
+torbutton.popup.test.auto_failed = ìë Tor íë¡ì í
ì€ížê° ì€íšíììµëë€.\n\nìŽìšë íì±ííꞰ륌 ìíìë ê²ìŽ íì€íìëê¹?
+torbutton.prefs.recommended = (ì¶ì²)
+torbutton.prefs.optional = (ì í)
+torbutton.prefs.crucial = (ì€ì)
+torbutton.popup.external.title = ìžë¶ ìœí
ìž ë¡ë?
+torbutton.popup.external.app = ìžë¶ ì í늬ìŒìŽì
ìŽ ë겚ë°ë ê²ì íìë¡ í©ëë€:\n\n
+torbutton.popup.external.note = \n\nNOTE: ìžë¶ ì í늬ìŒìŽì
ì Ʞ볞ì ìŒë¡ Torì ìíŽ ìì íŽì§ì§ ììŒë©°, ê·íì ì ìì 볎륌 ì»ì ì ììµëë€.\n
+torbutton.popup.external.suggest = \në§ìœ ìŽ íìŒìŽ ì 뢰ëì§ ìëë€ë©Ž, íìŒì ì ì¥íŽì ì€íëŒìž ìíë¡ ë³Žìëì§, VM ëŽìì 볎ì
ìŒ í©ëë€.\nëë Tails LuveCDë Torsocks ê°ì í¬ëª
Tor íë¡ì륌 ì¬ì©íë ê²ì ê³ ë €íŽ ë³Žììì€.\n
+torbutton.popup.launch = ì í늬ìŒìŽì
ì€í
+torbutton.popup.cancel = ì·šì
+torbutton.popup.dontask = ì§êžë¶í° íì ì í늬ìŒìŽì
ì€í
+torbutton.popup.test.no_http_proxy = Tor íë¡ì í
ì€íž: ë¡ì»¬ HTTP íë¡ìì ì ê·Œí ì ììµëë€. Polipoê° íì€í ìëì€ ì
ëê¹?
+torbutton.popup.captcha.title = Google Capchas íŒíêž°?
+torbutton.popup.captcha.ask = TorbuttonìŽ Google Capctha륌 ê°ì§íìµëë€. ìŽ ì¿ŒëŠ¬ë¥Œ ìíŽ ë€ë¥ž ê²ì ìì§ìŒë¡ 늬ë€ìŽë íž íìê² ìµëê¹?
+torbutton.popup.captcha.always = ì§êžë¶í° ìŽ ëì êž°ìµíêž°
+torbutton.popup.redirect = 늬ë€ìŽë íž
+torbutton.popup.no_redirect = 늬ë€ìŽë íž íì§ ìì
+torbutton.popup.prompted_language = ë ë§ì ê°ìž ì 볎륌 ìíŽ, Torbuttonì ììŽ ë²ì ì¹íìŽì§ë¥Œ ìì²í ì ììµëë€. ìŽê²ì ê·íì 몚êµìŽ ëì ììŽë¥Œ íìíë ì¹ íìŽì§ë¥Œ ìŒìŒí¬ ì ììµëë€.\n\në ëì ê°ìž ì 볎륌 ìíŽ ììŽ ì¹ íìŽì§ë¥Œ ìì²íìê² ìµëê¹?
+torbutton.popup.no_newnym = Torbuttonì ìì íê² ìë¡ìŽ ì ìì ì€ ì ììµëë€. ìŽê²ì Tor 컚ížë¡€ í¬ížì ì ê·Œí ì ììµëë€.\n\nTor Browser Bundleì ì¬ì©íê³ ê³ìëê¹?
+torbutton.popup.use_tbb = ìŽê²ì Torbuttonì íìŽìŽíì€ì íšê» ì¬ì©íì€ ë ëíë©ëë€. ê·žëŠ¬ê³ ë©ì ì¶ì²ëë ìì ì€ì ìŽ ìëëë€.\n\nëì , ì í¬ë gettor(a)torproject.org ìê² ë©ìŒì 볎ëŽê±°ë, ë€ì URLì ì ìíŽì ìµì Tor browser bundleì ë°ë ê²ì ì¶ì²ë늜ëë€:
+torbutton.popup.pref_error = Torbuttonì Tor Browser íë¡íìŒ ëë íŽë¥Œ ì
ë°ìŽíž í ì ììµëë€.
+torbutton.popup.permission_denied = Tor Browser ëë í 늬ì ê¶íì ìŽêž°í íìê±°ë, Tor browser륌 ìë¡ìŽ ìì¹ë¡ ì®ê²š 죌ììì€.
+torbutton.popup.device_full = ìŽ ëì€í¬ë ê°ë ì°¬ ê² ê°ìµëë€. ë¹ ê³µê°ì ë§ëìê±°ë ìë¡ìŽ ì¥ì¹ë¡ Tor browser륌 ì®ê²š 죌ììì€.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/lv/torbutton.properties b/src/chrome/locale/lv/torbutton.properties
index 8679003..620e159 100644
--- a/src/chrome/locale/lv/torbutton.properties
+++ b/src/chrome/locale/lv/torbutton.properties
@@ -1,45 +1,45 @@
-torbutton.button.tooltip.disabled = Enable Tor
-torbutton.button.tooltip.enabled = Disable Tor
-torbutton.panel.tooltip.disabled = Click to enable Tor
-torbutton.panel.tooltip.enabled = Click to disable Tor
-torbutton.panel.plugins.disabled = Click to enable plugins
-torbutton.panel.plugins.enabled = Click to disable plugins
-torbutton.panel.label.disabled = Tor Disabled
-torbutton.panel.label.enabled = Tor Enabled
-extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton provides a button to easily enable or disable pointing Firefox to the Tor proxy
-torbutton.popup.history.warning = Torbutton blocked activity from a tab loaded in a different Tor state.\n\nThis is to work around Firefox Bugs 409737 and 417869.\n\nIf this popup seemed to happen for no reason, one of your tabs is attempting to reload itself in the background, and this was blocked.\n\nTo reload the tab in this Tor state, hit 'enter' in the URL location box.\n\n
-torbutton.popup.plugin.warning = Torbutton blocked direct Tor load of plugin content.\n\nUse Save-As instead.\n\n
-torbutton.popup.confirm_ca_certs = Torbutton Note: It appears you have no custom Certificate Authorities. Examining the Certificate Authority list is a slow operation and slows down Tor toggle. Would you like to disable the isolation of Certificate Authority certificates? (If you don't understand this, it is safe to click OK)
-torbutton.popup.ff3.warning = Warning!\n\nTorbutton on Firefox 3 is known to leak your timezone and livemarks via Tor.\n\nDo you wish to continue anyway?
-torbutton.popup.toggle.warning = You need to toggle Tor or restart for your settings to take effect.
-torbutton.popup.test.success = Tor proxy test successful!
-torbutton.popup.test.failure = Tor proxy test FAILED! Check your proxy and Polipo settings.
-torbutton.popup.test.confirm_toggle = The most recent Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?\n\nNote: If you have fixed the problem, you can rerun the test in the Torbutton Proxy Preferences window to eliminate this warning.
-torbutton.popup.test.ff3_notice = Click OK to test Tor proxy settings. This test will happen in the background. Please be patient.
-torbutton.panel.label.verified = Tor Verified
-torbutton.popup.test.auto_failed = The automatic Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?
-torbutton.prefs.recommended = (recommended)
-torbutton.prefs.optional = (optional)
-torbutton.prefs.crucial = (crucial)
-torbutton.popup.external.title = Load external content?
-torbutton.popup.external.app = An external application is needed to handle:\n\n
-torbutton.popup.external.note = \n\nNOTE: External applications are NOT Tor safe by default and can unmask you!\n
-torbutton.popup.external.suggest = \nIf this file is untrusted, you should either save it to view while offline or in a VM,\nor consider using a transparent Tor proxy like Tails LiveCD or torsocks.\n
-torbutton.popup.launch = Launch application
-torbutton.popup.cancel = Cancel
-torbutton.popup.dontask = Always launch applications from now on
-torbutton.popup.test.no_http_proxy = Tor proxy test: Local HTTP Proxy is unreachable. Is Polipo running properly?
-torbutton.popup.captcha.title = Avoid Google Captchas?
-torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
-torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
-torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
-torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
-torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
-torbutton.popup.pref_error = Torbutton cannot update preferences in the Tor Browser profile directory.
-torbutton.popup.permission_denied = Please either reset the permissions of the Tor Browser directory or copy it to a new location.
-torbutton.popup.device_full = The disk appears to be full. Please free up space or move Tor Browser to a new device.
+torbutton.button.tooltip.disabled = IespÄjot Tor
+torbutton.button.tooltip.enabled = AtspÄjot Tor
+torbutton.panel.tooltip.disabled = NoklikšķinÄt, lai iespÄjotu Tor
+torbutton.panel.tooltip.enabled = NoklikšķinÄt, lai atspÄjotu Tor
+torbutton.panel.plugins.disabled = NoklikšķinÄt, lai iespÄjotu spraudÅus
+torbutton.panel.plugins.enabled = NoklikšķinÄt, lai atspÄjotu spraudÅus
+torbutton.panel.label.disabled = Tor ir atspÄjots
+torbutton.panel.label.enabled = Tor ir iespÄjots
+extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton piedÄvÄ pogu, lai viegli iespÄjotu vai atspÄjotu Firefox rÄdīšanu uz Tor starpnieka
+torbutton.popup.history.warning = Torbutton bloÄ·Äja cilnes aktivitÄti, kura ielÄdÄta citÄ Tor stÄvoklÄ«.â â Tas nepiecieÅ¡ams, lai novÄrstu Firefox kČūdas nr. 409737 un 417869.â â Ja Å¡is uznirstoÅ¡ais elements parÄdÄ«jÄs bez šķietama iemesla, tad kÄda no jÅ«su cilnÄm cenÅ¡as sevi fonÄ pÄrlÄdÄt, taÄu Å¡is mÄÄ£inÄjums tika bloÄ·Äts.â âLai pÄrlÄdÄtu cilni Å¡ajÄ Tor stÄvoklÄ«, lodziÅÄ URL atraÅ¡anÄs vieta nospiediet taustiÅu "IevadÄ«t".â â\n
+torbutton.popup.plugin.warning = Torbutton bloÄ·Äja tieÅ¡u Tor spraudÅa satura ielÄdi. â â TÄdÄ gadÄ«jumÄ lietojiet SaglabÄt kÄ. â â\n
+torbutton.popup.confirm_ca_certs = Torbutton piezÄ«me: Å Ä·iet, ka jums nav pielÄgotu SertificÄÅ¡anas iestÄÅŸu. SertificÄÅ¡anas iestÄÅŸu pÄrbaude ir laikietilpÄ«ga darbÄ«ba un palÄnina Tor pÄrslÄgÅ¡anos. Vai vÄlaties atspÄjot sertificÄÅ¡anas iestÄÅŸu sertifikÄtu izolÄÅ¡anu? (Ja nesaprotat, kas tieÅ¡i te ir domÄts, tad, ziniet, ka ir droÅ¡i noklikšķinÄt Labi jeb OK)
+torbutton.popup.ff3.warning = BrÄ«dinÄjums!â âIr zinÄms, ka Torbutton, strÄdÄjot Firefox 3, ar Tor starpniecÄ«bu nopludina jÅ«su laika joslu un tieÅ¡atzÄ«mes.â â Vai vÄlaties tomÄr turpinÄt?
+torbutton.popup.toggle.warning = NepiecieÅ¡ams pÄrslÄgt vai pÄrstartÄt Tor, lai iestatÄ«jumi stÄtos spÄkÄ.
+torbutton.popup.test.success = Tor starpnieka pÄrbaude ir sekmÄ«ga!
+torbutton.popup.test.failure = Tor starpnieka pÄrbaudes tests NEIZDEVÄS! PÄrbaudiet starpnieka un Polipo iestatÄ«jumus.
+torbutton.popup.test.confirm_toggle = PÄdÄjÄ Tor starpnieka pÄrbaudÄ neizdevÄs izmantot Tor.â â Vai esat pÄrliecinÄts, ka tomÄr vÄlaties to iespÄjot?â â PiezÄ«me: Ja esat atrisinÄjis Å¡o problÄmu, varat atkÄrtoti palaist pÄrbaudi lodziÅÄ Torbutton starpnieka preferences, lai nebÅ«tu šī brÄ«dinÄjuma.
+torbutton.popup.test.ff3_notice = Noklikšķiniet Labi jeb OK, lai pÄrbaudÄ«tu Tor starpnieka iestatÄ«jumus. Å Ä« pÄrbaude notiks fonÄ. LÅ«dzu, esiet pacietÄ«gs.
+torbutton.panel.label.verified = Tor ir verificÄts
+torbutton.popup.test.auto_failed = AutomÄtiskÄ Tor starpnieka pÄrbaudÄ neizdevÄs izmantot Tor.â â Vai esat pÄrliecinÄts, ka tomÄr vÄlaties to iespÄjot?
+torbutton.prefs.recommended = (ieteicams)
+torbutton.prefs.optional = (neobligÄts)
+torbutton.prefs.crucial = (būtisks)
+torbutton.popup.external.title = IelÄdÄt ÄrÄju saturu?
+torbutton.popup.external.app = NepiecieÅ¡ama ÄrÄja lietotne, lai apstrÄdÄtu:â â\n
+torbutton.popup.external.note = \nâ âPIEZĪME: PÄc noklusÄjuma ÄrÄjas lietotnes NAV gana droÅ¡as Tor un var jÅ«s atklÄt!â\n
+torbutton.popup.external.suggest = \nJa šī datne nav uzticama, jums vai nu tÄ jÄsaglabÄ, lai apskatÄ«tu bezsaistÄ vai VM, vai arÄ« apsveriet izmantot pÄrskatÄmu Tor starpnieku, tÄdu kÄ Tails LiveCD vai torsocks.\n
+torbutton.popup.launch = Palaist lietotni
+torbutton.popup.cancel = Atcelt
+torbutton.popup.dontask = TurpmÄk vienmÄr palaist lietotnes
+torbutton.popup.test.no_http_proxy = Tor starpnieka pÄrbaude: HTTP vietÄjais starpnieks nav sasniedzams. Vai Polipo darbojas pareizi?
+torbutton.popup.captcha.title = Izvairīties no Google Captchas?
+torbutton.popup.captcha.ask = Torbutton konstatÄja Google Captcha. Vai vÄlaties, lai Å¡is vaicÄjums tiktu pÄradresÄts uz citu meklÄtÄjprogrammu?
+torbutton.popup.captcha.always = TurpmÄk vienmÄr veikt Å¡o darbÄ«bu
+torbutton.popup.redirect = Novirzīt
+torbutton.popup.no_redirect = Nenovirzīt
+torbutton.popup.prompted_language = Lai nodroÅ¡inÄtu jums lielÄku privÄtuma lÄ«meni, Torbutton var pieprasÄ«t tÄ«mekÄŒa vietÅu angÄŒu valodas versiju. Tas var radÄ«t situÄciju, ka tÄ«mekÄŒa vietnes, kuras izvÄlaties lasÄ«t dzimtajÄ valodÄ, tiek attÄlotas angÄŒu valodÄ.â â Vai vÄlaties pieprasÄ«t tÄ«mekÄŒa vietnes angÄŒu valodÄ, lai nodroÅ¡inÄtu lielÄku privÄtuma lÄ«meni?
+torbutton.popup.no_newnym = Torbutton nespÄj droÅ¡i sniegt jums jaunu identitÄti. Tai nav piekÄŒuves pie Tor vadÄ«bas porta. â â Vai esat palaidis PÄrlÅ«ka Tor komplektu?
+torbutton.popup.use_tbb = Å Ä·iet, ka strÄdÄjot ar Firefox lietojat Torbutton, kas vairs nav rekomendÄta droÅ¡a konfigurÄcija.â â TÄ vietÄ mÄs iesakÄm izmantot jaunÄko pÄrlÅ«ka Tor komplektu, ko iespÄjams saÅemt nosÅ«tot epastu, kurÅ¡ adresÄts gettor@torprojec , vai lejupielÄdÄjot komplektu norÄdÄ«tajÄ URL:
+torbutton.popup.pref_error = Torbutton nespÄj atjauninÄt preferences PÄrlÅ«ka Tor profila direktorijÄ.
+torbutton.popup.permission_denied = LÅ«dzu vai nu atiestatiet pÄrlÅ«ka Tor direktorijas atÄŒaujas, vai arÄ« kopÄjiet to uz jaunu vietu.
+torbutton.popup.device_full = Å Ä·iet, ka cietais disks ir pilns. LÅ«dzu, atbrÄ«vojiet vietu uz diska vai pÄrvietojiet pÄrlÅ«ku Tor uz citu ierÄ«ci.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/my/torbutton.dtd b/src/chrome/locale/my/torbutton.dtd
index 771a432..43a7761 100644
--- a/src/chrome/locale/my/torbutton.dtd
+++ b/src/chrome/locale/my/torbutton.dtd
@@ -1,147 +1,147 @@
-<!ENTITY torbutton.prefs.title "Torbutton ááá¯áá¬ážáá»ááºáá»á¬áž">
-<!ENTITY torbutton.prefs.display_settings "á¡áá¯ááºáá±á¬áºááŒááŸá¯á
áá
áºááŒááºáááºááŸá¯áá»á¬áž">
-<!ENTITY torbutton.prefs.display_panel "á¡ááŒá±á¡áá±ááŒáá¬ážáááºážá Tor ááá±á¬áá·áºáá® á
áá
áºááŒááºáááºááŸá¯ááᯠáá±á¬áºááŒáá«á">
-<!ENTITY torbutton.prefs.panel_format "á¡ááŒá±á¡áá±áጠáá¬ážáááºážá áá±á¬áºááŒááá·áº áá¯á¶á
á¶ -">
+<!ENTITY torbutton.prefs.title "Torbutton áŠážá
á¬ážáá±ážáá»ááºáá»á¬áž">
+<!ENTITY torbutton.prefs.display_settings "ááŒáááŸá¯ áá»áááºááŸááá»ááºáá»á¬áž">
+<!ENTITY torbutton.prefs.display_panel "Tor proxy áá»áááºááŸááá»ááºáá»á¬ážááᯠstatus bar áá²ááœáẠááŒááááº">
+<!ENTITY torbutton.prefs.panel_format "Status bar á áá±á«áºááŒáááºá· áá¯á¶á
á¶ -">
<!ENTITY torbutton.prefs.panel_text_format "á
á¬áá¬áž">
-<!ENTITY torbutton.prefs.panel_icon_format "áááºá¹áá±ááá¯á¶">
-<!ENTITY torbutton.prefs.tor_settings "ááá±á¬áá·áºáá®á
áá
áºááŒááºáááºááŸá¯áá»á¬áž">
-<!ENTITY torbutton.prefs.recommended_settings "áá»áœááºáá±á¬á·áºá Firefox áá¬ážááŸááºážá¡ááœáẠá¡ááŒá¶ááŒá¯áá¬ážááá·áº ááá±á¬áá·áºáá®á
áá
áºááŒááºáááºááŸá¯áá»á¬ážááᯠáá¯á¶ážáá«á">
-<!ENTITY torbutton.prefs.use_privoxy "Privoxyááᯠáá¯á¶ážáá«á">
-<!ENTITY torbutton.prefs.use_polipo "Polipoááᯠáá¯á¶ážáá«á">
-<!ENTITY torbutton.prefs.custom_settings "á
áááºááŒáá¯ááºááá±á¬áá·áºáá®á
áá
áºááŒááºáááºááŸá¯áá»á¬ážááᯠáá¯á¶ážáá«á">
-<!ENTITY torbutton.prefs.proxy.host.http "HTTP ááá±á¬áá·áºáá® -">
-<!ENTITY torbutton.prefs.proxy.host.https "SSL ááá±á¬áá·áºáá® -">
-<!ENTITY torbutton.prefs.proxy.host.ftp "FTP ááá±á¬áá·áºáá® -">
-<!ENTITY torbutton.prefs.proxy.host.gopher "Gopher ááá±á¬áá·áºáá® -">
-<!ENTITY torbutton.prefs.proxy.host.socks "SOCKS á¡áááºááŸááºááœááºáá»á°áᬠ-">
-<!ENTITY torbutton.prefs.proxy.port "áááºááœááºáá±á«áẠ-">
+<!ENTITY torbutton.prefs.panel_icon_format "á¡áá¯ááºááœááº">
+<!ENTITY torbutton.prefs.tor_settings "ááá±á¬ááºáá® áá»áááºááŸááá»ááºáá»á¬áž">
+<!ENTITY torbutton.prefs.recommended_settings "áá»áœááºáá±á¬áºá· áá®ážáá»áŸá¶ááŒá±ááœá±áž áá¬ážááŸááºážá¡ááœáẠá¡ááŒá¶ááŒá¯áá¬ážáá±á¬ ááá±á¬ááºáá® áá»áááºááŸááá»ááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áááº">
+<!ENTITY torbutton.prefs.use_privoxy "Privoxy ááᯠáá¯á¶ážáááº">
+<!ENTITY torbutton.prefs.use_polipo "Polipo ááᯠáá¯á¶ážáááº">
+<!ENTITY torbutton.prefs.custom_settings "á
áááºááŒáá¯áẠááá±á¬ááºáá® áá»áááºááŸááá»ááºáá»á¬ážááᯠáá¯á¶ážáááº">
+<!ENTITY torbutton.prefs.proxy.host.http "HTTP ááá±á¬ááºáá® -">
+<!ENTITY torbutton.prefs.proxy.host.https "SSL ááá±á¬ááºáá® -">
+<!ENTITY torbutton.prefs.proxy.host.ftp "FTP ááá±á¬ááºáá® -">
+<!ENTITY torbutton.prefs.proxy.host.gopher "Gopher ááá±á¬ááºáá® -">
+<!ENTITY torbutton.prefs.proxy.host.socks "SOCKS Host -">
+<!ENTITY torbutton.prefs.proxy.port "Port -">
<!ENTITY torbutton.about.title "Torbutton á¡ááŒá±á¬ááºáž">
<!ENTITY torbutton.about.version "áá¬ážááŸááºáž - ">
-<!ENTITY torbutton.about.summary "áááºá Tor á¡áá¯á¶ážááŒá¯ ááŸá¬ááœá±ááŒááºážá ááá¯ááºááá¯ááºáá¯á¶ááŒá¯á¶áá±ážááᯠá¡áá¬á¡ááœááºáá±ážáá«á">
-<!ENTITY torbutton.about.code "áá¯áẠáá«áááºáá±ážáá¬ážáá±ážáá°áá»á¬áž -">
+<!ENTITY torbutton.about.summary "áááºá· Tor ááœááºá·ááŒááºá·ááŒááºáž áá®ážááŒá¬ážáááºáááºááŸá¯ááᯠáá¬ááœááºáá«á">
+<!ENTITY torbutton.about.code "áá¯áẠáá«ááẠáá±ážáá¬ážáá°áá»á¬áž -">
<!ENTITY torbutton.about.maintainer "ááááºážááááºážáá° -">
-<!ENTITY torbutton.about.security_review "áá¯á¶ááŒá¯á¶áá±ážááá¯ááºáá¬ááŒááºáááºáá¯á¶ážáááºáá»áẠ-">
-<!ENTITY torbutton.about.donate "áááºááẠTor ááᯠáá¯á¶ážááŒááºážááᯠááŒáá¯ááºááŸá
áºáááºáá»áŸáẠáááºááẠá
ááºážá
á¬ážááá·áºáááºá">
-<!ENTITY torbutton.about.make_donation "ááŸá°áá«ááºážááŒááºáž">
-<!ENTITY torbutton.pref_connection.notice "áá®áááºáááºáá»á¬ážááá¯ááŒá±á¬ááºážáá²áááºá¡ááœáẠTorbutton ááá¯á¡áá¯á¶ážáááŒá¯áá«á">
-<!ENTITY torbutton.pref_connection.more_info "áá±á¬ááºáááºááááºážá¡áá»ááºá¡áááºáá»á¬áž">
+<!ENTITY torbutton.about.security_review "áá¯á¶ááŒá¯á¶áá±ážááá¯ááºáᬠáá¯á¶ážáááºáá»áẠ-">
+<!ENTITY torbutton.about.donate "á¡áááºá Tor ááᯠááẠá¡áá¯á¶ážááŒá¯ááá¯áá»áŸááºá ááẠá
ááºážá
á¬ážáááºá·áááº">
+<!ENTITY torbutton.about.make_donation "ááŸá°áá«ááºážááŸá¯ ááŒá¯áá¯ááºáá«á">
+<!ENTITY torbutton.pref_connection.notice "á¡á²áá® áá»áááºááŸááá»ááºáá»á¬ážááᯠááŒá±á¬ááºážááẠTorbutton ááᯠááááºáá«á">
+<!ENTITY torbutton.pref_connection.more_info "áá±á¬ááºááẠá¡áá»ááºá¡áááºáá»á¬áž">
<!ENTITY torbutton.pref_connection_more_info.title "á¡áá°á¡áá®">
-<!ENTITY torbutton.pref_connection_more_info.text "Torbutton ááá¯áá±á¬áá±á¬áááºááœáẠá¡áá¯á¶ážááŒá¯ááá¯á·áá
á±áááºá áááºáá»á¬ážáá²á· Tor ááŸáá·áºááááºááá¯ááºáá±á¬ ááá±á¬ááºáá®áááºáááºááá¯á· ááŒá±á¬ááºážáá²ááá¯áá»áŸáẠáá»á±ážáá°ážááŒá¯á Torbutton ááᯠá¡áá¯á¶ážáááŒá¯á
á±áá² á€áá±áá¬ááá¯á·ááŒááºáá¬áá«á áááºáá»á¬ážáá²á· Tor áááºáááºááá¯á·ááŒá±á¬ááºážáá²ááá¯áá»áŸáẠáá»á±ážáá°ážááŒá¯á Torbutton ááá¯áá¬ážáá»áẠáááºážááá¯ážááᯠá¡áá¯á¶ážááŒá¯áá«á">
-<!ENTITY torbutton.context_menu.new_identity "á¡áá±á¬ááºá¡áá¬ážá¡áá
áº">
+<!ENTITY torbutton.pref_connection_more_info.text "Torbutton ááᯠáá±á¬áá±á¬ááẠááœááºá·áá¬ážáááºá á¡áááºá áááºá· Tor ááá±á¬ááºáá® ááá¯á¶ážáá±á¬ áá»áááºááŸááá»ááºáá»á¬ážááᯠááŒá±á¬ááºážááá¯áá»áŸááºá Torbutton ááᯠááááºááŒá®áž á€áá±áá¬ááá¯á· ááŒááºáá¬áá«á á¡áááºá áááºá· Tor áá»áááºááŸááá»ááºáá»á¬ážááᯠááŒá±á¬ááºážááá¯áá«áá Torbutton áŠážá
á¬ážáá±ážááŸá¯ áááºážááá¯ážááᯠáá¯á¶ážá
áœá²áá«á">
+<!ENTITY torbutton.context_menu.new_identity "á¡áá±á¬ááºá¡áá¬áž á¡áá
áº">
<!ENTITY torbutton.context_menu.new_identity_key "I">
-<!ENTITY torbutton.context_menu.toggle "Tor á¡ááŒá±á¡áá±ááᯠá¡ááŒááºá¡ááŸáẠááŒá±á¬ááºážáá²ááá¯ááºáá«á">
+<!ENTITY torbutton.context_menu.toggle "Tor status ááᯠááááºážâáá»á±á¬ááºážáááº">
<!ENTITY torbutton.context_menu.toggle.key "T">
-<!ENTITY torbutton.context_menu.preferences "áŠážá
á¬ážáá±ážáá»ááºáá»á¬áž ...">
+<!ENTITY torbutton.context_menu.preferences "áŠážá
á¬ážáá±ážáá»ááºáá»á¬áž...">
<!ENTITY torbutton.context_menu.preferences.key "P">
<!ENTITY torbutton.context_menu.about "Torbutton á¡ááŒá±á¬ááºáž...">
<!ENTITY torbutton.context_menu.about.key "A">
<!ENTITY torbutton.context_menu.cookieProtections "ááœááºáá®áž áá¬ááœááºááŸá¯áá»á¬áž">
<!ENTITY torbutton.context_menu.cookieProtections.key "C">
-<!ENTITY torbutton.context_menu.copyTor "Tor URL áááºážááŒá±á¬ááºážááᯠáá°ážáá°áá«á">
+<!ENTITY torbutton.context_menu.copyTor "Tor URL ááᯠáá±á¬áºáá®ážáá°ážáááº">
<!ENTITY torbutton.context_menu.copyTor.key "P">
-<!ENTITY torbutton.context_menu.openTorTab "áá»ááºááŸá¬á
á¬á¡áá
áºááœááºTor URL áááºážááŒá±á¬ááºážááᯠááœáá·áºáá«á">
+<!ENTITY torbutton.context_menu.openTorTab "Tor URL ááᯠá
á¬á¡ááŸááºáá
áºááœáẠááœááºá·áááº">
<!ENTITY torbutton.context_menu.openTorTab.key "r">
-<!ENTITY torbutton.context_menu.openTorWindow "áááºážááá¯ážá¡áá
áºááœáẠTor URLáááºážááŒá±á¬ááºážááᯠááœáá·áºáá«á">
+<!ENTITY torbutton.context_menu.openTorWindow "Tor URL ááᯠáááºážááá¯ážáá
áºááœáẠááœááºá·áááº">
<!ENTITY torbutton.context_menu.openTorWindow.key "d">
<!ENTITY torbutton.button.label "Torbutton">
<!ENTITY torbutton.button.tooltip "Torbutton ááᯠá¡á
ááŒá¯ááẠááŸáááºáá«á">
-<!ENTITY torbutton.prefs.sec_settings "áá¯á¶ááŒá¯á¶ááŸá¯á
áá
áºááŒááºáááºááŸá¯áá»á¬áž">
-<!ENTITY torbutton.prefs.block_thread "Tor á¡á¬áž á¡áá¯á¶ážááŒá¯áá±áá»áááºááœáẠááŸááºáá¬ážáá²á·ááá·áº á¡áá¯á¶ážááŒá¯ááŸá¯ááŸááºáááºážááᯠááááºááá¯á·áá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.block_thwrite "Tor ááᯠááœáá·áºáá¬ážá
áẠááŸááºáááºážáá±ážááŒááºážáá»á¬ážááᯠááááºáááºáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.block_nthread "Tor ááá¯ááºááá·áº áááá¯ááááºááᯠááœáá·áºáá¬ážá
áẠááŸááºáááºážáá»á¬ážááᯠáááºááŸá¯ááŒááºážááᯠááááºáááºáá«á (áááœá±ážáááºážááááºá)">
-<!ENTITY torbutton.prefs.block_nthwrite "Tor ááá¯ááºááá·áº áááá¯ááááºááᯠááœáá·áºáá¬ážá
áẠááŸááºáááºážáá»á¬ážááᯠáá±ážáá¬ážááŒááºážáá»á¬ážááᯠááááºáááºáá«á (áááœá±ážáááºážááááºá)">
-<!ENTITY torbutton.prefs.clear_history "Tor á¡ááœáá·áºá¡ááááºá ááŸááºáááºážáá»á¬ážááᯠááŸááºážáááºážáá«á (áááœá±ážáá»ááºáááºážááááºá)">
-<!ENTITY torbutton.prefs.clear_cache "Toráááá¯áááẠá¡ááœáá·áºá¡áááẠá¡ááŸáá·áºá¡ááŒá±á¬ááºážá Tor áá±áá¬ááá¯ááŸá®ážá
ááºá¡ááœááºáá±áá¹áááŸááºáá¬ááºááᯠááááºáááºááŒá®áž áá±áá¹áááŸááºáá¬ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠááŸááºážáá«á">
-<!ENTITY torbutton.prefs.block_cache "Torááᯠá¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž áá±áá¬ááá¯ááŸá®ážá
ááºá¡ááœáẠáá±áá¹áááŸááºáá¬ááºááŸáá·áº áá®ááá¯áá®á¡ááœáẠáá±áá¹áááŸááºáá¬ááºááá¯á·á០áááºáá±á¬ááºááŸá¯ááᯠááááºáááºáá«á">
-<!ENTITY torbutton.prefs.cookie_jars "áá¬ááœááºáá¬ážááá·áº jar áá²á Tor ááá¯ááºááá·áº áááá¯ááááºá០ááœááºáá®ážáá»á¬ážááᯠááááºážáá«á">
-<!ENTITY torbutton.prefs.cookie_protection "ááœá±ážáá»ááºááẠááœááºáá®áž áá¬ááœááºááŸá¯áá»á¬áž ááá¯ááºáá¬áá±á¬á·á¡ááœááºááᯠáá¯á¶ážáá«á">
-<!ENTITY torbutton.prefs.mmm_cookies "áá»áœááºáá±á¬áºá ááœááºáá®ážáá»á¬ážááᯠáá»áœááºáá±á¬á·áºáá¬áá¬áá»áœááºáá±á¬áº á
á®áá¶ááá·áºááœá²ááœá¬ážáááºá (á¡áá¹ááá¬ááºááŸááááºá)">
-<!ENTITY torbutton.prefs.clear_cookies "Tor ááᯠá¡ááœáá·áºá¡ááááºááŒá¯áá¯áºá
áẠááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáá«á">
-<!ENTITY torbutton.prefs.disable_plugins "Tor ááᯠá¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž ááŒáá·áºá
áœááºáááá¯ááááºáá»á¬ážááᯠááá
á±ááẠááŒá¯áá¯ááºáá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.kill_bad_js "á¡áá¹ááá¬ááºááŸáááá·áº javascript ááᯠááœá²áá»áááºáá¬ážáá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.isolate_content "Tor á¡ááŒá±á¡áá±ááá¯á· á¡ááŒá±á¬ááºážá¡áá¬á¡ááŸááºáá»á¬ážááᯠáá®ážááŒá¬ážáá¬ážáá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.no_updates "Tor á¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž á¡ááá·áºááá¯ážááŒáŸáá·áºááŸá¯áá»á¬ážááᯠááá¡á±á¬ááºááŒá¯áá¯ááºáá«á">
-<!ENTITY torbutton.prefs.set_uagent "Tor á¡áá¯á¶ážááŒá¯ááŸá¯á¡ááœáẠá¡áá¯á¶ážááŒá¯áá°á¡á±ážáá»áá·áºááᯠáááºááŸááºáá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.dynamic "á¡ááŒá±á¬ááºážá¡áá¬á¡ááŸááº">
+<!ENTITY torbutton.prefs.sec_settings "áá¯á¶ááŒá¯á¶áá±áž áá»áááºááŸááá»ááºáá»á¬áž">
+<!ENTITY torbutton.prefs.block_thread "Tor á¡áá¯ááºáá¯ááºáá±áááºá·á¡áá« ááŸááºáááºážááẠáááºááŸá¯ááŸá¯ááᯠááááºááẠ(á¡áá±ážáá«áááº)">
+<!ENTITY torbutton.prefs.block_thwrite "Tor á¡áá¯ááºáá¯ááºáá±áááºá·á¡áá« ááŸááºáááºážááẠáá±ážáá¬ážááŒááºážááᯠááááºááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.block_nthread "Tor á¡áá¯á¶ážáááŒá¯áááºá·á¡áá« ááŸááºáááºážááẠáááºááŸá¯ááŒááºážááᯠááááºááẠ(ááá¯á¡ááºáá«á)">
+<!ENTITY torbutton.prefs.block_nthwrite "Tor á¡áá¯á¶ážáááŒá¯áááºá·á¡áá« ááŸááºáááºážááẠáá±ážáá¬ážááŸá¯ááᯠááááºááẠ(ááá¯á¡ááºáá«á)">
+<!ENTITY torbutton.prefs.clear_history "Tor ááááºážáá»á±á¬ááºážááŸá¯ ááŸááºáááºážááᯠááŸááºážáááºážáá« (ááá¯á¡ááºáá«á)">
+<!ENTITY torbutton.prefs.clear_cache "Tor disk âáá¬áá® ááááºážáááºážáááºážááᯠááááºááŒá®áž Tor á¡ááááºážá០áá¬áá®ááá¯ááºáá»á¬áž á¡á¬ážáá¯á¶ážááᯠááŸááºážáááºážáá«">
+<!ENTITY torbutton.prefs.block_cache "Tor á¡áá¯ááºáá¯ááºâââáá±á
áẠDisk ááŸááºá· ááŸááºáá¬ááºááœááºáž áá¬áá® áááºáá±á¬ááºááŸá¯ááᯠááááºáááº">
+<!ENTITY torbutton.prefs.cookie_jars "áá¬ááœááºáá¬ážáááºá· jar áá²ááœáẠTor ááá¯ááºââââââáá±á¬ ááœááºáá®ážáá»á¬ážááᯠááááºážáááº">
+<!ENTITY torbutton.prefs.cookie_protection "ááœá±ážáá»ááºááẠááœááºáá®áž á¡áá¬á¡ááœááºáá»á¬áž á¡ááœáŸááºážá
á¬áá»ááºááŸá¬ááᯠáá¯á¶ážáááº">
+<!ENTITY torbutton.prefs.mmm_cookies "áá»áœááºáá±á¬áºá· ááœááºáá®ážáá»á¬ážááᯠáá»áœááºáá±á¬áº ááá¯ááºááá¯áẠá
á®áá¶áááºá·ááœá²ááẠ(á¡áá¹ááá¬ááºááŸááááº)">
+<!ENTITY torbutton.prefs.clear_cookies "Tor á¡ááááºážáá±á«áºá ááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáááº">
+<!ENTITY torbutton.prefs.disable_plugins "Tor áá¯á¶ážá
áœá²áá±áá»áááºá¡ááœááºáž ááááºá¡ááºáá»á¬ážááᯠááááºááẠ(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.kill_bad_js "á¡áá¹ááá¬ááºááŸááá±á¬ javascript ááᯠáá»áááºáá¬ážááẠ(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.isolate_content "áááºááŒáœáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬ááᯠTor á¡ááŒá±á¡áá±á áá®ážááŒá¬ážáá¬ážááẠ(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.no_updates "Tor áá¯á¶ážá
áœá²áá±áá»áááºááœáẠááœááºážáá¶áá»ááºáá»á¬ážááᯠááááºáááº">
+<!ENTITY torbutton.prefs.set_uagent "Tor áá¯á¶ážá
áœá²ááŸá¯á¡ááœáẠáá¯á¶ážá
áœá²áá° á¡á±ážáá»ááºá·ááᯠáááºááŸááºááẠ(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.dynamic "áááºááŒáœáá±á¬ á¡ááŒá±á¬ááºážá¡áá¬">
<!ENTITY torbutton.prefs.cookies "ááœááºáá®ážáá»á¬áž">
-<!ENTITY torbutton.prefs.cache "áá±áá¹áááááºážááŸááºáá¬ááº">
+<!ENTITY torbutton.prefs.cache "áá¬áá® ááááºážáááºážáááºáž">
<!ENTITY torbutton.prefs.history "ááŸááºáááºáž">
-<!ENTITY torbutton.prefs.no_search "Tor áá¯á¶ážáá±áá»áááºá¡ááœááºáž ááŸá¬ááœá±ááŸá¯á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážá¡á¬áž ááááá¯ááºá¡á±á¬áẠááŒá¯áá¯ááºáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.shutdown "á
ááºááᯠááááºáá«á">
-<!ENTITY torbutton.prefs.tor_shutdown "Tor áááá¯ááºááá·áº ááá±á¬áá·áºáá¬ááᯠááááºááá¯ááºáá»áááºááœáẠTor ááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáá«á">
-<!ENTITY torbutton.prefs.all_shutdown "áááºááá·áº ááá±á¬áá·áºáá¬ááá¯áááᯠááááºááá¯ááºááá·áºá¡áá«ááá¯ááºáž ááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáá«á">
-<!ENTITY torbutton.prefs.no_shutdown "á
ááºááááºáá»áááºá áá»áœááºáá±á¬á·áºáááœááºáá®ážááᯠáááŸááºážáááºážáá
áºáá«ááŸáá·áºá">
-<!ENTITY torbutton.prefs.disable_sessionstore "ááŸááºáá¬ááºá¡ááá¯ááºážáááºááá¯ááááºážááŒááºážááᯠááá
á±ááẠááŒá¯áá¯ááºáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáááºá)">
+<!ENTITY torbutton.prefs.no_search "Tor áá¯á¶ážá
áœá²áá±áá»áááºá¡ááœááºáž ááŸá¬ááœá±ááŸá¯ á¡ááŒá¶ááŒá¯áá»ááºáá»á¬ážááᯠááááºááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.shutdown "á
ááºááááºáááº">
+<!ENTITY torbutton.prefs.tor_shutdown "Tor áá¯á¶ážáá¬ážáá±á¬ ááá±á¬ááºáá¬ááᯠááááºáá±áá»áááºááœáẠTor ááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáááº">
+<!ENTITY torbutton.prefs.all_shutdown "ááá±á¬ááºáᬠááááºáá±áá»áááºááœáẠááœááºáá®ážáá»á¬ážááᯠááŸááºážáááºážáááº">
+<!ENTITY torbutton.prefs.no_shutdown "á
ááºááááºáá»áááºááœáẠáá»áœááºáá±á¬áºá· ááœááºáá®ážááᯠáááŸááºážáá«ááŸááºá·">
+<!ENTITY torbutton.prefs.disable_sessionstore "áá¯ááºáááºáž ááááºážáááºážááŸá¯ááᯠááááºááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
<!ENTITY torbutton.prefs.headers "áá±á«ááºážá
ááºážáá»á¬áž">
-<!ENTITY torbutton.prefs.spoof_english "á¡áá±áááááºá¡ááºá¹áááááºá
á¬áá¯á¶ážááá±á¬áá·áºáá¬á¡á¬áž áá¯á¶ááŸá¬ážááá¯ááºáá«á">
-<!ENTITY torbutton.prefs.refererspoofing "ááœáŸááºážáá°á០áá¯á¶ááŸá¬ážááá¯ááºááŒááºáž">
+<!ENTITY torbutton.prefs.spoof_english "áá°á¡ááºá
Ạá¡ááºá¹áááááºáá¯á¶áž ááá±á¬ááºáá¬ááᯠáá¯á¶ááŸá¬ážááá¯ááºáááº">
+<!ENTITY torbutton.prefs.refererspoofing "áááºááœáŸááºážáá° áá¯á¶ááŸá¬ážááá¯ááºááŒááºáž">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
-<!ENTITY torbutton.prefs.smartspoof "Tor á¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž ááœáŸááºážáá° áá¯á¶ááŸá¬ážááá¯ááºááŒááºážááŸá¬ áá±á¬ááºážááŸáááºá (ááá¯ááááºážááœáŸááºážáá°áá»á¬ážááá¯ááŒááºáá»ááºáá¯á¶ááŸá¬ážááá¯ááºáááºá)">
+<!ENTITY torbutton.prefs.smartspoof "Tor áá¯á¶ážá
áœá²áá±áá»áááºá¡ááœááºáž áááºááœáŸááºážáá»áẠáá¯á¶ááŸá¬ážááá¯ááºááŒááºážááᯠááŒááºáááº(ááá¯ááááºáž áááºááœáŸááºážáá»ááºáá»á¬ážááᯠáá¯á¶ááŸá¬ážááá¯ááºáá»ááºáá»á¬áž)">
<!ENTITY torbutton.prefs.nospoof "No referer spoof during Tor usage (sends referers as normal)">
-<!ENTITY torbutton.prefs.disable_domstorage "Tor á¡áá¯á¶ážááŒá¯áá±áá»áááºá¡ááœááºáž DOM ááááºážáááºážááŸá¯ááᯠááááá¯ááºá¡á±á¬áẠááŒá¯áá¯ááºáá«á (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.forms "áá¯á¶á
á¶áá»á¬áž">
-<!ENTITY torbutton.prefs.block_tforms "Tor ááᯠá¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž á
áá¬ážááŸááº+áá¯á¶á
á¶ ááááºážáááºážááŒááºážááᯠááááºáááºáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.block_ntforms "Tor ááá¯ááºááá·áº áááá¯áááẠááᯠá¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž á
áá¬ážááŸááº+áá¯á¶á
á¶ ááááºážáááºážááŒááºážááᯠááááºáááºáá«á (áááœá±ážáá»ááºáááºážááááºá)">
+<!ENTITY torbutton.prefs.disable_domstorage "Tor áá¯á¶ážá
áœá²áá»áááºááœáẠDOM ááááºážáááºážááŸá¯ááᯠááááºááẠ(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.forms "ááŒááºá·á
áœááºáá¯á¶á
á¶áá»á¬áž">
+<!ENTITY torbutton.prefs.block_tforms "Tor áá¯á¶ážá
áœá²áá±áá»áááºááœáẠá
áá¬ážááŸááº+ááŒááºá·á
áœááºáá¯á¶á
á¶ ááááºážáááºážááŸá¯ááᯠááááºáááº(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.block_ntforms "Tor ááá«áá² áá¯á¶ážá
áœá²áá±áá»áááºááœáẠá
áá¬ážááŸááº+ááŒááºá·á
áœááºáá¯á¶á
á¶ ááááºážáááºážááŸá¯ááᯠááááºáááº(ááá¯á¡ááºáá«á)">
<!ENTITY torbutton.prefs.tor "Tor">
-<!ENTITY torbutton.prefs.non_tor "Tor ááá¯ááºááá·áº áááá¯ááááºáá»á¬áž">
-<!ENTITY torbutton.prefs.restore_tor "áááºááŸááºááᯠáááá¯á¡ááá¯ááºáž ááŒááºáá¯ááºááŒá®áž áááá¯ááááºá¡á
ááŒá¯áá¬á Tor á¡ááŒá±á¡áá±ááᯠáá±á¬áºááŒáá«á¡ááá¯ááºáž áááºááŸááºáá«á -">
-<!ENTITY torbutton.prefs.startup_tor "ááá±á¬áá·áºáá¬ááᯠá
á
ááœáá·áºáá»ááºážááœáẠTor á¡ááŒá±á¡áá±ááᯠáá±á¬áºááŒáá«á¡ááá¯ááºáž áááºááŸááºáá«á - ">
-<!ENTITY torbutton.prefs.reload_crashed_jar "Firefox á¡áá¯ááºáá¯ááºáá¬á០áá¯ááºáááẠáááºááá·áºááœá¬ážááá·áºá¡áá« ááœááºáá®áž jar ááᯠááŒááºááœá²áááºáá«á (ááá¯á·ááá¯ááº) ááœááºáá®ážáá»á¬ážááᯠááŸááºážáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.dual_cookie_jars "Tor ááŸáá·áº Tor ááá¯ááºááá·áº áááá¯áááẠá
áááºááá¯á·á០ááœááºáá®ážáá»á¬ážááᯠáá¬ááœááºáá¬ážááá·áº jar áá»á¬ážá¡áá±ááŒáá·áº ááááºážáá«á (á¡áá¹ááá¬ááºááŸááááºá)">
-<!ENTITY torbutton.prefs.clear_http_auth "HTTP auth áááºááŸááºáá»á¬ážááᯠááŸááºážáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.block_js_history "Tor á¡ááŒá±á¡áá±ááá¯á· ááŸááºáááºáž áááºážááŒá±á¬ááºážááŒáá¬ážáá»ááºá¡á¬áž áááºáá±á¬ááºááŒááºážááᯠáá®ážááŒá¬ážááœá²áá¬ážáááºá (á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.resize_on_toggle "Tor ááᯠá¡áá¯á¶ážáá»áááºá¡ááœááºáž áááºážááá¯ážáá»á¬ážááᯠá¡á á
á áá
áºáááºááá¯á· á¡ááœáẠááŒá±á¬ááºážáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.close_tor "Tor ááᯠá¡ááœáá·áºá¡ááááºááŒá¯áá¯ááºá
áẠáááºážááá¯ážáá»á¬ážá¡á¬ážáá¯á¶ážááŸáá·áº áá»ááºááŸá¬á
á¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááºáá«á (áááœá±ážáá»ááºáááºážááááºá)">
-<!ENTITY torbutton.prefs.close_nontor "Tor ááá¯ááºááá·áº áááá¯ááááºááᯠá¡ááœáá·áºá¡ááááºááŒá¯áá¯ááºá
áẠáááºážááá¯ážáá»á¬ážá¡á¬ážáá¯á¶ážááŸáá·áº áá»ááºááŸá¬á
á¬áá»á¬ážá¡á¬ážáá¯á¶ážááᯠááááºáá«á (áááœá±ážáá»ááºáááºážááááºá)">
-<!ENTITY torbutton.prefs.block_links "ááá°áá®ááá·áº Tor á¡ááŒá±á¡áá±áá»á¬ážá០á¡ááºáá¬áááºáá»áááºáááºááŒá±á¬ááºážááŸáááºáá»ááºáá»á¬ážááŸáá·áº á
á¬áá»ááºááŸá¬ ááŒááºááœá²áááºááŒááºážáá»á¬áž ááᯠááááºáááºáá«á (áááœá±ážáá»ááºáááºážááááºá)">
-<!ENTITY torbutton.prefs.jar_certs "Tor/Tor ááá¯ááºááá·áº áááá¯áááẠááá¯á·á¡ááœáẠáá®ážááŒá¬áž jar áá»á¬ážáá²á SSL á¡ááá¡ááŸááºááŒá¯ááœáŸá¬áá»á¬ážááᯠááááºážáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.jar_ca_certs "Tor/Tor ááá¯ááºááá·áº áááá¯áááẠááá¯á·á¡ááœáẠáá®ážááŒá¬áž jar áá»á¬ážáá²á CA á¡ááá¡ááŸááºááŒá¯ááœáŸá¬áá»á¬ážááᯠááááºážáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.locked_mode "ááá±á¬áºáá á¡ááœáá·áºá¡ááááºááŒá¯áá¯ááºááŒááºážááᯠáá¬ááœááºááẠááá¯ááºáá»á¬ážááŸáá·áº á¡ááŒááºááá¯ááºáá»á¬ážááᯠá¡áá¯ááºááá¯ááºá
á±ááẠááŒá¯áá¯ááºáá«á">
-<!ENTITY torbutton.prefs.startup_state "áá¯á¶ááŸáẠá
áẠá
á
áá»ááºážááœáẠTor á¡ááŒá±á¡áá±ááᯠáá±á¬áºááŒáá«á¡ááá¯ááºáž áááºááŸááºáá«á -">
-<!ENTITY torbutton.prefs.shutdown_state "á
ááºááááºááá·áº á¡ááŒá±á¡áá±">
-<!ENTITY torbutton.prefs.startup "á
ááºá
áááºááá·áºáá±áá¬">
-<!ENTITY torbutton.prefs.block_tor_file_net "file:// urls á០ááœááºáááºááá¯á· Tor á០áááºáá¬ááºááŒááºážááᯠááááºáááºáá«á (á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.block_nontor_file_net "file://urls á០ááœááºáááºááá¯á· Tor ááá¯ááºááá·áº áááá¯ááááºááá¯á· áááºáá±á¬ááºááŒááºážááᯠááááºáááºáá«á">
-<!ENTITY torbutton.prefs.restore_defaults " áá°áá¡ááŸáá¡ááá¯ááºáž ááŒááºáá¬ážáá«á">
-<!ENTITY torbutton.prefs.test_settings "á
á
áºáá±ážááŸá¯á
áá
áºááŒááºáááºááŸá¯áá»á¬áž">
-<!ENTITY torbutton.prefs.test_auto "Firefox á
áááºááá·áº á¡áá»áááºááá¯ááž Tor ááᯠá
ááœáá·áºááŒá®ážáá±á¬áẠáá»áœááºáá±á¬áºá Tor á
áá
áºááŒááºáááºááŸá¯áá»á¬ážááᯠá
á
áºáá±ážáá«á">
+<!ENTITY torbutton.prefs.non_tor "Tor ááá¯ááºáá±á¬ áááá¯ááááºáá»á¬áž">
+<!ENTITY torbutton.prefs.restore_tor "áá¯ááºâáááºáž á
áááºáá±á
ááºá Tor á¡ááŒá±á¡áá± áááºááŸááºáááºá· áá¯á¶á
á¶ -">
+<!ENTITY torbutton.prefs.startup_tor "ááá±á¬ááºáᬠááœááºá·áá±á
ááºá Tor á¡ááŒá±á¡áá± áááºááŸááºáááºá· áá¯á¶á
á¶ -">
+<!ENTITY torbutton.prefs.reload_crashed_jar "áá®ážâáá»áŸá¶ááŒá±ááœá±áž áá»ááºáááºá·á¡áá« ááœááºáá®áž jar ááᯠááŒááºááœááºá·áááº/ááœááºáá®ážááᯠááŸááºážáááºážááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.dual_cookie_jars "Tor ááŸááºá· Tor ááá«áá±á¬ ááœááºáá®áž ááŸá
áºáá¯á
áá¯á¶ážááᯠáá¬ááœááºáá¬ážáááºá· jar áá»á¬ážáá²á ááááºážáááºážááẠ(á¡áá¹ááá¬ááºááŸááááº)">
+<!ENTITY torbutton.prefs.clear_http_auth "HTTP auth áá¯ááºáááºážáá»á¬ážááᯠááŸááºážáááºážááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.block_js_history "Tor á¡ááŒá±á¡áá±áá² ááŸááºáááºáž áááºážááŒá±á¬ááºáž áááºáá±á¬ááºááŸá¯ááᯠááááºááẠ(âá¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.resize_on_toggle "Tor áá¯á¶ážá
áœá²áá±áá»áááºááœáẠáááºážááá¯ážááᯠá
á px á¡ááœáẠááœá¬ážááẠá¡ááœááºááŸááá« (á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.close_tor "á¡ááááºážáá±á«áºááŸá Tor áááºážááá¯ážááŸááºá· á
á¬á¡ááŸááºáá»á¬ážááᯠááááºááẠ(ááá¯á¡ááºáá»áŸááº)">
+<!ENTITY torbutton.prefs.close_nontor "Tor ááá«áá±á¬ áááºážááá¯ážááŸááºá· á
á¬á¡ááŸáẠá¡á¬ážáá¯á¶ážááᯠááááºááẠ(ááá¯á¡ááºáá»áŸááº)">
+<!ENTITY torbutton.prefs.block_links "Tor á¡ááŒá±á¡áá± á¡áá»áá¯ážáá»áá¯ážá០ááŸáááºáá»ááºáá»á¬ážááŸááºá· á
á¬áá»ááºááŸá¬ ááŒááºááœááºá·áá»ááºáá»á¬ážááᯠááááºááẠ(ááá¯á¡ááºáá»áŸááº)">
+<!ENTITY torbutton.prefs.jar_certs "Tor/Tor ááá¯ááºáá±á¬ áááá¯ááááºáá»á¬áž á¡ááœáẠSSL áááºááŸááºáá»á¬ážááᯠáá®ážááŒá¬áž jar áá²á ááááºážáááºážááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.jar_ca_certs "Tor/Tor ááá¯ááºáá±á¬ áááá¯áááẠá¡ááœáẠCA áááºááŸááºáá»á¬ážááᯠáá®ážááŒá¬áž jar áá²á ááááºážáá¬ážááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.locked_mode "ááá±á¬áºáá á¡ááœááºá·á¡áááẠááŒá¯áá¯ááºááŒááºážááᯠáá¬ááœááºááẠááá¯ááºáá»á¬ážááŸááºá· Hotkeys áá»á¬ážááᯠááááºáááº">
+<!ENTITY torbutton.prefs.startup_state "áá¯á¶ááŸáẠáááºážááá¯ážá¡áááºááœááºá Tor á¡ááŒá±á¡áá±ááᯠáááºááŸááºáááºá· áá¯á¶á
á¶ -">
+<!ENTITY torbutton.prefs.shutdown_state "á
ááºááááºáááºá· á¡ááŒá±á¡áá±">
+<!ENTITY torbutton.prefs.startup "áááºážááá¯áž á¡áááº">
+<!ENTITY torbutton.prefs.block_tor_file_net "file:// urls á០ááœááºáááºááá¯á· Tor áááºáá¬ááºááŸá¯ááᯠááááºááẠ(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.block_nontor_file_net "file://urls á០ááœááºáááºááá¯á· Tor ááá¯ááºáá±á¬ áááá¯áááẠáááºáá±á¬ááºááŸá¯ááᯠááááºáááº">
+<!ENTITY torbutton.prefs.restore_defaults " áá°áá¡ááá¯ááºáž ááŒááºáá¬ážáááº">
+<!ENTITY torbutton.prefs.test_settings "á
á
áºáá±ážááŸá¯ áá»áááºááŸááá»ááºáá»á¬áž">
+<!ENTITY torbutton.prefs.test_auto "áá®ážáá»áŸá¶ááŒá±ááœá±áž á
ááœááºá·áááºá·á¡áá« áá»áœááºáá±á¬áºá· Tor áá»áááºááŸááá»ááºáá»á¬ážááᯠá
ááºážáááºáááº">
<!ENTITY torbutton.prefs.disable_livemarks "Disable livemarks updates during Tor usage">
-<!ENTITY torbutton.prefs.tor_memory_jar "Tor á០ááœááºáºáá®ážáá»á¬ážááᯠá
ááºááœááºážááá¯á· ááá±ážááŸááºáá«ááŸáá·áºá">
-<!ENTITY torbutton.prefs.nontor_memory_jar "Tor ááá¯ááºááá·áº áááá¯ááááºá០ááœááºáá®ážáá»á¬ážááᯠá
ááºááœááºážááá¯á· ááá±ážááŸááºáá«á">
-<!ENTITY torbutton.prefs.session_restore "áááºááŸáẠááá¯ááŸá±á¬ááºáá¬ážááŸá¯ááᯠááááºážáá¬ážááŒá®áž áááºáž áá»ááºááŸá¬á
á¬áá»á¬ážááᯠáááá¯á¡ááá¯ááºáž ááŒááºáá¯ááºáá«á -">
-<!ENTITY torbutton.prefs.nontor_tabs "Tor ááá¯ááºááá·áº áááá¯ááááºá០áá±á«áºáá°ááá·áº áá»ááºááŸá¬á
á¬áá»á¬áž">
-<!ENTITY torbutton.prefs.tor_tabs "Tor á០áá±á«áºáá°ááá·áº áá»ááºááŸá¬á
á¬áá»á¬áž">
+<!ENTITY torbutton.prefs.tor_memory_jar "Tor ááœááºáá®ážáá»á¬ážááᯠdisk áá² áá±ážáá¬ážááŒááºáž áááŒá¯áááº">
+<!ENTITY torbutton.prefs.nontor_memory_jar "Tor ááá¯ááºáá±á¬ áááá¯ááááºá០ááœááºáá®ážáá»á¬ážááᯠdisk áá² áá±ážáá¬ážááŒááºáž áááŒá¯áááº">
+<!ENTITY torbutton.prefs.session_restore "áá¯ááºáááºáž ááá¯ááŸá±á¬ááºáá¬ážááŸá¯ááᯠááááºážáááºážááŒá®áž á
á¬á¡ááŸááºáá»á¬ážááᯠááŒááºáá¬ážááẠ-">
+<!ENTITY torbutton.prefs.nontor_tabs "Tor ááá¯ááºáá±á¬ áááá¯ááááºá០á
á¬á¡ááŸááºáá»á¬áž ááœááºá·áá¬ážáá»ááº">
+<!ENTITY torbutton.prefs.tor_tabs "Tor á០á
á¬á¡ááŸááºáá»á¬áž ááœááºá·áá¬ážáá»ááº">
<!ENTITY torbutton.prefs.socks_vfour "SOCKS v4">
<!ENTITY torbutton.prefs.socks_vfive "SOCKS v5">
-<!ENTITY torbutton.prefs.no_proxies_on "áá±á¬áºááŒáá«á¡ááœáẠááá±á¬áá·áºáá®áá»á¬áž áááŸááá« -">
-<!ENTITY torbutton.prefs.no_proxy_warning "ááááá±ážáá»áẠ- á¡áááºáá« áááºááá·áºá
ááºá¡áááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááᯠááŸá±á¬ááºáá«á">
-<!ENTITY torbutton.prefs.spoofreresh "áááºááºá
á¬áá»ááºááŸá¬ááŒááºáá±á«áºááá¯ááŸá¯á¡á¬ážáá¯á¶ááŸá¬ážááá¯ááºáá«">
-<!ENTITY torbutton.prefs.refereroptions "ááœáŸááºážáá° áá¯á¶ááŸá¬ážááá¯ááºááŒááºáž ááœá±ážáá»ááºá
áá¬áá»á¬áž">
-<!ENTITY torbutton.prefs.nospoof "áááºááœáŸááºážáá°á¡á¬áž ááá¯ááá«ááŸáá·áº">
-<!ENTITY torbutton.prefs.spoofroot "á
á¬áá»ááºááŸá¬áááá¯ááºááœá²áá«áááºáááºáá»á¬ážááᯠáá¯ááá«á">
-<!ENTITY torbutton.prefs.spoofdomain "áááºááœáŸááºážáá°á¡ááŒá
Ạááá¯ááááºážááᯠáá¯ááá«á">
-<!ENTITY torbutton.prefs.spoofblank "áááºááœáŸááºážáá°á¡áááºá¡á¬áž áááá·áºáá²áá¬ážáá«á">
-<!ENTITY torbutton.cookiedialog.title "ááœááºáá®ážáá¬ááœááºááŸá¯áá»á¬ážááᯠá
á®áá¶ááá·áºááœá²áá«á">
-<!ENTITY torbutton.cookiedialog.lockCol "áá¬ááœááºáá¬ážááŒá®ážááŒá
áºáááºá">
-<!ENTITY torbutton.cookiedialog.domainCol " á¡áááºááŸááºááœááºáá»á°áá¬">
+<!ENTITY torbutton.prefs.no_proxies_on "ááá±á¬ááºáá® áááá¯á¡ááºáááºá· á¡áᬠ-">
+<!ENTITY torbutton.prefs.no_proxy_warning "ááááá±ážáá»áẠ- á¡áááºá០host á¡áááºáá»á¬áž áá¯á¶ážá
áœá²ááŸá¯ááᯠááŸá±á¬ááºáá«">
+<!ENTITY torbutton.prefs.spoofreresh "ááŒááºááŸá¯ááºááŸáá¯ážááŸá¯ááᯠSpoof áá¯ááºáááº">
+<!ENTITY torbutton.prefs.refereroptions "áááºááœáŸááºážáá»áẠáá¯á¶ááŸá¬ážááá¯ááºáááºá· ááœá±ážá
áá¬áá»á¬áž">
+<!ENTITY torbutton.prefs.nospoof "áááºááœáŸááºážáá»ááºááᯠSpoof ááá¯ááºáááº">
+<!ENTITY torbutton.prefs.spoofroot "á€á
á¬áá»ááºááŸá¬á ááŸááá±á¬ ááá¯ááºááœá²ááᯠSpoof áá¯ááºáááº">
+<!ENTITY torbutton.prefs.spoofdomain "ááá¯ááááºážááᯠáááºááœáŸááºážáá°á¡ááŒá
ẠSpoof áá¯ááºáááº">
+<!ENTITY torbutton.prefs.spoofblank "áááºááœáŸááºážáá°ááᯠá¡ááœááºáá¬ážáááº">
+<!ENTITY torbutton.cookiedialog.title "ááœááºáá®áž áá¬ááœááºááŸá¯áá»á¬ážááᯠá
á®áá¶áááºá·ááœá²áááº">
+<!ENTITY torbutton.cookiedialog.lockCol "á¡áá¬á¡ááœáẠáá¯ááºáá¬ážáááº">
+<!ENTITY torbutton.cookiedialog.domainCol "Host">
<!ENTITY torbutton.cookiedialog.nameCol "á¡áááº">
<!ENTITY torbutton.cookiedialog.pathCol "áááºážááŒá±á¬ááºáž">
-<!ENTITY torbutton.cookiedialog.protectCookie "ááœááºáá®ážááᯠáá¬ááœááºáá«á">
-<!ENTITY torbutton.cookiedialog.removeCookie "ááœááºáá®ážááᯠáááºáá¯ááºáá«á">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "ááœááºáá®ážááᯠáá¬ááœááºááá¬ážáá«á">
-<!ENTITY torbutton.cookiedialog.removeAllBut "á¡á¬ážáá¯á¶ážááᯠáááºáá¯ááºáá«á ááá¯á·áá±á¬áº á¡áá¬á¡ááœááºááŒá¯áá¯ááºáá¬ážáááºá">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "ááœááºáá®ážá¡áá
áºáá»á¬ážááᯠáá¬ááœááºáá«á">
-<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ááœááºáá®ážá¡áá
áºáá»á¬ážááᯠáá¬ááœááºááá¬ážáá«ááŸáá·áºá">
-<!ENTITY torbutton.prefs.disable_livemarks "Tor ááᯠá¡áá¯á¶ážááŒá¯áá»áááºá¡ááœááºáž Livemark á¡ááá·áºááá¯ážááŒáŸáá·áºááŸá¯áá»á¬ážááᯠááá
á±ááẠááŒá¯áá¯ááºáá«á">
-<!ENTITY torbutton.prefs.dtd_recommended "(á¡ááŒá¶ááŒá¯ááá¯ááºááœááºážáá¬ážáááºá)">
-<!ENTITY torbutton.prefs.dtd_optional "(áááœá±ážáá»ááºáááºážááááºá)">
-<!ENTITY torbutton.prefs.dtd_crucial "(á¡ááááºážá¡á
á±á¬ááºážááá¶áá«á)">
-<!ENTITY torbutton.prefs.update_torbutton_via_tor "Tor ááŸáááá·áº Torbutton á¡ááá·áºááá¯ážááŒáŸáá·áºááŸá¯áá»á¬ážááᯠáááºááá·áº ááœáŸá²áá«á">
-<!ENTITY torbutton.prefs.dodge_google_captcha "Google Captcha áááá¯áááẠááŸáá·áºá¡áá° áá±á¬áºááŒááá·áºá¡áá« ááŸá¬ááœá±ááŸá¯á¡ááºáá»ááºáá±á¬ááºáá
áºáá»áá¯ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá¯á¶ážáá«á">
+<!ENTITY torbutton.cookiedialog.protectCookie "ááœááºáá®ážááᯠáá¬ááœááºáááº">
+<!ENTITY torbutton.cookiedialog.removeCookie "ááœááºáá®ážááᯠáááºáá¯ááºáááº">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "ááœááºáá®ážááᯠáá¬ááœááºááá¬ážáá«">
+<!ENTITY torbutton.cookiedialog.removeAllBut "á¡á¬ážáá¯á¶ážááᯠáááºáá¯ááºáá«á ááá¯á·áá±á¬áº á¡áá¬á¡ááœáẠáá¯ááºáá¬ážáááº">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "ááœááºáá®ážáá
áºáá»á¬ážááᯠáá¬ááœááºáááº">
+<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "ááœááºáá®ážáá
áºáá»á¬ážááᯠáá¬ááœááºááŒááºáž áááŒá¯áááº">
+<!ENTITY torbutton.prefs.disable_livemarks "Tor áá¯á¶ážá
áœá²áá±áá»áááºááœáẠLivemark ááœááºážáá¶áá»ááºáá»á¬ážááᯠááááºáááº">
+<!ENTITY torbutton.prefs.dtd_recommended "(á¡ááŒá¶ááŒá¯áá¬ážáááº)">
+<!ENTITY torbutton.prefs.dtd_optional "(ááá¯á¡ááºáá»áŸááº)">
+<!ENTITY torbutton.prefs.dtd_crucial "(á¡áá±ážááŒá®ážáááº)">
+<!ENTITY torbutton.prefs.update_torbutton_via_tor "Torbutton ááœááºážáá¶áá»ááºáá»á¬ážááᯠTor ááŸááááºá· âáááºáá±áá¬ááœáŸá²áááº">
+<!ENTITY torbutton.prefs.dodge_google_captcha "áá°áá² Captcha áá
áºáá¯ááŸááºá· áááºááá¯ááºáááºá·á¡áá« á¡ááŒá¬áž ááŸá¬ááœá±áá±áž á¡ááºáá»áẠáá
áºáá»áá¯ážááᯠá¡ááá¯á¡áá»á±á¬áẠáá¯á¶ážá
áœá²áá« -">
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
-<!ENTITY torbutton.prefs.fix_google_srch "Google ááŸá¬ááœá±ááŸá¯á¡ááœááºááŸá áá±ážááœááºážáá»á¬ážá០ááááºáá±á¬ááºážááŸáá·áº áá¬áá¬á
áá¬ážááá¯á·ááᯠáááºáá¯ááºáá«á">
-<!ENTITY torbutton.prefs.transparentTor "áááá¬ááŒááºáá¬ááŒá
áºááá·áº Tor ááŒá
áºá
á±áááºááŒá¯áá¯ááºááŒááºáž (ááá¯ááºááŸá
áºáááºáᬠTor Router ááá¯á·ááá¯áẠtransproxy áá
áºáá¯áá¯ááᯠááá¯á¡ááºáááºá)">
+<!ENTITY torbutton.prefs.fix_google_srch "áá°áá² ááŸá¬ááœá±áá±áž á¡ááœááºááŸá áá±ážááœááºážáá»á¬ážá០ááááºáá±á¬ááºážááŸááºá· áá¬áá¬á
áá¬áž ááá¯á·ááᯠáááºáá¯ááºáááº">
+<!ENTITY torbutton.prefs.transparentTor "ááœááºá·áááºážááŒááºáá¬áá±á¬ Tor áá¯á¶ážá
áœá²ááŸá¯ (á
áááºááŒáá¯áẠtransproxy ááŸááºá· Tor Router ááá¯á¡ááºáááº)">
diff --git a/src/chrome/locale/my/torbutton.properties b/src/chrome/locale/my/torbutton.properties
index ece3efa..e005bc0 100644
--- a/src/chrome/locale/my/torbutton.properties
+++ b/src/chrome/locale/my/torbutton.properties
@@ -1,45 +1,45 @@
-torbutton.button.tooltip.disabled = Tor ááᯠá¡áá¯ááºáá¯ááºáá±á¬ááºá
á±áááºá
-torbutton.button.tooltip.enabled = Tor ááᯠá¡áá¯ááºááá¯ááºáá±á¬ááºá
á±áá«á
-torbutton.panel.tooltip.disabled = Tor ááᯠá¡áá¯ááºáá¯ááºáá±á¬ááºá
á±áááºááᯠááŸáááºáá«á
-torbutton.panel.tooltip.enabled = Tor ááᯠá¡áá¯ááºááá¯ááºáá±á¬ááºá
á±áá« ááᯠááŸáááºáá«á
-torbutton.panel.plugins.disabled = ááŒáá·áºá
áœááºáááá¯ááááºáá»á¬ážááᯠá¡áá¯ááºáá¯ááºáá±á¬ááºá
á±ááẠááŸáááºáá«á
-torbutton.panel.plugins.enabled = ááŒáá·áºá
áœááºáááá¯ááááºáá»á¬ážááᯠá¡áá¯ááºááá¯ááºáá±á¬ááºá
á±ááẠááŸáááºáá«á
-torbutton.panel.label.disabled = Tor ááᯠá¡áá¯ááºááá¯ááºáá±á¬ááºáá«á
-torbutton.panel.label.enabled = Tor á¡áá¯ááºáá¯ááºáá±áááºá
-extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton ááẠFirefox á¡á¬áž Tor ááá±á¬áá·áºáá®ááá¯á· ááœááºáá°á
áœá¬ ááœáŸááºááŒááá¯ááºá
á±ááá·áº (ááá¯á·) ááœáŸááºááŒááŸá¯ááá¯áá»á±á¬ááºáá
áºááá¯ááºááá·áº ááá¯ááºáá
áºáá¯ááᯠáá±á¬ááºáá¶á·áá¬ážáááºá
-torbutton.popup.history.warning = Torbutton ááẠááá°áá®ááá·áº Tor á¡ááŒá±á¡áá±áá
áºáá¯ááœáẠáá±á«áºáá°áá¬ážááá·áº áá»ááºááŸá¬á
á¬áá
áºáá¯á០ááŸá¯ááºááŸá¬ážááŸá¯ááᯠááááºáááºáá¬ážáááºá\n\náááºážáá²á·ááá¯á· ááŒá¯áá¯ááºááŒááºážááẠFirefox áá»áá¯á·ááœááºážáá»ááºáá»á¬áž áááááá ááŸáá·áº áááááá áááºážáá»ááºá á¡áá¯ááºáá¯ááºááẠááŒá
áºáááºá\n\ná¡áááºá áááºážááœáá·áºáá»áá®ážáá°ážááẠá¡ááŒá±á¬ááºážáááŸááá² áá±á«áºáá¬áááºáᯠáááºááŒááºáá»áŸáẠáááºá áá»ááºááŸá¬á
á¬áá»á¬ážá¡ááẠáá
áºáá¯ááẠáá±á¬ááºááœááºá០áá°á·áá¬áá¬áá° ááŒááºááœá²áááºáááº
ááŒáá¯áááºážáá±ááŒá®áž áááºážááᯠááááºáááºáá¬ážáááºá\n\náááºáž Tor á¡ááŒá±á¡áá±ááœáẠáá»ááºááŸá¬á
á¬ááᯠááŒááºááœá²áááºááẠURL áááºážááŒá±á¬ááºáž áááºáá±áᬠá¡ááœááºáá²ááœáẠ'enter' ááá¯ááºááᯠááŸáááºáá«á\n\n
-torbutton.popup.plugin.warning = Torbutton ááẠááŒáá·áºá
áœááºáááá¯áááẠá¡ááŒá±á¬ááºážá¡áá¬á Tor ááᯠááá¯ááºááá¯ááºááœá²áá°ááŒááºáž ááᯠááááºáááºáááºá\n\náááºážá¡á
á¬áž áá±á¬ááºáá
áºáááºážááŒáá·áºááááºážááẠááᯠá¡áá¯á¶ážááŒá¯áá«á\n\n
-torbutton.popup.confirm_ca_certs = Torbutton ááŸááºááẠ- ááá·áºáá¶ááœáẠá¡ááá¡ááŸááºááŒá¯ááẠáá¯ááºááá¯ááºááœáá·áº á¡áá»áá¯ážáá»áá¯áž áááŸáááẠáᯠáááºááááºá á¡ááá¡ááŸááºááŒá¯ááẠáá¯ááºááá¯ááºááœáá·áº á
á¬áááºážááᯠá
á
áºáá±ážááŒááºážááẠá¡ááœááºááŸá±ážááœá±ážááá·áº áá¯ááºáááºážáááºáááºááŸá¯ááŒá
áºááŒá®áž Tor á¡ááœáá·áºá¡ááááºá¡á¬áž ááŸá±ážááœá±ážááœá¬ážá
á±áááºá á¡ááá¡ááŸááºááŒá¯ááẠáá¯ááºááá¯ááºááœáá·áº áá®ážááá·áºáá¬ážááŒááºážááᯠáááºá ááŒááºááŒá¯ááºááá¯áá«ááá¬áž ? (á¡áááºá áááºááẠáááºážááá
á¹á
ááᯠáá¬ážááááºáá«áá»áŸáẠá
á±á¬ááºážááŒá® ááá¯ááºááᯠááŸáááºááẠá
áááºáá»ááááºá)
-torbutton.popup.ff3.warning = ááááá±ážáá»ááº!\n\nFirefox 3 á០Torbutton ááẠTor ááŸáááá·áº áááºá á¡áá»áááºáá¯ááºááŸáá·áº livemarks ááá¯á·ááᯠáá±á«ááºááŒá¬ážá
á±áááºáᯠáááá¬ážáááºá\n\náááºááẠáááºááá·áºáááºážááŒáá·áºáááᯠáááºááœá¬ážááá¯áá«ááá¬ážá
-torbutton.popup.toggle.warning = Tor ááᯠááááºááŒá®áž ááŒááºááœáá·áºááẠááá¯á¡ááºáááºá ááá¯á·ááá¯ááºáá«á áááºá á
áá
áºááŒááºáááºááŸá¯áá»á¬áž á¡áááºáááºááẠá
ááºááᯠááŒááºááœáá·áºáá«á
-torbutton.popup.test.success = Tor ááá±á¬áá·áºáá®á
á
áºáá±ážááŸá¯ á¡á±á¬ááºááŒááºáááº!
-torbutton.popup.test.failure = Tor á
á
áºáá±ážááŸá¯ áá¡á±á¬ááºááŒááºáá« ! áááºá ááá±á¬áá·áºáá® ááŸáá·áº Polipo á
áá
ẠááŒááºáááºááŸá¯áá»á¬ážááᯠá
á
áºáá±ážáá«á
-torbutton.popup.test.confirm_toggle = Tor ááᯠáá¯á¶ážááẠáááŒá¬áá±ážáá®á Tor ááá±á¬áá·áºáá® á
á
áºáá±ážááŸá¯ áá¡á±á¬ááºááŒááºáá«á\n\náááºááá·áºáááºážáááºážááŒáá·áºáááᯠá¡á±á¬ááºááŒááºá¡á±á¬áẠáá¯ááºáá»ááºáááºááŸá¬ áá±áá»á¬áá«ááá¬áž?\n\nááŸááºááẠ- á¡áááºá áááºááẠááŒá¿áá¬ááᯠááŒááºáááºááá¯áá«áá»áŸáẠáááºááẠááᯠááááá±ážáá»ááºááᯠáááºááŸá¬ážáá
áºááẠTorbutton ááá±á¬áá·áºáá® ááá¯áá¬ážáá»ááºáá»á¬áž áááºážááá¯ážáá²ááŸá á
á
áºáá±ážááŸá¯ááá¯á· ááŒááºááœá¬ážááá¯ááºáááºá
-torbutton.popup.test.ff3_notice = Tor ááá±á¬áá·áºáá®á
áá
áºááŒááºáááºááŸá¯áá»á¬ážááᯠá
á
áºáá±ážááẠáá±á¬ááºážááŒá®ááᯠááŸáááºáá«á áááºážá
á
áºáá±ážááŸá¯ááẠáá±á¬ááºááœááºá០áá¯ááºáá±á¬ááºááœá¬ážáááá·áºáááºá áá»á±ážáá°ážááŒá¯á á
áááºááŸááºáá±ážáá«á
-torbutton.panel.label.verified = Tor á¡áááºááŒá¯ááŒá®áž ááŒá
áºáááºá
-torbutton.popup.test.auto_failed = Tor ááᯠá¡áá¯á¶ážááŒá¯ááẠTor ááá±á¬áá·áºáá® á¡ááá¯á¡áá»á±á¬áẠá
á
áºáá±ážááŸá¯ áá¡á±á¬ááºááŒááºáá«á\n\náááºááẠáááºááá·áºáááºážááŒáá·áºáááᯠáá¡á±á¬ááºáá¯ááºáá»ááºáááºááŸá¬ áá±áá»á¬áá«ááá¬ážá
+torbutton.button.tooltip.disabled = Tor ááœááºá·áááº
+torbutton.button.tooltip.enabled = Tor ááááºáááº
+torbutton.panel.tooltip.disabled = Tor ááᯠááœááºá·ááẠááŸáááºáá«
+torbutton.panel.tooltip.enabled = Tor ááᯠááááºááẠááŸáááºáá«
+torbutton.panel.plugins.disabled = ááááºá¡ááºáá»á¬ážááᯠááœááºá·ááẠááŸáááºáá«
+torbutton.panel.plugins.enabled = ááááºá¡ááºáá»á¬ážááᯠááááºááẠááŸáááºáá«
+torbutton.panel.label.disabled = ááááºáá¬ážáá±á¬ Tor
+torbutton.panel.label.enabled = ááœááºá·áá¬ážáá±á¬ Tor
+extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton ááẠáá®ážáá»áŸá¶ááŒá±ááœá±ážááᯠTor ááá±á¬ááºáá®áá¶ ááœáŸááºááŒááŸá¯ááᯠá¡ááœááºááá° ááœááºá·ááá¯áẠ(ááá¯á·) ááááºááá¯ááºáááºá· ááá¯ááºáá
áºáá¯ááᯠáá¶á·ááá¯ážáá±ážáááº
+torbutton.popup.history.warning = Torbutton ááẠá¡ááŒá¬áž Tor á¡ááŒá±á¡áá± áá
áºáá¯ááœáẠááœááºá·áá¬ážáááºá· á
á¬á¡ááŸáẠáá
áºáá¯á០ááŸá¯ááºááŸá¬ážááŸá¯ááᯠááááºááá¯ááºáááºá\n\náááºážááᯠáá®ážáá»áŸá¶ááŒá±ááœá±áž áá»áá¯á·ááœááºážáá»ááºáá»á¬áž áááááá ááŸááºá· áááááá áááºážáá»ááºá á¡áá¯ááºáá¯ááºááẠááŒá
áºáááºá\n\ná¡áááºá á€ááœááºá·ááœáẠá
á¬áá»ááºááŸá¬ááẠá¡ááŒá±á¬ááºážáááŸááá² áá±á«áºáá¬áá«áá áááºá· á
á¬á¡ááŸáẠáá
áºáá¯ááẠáá±á¬ááºááœááºá០áá°á·áá¬áᬠááœááºá·ááẠááŒáá¯ážáááºážáá±ááŒá®ážá áááºážááᯠááááºáá¬ážáááºá\n\nဠTor á¡ááŒá±á
¡áá±ááœáẠá
á¬á¡ááŸááºáºááᯠááŒááºááœááºá·áá«áá URL áááºážááŒá±á¬ááºáž áááºáá±áᬠá¡ááœááºáá²ááœáẠ'áááºá·ááœááºážáááº' ááá¯ááºááᯠááŸáááºáá«á\n\n
+torbutton.popup.plugin.warning = Torbutton ááẠááááºá¡áẠá¡ááŒá±á¬ááºážá¡áá¬áá²á ááá¯ááºááá¯áẠTor ááœááºá·ááŒáá»ááºááᯠááááºááá¯ááºáááºá\n\náááºážá¡á
á¬áž Save-As ááᯠáá¯á¶ážáá«á\n\n
+torbutton.popup.confirm_ca_certs = Torbutton ááŸááºáá»áẠ- áááºá·áá¶á á
áááºááŒáá¯áẠá¡ááá¡ááŸááºááŒá¯ áá¯ááºááá¯ááºááœááºá·áá»á¬áž ááŸááá¯á¶ááá±á«áºáá«á á¡ááá¡ááŸááºááŒá¯ áá¯ááºááá¯ááºááœááºá· á
á¬áááºážááᯠá
á
áºáá±ážááŒááºážááẠá¡ááœáẠááŸá±ážááœá±ážáááºá· áá¯ááºáááºážááŒá
áºááŒá®ážTor á¡ááááºážááá¯ááºááᯠááŸá±ážááœá±ážá
á±áááºá á¡ááá¡ááŸááºááŒá¯ áá¯ááºááá¯ááºááœááºá· áááºááŸááºáá»á¬ážááᯠáá®ážáááºá·áá¬ážááŸáááŸá¯ááᯠááẠááááºááá¯ááá¬ážá (á¡áááºá á€á¡áá»ááºááᯠááẠáá¬ážááááºáá«áá áá±á¬ááºážááŒá® ááá¯ááºááᯠá
áááºáá»ááá
ºáá» ááŸáááºááá¯ááºáááº)
+torbutton.popup.ff3.warning = ááááá±ážáá»ááº!\n\náá®ážáá»áŸá¶ááŒá±ááœá±áž á á ááŸááá±á¬ Torbutton ááẠTor áááááºá· áááºá· á
á¶âáá±á¬áºáá»áááºááŸááºá· livemarks ááá¯á·ááᯠáá±á«ááºááŒá¬ážá
á±ááá¯ááºáááºáᯠááááááºá\n\nááẠáááºááẠáá¯ááºáá±á¬ááºááá¯ááá¬áž?
+torbutton.popup.toggle.warning = Tor ááᯠááááºááŒá®áž áááºá·áá»áááºááŸááá»ááºáá»á¬áž á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ ááŸáá
á±ááẠáááºážááá¯ážááŒááºááœááºá·ááá¯á· ááá¯á¡ááºáááºá
+torbutton.popup.test.success = Tor ááá±á¬ááºáá® á
ááºážáááºáá»áẠá¡á±á¬ááºááŒááºáááº!
+torbutton.popup.test.failure = Tor á
ááºážáááºááŸá¯ áá¡á±á¬ááºááŒááºáá«! áááºá· ááá±á¬ááºáá®ááŸááºá· Polipo áá»áááºááŸááá»ááºáá»á¬ážááᯠá
á
áºáá±ážáá«á
+torbutton.popup.test.confirm_toggle = áááºááá±á¬ Tor ááá±á¬ááºáá® á
ááºážáááºááŸá¯ áá¡á±á¬ááºááŒááºáá«á\n\náááºážááᯠááœááºá·ááẠáá±áá»á¬ááá¬ážá?\n\nááŸááºáá»áẠ- á¡áááºá áááºááẠááŒá¿áá¬ááᯠááŒá±ááŸááºážááá¯ááºáá»áŸááºá á
ááºážáááºááŸá¯ááᯠTorbutton ááá±á¬ááºáá® áŠážá
á¬ážáá±ážáá»ááºáá»á¬áž áááºážááá¯ážá ááŒá¯áá¯ááºááŒá®áž á€ááááá±ážáá»ááºááᯠááẠáááºááŸá¬ážááá¯ááºáááºá
+torbutton.popup.test.ff3_notice = Tor ááá±á¬ááºáá® áá»áááºááŸááá»ááºáá»á¬ážááᯠá
ááºážáááºááẠáá±á¬ááºážááŒá®ááᯠááŸáááºáá«á á€á
ááºážáááºááŸá¯ááẠáá±á¬ááºáá¶á ááŒá
áºáá»ááºáá¬ááááºá·áááºá á
áááºááŸááºáá±ážáááẠááŒá
áºáááºá
+torbutton.panel.label.verified = Tor á¡áááºááŒá¯áá¯ááºááŒá®
+torbutton.popup.test.auto_failed = á¡ááá¯âá¡áá»á±á¬áẠTor âááá±á¬ááºáá® á
ááºážáááºááŸá¯ áá¡á±á¬ááºááŒááºáá«á\n\náááºážááẠááẠáááẠááœááºá·ááá¯ááá¬áž?
torbutton.prefs.recommended = (á¡ááŒá¶ááŒá¯áá¬ážáááº)
-torbutton.prefs.optional = (ááŸá
áºáááºáá¬)
-torbutton.prefs.crucial = (á¡ááœááºá¡áá±ážáá«)
-torbutton.popup.external.title = ááŒááºáá០á¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠááœá²áá°áááºáá¬áž?
-torbutton.popup.external.app = áááºážááᯠááá¯ááºááœááºááŒá±ááŸááºážááẠááŒááºáá¡áá¯á¶ážáá»áá±á¬á·ááºáá²ááºááᯠááá¯á¡ááºááẠ- \n\n
-torbutton.popup.external.note = \n\nááŸááºááẠ- ááŒááºáá០á¡áá¯á¶ážáá»áá±á¬á·ááºáá²ááºááẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº Tor á¡á¬áž ááá¯á¶ááŒá¯á¶á
á±áá«á ááá·áºá¡á¬áž Unmask ááŒá
áºá
á±áááºá\n
-torbutton.popup.external.suggest = \ná¡áááºá áááºážááá¯ááºááᯠáá¯á¶ááŒááºá
áááºááá»ááá»áŸáẠá¡ááºáá¬ááá¯ááºážááŒááºááá»ááẠááá¯á·ááá¯áẠVM áá
áºáá¯á¡áá²ááœáẠááŸááá»áááºááá¯á·ááœáẠááŒáá·áºááẠáááºážááá¯ááºááᯠááºááºá ááááºážáá¬ážááááºá \nááá¯á·ááá¯ááºáá«ááááºáž Tails LiveCD ááá¯á·ááá¯áẠtorsock ááá¯á·áá²á·ááá¯á· áááºáá¬ááŒááºáá¬ááŸáááá·áº Tor ááá±á¬áá·áºáá®ááᯠáá¯á¶ážááŒáá·áºááááºá\n
-torbutton.popup.launch = á¡áá¯á¶ážáá»áá±á¬á·ááºáá²ááºááᯠá¡á
ááŒá¯á á¡áá¯ááºáá¯ááºáá±á¬ááºá
á±áááºá
-torbutton.popup.cancel = áááºáá»ááºáá«á
-torbutton.popup.dontask = áááºáá±áá¬ááŸá
á á¡áá¯á¶ážáá»áá±á¬á·ááºáá²ááºáá»á¬ážááᯠá¡ááŒá²áááºáž á¡á
ááŒá¯á¡áá¯ááºáá¯ááºáá±á¬ááºá
á±áá«á
-torbutton.popup.test.no_http_proxy = Tor ááá±á¬áá·áºáá® á
á
áºáá±ážááŸá¯ - ááá¯ááẠHTTP ááá±á¬áá·áºáá® ááᯠááá±á¬ááºááŸáááá¯ááºáá«á Polipo áá±á¬ááºážá
áœá¬ á¡áá¯ááºáá¯ááºáá±á¬ááºáá«ááá¬áž?
-torbutton.popup.captcha.title = Google Captchas áááá¯ááááºááᯠááá¯ááºáá»ááºáá°ážáá¬áž?
-torbutton.popup.captcha.ask = Torbutton ááẠGoogle Captcha áááá¯ááááºááᯠá
á
áºáá±ážááœá±á·ááŸááá±áááºá
-torbutton.popup.captcha.always = áááºáá±áá¬ááŸá
á áááºááŸá¯ááºááŸá¬ážááŸá¯ááᯠá¡ááŒá²áááºáž áá¯ááºáá±á¬ááºáá«á
-torbutton.popup.redirect = áááºážááŒá±á¬ááºážááŒá±á¬ááºážáá«á
-torbutton.popup.no_redirect = áááºážááŒá±á¬ááºážáááŒá±á¬ááºážáá«á
-torbutton.popup.prompted_language = áááºá áá¯áá¹áááááá¯á¶ááŒá¯á¶ááŸá¯ááᯠááá¯ááᯠáááŸáááẠáááºááºá
á¬áá»ááºááŸá¬áá»á¬ážá á¡ááºá¹áááááºáá¬áá¬á
áá¬ážáá¬ážááŸááºážááᯠTorbutton á áá±á¬ááºážááá¯ááá¯ááºáááºá áááºážááá¯á·ááŒá¯áá¯ááºááŒááºážááẠá¡ááºá¹áááááºáá¬áá¬á
áá¬ážááŒáá·áºáááºá áááºá áááááºáá¬áá¬á
áá¬ážááŒáá·áº áááºááá¯ááá·áº áááºááºá
á¬áá»ááºááŸá¬áá»á¬ážááááºážááá¯á·ááŒá¯áá¯ááºááŒááºážááẠáááºááºá
á¬áá»ááºááŸá¬áá»á¬ážááᯠá¡ááºá¹áááááºáá¬áá¬á
áá¬ážááŒáá·áº ááŒáááá·áºá¡á
á¬áž áááºá áááááºáá¬áá¬á
áá¬ážááŒáá·áº áááºáá
á¯á·áá
á±áááº
-torbutton.popup.no_newnym = Torbutton ááẠááá·áºá¡á¬áž á¡áá¯ááºáá®á¡áá
áºááᯠáá¯á¶ááŒá¯á¶á
áááºáá»áá
áœá¬ ááá±ážááá¯ááºáá«á áááºážááẠTor ááááºážáá»á¯áẠáááºááœááºáá±á«ááºááá¯á· ááááºáá±á¬ááºáá«á\n\náááºááẠTor ááá±á¬áá·áºáᬠá¡á
á¯á¡áá±ážááᯠááœáá·áºáá¬ážáá«ááá¬áž ?
-torbutton.popup.use_tbb = áá
-torbutton.popup.pref_error = Tor ááŒáá·áºááŸá¯áááá¯áááẠáááá¯ááá¯áẠáááºážááŒá±á¬ááºážáá²ááœáẠááá¯áá¬ážáá»ááºáá»á¬ážááᯠTorbutton á á¡ááá·áºáááŒáŸáá·áºáááºáá±ážááá¯ááºáá«á
-torbutton.popup.permission_denied = áá»á±ážáá°ážááŒá¯á Tor ááŒáá·áºááŸá¯áááá¯áááẠááá¯ááºáááºážááŒá±á¬ááºážá ááœáá·áºááŒá¯áá»ááºáá»á¬ážááᯠááŒááºááẠáááºááŸááºáá«á ááá¯á·ááá¯ááºáá«á Tor ááŒáá·áºááŸá¯áááá¯áááẠááá¯ááºáááºážááŒá±á¬ááºážááᯠáááºáá±áá¬á¡áá
áºááá¯á· áá°ážáá°áá«á
-torbutton.popup.device_full = ááá¯ááŸá±á¬ááºá
áẠáá±áá¬ááŒáá·áºáá±áááºáá¯áááºááááºá áá»á±ážáá°ážááŒá¯á ááá¯ááŸá±á¬ááºáááºáá±áá¬ááœááºá¡á±á¬ááºáá¯ááºáá«á ááá¯á·ááá¯áẠá
ááºá¡áá
áºááá¯á· Tor ááŒáá·áºááŸá¯áááá¯áááẠááᯠááŒá±á¬ááºážááœá±á·áá«á
+torbutton.prefs.optional = (ááá¯á¡ááºáá«á)
+torbutton.prefs.crucial = (á¡ááœááºááŒá®ážáááº)
+torbutton.popup.external.title = ááŒááºáá០á¡ááŒá±á¬ááºážá¡áá¬ááᯠááœááºá·áááº
+torbutton.popup.external.app = ááŒááºá á¡áá¹ááá®áá±ážááŸááºáž áá
áºáá¯ááᯠááŒá±ááŸááºážááẠááá¯á¡ááºááẠ- \n\n
+torbutton.popup.external.note = \n\nááŸááºáá»áẠ- ááŒááºá á¡áá¹ááá®áá±ážááŸááºážáá»á¬ážááẠáá¯á¶ááŸááºá¡á¬ážááŒááºá· áá¯á¶ááŒá¯á¶áá±á¬ Tor ááá¯ááºáá«á áááºážá áááºá·ááᯠáá±á«áºááá¯ááºáááºá\n
+torbutton.popup.external.suggest = \ná¡áááºá á€ááá¯ááºááᯠá
áááºááá»áá«áá ááẠá¡á±á¬á·ááºááá¯ááºáž ááŸááá±áá»áááºá (ááá¯á·) VM áá
áºáá¯áá²ááœááº\n ááŸááá±áá»áááºááœáẠáááºážááᯠááŒááºá·ááẠááẠááááºážáááºážáá¬ážááá¯ááºááẠ(ááá¯á·) Tails LiveCD ááá¯á·ááá¯ááº\n torsocks ááá¯á·áá²á·ááá¯á·áá±á¬ Tor ááá±á¬ááºáá®ááᯠáá¯á¶ážá
áœá²ááẠá
ááºážá
á¬ážáá«á\n
+torbutton.popup.launch = á¡áá¹ááá®áá±ážááŸááºážááᯠááœááºá·áááº
+torbutton.popup.cancel = áá»ááºááááºážáááº
+torbutton.popup.dontask = ááá¯á¡áá»áááºááŸá
ááŒá®áž á¡áá¹ááá®áá±ážááŸááºážáá»á¬ážááᯠá¡ááŒá² ááœááºá·áááº
+torbutton.popup.test.no_http_proxy = Tor ááá±á¬ááºáá® á
ááºážáááºáá»áẠ- ááá¯ááẠHTTP ááá±á¬ááºáá®ááᯠáááºááŸááºáž áááŸá®ááá¯ááºáá«á Polipo ááẠáá±á¬ááºážááœááºá
áœá¬ á¡áá¯áẠáá¯ááºáá±áá«ááá¬áž?
+torbutton.popup.captcha.title = áá°áá² Captchas ááᯠááŸá±á¬ááºááŸá¬ážááá¬áž?
+torbutton.popup.captcha.ask = Torbutton ááẠáá°áá² Captcha ááᯠá
á
áºáá±ážááœá±á·ááŸááááºá á€áá±ážááŒááºážáá»ááºááᯠá¡ááŒá¬áž ááŸá¬ááœá±áá±áž á¡ááºáá»ááºáá® áááºážááœáŸá²áááºáá¬áž?
+torbutton.popup.captcha.always = á€ááŸá¯ááºááŸá¬ážááŸá¯ááᯠááá¯ááŸá
ááŒá®áž á¡ááŒá²áááºáž áá¯ááºáá±á¬ááºáááº
+torbutton.popup.redirect = áááºážááœáŸá²áááº
+torbutton.popup.no_redirect = áááºážáááœáŸá²áá«
+torbutton.popup.prompted_language = áááºá· ááá¯ááºáá±ážááá¯ááºáᬠáá¯á¶ááŒá¯á¶áá±ážááᯠááá¯ááᯠáááŸááááºá Torbutton ááẠááœááºááẠá
á¬áá»ááºááŸá¬áá»á¬ážááᯠá¡ááºá¹ááááẠáá¬áᬠáá¬ážááŸááºážááŒááºá· áá±á¬ááºážáá¶áá±ážááá¯ááºáááºá áááºážááá¯á·ááŒá¯áá¯ááºááŒááºážááẠáááºá· áá¬áá¬ááŒááºá· áááºááŸá¯ááá¯áá±á¬ ááœááºááẠá
á¬áá»ááºááŸá¬áá»á¬ážááᯠá¡ááºá¹ááááẠáá¬áá¬áááŒááºá· áá±á«áºááŒáá±ááẠááŒá
áºáááºá\n\náá¯á¶ááŒá¯á¶ááŸá¯ ááá¯ááŸááááºá¡ááœáẠá¡ááºá¹ááááẠáá¬áá¬ááŒááºá· ááœááºáááºá
á¬áá»ááºááŸá¬áá»á¬ážááᯠááẠáá±á¬ááºážáá¶á
áá¯ááá¬áž?
+torbutton.popup.no_newnym = Torbutton ááẠáááºá·á¡á¬áž á¡áá±á¬ááºá¡áá¬áž á¡áá
áºááᯠáá¯á¶áá¯á¶ááŒá¯á¶ááŒá¯á¶ ááá±ážááá¯ááºáá«á áááºážááẠTor ááááºážáá»á¯ááºáá±áž Port áá² ááááºáá±á¬ááºááá¯ááºáá«á\n\nTor Browser Bundle ááᯠááẠáá¯á¶ážá
áœá²áá±ááá¬áž?
+torbutton.popup.use_tbb = áááºááẠTorbutton ááᯠáá®ážâáá»áŸá¶ááŒá±ááœá±ážááŸááºá· á¡áá¯á¶ážááŒá¯áá±áá¯á¶áá±á«áºáááºá áááºážááẠá¡ááŒá¶ááŒá¯áá¬ážáá±á¬ áá¯á¶ááŒá¯á¶áááºá· ááŒááºáááºáá»áẠááá¯ááºáá±á¬á·áá«á\n\náááºážá¡á
á¬ážá áá±á¬ááºáá¯á¶ážááœáẠTor Browser Bundle ááᯠgettor(a)torproject.org áá¶ á¡á®ážáá±ážáẠáá±ážááá¯á·ááŒááºážááŒááºá· (ááá¯á·) á¡á±á¬ááºáá« URL á âáá±á«ááºážáá¯áẠááœá²ááŒááºážááŒááºá· áááºáááŸáááẠáá»áœááºá¯ááºááá¯á· á¡ááŒá¶ááŒá¯ááá¯ááẠ-
+torbutton.popup.pref_error = Torbutton ááẠáŠážâá
á¬ážáá±ážáá»ááºáá»á¬ážááᯠTor Browser áááá¯ááá¯ááºážáá²á ááœááºážáá¶ááá±ážááá¯ááºáá«á
+torbutton.popup.permission_denied = Tor Browser ááá¯ááºáááºážááŒá±á¬ááºážá¡ááœáẠááœááºá·ááŒá¯áá»ááºáá»á¬ážááᯠááŒááºáá»áááºáá« ááá¯á·ááá¯áẠáááºážááᯠáá±áá¬á¡áá
áºááá¯á· áá±á¬áºáá®áá°ážáá«á
+torbutton.popup.device_full = Disk ááŒááºá·áá±áá¯á¶áá±á«áºáááºá áá±áá¬ááᯠá¡ááœááºáá¬ážáá« (ááá¯á·) Tor Browser ááᯠá
ááºáááááᬠá¡áá
áºáá
áºáá¯áá² ááœáŸá±á·ááá¯ááºáá«á
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/nb/torbutton.dtd b/src/chrome/locale/nb/torbutton.dtd
index 7373684..c05d5dc 100644
--- a/src/chrome/locale/nb/torbutton.dtd
+++ b/src/chrome/locale/nb/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Fjern platform og språk fra Google Search Box sÞk.">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/nl/torbutton.dtd b/src/chrome/locale/nl/torbutton.dtd
index ade7d9c..8eaa23f 100644
--- a/src/chrome/locale/nl/torbutton.dtd
+++ b/src/chrome/locale/nl/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Systeem- en taalgegevens verwijderen bij gebruik van de Google zoekbalk">
<!ENTITY torbutton.prefs.transparentTor "Transparante Torificatie (Heeft aangepaste transparente proxy of Tor router nodig)">
diff --git a/src/chrome/locale/pl/torbutton.dtd b/src/chrome/locale/pl/torbutton.dtd
index aaf9e6a..8a5b965 100644
--- a/src/chrome/locale/pl/torbutton.dtd
+++ b/src/chrome/locale/pl/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "UsuÅ nazwÄ systemu i jÄzyk z zapytaÅ Google">
<!ENTITY torbutton.prefs.transparentTor "Przezroczysta toryfikacja (wymaga wÅasnego transproxy lub routera Tora)">
diff --git a/src/chrome/locale/pt-BR/torbutton.dtd b/src/chrome/locale/pt-BR/torbutton.dtd
index a1cec99..c0fa4c6 100644
--- a/src/chrome/locale/pt-BR/torbutton.dtd
+++ b/src/chrome/locale/pt-BR/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.com">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Remover plataforma e idioma das consultas da Caixa de Busca do Google">
<!ENTITY torbutton.prefs.transparentTor "Torificação Transparente (Requer transpoxy customizado ou roteador Tor)">
diff --git a/src/chrome/locale/pt/torbutton.dtd b/src/chrome/locale/pt/torbutton.dtd
index 696d246..d27af5d 100644
--- a/src/chrome/locale/pt/torbutton.dtd
+++ b/src/chrome/locale/pt/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Retirar plataforma e lÃngua dos pedidos da caixa de pesquisa do Google">
<!ENTITY torbutton.prefs.transparentTor "Torificação transparente (Necessita transpoxy customizado ou router Tor)">
diff --git a/src/chrome/locale/ro/torbutton.dtd b/src/chrome/locale/ro/torbutton.dtd
index 8fcd32c..1469969 100644
--- a/src/chrome/locale/ro/torbutton.dtd
+++ b/src/chrome/locale/ro/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.com">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "EliminaÈi informaÈii despre platformÄ Èi limbÄ din cererile câmpurilor de cÄutare Google">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/ro/torbutton.properties b/src/chrome/locale/ro/torbutton.properties
index 950e1f8..f41ae69 100644
--- a/src/chrome/locale/ro/torbutton.properties
+++ b/src/chrome/locale/ro/torbutton.properties
@@ -1,4 +1,4 @@
-torbutton.button.tooltip.disabled = PorneÅte Tor
+torbutton.button.tooltip.disabled = Activeaza Tor
torbutton.button.tooltip.enabled = OpreÅte Tor
torbutton.panel.tooltip.disabled = Click pentru a porni Tor
torbutton.panel.tooltip.enabled = Click pentru a opri Tor
diff --git a/src/chrome/locale/ru/torbutton.dtd b/src/chrome/locale/ru/torbutton.dtd
index 7b6189d..84a964c 100644
--- a/src/chrome/locale/ru/torbutton.dtd
+++ b/src/chrome/locale/ru/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "УЎалÑÑÑ ÑÐ²ÐµÐŽÐµÐœÐžÑ ÐŸ плаÑÑПÑЌе О ÑзÑке Оз запÑПÑПв ÑÑÑПкО пПОÑка Google">
<!ENTITY torbutton.prefs.transparentTor "ÐÑПзÑаÑÐœÐ°Ñ ÑПÑОÑОкаÑÐžÑ (ТÑебÑÐµÑ Ð¿ÐŸÐ»ÑзПваÑелÑÑкОÑ
transproxy ОлО Tor-ЌаÑÑÑÑÑОзаÑПÑа)">
diff --git a/src/chrome/locale/sr/torbutton.dtd b/src/chrome/locale/sr/torbutton.dtd
index e2d127c..52c141f 100644
--- a/src/chrome/locale/sr/torbutton.dtd
+++ b/src/chrome/locale/sr/torbutton.dtd
@@ -15,11 +15,11 @@
<!ENTITY torbutton.prefs.proxy.host.gopher "Gopher пПÑÑеЎМОк:">
<!ENTITY torbutton.prefs.proxy.host.socks "SOCKS ЎПЌаÑОМ:">
<!ENTITY torbutton.prefs.proxy.port "ÐПÑÑ:">
-<!ENTITY torbutton.about.title "РЎПЎаÑкÑ">
+<!ENTITY torbutton.about.title "Ð Torbutton">
<!ENTITY torbutton.about.version "ÐеÑзОÑа:">
<!ENTITY torbutton.about.summary "КÑОÑО пÑОваÑМПÑÑ Tor пÑеÑÑажОваÑа.">
-<!ENTITY torbutton.about.code "Code Contributors:">
-<!ENTITY torbutton.about.maintainer "Maintainer:">
+<!ENTITY torbutton.about.code "Kodiranje pomogli:">
+<!ENTITY torbutton.about.maintainer "OdrÅŸava:">
<!ENTITY torbutton.about.security_review "ÐезбеЎМПÑМа ÑевОзОÑа:">
<!ENTITY torbutton.about.donate "ÐкП ваЌ Ñе ÑвОÑа Tor, ÑазЌОлОÑÑе П">
<!ENTITY torbutton.about.make_donation "ЎПМОÑаÑÑ.">
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "IXQuick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "Scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "СкОМО плаÑÑПÑÐŒÑ Ðž ÑезОк Ñа Google пÑеÑÑажОваÑа">
<!ENTITY torbutton.prefs.transparentTor "ТÑаМÑпаÑеМÑа ТПÑОÑОкаÑОÑа (заÑ
Ñева пПÑебаМ Tor пÑПкÑО ОлО Tor ÑÑÑеÑ)">
diff --git a/src/chrome/locale/sr/torbutton.properties b/src/chrome/locale/sr/torbutton.properties
index c151af3..51a8333 100644
--- a/src/chrome/locale/sr/torbutton.properties
+++ b/src/chrome/locale/sr/torbutton.properties
@@ -1,45 +1,45 @@
-torbutton.button.tooltip.disabled = ÐЌПгÑÑО Tor
-torbutton.button.tooltip.enabled = ÐМеЌПгÑÑО Tor
-torbutton.panel.tooltip.disabled = ÐлОкМОÑе Ўа бОÑÑе ПЌПгÑÑОлО Tor
-torbutton.panel.tooltip.enabled = ÐлОкМОÑе Ўа бОÑÑе ПМеЌПгÑÑОлО Tor
+torbutton.button.tooltip.disabled = ÐЌПгÑÑО ТПÑ
+torbutton.button.tooltip.enabled = ÐМеЌПгÑÑО ТПÑ
+torbutton.panel.tooltip.disabled = ÐлОкМОÑе Ўа бОÑÑе ПЌПгÑÑОлО ТПÑ
+torbutton.panel.tooltip.enabled = ÐлОкМОÑе Ўа бОÑÑе ПМеЌПгÑÑОлО ТПÑ
torbutton.panel.plugins.disabled = ÐлОкМОÑе Ўа бОÑÑе ПЌПгÑÑОлО ЎПЎаÑке
torbutton.panel.plugins.enabled = ÐлОкМОÑе Ўа бОÑÑе ПМеЌПгÑÑОлО ЎПЎаÑке
-torbutton.panel.label.disabled = Tor Ñе ПМеЌПгÑÑеМ
-torbutton.panel.label.enabled = Tor Ñе ПЌПгÑÑеМ
-extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton ÑÑваÑа ÐŽÑгЌе за лакÑе ÑкÑÑÑОваÑе О ОÑкÑÑÑОваÑе пПÑÑеЎМОÑке ÐŒÑеже Tor Ма пÑПгÑÐ°ÐŒÑ ÑаÑеÑÑПкÑ.
-torbutton.popup.history.warning = Torbutton Ñе забÑаМОП акÑОвМПÑÑО Оз ÑезОÑка кПÑО Ñе ÑÑОÑаМ Ñ ÐŽÑÑгаÑОÑе Tor ÑÑаÑе.\n\nÐвП Ñе ЎеÑава какП бОÑЌП ÑеÑОлО ÑаÑеÑÑÐŸÐºÑ Ð³ÑеÑке 409737 О 417869.\n\nУкПлОкП пÑОЌеÑОÑе Ўа Ñе ÐŸÐ²Ð°Ñ ÐžÑкаÑÑÑО пÑÐŸÐ·ÐŸÑ Ð¿ÐŸÑавÑÑÑе без ОкаквПг ÑазлПга, ÑП зМаÑО Ўа ÑеЎаМ ПЎ ÐаÑОÑ
ÑезОÑака пПкÑÑава Ўа Ñе пПМПвП ÑÑОÑа ÑаЌ ПЎ Ñебе, а ÑП Ñе забÑаÑеМП.\n\nÐа бОÑÑе пПМПвП ÑÑОÑалО ÑезОÑак Ñ ÐŸÐ²ÐŸÐŒ Tor ÑÑаÑÑ, пÑОÑОÑМОÑе âenterâ Ñ Ð°ÐŽÑеÑО лПкаÑОÑе пПÑа.\n\n
-torbutton.popup.plugin.warning = Torbutton Ñе забÑаМОП ЎОÑекÑМП ÑÑОÑаваÑе ÑаЎÑжаÑа ЎПЎаÑака.\n\nУЌеÑÑП ÑПга, кПÑОÑÑОÑе âСаÑÑÐ²Ð°Ñ ÐºÐ°ÐŸ...â.\n\n
+torbutton.panel.label.disabled = Ð¢ÐŸÑ Ñе ПМеЌПгÑÑеМ
+torbutton.panel.label.enabled = Ð¢ÐŸÑ Ñе ПЌПгÑÑеМ
+extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = ТПÑбаÑПМ пÑÑжа ÐŽÑгЌе за лакÑе ÑкÑÑÑОваÑе О ОÑкÑÑÑОваÑе пПÑÑеЎМОÑке ÐŒÑеже Ð¢ÐŸÑ ÐœÐ° ЀаÑеÑÑПкÑÑ.
+torbutton.popup.history.warning = ТПÑбаÑПМ Ñе блПкОÑаП акÑОвМПÑÑО Оз ÑезОÑка кПÑО Ñе ÑÑОÑаМ Ñ ÐŽÑÑгаÑОÑеЌ Ð¢ÐŸÑ ÑÑаÑÑ.\n\nÐвП Ñе ЎеÑава Ñ ÑОÑÑ ÑеÑаваÑа ЀаÑеÑÑПкÑПвОÑ
гÑеÑака 409737 О 417869.\n\nУкПлОкП пÑОЌеÑОÑе Ўа Ñе ÐŸÐ²Ð°Ñ ÐžÑкаÑÑÑО пÑÐŸÐ·ÐŸÑ Ð¿ÐŸÑавÑÑÑе без ОкаквПг ÑазлПга, ÑП зМаÑО Ўа ÑеЎаМ ПЎ ваÑОÑ
ÑезОÑака пПкÑÑава Ўа Ñе пПМПвП ÑÑОÑа ÑаЌ ПЎ Ñебе, а ÑП Ñе блПкОÑаМП.\n\nÐа бОÑÑе пПМПвП ÑÑОÑалО ÑезОÑак Ñ ÐŸÐ²ÐŸÐŒ Ð¢ÐŸÑ ÑÑаÑÑ, пÑОÑОÑМОÑе Enter Ñ Ð¿ÐŸÑÑ Ð·Ð° ÑÐœÐŸÑ Ð²ÐµÐ± аЎÑеÑе.\n\n
+torbutton.popup.plugin.warning = ТПÑбаÑПМ Ñе блПкОÑаП ЎОÑекÑМП ÑÑОÑаваÑе ÑаЎÑжаÑа ЎПЎаÑка.\n\nУЌеÑÑП ÑПга, кПÑОÑÑОÑе âСаÑÑÐ²Ð°Ñ ÐºÐ°ÐŸâŠâ.\n\n
torbutton.popup.confirm_ca_certs = ÐапПЌеМа: ОзглеЎа Ўа Ме пПÑеЎÑÑеÑе пÑОлагПÑеМе ÑеÑÑОÑОкаÑе. ÐÑпОÑОваÑе ÑпОÑка ÑеÑÑОÑОкаÑа Ñе ÑпПÑа ÑаЎÑа О Ñ ÐŒÐœÐŸÐ³ÐŸÐŒÐµ ÑÑпПÑава Tor ÐŒÑежÑ. Ðа лО желОÑе Ўа ПМеЌПгÑÑОÑе ÑеÑÑОÑОкаÑе? (УкПлОкП Ме ÑазÑЌеÑе ПвП, безбеЎМП Ñе Ўа клОкМеÑе Ма âУ ÑеЎÑâ.)
torbutton.popup.ff3.warning = УпПзПÑеÑе!\n\nÐПзМаÑП Ñе Ўа Torbutton Ма ÑÑеÑеЌ ОзЎаÑÑ ÑаÑеÑÑПкÑа âбÑÑаâ вÑеЌеМÑке зПМе О ЎПвПЎе пÑекП Tor ÐŒÑеже.\n\nÐа лО Опак желОÑе Ўа МаÑÑавОÑе?
-torbutton.popup.toggle.warning = ÐПÑаÑе Ўа пПМПвП пПкÑеМеÑе Tor какП бО пПÑÑавке ÑÑÑпОле Ма ÑМагÑ.
+torbutton.popup.toggle.warning = ÐПМПвП пПкÑеМОÑе Ð¢ÐŸÑ ÐŽÐ° бО ОзЌеМе ÑÑÑпОле Ма ÑМагÑ.
torbutton.popup.test.success = ТеÑÑОÑаÑе пПÑÑеЎМОÑкПг ÑеÑвеÑа Ñе ÑÑпелП!
-torbutton.popup.test.failure = ТеÑÑОÑаÑе ÑеÑвеÑа МОÑе ÑÑпелП! ÐÑПвеÑОÑе ÑвПÑе пПÑÑеЎМОÑке О Polipo пПÑÑавке.
-torbutton.popup.test.confirm_toggle = ÐаÑМПвОÑе ÑеÑÑОÑаÑе пПÑÑеЎМОка МОÑе ÑÑпелП Ўа Ñе ÑÑклаЎО Ñ Tor ÐŒÑежПЌ.\n\nÐа лО ÑÑе ÑОгÑÑМО Ўа желОÑе Ўа га ПЌПгÑÑОÑе?\n\nÐапПЌеМа: акП ÑÑе пÑПМаÑлО ÑеÑеÑе пÑПблеЌа, ЌПжеÑе пПМПвП пПкÑеМÑÑО ÑеÑÑ Ñ Torbutton пПЎеÑаваÑОЌа пПÑÑеЎМОка Ўа бОÑÑе ÑклПМОлО ПвП ÑпПзПÑеÑе.
-torbutton.popup.test.ff3_notice = ÐлОкМОÑе Ма âУ ÑеЎÑâ Ўа бОÑÑе ÑеÑÑОÑалО пПÑÑавке пПÑÑеЎМОка. ÐÐ²Ð°Ñ ÑеÑÑ Ñе Ñе ПЎвОÑаÑО Ñ Ð¿ÐŸÐ·Ð°ÐŽÐžÐœÐž. ÐПлОЌП, бÑЎОÑе ÑÑÑпÑОвО.
-torbutton.panel.label.verified = Tor Ñе пÑПвеÑеМ
-torbutton.popup.test.auto_failed = ÐÑÑПЌаÑÑкО ÑеÑÑ Ð¿ÐŸÑÑеЎМОка МОÑе ÑÑпеП Ўа Ñе ÑÑклаЎО Ñ Tor-ПЌ.\n\nÐа лО ÑÑе ÑОгÑÑМО Ўа желОÑе Ўа га ПЌПгÑÑОÑе?
+torbutton.popup.test.failure = Ðе ÐŒÐŸÐ³Ñ ÐŽÐ° ÑеÑÑОÑаЌ ÑеÑвеÑ. ÐÑПвеÑОÑе пПÑÑеЎМОÑка пПЎеÑаваÑа О пПЎеÑаваÑа ÐПлОпа.
+torbutton.popup.test.confirm_toggle = ÐаÑМПвОÑе ÑеÑÑОÑаÑе Ð¢ÐŸÑ Ð¿ÐŸÑÑеЎМОка МОÑе ÑÑпелП Ўа Ñе ÑÑклаЎО Ñ Ð¢ÐŸÑ ÐŒÑежПЌ.\n\nÐелОÑе лО Опак Ўа га ПЌПгÑÑОÑе?\n\nÐапПЌеМа: акП ÑÑе пÑПМаÑлО ÑеÑеÑе пÑПблеЌа, ЌПжеÑе пПМПвП Ўа пПкÑеМеÑе ÑеÑÑ Ñ Ð¿ÐŸÐŽÐµÑаваÑОЌа пПÑÑеЎМОка ТПÑбаÑПМа Ўа бОÑÑе Ñе ÑеÑОлО ПвПг ÑпПзПÑеÑа.
+torbutton.popup.test.ff3_notice = ÐлОкМОÑе Ма âУ ÑеЎÑâ Ўа ОÑпÑПбаÑе пПЎеÑаваÑа Ð¢ÐŸÑ Ð¿ÐŸÑÑеЎМОка. Ðва пÑПба Ñе Ñе ПЎОгÑаÑО Ñ Ð¿ÐŸÐ·Ð°ÐŽÐžÐœÐž. ÐÑЎОÑе ÑÑÑпÑОвО.
+torbutton.panel.label.verified = Ð¢ÐŸÑ Ñе пÑПвеÑеМ
+torbutton.popup.test.auto_failed = ÐÑÑПЌаÑÑкО ÑеÑÑ Ð¢ÐŸÑ Ð¿ÐŸÑÑеЎМОка МОÑе ÑÑпеП Ўа Ñе ÑÑклаЎО Ñ Ð¢ÐŸÑ ÐŒÑежПЌ.\n\nÐелОÑе лО Опак Ўа га ПЌПгÑÑОÑе?
torbutton.prefs.recommended = (пÑепПÑÑÑеМП)
torbutton.prefs.optional = (МеПбавезМП)
torbutton.prefs.crucial = (пÑеÑÑЎМП)
-torbutton.popup.external.title = Ðа лО желОÑе Ўа ÑÑОÑаÑе ÑпПÑМО ÑаЎÑжаÑ?
+torbutton.popup.external.title = УÑОÑаÑО ÑпПÑМО ÑаЎÑжаÑ?
torbutton.popup.external.app = ÐПÑÑебаМ Ñе ÑпПÑМО пÑПгÑаЌ за ÑÑкПваÑе:\n\n
-torbutton.popup.external.note = \n\nÐапПЌеМа: ÑпПÑМО пÑПгÑаЌО Ме гаÑаМÑÑÑÑ Ð±ÐµÐ·Ð±ÐµÐŽÐœÐŸÑÑ Ðž ÐŒÐŸÐ³Ñ ÐÐ°Ñ ÐŸÑкÑОÑО!\n
-torbutton.popup.external.suggest = \nУкПлОкП МеЌаÑе пПвеÑеÑа Ñ ÐŸÐ²Ð°Ñ ÑаÑл, ÑÑеба ОлО Ўа га ÑаÑÑваÑе па Ўа га ПÑвПÑОÑе ЎПк МОÑÑе пÑОкÑÑÑеМО Ма ОМÑеÑÐœÐµÑ ÐžÐ»Ðž Ñ Ð²ÐžÑÑÑÐµÐ»ÐœÐŸÑ ÐŒÐ°ÑОМО, ОлО Ўа кПÑОÑÑОÑе ÑÑаМÑпаÑеМÑаМ Tor пÑПкÑО каП ÑÑП ÑÑ Tails LiveCD ОлО torsocks.\n
+torbutton.popup.external.note = \n\nÐапПЌеМа: ÑпПÑМО пÑПгÑаЌО Ме гаÑаМÑÑÑÑ Ð±ÐµÐ·Ð±ÐµÐŽÐœÐŸÑÑ Ðž ÐŒÐŸÐ³Ñ Ð²Ð°Ñ ÐŸÑкÑОÑО!\n
+torbutton.popup.external.suggest = \nÐкП МеЌаÑе пПвеÑеÑа Ñ ÐŸÐ²Ñ ÐŽÐ°ÑПÑекÑ, ОлО Ñе ÑаÑÑваÑÑе ЎПк ÑÑе ваМ ÐŒÑеже ОлО Ñ Ð²ÐžÑÑÑÐµÐ»ÐœÐŸÑ ÐŒÐ°ÑОМО,\nОлО кПÑОÑÑОÑе ÑÑаМÑпаÑеМÑМе Ð¢ÐŸÑ Ð¿ÐŸÑÑеЎМОке каП ÑÑП ÑÑ Tails LiveCD ОлО torsocks.\n
torbutton.popup.launch = ÐПкÑеМО пÑПгÑаЌ
torbutton.popup.cancel = ÐÑкажО
-torbutton.popup.dontask = Увек пПкÑеÑО пÑПгÑаЌе ПЎ ÑаЎа па МаЎаÑе
-torbutton.popup.test.no_http_proxy = СпОÑак пПÑÑеЎМОка: лПкалМО HTTP пПÑÑеЎМОк Ñе МепÑОÑÑÑпаÑаМ. ÐÑПвеÑОÑе Ўа лО Ñе Polipo ОÑпÑавМП пПЎеÑеМ.
-torbutton.popup.captcha.title = Ðа лО желОÑе Ўа ОзбегаваÑе Google-Пве пПÑвÑЎМе кПЎПве?
-torbutton.popup.captcha.ask = Torbutton Ñе ÑПÑОП Google пПÑвÑЎМО кПЎ. Ðа лО желОÑе Ўа бÑЎеÑе пÑеÑÑЌеÑеМО Ма ÐŽÑÑгО пÑеÑÑÐ°Ð¶ÐžÐ²Ð°Ñ Ð·Ð° ÐŸÐ²Ð°Ñ ÑпОÑ?
-torbutton.popup.captcha.always = Увек ОзвÑÑО ÐŸÐ²Ñ ÑаЎÑÑ ÐŸÐŽ ÑаЎа па МаЎаÑе.
+torbutton.popup.dontask = ÐÐŽÑаЎ Ñвек пПкÑеÑО пÑПгÑаЌе
+torbutton.popup.test.no_http_proxy = ÐÑПба Ð¢ÐŸÑ Ð¿ÐŸÑÑеЎМОка: лПкалМО HTTP пПÑÑеЎМОк Ñе МеЎПÑÑÑпаМ. ÐÑПвеÑОÑе Ўа лО Ñе ÐПлОпП ОÑпÑавМП пПЎеÑеМ.
+torbutton.popup.captcha.title = ÐзбегаваÑО ÐÑглПве пПÑвÑЎМе кПЎПве?
+torbutton.popup.captcha.ask = ТПÑбаÑПМ Ñе пÑПМаÑаП ÐÑглПв пПÑвÑЎМО кПЎ. ÐелОÑе лО Ўа бÑЎеÑе пÑеÑÑЌеÑеМО Ма ÐŽÑÑгО пÑеÑÑÐ°Ð¶ÐžÐ²Ð°Ñ Ð·Ð° ÐŸÐ²Ð°Ñ ÑпОÑ?
+torbutton.popup.captcha.always = ÐÐŽÑаЎ Ñвек ОзвÑÑО ÐŸÐ²Ñ ÑаЎÑÑ
torbutton.popup.redirect = ÐÑеÑÑЌеÑО
torbutton.popup.no_redirect = Ðе пÑеÑÑЌеÑаваÑ
-torbutton.popup.prompted_language = Ðа бО ваЌ ПбезбеЎОП бПÑÑ Ð¿ÑОваÑМПÑÑ, Torbutton ЌПже Ўа заÑ
Ñева еМглеÑÐºÑ Ð²ÐµÑзОÑÑ ÐžÐœÑеÑÐœÐµÑ ÑÑÑаМОÑа. ÐбПг ÑПга, ЌПгÑÑе Ñе Ўа Ñе ÑÑÑаМОÑе кПÑе бОÑÑе ОМаÑе ÑОÑалО Ма ЌаÑеÑÑеЌ ÑезОкÑ, ÑЌеÑÑП ÑПга пÑÐžÐºÐ°Ð¶Ñ ÑаЎÑжаÑе Ма еМглеÑкПЌ ÑезОкÑ.\n\nÐа лО желОÑе Ўа заÑ
ÑеваÑе ÑÑÑаМОÑе Ма еМглеÑкПЌ ÑÐµÐ·ÐžÐºÑ Ñ ÑОÑÑ Ð±ÐŸÑе пÑОваÑМПÑÑО?
-torbutton.popup.no_newnym = Torbutton Ме ЌПже безбеЎМП Ўа ваЌ ЎПЎелО МПвО ОЎеМÑОÑÐµÑ ÑÐµÑ ÐœÐµÐŒÐ° пÑОÑÑÑп Tor ÐПМÑÑПлМПЌ ÐПÑÑÑ.\n\nÐа лО кПÑОÑÑОÑе Тor Browser Bundle?
-torbutton.popup.use_tbb = ÐзглеЎа Ўа кПÑОÑÑОÑе Torbutton О Firefox, а ÑП вОÑе Ме пÑепПÑÑÑÑÑеЌП каП Ð±ÐµÐ·Ð±ÐµÐŽÐœÑ Ð¿ÐŸÑÑавкÑ.\n\nУЌеÑÑП ÑПга, пÑепПÑÑÑÑÑеЌП Ўа МабавОÑе МаÑМПвОÑО Tor Browser Bundle ÑлаÑеЌ пПÑÑке Ма gettor(a)torproject.org ОлО ÑкОЎаÑеЌ Ñа ÑлеЎеÑе аЎÑеÑе:
-torbutton.popup.pref_error = Torbutton Ме ЌПже Ўа ПÑвежО пПЎеÑаваÑа Ñ ÐŽÐžÑекÑПÑОÑÑÐŒÑ Ð·Ð° Tor Browser пÑПÑОле.
-torbutton.popup.permission_denied = ÐПлОЌП Ð²Ð°Ñ ÐŽÐ° ÑеÑеÑÑÑеÑе ЎПзвПле за ЎОÑекÑПÑОÑÑÐŒ Ñ ÐºÐŸÐŒÐµ Ñе МалазО Tor Browser ОлО Ўа га пÑекПпОÑаÑе Ма ÐŽÑÑÐ³Ñ Ð»ÐŸÐºÐ°ÑОÑÑ.
-torbutton.popup.device_full = ÐзглеЎа Ўа Ñе ЎОÑк пÑМ. ÐПлОЌП Ð²Ð°Ñ ÐŽÐ° ПÑлПбПЎОÑе пÑПÑÑÐŸÑ ÐžÐ»Ðž Ўа пÑебаÑОÑе Tor Browser Ма МПвО ÑÑеÑаÑ.
+torbutton.popup.prompted_language = Ðа бО ваЌ ПбезбеЎОП бПÑÑ Ð¿ÑОваÑМПÑÑ, ТПÑбаÑПМ ЌПже Ўа заÑ
Ñева еМглеÑÐºÑ Ð²ÐµÑзОÑÑ ÐžÐœÑеÑÐœÐµÑ ÑÑÑаМОÑа. ÐбПг ÑПга, ЌПгÑÑе Ñе Ўа Ñе Ñе ÑÑÑаМОÑе кПÑе бОÑÑе ОМаÑе ÑОÑалО Ма ЌаÑеÑÑеЌ ÑÐµÐ·ÐžÐºÑ Ð¿ÑОказОваÑО Ма еМглеÑкПЌ ÑезОкÑ.\n\nÐелОÑе лО Ўа заÑ
ÑеваÑе ÑÑÑаМОÑе Ма еМглеÑкПЌ ÑÐµÐ·ÐžÐºÑ Ñ ÑОÑÑ Ð±ÐŸÑе пÑОваÑМПÑÑО?
+torbutton.popup.no_newnym = ТПÑбаÑПМ Ме ЌПже безбеЎМП Ўа ваЌ ЎПЎелО МПвО ОЎеМÑОÑÐµÑ ÑÐµÑ ÐœÐµÐŒÐ° пÑОÑÑÑп Ð¢ÐŸÑ ÐºÐŸÐœÑÑПлМПЌ пПÑÑÑ.\n\nÐПÑОÑÑОÑе лО Ð¢ÐŸÑ Ð¿ÑеглеЎаÑ?
+torbutton.popup.use_tbb = ÐзглеЎа Ўа кПÑОÑÑОÑе ТПÑбаÑПМ О ЀаÑеÑÑПкÑ, а ÑП вОÑе МОÑе пÑепПÑÑÑÑОвП каП безбеЎМа пПÑÑавка.\n\nУЌеÑÑП ÑПга, пÑепПÑÑÑÑÑеЌП ваЌ Ўа МабавОÑе МаÑМПвОÑО Ð¢ÐŸÑ Ð¿ÑÐµÐ³Ð»ÐµÐŽÐ°Ñ ÑлаÑеЌ пПÑÑке Ма gettor(a)torproject.org ОлО пÑеÑзОЌаÑеЌ Ñа ÑлеЎеÑе аЎÑеÑе:
+torbutton.popup.pref_error = ТПÑбаÑПМ Ме ЌПже Ўа ажÑÑОÑа пПЎеÑаваÑа Ñ ÑаÑÑОклО за пÑПÑОле Ð¢ÐŸÑ Ð¿ÑеглеЎаÑа.
+torbutton.popup.permission_denied = ÐПМОÑÑОÑе ЎПзвПле ÑаÑÑОкле Ñ ÐºÐŸÑÐŸÑ Ñе МалазО Ð¢ÐŸÑ Ð¿ÑÐµÐ³Ð»ÐµÐŽÐ°Ñ ÐžÐ»Ðž Ñе пÑеЌеÑÑОÑе Ма ÐœÐŸÐ²Ñ Ð»ÐŸÐºÐ°ÑОÑÑ.
+torbutton.popup.device_full = ÐзглеЎа Ўа Ñе ЎОÑк пÑМ. ÐÑлПбПЎОÑе МеÑÑП пÑПÑÑПÑа ОлО пÑеЌеÑÑОÑе Ð¢ÐŸÑ Ð¿ÑÐµÐ³Ð»ÐµÐŽÐ°Ñ ÐœÐ° МПвО ÑÑеÑаÑ.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/tr/torbutton.dtd b/src/chrome/locale/tr/torbutton.dtd
index 13da832..ffc190a 100644
--- a/src/chrome/locale/tr/torbutton.dtd
+++ b/src/chrome/locale/tr/torbutton.dtd
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "Kaldır platform ve Google Arama Kutusu gelen dil sorgular">
<!ENTITY torbutton.prefs.transparentTor "Transparent Torification (Requires custom transproxy or Tor router)">
diff --git a/src/chrome/locale/uk/torbutton.dtd b/src/chrome/locale/uk/torbutton.dtd
index 5664895..e371357 100644
--- a/src/chrome/locale/uk/torbutton.dtd
+++ b/src/chrome/locale/uk/torbutton.dtd
@@ -16,13 +16,13 @@
<!ENTITY torbutton.prefs.proxy.host.socks "ÐÑзПл SOCKS:">
<!ENTITY torbutton.prefs.proxy.port "ÐПÑÑ:">
<!ENTITY torbutton.about.title "ÐÑП Torbutton">
-<!ENTITY torbutton.about.version "Version:">
-<!ENTITY torbutton.about.summary "Protects the privacy of your Tor browsing.">
-<!ENTITY torbutton.about.code "Code Contributors:">
-<!ENTITY torbutton.about.maintainer "Maintainer:">
-<!ENTITY torbutton.about.security_review "Security Review:">
-<!ENTITY torbutton.about.donate "If you like using Tor, you might consider">
-<!ENTITY torbutton.about.make_donation "making a donation.">
+<!ENTITY torbutton.about.version "ÐеÑÑÑÑ:">
+<!ENTITY torbutton.about.summary "ÐаÑ
ОÑÐ°Ñ Ð¿ÑОваÑМÑÑÑÑ Ð²Ð°ÑПгП блÑÐºÐ°ÐœÐœÑ ÑеМеÑаЌО з Tor.">
+<!ENTITY torbutton.about.code "УÑаÑМОкО:">
+<!ENTITY torbutton.about.maintainer "СÑпÑПвПЎжÑваÑ:">
+<!ENTITY torbutton.about.security_review "ÐглÑÐŽ ÐезпекО:">
+<!ENTITY torbutton.about.donate "ЯкÑП ваЌ пПЎПбаÑÑÑÑÑ Tor â вО ЌПглО б">
+<!ENTITY torbutton.about.make_donation "зÑПбОÑО пПжеÑÑвÑ.">
<!ENTITY torbutton.pref_connection.notice "ÐОЌкМÑÑÑ Torbutton, ÑПб зЌÑМОÑО ÑÑ ÐœÐ°Ð»Ð°ÑÑÑваММÑ">
<!ENTITY torbutton.pref_connection.more_info "ÐÑлÑÑе ÑМÑПÑЌаÑÑÑ">
<!ENTITY torbutton.pref_connection_more_info.title "ÐПвÑЎка">
@@ -85,57 +85,57 @@
<!ENTITY torbutton.prefs.tor "Tor">
<!ENTITY torbutton.prefs.non_tor "Ме-Tor">
<!ENTITY torbutton.prefs.restore_tor "ÐÑО вÑÐŽÐœÐŸÐ²Ð»ÐµÐœÐœÑ ÑеÑÑÑ, вÑÑаМПвлÑваÑО ÑÑаМ Tor Ñк:">
-<!ENTITY torbutton.prefs.startup_tor "On browser startup, set Tor state to:">
+<!ENTITY torbutton.prefs.startup_tor "ÐÑО запÑÑÐºÑ Ð²ÐµÐ±-ПглÑЎаÑа, вÑÑаМПвлÑваÑО ÑÑаМ Tor Ñ:">
<!ENTITY torbutton.prefs.reload_crashed_jar "ÐеÑеваМÑажОÑО кÑкО/ПÑОÑÑОÑО кÑкО пÑО паЎÑÐœÐœÑ Ð€ÑÑеÑПÑ
Ñ (ÑекПЌеМЎПваМП)">
<!ENTITY torbutton.prefs.dual_cookie_jars "ÐбеÑÑгаÑО Ñк Tor, Ñак Ñ ÐœÐµ-Tor кÑкО Ñ Ð·Ð°Ñ
ОÑÐµÐœÐŸÐŒÑ ÑÑÐ°ÐœÑ (МебезпеÑМП)">
<!ENTITY torbutton.prefs.clear_http_auth "ÐÑОÑÑОÑО ÑеÑÑÑ HTTP аÑÑеМÑОÑÑкаÑÑÑ (ÑекПЌеМЎПваМП)">
<!ENTITY torbutton.prefs.block_js_history "ÐОЎÑлОÑО ЎПÑÑÑп ЎП ÑÑÑПÑÑÑ ÐœÐ°Ð²ÑгаÑÑÑ ÐŽÐŸ Tor (важлОвП)">
<!ENTITY torbutton.prefs.resize_on_toggle "Resize windows to multiples of 50px during Tor usage (recommended)">
-<!ENTITY torbutton.prefs.close_tor "Close all Tor windows and tabs on toggle (optional)">
-<!ENTITY torbutton.prefs.close_nontor "Close all Non-Tor windows and tabs on toggle (optional)">
+<!ENTITY torbutton.prefs.close_tor "ÐакÑОÑО ÑÑÑ Ð²ÑкМа Ñа вклаЎкО Tor пÑО пеÑÐµÐŒÐžÐºÐ°ÐœÐœÑ (Ме ПбПвâзкПвП)">
+<!ENTITY torbutton.prefs.close_nontor "ÐакÑОÑО ÑÑÑ ÐœÐµ Tor вÑкМа Ñа вклаЎкО пÑО пеÑÐµÐŒÐžÐºÐ°ÐœÐœÑ (Ме ПбПвâзкПвП)">
<!ENTITY torbutton.prefs.block_links "Block link clicks and page reloads from different Tor states (optional)">
-<!ENTITY torbutton.prefs.jar_certs "Store SSL certs in seperate jars for Tor/Non-Tor (recommended)">
-<!ENTITY torbutton.prefs.jar_ca_certs "Store CA certs in seperate jars for Tor/Non-Tor (recommended)">
+<!ENTITY torbutton.prefs.jar_certs "ÐбеÑÑгаÑО ÑеÑÑОÑÑкаÑО SSL Ñ ÑÑзМОÑ
jar`аÑ
ÐŽÐ»Ñ Tor/Ме Tor (ÑекПЌеМЎПваМП)">
+<!ENTITY torbutton.prefs.jar_ca_certs "ÐбеÑÑгаÑО ÑеÑÑОÑÑкаÑО CA Ñ ÑÑзМОÑ
jar`аÑ
ÐŽÐ»Ñ Tor/Ме Tor (ÑекПЌеМЎПваМП)">
<!ENTITY torbutton.prefs.locked_mode "Disable Button and Hotkeys to prevent accidental toggle">
-<!ENTITY torbutton.prefs.startup_state "On normal startup, set Tor state to:">
+<!ENTITY torbutton.prefs.startup_state "ÐÑО МПÑЌалÑÐœÐŸÐŒÑ Ð·Ð°Ð¿ÑÑÐºÑ â вÑÑаМПвлÑваÑО ÑÑаМ Tor Ñ:">
<!ENTITY torbutton.prefs.shutdown_state "Shutdown state">
-<!ENTITY torbutton.prefs.startup "Startup">
+<!ENTITY torbutton.prefs.startup "ÐапÑÑк">
<!ENTITY torbutton.prefs.block_tor_file_net "Block Tor access to network from file:// urls (recommended)">
<!ENTITY torbutton.prefs.block_nontor_file_net "Block Non-Tor access to network from file:// urls">
-<!ENTITY torbutton.prefs.restore_defaults "Restore Defaults">
-<!ENTITY torbutton.prefs.test_settings "Test Settings">
+<!ENTITY torbutton.prefs.restore_defaults "Ðа ÐаЌПвÑÑваММÑÐŒ">
+<!ENTITY torbutton.prefs.test_settings "ÐеÑевÑÑОÑО ÐаÑÑÑПйкО">
<!ENTITY torbutton.prefs.test_auto "Test my Tor settings after the first time I toggle on every Firefox start">
<!ENTITY torbutton.prefs.disable_livemarks "Disable livemarks updates during Tor usage">
-<!ENTITY torbutton.prefs.tor_memory_jar "Do not write Tor cookies to disk">
-<!ENTITY torbutton.prefs.nontor_memory_jar "Do not write Non-Tor cookies to disk">
+<!ENTITY torbutton.prefs.tor_memory_jar "Ðе запОÑÑваÑО кÑкО Tor Ма ЎОÑк">
+<!ENTITY torbutton.prefs.nontor_memory_jar "Ðе запОÑÑваÑО Ме Tor кÑкО Ма ЎОÑк">
<!ENTITY torbutton.prefs.session_restore "Have the session store save and restore these tabs:">
-<!ENTITY torbutton.prefs.nontor_tabs "Tabs loaded in Non-Tor">
-<!ENTITY torbutton.prefs.tor_tabs "Tabs loaded in Tor">
+<!ENTITY torbutton.prefs.nontor_tabs "ÐаклаЎкО заваМÑÐ°Ð¶ÐµÐœÑ ÐœÐµ в Tor">
+<!ENTITY torbutton.prefs.tor_tabs "ÐаклаЎкО заваМÑÐ°Ð¶ÐµÐœÑ Ð² Tor">
<!ENTITY torbutton.prefs.socks_vfour "SOCKS v4">
<!ENTITY torbutton.prefs.socks_vfive "SOCKS v5">
-<!ENTITY torbutton.prefs.no_proxies_on "No Proxies for: ">
-<!ENTITY torbutton.prefs.no_proxy_warning "Warning: Avoid using any hostnames above">
+<!ENTITY torbutton.prefs.no_proxies_on "Ðе вОкПÑОÑÑПвÑваÑО пÑПкÑÑ ÐŽÐ»Ñ: ">
+<!ENTITY torbutton.prefs.no_proxy_warning "Увага: УМОкайÑе вОкПÑОÑÑÐ°ÐœÐœÑ Ð±ÑÐŽÑ ÑкПгП з МОÑезазМаÑеМОÑ
Ñ
ПÑÑÑв">
<!ENTITY torbutton.prefs.spoofreresh "Spoof Refresh">
<!ENTITY torbutton.prefs.refereroptions "Referer Spoofing Options">
<!ENTITY torbutton.prefs.nospoof "Do not spoof referer">
<!ENTITY torbutton.prefs.spoofroot "Spoof the containing folder of the page">
<!ENTITY torbutton.prefs.spoofdomain "Spoof the domain as referer">
<!ENTITY torbutton.prefs.spoofblank "Make referer blank">
-<!ENTITY torbutton.cookiedialog.title "Manage Cookie Protections">
-<!ENTITY torbutton.cookiedialog.lockCol "Protected">
-<!ENTITY torbutton.cookiedialog.domainCol "Host">
-<!ENTITY torbutton.cookiedialog.nameCol "Name">
-<!ENTITY torbutton.cookiedialog.pathCol "Path">
-<!ENTITY torbutton.cookiedialog.protectCookie "Protect Cookie">
-<!ENTITY torbutton.cookiedialog.removeCookie "Remove Cookie">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "Unprotect Cookie">
-<!ENTITY torbutton.cookiedialog.removeAllBut "Remove All But Protected">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "Protect New Cookies">
-<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Do Not Protect New Cookies">
+<!ENTITY torbutton.cookiedialog.title "ÐеÑÑваÑО ÐаÑ
ОÑÑПЌ ÐÑкÑв">
+<!ENTITY torbutton.cookiedialog.lockCol "ÐаÑ
ОÑеМП">
+<!ENTITY torbutton.cookiedialog.domainCol "ХПÑÑ">
+<!ENTITY torbutton.cookiedialog.nameCol "ÐÐŒâÑ">
+<!ENTITY torbutton.cookiedialog.pathCol "КлÑÑ
">
+<!ENTITY torbutton.cookiedialog.protectCookie "ÐаÑ
ОÑÑОÑО ÐÑкО">
+<!ENTITY torbutton.cookiedialog.removeCookie "ÐОЎалОÑО ÐÑкО">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "ÐезаÑ
ОÑÐµÐœÑ ÐÑкО">
+<!ENTITY torbutton.cookiedialog.removeAllBut "ÐОЎалОÑО УÑÑ, ÐкÑÑÐŒ ÐаÑ
ОÑеМОÑ
">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "ÐаÑ
ОÑаÑО ÐÐŸÐ²Ñ ÐÑкО">
+<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "Ðе ÐаÑ
ОÑаÑО ÐÐŸÐ²Ñ ÐÑкО">
<!ENTITY torbutton.prefs.disable_livemarks "Disable Livemark updates during Tor usage">
-<!ENTITY torbutton.prefs.dtd_recommended "(recommended)">
-<!ENTITY torbutton.prefs.dtd_optional "(optional)">
-<!ENTITY torbutton.prefs.dtd_crucial "(crucial)">
+<!ENTITY torbutton.prefs.dtd_recommended "(ÑекПЌеМЎПваМП)">
+<!ENTITY torbutton.prefs.dtd_optional "(Ме ПбПвâзкПвП)">
+<!ENTITY torbutton.prefs.dtd_crucial "(кÑОÑОÑМП)">
<!ENTITY torbutton.prefs.update_torbutton_via_tor "Redirect Torbutton updates through Tor">
<!ENTITY torbutton.prefs.dodge_google_captcha "Automatically use an alternate search engine when presented with a Google Captcha:">
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
diff --git a/src/chrome/locale/uk/torbutton.properties b/src/chrome/locale/uk/torbutton.properties
index 8679003..175550b 100644
--- a/src/chrome/locale/uk/torbutton.properties
+++ b/src/chrome/locale/uk/torbutton.properties
@@ -1,19 +1,19 @@
-torbutton.button.tooltip.disabled = Enable Tor
-torbutton.button.tooltip.enabled = Disable Tor
-torbutton.panel.tooltip.disabled = Click to enable Tor
-torbutton.panel.tooltip.enabled = Click to disable Tor
-torbutton.panel.plugins.disabled = Click to enable plugins
-torbutton.panel.plugins.enabled = Click to disable plugins
-torbutton.panel.label.disabled = Tor Disabled
-torbutton.panel.label.enabled = Tor Enabled
-extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton provides a button to easily enable or disable pointing Firefox to the Tor proxy
+torbutton.button.tooltip.disabled = УвÑЌкМÑÑО Tor
+torbutton.button.tooltip.enabled = ÐОЌкМÑÑО Tor
+torbutton.panel.tooltip.disabled = ÐаÑОÑМÑÑÑ Ð°Ð±Ðž ÑвÑЌкМÑÑО Tor
+torbutton.panel.tooltip.enabled = ÐаÑОÑМÑÑÑ Ð°Ð±Ðž вОЌкМÑÑО Tor
+torbutton.panel.plugins.disabled = ÐаÑОÑМÑÑÑ Ð°Ð±Ðž ÑвÑЌкМÑÑО ÑПзÑОÑеММÑ
+torbutton.panel.plugins.enabled = ÐаÑОÑМÑÑÑ Ð°Ð±Ðž
+torbutton.panel.label.disabled = Tor ÐОЌкМеМП
+torbutton.panel.label.enabled = Tor УвÑЌкМеМП
+extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton ÐœÐ°ÐŽÐ°Ñ ÐºÐœÐŸÐ¿ÐºÑ ÐŽÐ»Ñ Ð·ÑÑÑМПгП ÑвÑÐŒÐºÐœÐµÐœÐœÑ Ñа Ð²ÐžÐŒÐºÐœÐµÐœÐœÑ Ð²ÐžÐºÐŸÑОÑÑÐ°ÐœÐœÑ Tor веб-ПглÑЎаÑеЌ Firefox
torbutton.popup.history.warning = Torbutton blocked activity from a tab loaded in a different Tor state.\n\nThis is to work around Firefox Bugs 409737 and 417869.\n\nIf this popup seemed to happen for no reason, one of your tabs is attempting to reload itself in the background, and this was blocked.\n\nTo reload the tab in this Tor state, hit 'enter' in the URL location box.\n\n
torbutton.popup.plugin.warning = Torbutton blocked direct Tor load of plugin content.\n\nUse Save-As instead.\n\n
torbutton.popup.confirm_ca_certs = Torbutton Note: It appears you have no custom Certificate Authorities. Examining the Certificate Authority list is a slow operation and slows down Tor toggle. Would you like to disable the isolation of Certificate Authority certificates? (If you don't understand this, it is safe to click OK)
-torbutton.popup.ff3.warning = Warning!\n\nTorbutton on Firefox 3 is known to leak your timezone and livemarks via Tor.\n\nDo you wish to continue anyway?
-torbutton.popup.toggle.warning = You need to toggle Tor or restart for your settings to take effect.
-torbutton.popup.test.success = Tor proxy test successful!
-torbutton.popup.test.failure = Tor proxy test FAILED! Check your proxy and Polipo settings.
+torbutton.popup.ff3.warning = Увага!\n\nTorbutton Ма Firefox 3 вÑЎПЌОй ÑОЌ, ÑП ЌПже вОЎаÑО Ð²Ð°Ñ ÑаÑПвОй пПÑÑ Ñа Ð¶ÐžÐ²Ñ Ð·Ð°ÐºÐ»Ð°ÐŽÐºÐž ÑеÑез Tor.\n\nЧО бажаÑÑе вО пÑПЎПвжÑваÑО Ñ Ð±ÑÐŽÑ ÑÐºÐŸÐŒÑ ÑазÑ?
+torbutton.popup.toggle.warning = ÐО Ð¿ÐŸÐ²ÐžÐœÐœÑ Ð¿ÐµÑеЌОкМÑÑО абП пеÑезапÑÑÑОÑО Tor абО акÑОвÑваÑО ÐœÐŸÐ²Ñ Ð¿Ð°ÑаЌеÑÑО.
+torbutton.popup.test.success = ТеÑÑ Ð¿ÑПеÑÑ-ÑеÑвеÑа Tor пÑПйÑПв ÑÑпÑÑМП!
+torbutton.popup.test.failure = ТеÑÑ Ð¿ÑПкÑÑ-ÑеÑвеÑа ÐÐ ÐÐ ÐÐÐÐÐÐ! ÐеÑевÑÑÑе ÑвÑй пÑПкÑÑ-ÑеÑÐ²ÐµÑ Ñа паÑаЌеÑÑО Polipo.
torbutton.popup.test.confirm_toggle = The most recent Tor proxy test failed to use Tor.\n\nAre you sure you want to enable anyway?\n\nNote: If you have fixed the problem, you can rerun the test in the Torbutton Proxy Preferences window to eliminate this warning.
torbutton.popup.test.ff3_notice = Click OK to test Tor proxy settings. This test will happen in the background. Please be patient.
torbutton.panel.label.verified = Tor Verified
@@ -25,15 +25,15 @@ torbutton.popup.external.title = Load external content?
torbutton.popup.external.app = An external application is needed to handle:\n\n
torbutton.popup.external.note = \n\nNOTE: External applications are NOT Tor safe by default and can unmask you!\n
torbutton.popup.external.suggest = \nIf this file is untrusted, you should either save it to view while offline or in a VM,\nor consider using a transparent Tor proxy like Tails LiveCD or torsocks.\n
-torbutton.popup.launch = Launch application
-torbutton.popup.cancel = Cancel
+torbutton.popup.launch = ÐапÑÑÑОÑО ЎПЎаÑПк
+torbutton.popup.cancel = ÐÑЎЌПва
torbutton.popup.dontask = Always launch applications from now on
torbutton.popup.test.no_http_proxy = Tor proxy test: Local HTTP Proxy is unreachable. Is Polipo running properly?
-torbutton.popup.captcha.title = Avoid Google Captchas?
+torbutton.popup.captcha.title = УМОкаÑО капÑÑÑ Google?
torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
+torbutton.popup.redirect = ÐеÑеМапÑавлÑÑО
+torbutton.popup.no_redirect = Ðе ÐеÑеМапÑавлÑÑО
torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
diff --git a/src/chrome/locale/vi/torbutton.dtd b/src/chrome/locale/vi/torbutton.dtd
index a2a0b57..68bd590 100644
--- a/src/chrome/locale/vi/torbutton.dtd
+++ b/src/chrome/locale/vi/torbutton.dtd
@@ -85,7 +85,7 @@
<!ENTITY torbutton.prefs.tor "Tor">
<!ENTITY torbutton.prefs.non_tor "KhÃŽng-Tor">
<!ENTITY torbutton.prefs.restore_tor "Khi khá»i chạy cùng phiên ÄÆ°á»£c khÃŽi phục, thiết láºp tình trạng Tor thà nh:">
-<!ENTITY torbutton.prefs.startup_tor "On browser startup, set Tor state to:">
+<!ENTITY torbutton.prefs.startup_tor "Khi trình duyá»t khá»i Äá»ng, thiết láºp trạng thái Tor thà nh:">
<!ENTITY torbutton.prefs.reload_crashed_jar "Tải lại jar cookie/xóa cookie khi Firefox bá» Äá» vỡ (khuyến cáo)">
<!ENTITY torbutton.prefs.dual_cookie_jars "Lưu trữ cả Tor và KhÃŽng-Tor trong các táºp tin jar ÄÆ°á»£c bảo vá» (nguy hiá»m)">
<!ENTITY torbutton.prefs.clear_http_auth "Xóa các phiên xác thực HTTP (khuyến cáo)">
diff --git a/src/chrome/locale/vi/torbutton.properties b/src/chrome/locale/vi/torbutton.properties
index 7f79173..5bcf819 100644
--- a/src/chrome/locale/vi/torbutton.properties
+++ b/src/chrome/locale/vi/torbutton.properties
@@ -7,13 +7,13 @@ torbutton.panel.plugins.enabled = Nhấn Äá» tắt phần bá» trợ
torbutton.panel.label.disabled = Tor bỠtắt
torbutton.panel.label.enabled = Tor ÄÆ°á»£c báºt
extensions.{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}.description = Torbutton cung cấp má»t nút Äá» dá»
dà ng báºt hoặc tắt viá»c chuyá»n hưá»ng Firefox Äến proxy Tor
-torbutton.popup.history.warning = Torbutton blocked activity from a tab loaded in a different Tor state.\n\nThis is to work around Firefox Bugs 409737 and 417869.\n\nIf this popup seemed to happen for no reason, one of your tabs is attempting to reload itself in the background, and this was blocked.\n\nTo reload the tab in this Tor state, hit 'enter' in the URL location box.\n\n
+torbutton.popup.history.warning = Torbutton khóa những thẻ trình duyá»t Äã tải trong má»t trạng thái khác cá»§a Tor.\n\nCái nà y là Äá» váºn hà nh xung quanh lá»i Firefox 409737 và 417869.\n\nNếu thÃŽng báo nà y hiá»n ra chẳng vì lÜ do nà o, thì má»t trong những thẻ trình duyá»t Äang cá» tá»± tải lại mà khÃŽng thÃŽng báo, và Äiá»u nà y Äã bá» ngÄn chặn.\n\nTor tải lại thẻ trình duyá»t trong trạng thái nà y cá»§a Tor, gõ 'enter' trên thanh Äá»a chá».\n\n
torbutton.popup.plugin.warning = Torbutton chặn viá»c tải trá»±c tiếp Tor ná»i dung phần bá» trợ.\n\nNên dùng Lưu Dưá»i Dạng.\n\n
torbutton.popup.confirm_ca_certs = Lưu Ü Torbutton: Có vẻ bạn khÃŽng có Nhà cấp phát Chứng thư (CA) tùy biến. Kiá»m tra danh sách CA là má»t quá trình khá lâu và sẜ là m cháºm viá»c báºt tắt Tor. Bạn có muá»n vÃŽ hiá»u hóa viá»c cÃŽ láºp các chứng thư cá»§a CA khÃŽng? (Nếu bạn khÃŽng hiá»u viá»c nà y, cứ nhấn OK lÃ ÄÆ°á»£c)
torbutton.popup.ff3.warning = Cảnh báo!\n\nTorbutton trên Firefox 3 là m lá» múi giá» và Äánh-dấu-Äá»ng cá»§a bạn thÃŽng qua Tor.\n\nBạn có còn muá»n tiếp tục khÃŽng?
torbutton.popup.toggle.warning = Bạn cần báºt tắt Tor hoặc khá»i Äá»ng lại Äá» thiết láºp có hiá»u lá»±c.
torbutton.popup.test.success = Thá» nghiá»m Tor thà nh cÃŽng!
-torbutton.popup.test.failure = Tor proxy test FAILED! Check your proxy and Polipo settings.
+torbutton.popup.test.failure = Tor proxy kiá»m tra có lá»i! Kiá»m tra proxy và những cà i Äặt cá»§a Polipo cá»§a bạn.
torbutton.popup.test.confirm_toggle = Cuá»c thá» nghiá»m Tor á»§y nhiá»m gần Äây nhất Äã thất bại trong viá»c xá» dụng Tor.\n\nBạn có chắc là bạn muá»n báºt lên khÃŽng?\n\nLưu Ü: Nếu bạn Äã sá»a ÄÆ°á»£c vấn Äá», bạn có thá» chạy kiá»m tra lại trong cá»a sá» những Tùy thÃch Ịy nhiá»m cá»§a Torbutton Äá» loại bá» cảnh báo nà y.
torbutton.popup.test.ff3_notice = Nhấn OK Äá» thá» nghiá»m thiết láºp proxy Tor. Thá» nghiá»m nà y sẜ diá»
n ra trong háºu cảnh. Xin hãy kiên nhẫn.
torbutton.panel.label.verified = Tor Äã ÄÆ°á»£c phê chuẩn
@@ -24,22 +24,22 @@ torbutton.prefs.crucial = (cấp thiết)
torbutton.popup.external.title = Nạp ná»i dung bên ngoà i?
torbutton.popup.external.app = Má»t ứng dụng bên ngoà i cần có Äá» xá» lÜ:\n\n
torbutton.popup.external.note = \n\nLƯU Ã: Các ứng dụng bên ngoà i khÃŽng an toà n cho Tor theo mặc Äá»nh và có thá» là m lÃŽÌ£ chân tươÍng bạn!\n
-torbutton.popup.external.suggest = \nIf this file is untrusted, you should either save it to view while offline or in a VM,\nor consider using a transparent Tor proxy like Tails LiveCD or torsocks.\n
+torbutton.popup.external.suggest = \nNếu táºp tin nà y khÃŽng an toà n, bạn nên lưu nó lại Äá» sá» dụng khi \nkhÃŽng kết ná»i mạng hoặc trong máy ảo.\nhoặc cân nhắc sá» dụng mÃŽi trưá»ng hoà n toà n dùng Tor proxy như Tails LiveCD hoặc torsocks.\n
torbutton.popup.launch = Khá»i chạy ứng dụng
torbutton.popup.cancel = Há»§y bá»
torbutton.popup.dontask = LuÃŽn luÃŽn khá»i chạy các ứng dụng ká» từ bây giá»
torbutton.popup.test.no_http_proxy = Thá» nghiá»m Tor á»§y nhiá»m: HTTP á»§y nhiá»m Äá»a phương khÃŽng thá» tá»i ÄÆ°á»£c. Polipo có Äang chạy Äúng cách khÃŽng?
-torbutton.popup.captcha.title = Avoid Google Captchas?
-torbutton.popup.captcha.ask = Torbutton detected a Google Captcha. Would you like to be redirected to another search engine for this query?
-torbutton.popup.captcha.always = Always perform this action from now on
-torbutton.popup.redirect = Redirect
-torbutton.popup.no_redirect = Don't Redirect
-torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy?
-torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle?
-torbutton.popup.use_tbb = It appears that you are using Torbutton with Firefox, which is no longer a recommended safe configuration.\n\nInstead, we recommend that you obtain the latest Tor Browser Bundle by sending email to gettor(a)torproject.org or by downloading it at the following URL:
-torbutton.popup.pref_error = Torbutton cannot update preferences in the Tor Browser profile directory.
-torbutton.popup.permission_denied = Please either reset the permissions of the Tor Browser directory or copy it to a new location.
-torbutton.popup.device_full = The disk appears to be full. Please free up space or move Tor Browser to a new device.
+torbutton.popup.captcha.title = Muá»n tránh xác nháºn Google Captchas?
+torbutton.popup.captcha.ask = Torbutton phát hiá»n có Google Captchas. Bạn có muá»n chuyá»n qua bá» máy tìm kiếm khác cho câu há»i nà y?
+torbutton.popup.captcha.always = từ bây giá», luÃŽn thá»±c hiá»n hà nh Äá»ng nà y
+torbutton.popup.redirect = Chuyá»n hưá»ng
+torbutton.popup.no_redirect = Äừng chuyá»n hưá»ng
+torbutton.popup.prompted_language = Äá» bạn có thêm sư riêng tư, Torbutton có thá» yêu cầu trang mạng sá» dụng phiên bản Tiếng Anh. Äây có thá» là nguyên nhân trang mạng mà bạn Äá» nghá» hiá»n thá» tiến bản Äá»a lại hiá»n thá» Tiếng Anh.\n\nBạn có muá»n yêu cầu trang mạng tiếng anh Äá» có thêm sá»± riêng tư?
+torbutton.popup.no_newnym = Torbutton có thá» ÄÆ°a bạn má»t danh tÃnh má»i má»t cách khÃŽng an toà n. Nó khÃŽng há» truy cáºp và o Tor Control Port.\n\nCó phải bạn Äang dùng Tor Browser Bundle?
+torbutton.popup.use_tbb = Dưá»ng như bạn Äang sá» dụng Torbutton vá»i Firefox, nó khÃŽng còn là má»t Äá» xuất thiết láºp an toà n.\n\nThá»±c ra, chúng tÃŽi Äá» nghá» bạn sá» dụng phiên bản má»i nhất cá»§a Tor Browser Bundle bằng cách gá»i email và o gettor(a)torproject.org hoặc tải vá» theo Äá»a chá»:
+torbutton.popup.pref_error = Torbutton khÃŽng thá» cáºp nháºt thiết láºp trong thư mục há» sÆ¡.
+torbutton.popup.permission_denied = Hảy cà i lại quyá»n truy cáºp cho thư mục cá»§a trình duyá»t Tor hoặc chép nó vÃŽ má»t thư mục má»i.
+torbutton.popup.device_full = á» lưu trữ Äã Äầy, Hảy chuẩn bá» thêm chá» trá»ng hoặc di chuyá»n trình duyá»t Tor qua má»t thiết bá» má»i.
torbutton.title.prompt_torbrowser = Important Torbutton Information
torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton.
torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information.
diff --git a/src/chrome/locale/zh-CN/torbutton.dtd b/src/chrome/locale/zh-CN/torbutton.dtd
index 5b7c4eb..aa9a6da 100644
--- a/src/chrome/locale/zh-CN/torbutton.dtd
+++ b/src/chrome/locale/zh-CN/torbutton.dtd
@@ -17,11 +17,11 @@
<!ENTITY torbutton.prefs.proxy.port "端å£ïŒ">
<!ENTITY torbutton.about.title "å
³äº Torbutton">
<!ENTITY torbutton.about.version "çæ¬ïŒ">
-<!ENTITY torbutton.about.summary "Protects the privacy of your Tor browsing.">
+<!ENTITY torbutton.about.summary "ä¿æ€æšäœ¿çš Tor è¿è¡æµè§çéç§ã">
<!ENTITY torbutton.about.code "代ç 莡ç®è
ïŒ">
<!ENTITY torbutton.about.maintainer "绎æ€äººåïŒ">
-<!ENTITY torbutton.about.security_review "Security Review:">
-<!ENTITY torbutton.about.donate "If you like using Tor, you might consider">
+<!ENTITY torbutton.about.security_review "å®å
šå®¡æ¥ïŒ">
+<!ENTITY torbutton.about.donate "åŠææšåæ¬¢äœ¿çš TorïŒæšä¹å¯ä»¥èè">
<!ENTITY torbutton.about.make_donation "ç»äºæèµ ã">
<!ENTITY torbutton.pref_connection.notice "çŠçš Torbutton æ¥æ¹åè¿äºè®Ÿçœ®ã">
<!ENTITY torbutton.pref_connection.more_info "æŽå€ä¿¡æ¯">
@@ -41,7 +41,7 @@
<!ENTITY torbutton.context_menu.copyTor.key "p">
<!ENTITY torbutton.context_menu.openTorTab "åšæ°æ çŸäžæåŒTor URL">
<!ENTITY torbutton.context_menu.openTorTab.key "r">
-<!ENTITY torbutton.context_menu.openTorWindow "åšæ°çªå£äžæåŒTor URL">
+<!ENTITY torbutton.context_menu.openTorWindow "åšæ°çªå£äžæåŒ Tor URL">
<!ENTITY torbutton.context_menu.openTorWindow.key "d">
<!ENTITY torbutton.button.label "Torbutton">
<!ENTITY torbutton.button.tooltip "ç¹æ€åå§å Torbutton">
@@ -68,7 +68,7 @@
<!ENTITY torbutton.prefs.history "åå²">
<!ENTITY torbutton.prefs.no_search "äœ¿çš Tor æ¶çŠçšæçŽ¢å»ºè®®(æšè)">
<!ENTITY torbutton.prefs.shutdown "å
³é">
-<!ENTITY torbutton.prefs.tor_shutdown "æŽ Tor å
³éæµè§åšæ¶æž
é€çš Tor æµè§äº§çç Cookies">
+<!ENTITY torbutton.prefs.tor_shutdown "åŸ
Tor å
³éæµè§åšæ¶æž
é€çš Tor æµè§äº§çç Cookies">
<!ENTITY torbutton.prefs.all_shutdown "ä»»äœæ¶åå
³éæµè§åšéœæž
é€ cookies">
<!ENTITY torbutton.prefs.no_shutdown "å
³éæ¶äžæž
é€ cookies">
<!ENTITY torbutton.prefs.disable_sessionstore "çŠçš Firefox çäŒè¯ä¿å(æšè)">
@@ -76,7 +76,7 @@
<!ENTITY torbutton.prefs.spoof_english "䌪è£
æµè§åšè¯èšäžºçŸåœè±è¯">
<!ENTITY torbutton.prefs.refererspoofing "Referer 欺éª">
<!ENTITY torbutton.prefs.spoofblank "Spoof blank referer during Tor usage (may break some sites)">
-<!ENTITY torbutton.prefs.smartspoof "䜿çšToræ¶æºèœæ¬ºéªReferer(欺éªè·šåReferer)">
+<!ENTITY torbutton.prefs.smartspoof "äœ¿çš Tor æ¶æºèœæ¬ºéª Referer(欺éªè·šå Referer)">
<!ENTITY torbutton.prefs.nospoof "No referer spoof during Tor usage (sends referers as normal)">
<!ENTITY torbutton.prefs.disable_domstorage "äœ¿çš Tor æ¶çŠçšæµè§åšç DOM åšå(éèŠ)">
<!ENTITY torbutton.prefs.forms "衚å">
@@ -85,7 +85,7 @@
<!ENTITY torbutton.prefs.tor "äœ¿çš Tor">
<!ENTITY torbutton.prefs.non_tor "äžçš Tor">
<!ENTITY torbutton.prefs.restore_tor "æµè§åšæ¢å€è¿çšæ¶ïŒè®Ÿçœ® Tor çç¶æäžº">
-<!ENTITY torbutton.prefs.startup_tor "æµè§åšå¯åšæ¶,讟眮Torçç¶æäžº:">
+<!ENTITY torbutton.prefs.startup_tor "æµè§åšå¯åšæ¶,讟眮 Tor çç¶æäžº:">
<!ENTITY torbutton.prefs.reload_crashed_jar "Firefox 厩æºåé蜜 cookie jar/æž
é€ cookie(æšè)">
<!ENTITY torbutton.prefs.dual_cookie_jars "åšåä¿æ€ç jar æä»¶äžåæ¶ä¿åäœ¿çš Tor åäžçš Tor æ¶ç cookies(å±é©)">
<!ENTITY torbutton.prefs.clear_http_auth "æž
é€ HTTP 讀è¯è¿çš(æšè)">
@@ -108,8 +108,8 @@
<!ENTITY torbutton.prefs.disable_livemarks "Disable livemarks updates during Tor usage">
<!ENTITY torbutton.prefs.tor_memory_jar "äœ¿çš Tor æµè§æ¶äžèŠå° Cookie åå
¥ç£ç">
<!ENTITY torbutton.prefs.nontor_memory_jar "äžçš Tor æµè§æ¶äžèŠå° Cookie åå
¥ç£ç">
-<!ENTITY torbutton.prefs.session_restore "让 Firefox äŒè¯ä¿ååèœä¿åå¹¶æ¢å€åŠäžæ çŸé¡µïŒ">
-<!ENTITY torbutton.prefs.nontor_tabs "äžçš Tor çæ çŸé¡µ">
+<!ENTITY torbutton.prefs.session_restore "让 Firefox çäŒè¯ä¿ååèœä¿åå¹¶æ¢å€åŠäžæ çŸé¡µïŒ">
+<!ENTITY torbutton.prefs.nontor_tabs "äžäœ¿çš Tor çæ çŸé¡µ">
<!ENTITY torbutton.prefs.tor_tabs "äœ¿çš Tor çæ çŸé¡µ">
<!ENTITY torbutton.prefs.socks_vfour "SOCKS v4">
<!ENTITY torbutton.prefs.socks_vfive "SOCKS v5">
@@ -126,13 +126,13 @@
<!ENTITY torbutton.cookiedialog.domainCol "æå¡åš">
<!ENTITY torbutton.cookiedialog.nameCol "åç§°">
<!ENTITY torbutton.cookiedialog.pathCol "è·¯åŸ">
-<!ENTITY torbutton.cookiedialog.protectCookie "ä¿æ€Cookie">
-<!ENTITY torbutton.cookiedialog.removeCookie "ç§»é€Cookie">
-<!ENTITY torbutton.cookiedialog.unprotectCookie "åæ¢ä¿æ€Cookie">
-<!ENTITY torbutton.cookiedialog.removeAllBut "ä»
ä¿çåä¿æ€çCookieïŒå
¶ä»ç§»é€å
šéš">
-<!ENTITY torbutton.cookiedialog.saveAllCookies "ä¿æ€æ°çCookies">
+<!ENTITY torbutton.cookiedialog.protectCookie "ä¿æ€ Cookie">
+<!ENTITY torbutton.cookiedialog.removeCookie "ç§» é€Cookie">
+<!ENTITY torbutton.cookiedialog.unprotectCookie "åæ¢ä¿æ€ Cookie">
+<!ENTITY torbutton.cookiedialog.removeAllBut "ä»
ä¿çåä¿æ€ç CookieïŒå
¶ä»ç§»é€å
šéš">
+<!ENTITY torbutton.cookiedialog.saveAllCookies "ä¿æ€æ°ç Cookies">
<!ENTITY torbutton.cookiedialog.doNotSaveAllCookies "äžä¿æ€æ°ç">
-<!ENTITY torbutton.prefs.disable_livemarks "äœ¿çš Tor æ¶çŠçš Livemark æŽæ°(RSS乊çŸ)">
+<!ENTITY torbutton.prefs.disable_livemarks "äœ¿çš Tor æ¶çŠçš Livemark æŽæ°(RSS 乊çŸ)">
<!ENTITY torbutton.prefs.dtd_recommended "(æšè)">
<!ENTITY torbutton.prefs.dtd_optional "(å¯é)">
<!ENTITY torbutton.prefs.dtd_crucial "(éèŠ)">
@@ -141,7 +141,7 @@
<!ENTITY torbutton.prefs.engine1 "ixquick.com">
<!ENTITY torbutton.prefs.engine2 "Bing.com">
<!ENTITY torbutton.prefs.engine3 "Yahoo.com">
-<!ENTITY torbutton.prefs.engine4 "scroogle.org">
+<!ENTITY torbutton.prefs.engine4 "startpage.com">
<!ENTITY torbutton.prefs.engine5 "duckduckgo.com">
<!ENTITY torbutton.prefs.fix_google_srch "åš Google æçŽ¢æ æçŽ¢æ¶åå²å¹³å°åè¯èšä¿¡æ¯ã">
-<!ENTITY torbutton.prefs.transparentTor "Toréæä»£ç(éèŠèªè®Ÿéæä»£çæTorè·¯ç±çšåºçæ¯æ)">
+<!ENTITY torbutton.prefs.transparentTor "Tor éæä»£ç(éèŠèªè®Ÿéæä»£çæTorè·¯ç±çšåºçæ¯æ)">
1
0
commit ffba18668c3d243386f22368750a568024d0c85e
Author: Mike Perry <mikeperry-git(a)fscked.org>
Date: Thu Aug 30 14:45:33 2012 -0700
Update versions and changelog.
---
README.RELEASE | 2 +-
src/CHANGELOG | 4 ++++
src/install.rdf | 2 +-
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/README.RELEASE b/README.RELEASE
index 206a84e..77e75e9 100644
--- a/README.RELEASE
+++ b/README.RELEASE
@@ -5,7 +5,7 @@
#. Decide the version number.
- export VERSION="1.4.6"
+ export VERSION="1.4.6.1"
vim ./src/install.rdf # edit <em:version> tag to reflect version
#. Test upgrades of candidate XPI in latest Firefox and TBB product matrix
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 5a5c3ba..df682d0 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,7 @@
+1.4.6.1
+ 30 Aug 2012
+ * Bug 6737: Disable window.screen hooks for FF15+ (fixes exception alert)
+
1.4.6
30 May 2012
* Bug 5710: Prevent all sessionstore data saving in TBB
diff --git a/src/install.rdf b/src/install.rdf
index e6c3be6..7eac84a 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -10,7 +10,7 @@
em:name="Torbutton"
em:creator="Mike Perry"
em:id="{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}"
- em:version="1.4.6"
+ em:version="1.4.6.1"
em:homepageURL="https://www.torproject.org/torbutton/"
em:optionsURL="chrome://torbutton/content/preferences.xul"
em:iconURL="chrome://torbutton/skin/tor.png"
1
0
30 Aug '12
commit 0eb9df4ce97615a9d8b6e7f395551d6c39309dc3
Author: Mike Perry <mikeperry-git(a)fscked.org>
Date: Thu Aug 30 14:27:49 2012 -0700
Bug 6737: Disable JS hooks for FF15+
---
src/chrome/content/torbutton.js | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 6ac88f1..a7c91dc 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -23,6 +23,7 @@ var m_tb_ff3 = false;
var m_tb_ff35 = false;
var m_tb_ff36 = false;
var m_tb_ff4 = false;
+var m_tb_ff15 = false;
var m_tb_tbb = false;
var m_tb_control_port = null;
@@ -511,6 +512,12 @@ function torbutton_init() {
var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
.getService(Components.interfaces.nsIVersionComparator);
+ if(versionChecker.compare(appInfo.version, "15.0a1") >= 0) {
+ m_tb_ff15 = true;
+ } else {
+ m_tb_ff15 = false;
+ }
+
if(versionChecker.compare(appInfo.version, "4.0a1") >= 0) {
m_tb_ff4 = true;
} else {
@@ -4716,6 +4723,11 @@ function torbutton_update_tags(win, new_loc) {
// Bug 1506 P1: All of our JS hooks should be redone in patch form (#5856)
// Also, tagging can be deprecated.
function torbutton_hookdoc(win, doc, state_change, referrer) {
+ /* Firefox 15 broke the last of our JS hooks :/ */
+ if (m_tb_ff15) {
+ return;
+ }
+
if(typeof(win.wrappedJSObject) == 'undefined') {
torbutton_eclog(3, "No JSObject: "+win.location);
return;
1
0