tbb-commits
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18508 discussions
commit cce75d8cbe1456b050097ff5a05205c986030a5f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 10 11:04:23 2019 +0000
Bug 30139: Remove FTE bits
---
src/modules/tl-bridgedb.jsm | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/modules/tl-bridgedb.jsm b/src/modules/tl-bridgedb.jsm
index bc9b300..de580bc 100644
--- a/src/modules/tl-bridgedb.jsm
+++ b/src/modules/tl-bridgedb.jsm
@@ -122,7 +122,6 @@ _MoatRequestor.prototype =
//
// aTransports is an array of transport strings. Supported values:
// "vanilla"
- // "fte"
// "obfs3"
// "obfs4"
// "scramblesuit"
1
0

14 May '19
commit 055266551e5a8e56ca4ea9ec1c3eebe0fb1bba4e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 13:51:25 2019 +0000
Bug 30319: Drop FTE releated bits
Clean up our LICENSE file as well.
---
keyring/obfsproxy.gpg | Bin 2215 -> 0 bytes
keyring/pyptlib.gpg | Bin 2215 -> 0 bytes
keyring/winpython.gpg | Bin 1167 -> 0 bytes
projects/argparse/build | 15 --
projects/argparse/config | 19 --
projects/fteproxy/build | 19 --
projects/fteproxy/config | 24 --
projects/fteproxy/fteproxy.wrapper | 10 -
projects/gmp/build | 18 --
projects/gmp/config | 20 --
projects/libfte/build | 31 ---
projects/libfte/config | 43 ----
projects/obfsproxy/build | 27 --
projects/obfsproxy/config | 38 ---
projects/parsley/build | 16 --
projects/parsley/config | 19 --
projects/pycrypto/build | 25 --
projects/pycrypto/config | 38 ---
projects/pyptlib/build | 16 --
projects/pyptlib/config | 21 --
projects/pyyaml/build | 16 --
projects/pyyaml/config | 19 --
.../Docs/Licenses/PluggableTransports/LICENSE | 278 ---------------------
.../PTConfigs/linux/torrc-defaults-appendix | 3 -
projects/tor-browser/build | 20 +-
projects/tor-browser/config | 3 -
projects/twisted/build | 22 --
projects/twisted/config | 39 ---
projects/txsocksx/build | 21 --
projects/txsocksx/config | 19 --
projects/zope.interface/build | 16 --
projects/zope.interface/config | 19 --
rbm.conf | 3 -
33 files changed, 5 insertions(+), 872 deletions(-)
diff --git a/keyring/obfsproxy.gpg b/keyring/obfsproxy.gpg
deleted file mode 100644
index 4381baa..0000000
Binary files a/keyring/obfsproxy.gpg and /dev/null differ
diff --git a/keyring/pyptlib.gpg b/keyring/pyptlib.gpg
deleted file mode 100644
index 4381baa..0000000
Binary files a/keyring/pyptlib.gpg and /dev/null differ
diff --git a/keyring/winpython.gpg b/keyring/winpython.gpg
deleted file mode 100644
index 97abdc1..0000000
Binary files a/keyring/winpython.gpg and /dev/null differ
diff --git a/projects/argparse/build b/projects/argparse/build
deleted file mode 100644
index 3170601..0000000
--- a/projects/argparse/build
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-python2 setup.py build --build-lib build
-cp -a build/argparse.py $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/argparse/config b/projects/argparse/config
deleted file mode 100644
index 87f80b0..0000000
--- a/projects/argparse/config
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 1.2.1
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - URL: 'https://pypi.python.org/packages/source/a/argparse/argparse-[% c("version") %].tar.gz'
- sha256sum: ddaf4b0a618335a32b6664d4ae038a1de8fbada3b25033f9021510ed2b3941a4
diff --git a/projects/fteproxy/build b/projects/fteproxy/build
deleted file mode 100644
index ea37d05..0000000
--- a/projects/fteproxy/build
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR $DOCSDIR
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/libfte') %]
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-cp -a $rootdir/fteproxy.wrapper $PTDIR/fteproxy.wrapper
-chmod +x $PTDIR/fteproxy.wrapper
-cp -a bin/fteproxy $PTDIR/fteproxy.bin
-cp -ra fteproxy $PTDIR/
-cp -a {COPYING,README.md} $DOCSDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/fteproxy/config b/projects/fteproxy/config
deleted file mode 100644
index 9f797c5..0000000
--- a/projects/fteproxy/config
+++ /dev/null
@@ -1,24 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '[% c("abbrev") %]'
-git_url: https://github.com/kpdyer/fteproxy.git
-# tag 0.2.19
-git_hash: 597f8378f6f4f3de570b8e1064c2e4cb8d67fbd0
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - project: libfte
- name: libfte
- - filename: fteproxy.wrapper
- enable: '[% c("var/linux") %]'
diff --git a/projects/fteproxy/fteproxy.wrapper b/projects/fteproxy/fteproxy.wrapper
deleted file mode 100644
index ca10086..0000000
--- a/projects/fteproxy/fteproxy.wrapper
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$0")
-libdir=$(cd "$basedir"/fteproxy-lib ; pwd)
-if test -z "$LD_LIBRARY_PATH"
-then
- export LD_LIBRARY_PATH="$libdir"
-else
- export LD_LIBRARY_PATH="$libdir:$LD_LIBRARY_PATH"
-fi
-exec "$basedir/fteproxy.bin" "$@"
diff --git a/projects/gmp/build b/projects/gmp/build
deleted file mode 100644
index 2752afe..0000000
--- a/projects/gmp/build
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-distdir=/var/tmp/dist/[% project %]
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.bz2
-cd /var/tmp/build/[% project %]-[% c('version') %]
-# Even if we are not shipping libgmpxx anymore we still need --enable-xcc
-# during compile time.
-./configure --disable-static --enable-shared --enable-cxx \
- [% c("var/configure_opt") %] [% c("var/configure_opt_gmp") %] --prefix=$distdir
-make -j[% c("buildconf/num_procs") %]
-make install
-cd /var/tmp/dist
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/gmp/config b/projects/gmp/config
deleted file mode 100644
index 41eb630..0000000
--- a/projects/gmp/config
+++ /dev/null
@@ -1,20 +0,0 @@
-# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-version: 5.1.3
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- configure_opt_gmp: --enable-fat
-
-input_files:
- - project: container-image
- - name: gmp
- URL: 'https://ftp.gnu.org/gnu/gmp/gmp-[% c("version") %].tar.bz2'
- sha256sum: 752079520b4690531171d0f4532e40f08600215feefede70b24fabdc6f1ab160
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
diff --git a/projects/libfte/build b/projects/libfte/build
deleted file mode 100644
index 638df7a..0000000
--- a/projects/libfte/build
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-[% c("var/setarch") -%]
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR $DOCSDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/gmp') %]
-ln -s /var/tmp/dist/gmp thirdparty/gmp
-mkdir -p $distdir
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/obfsproxy') %]
-[% IF c("var/linux-i686") -%]
- export CFLAGS=-m32
- export CXXFLAGS=-m32
- export LDFLAGS=-m32
-[% END -%]
-export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %]
-make
-cp -ra fte $PTDIR/
-mkdir -p $PTDIR/fteproxy-lib
-cp /var/tmp/dist/gmp/lib/libgmp.so.10 $PTDIR/fteproxy-lib
-cp -a {LICENSE,README.md} $DOCSDIR/
-cp -a thirdparty/re2/LICENSE $DOCSDIR/LICENSE.re2
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/libfte/config b/projects/libfte/config
deleted file mode 100644
index 365ad81..0000000
--- a/projects/libfte/config
+++ /dev/null
@@ -1,43 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '[% c("abbrev") %]'
-git_url: https://github.com/kpdyer/libfte.git
-git_hash: 85ef8ae58dbf0d02ea26b627e343784b5574c428
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux-x86_64:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
- linux-i686:
- var:
- pre_pkginst: |
- dpkg --add-architecture i386
- # python2.7:i386 cannot be installed because the mime-support package
- # in wheezy is not marked "Multi-Arch: foreign":
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695357
- # We fix this by installing the jessie mime-support package.
- wget http://ftp.debian.org/debian/pool/main/m/mime-support/mime-support_3.58_all…
- echo 'c05ebe8f38da4ff19d028c9f4680414149e5c7a746de13bc9db0a562796ed213 mime-support_3.58_all.deb' | sha256sum -c
- dpkg -i mime-support_3.58_all.deb
- post_pkginst: |
- export DEBIAN_FRONTEND=noninteractive
- apt-get install -q -y libpython2.7:i386 python2.7:i386 python2.7-minimal:i386 python2.7-dev:i386
- apt-get install -q -y hardening-wrapper
- apt-get download -q -y python-setuptools python-pkg-resources
- dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
-
-input_files:
- - project: container-image
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
- - project: gmp
- name: gmp
- - project: obfsproxy
- name: obfsproxy
diff --git a/projects/obfsproxy/build b/projects/obfsproxy/build
deleted file mode 100644
index 46f9b7a..0000000
--- a/projects/obfsproxy/build
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR $DOCSDIR
-mkdir -p $distdir
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/pycrypto') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/twisted') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/argparse') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/parsley') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/pyptlib') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/pyyaml') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/txsocksx') %]
-tar -C $distdir -xf $rootdir/[% c('input_files_by_name/zope.interface') %]
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-export PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/obfsproxy $PTDIR/
-cp -a bin/obfsproxy $PTDIR/obfsproxy.bin
-cp -a {LICENSE,README} $DOCSDIR
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/obfsproxy/config b/projects/obfsproxy/config
deleted file mode 100644
index 9616eed..0000000
--- a/projects/obfsproxy/config
+++ /dev/null
@@ -1,38 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 0.2.12
-git_url: https://git.torproject.org/pluggable-transports/obfsproxy.git
-git_hash: 'obfsproxy-[% c("version") %]'
-tag_gpg_id: 1
-gpg_keyring: obfsproxy.gpg
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- DOCSDIR_project: Obfsproxy
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - project: pycrypto
- name: pycrypto
- - project: twisted
- name: twisted
- - project: argparse
- name: argparse
- - project: parsley
- name: parsley
- - project: pyptlib
- name: pyptlib
- - project: pyyaml
- name: pyyaml
- - project: txsocksx
- name: txsocksx
- - project: zope.interface
- name: zope.interface
diff --git a/projects/parsley/build b/projects/parsley/build
deleted file mode 100644
index e32060b..0000000
--- a/projects/parsley/build
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/Parsley-[% c('version') %].tar.gz
-cd /var/tmp/build/Parsley-[% c('version') %]
-PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/parsley.py build/ometa build/terml $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/parsley/config b/projects/parsley/config
deleted file mode 100644
index 72d5bfc..0000000
--- a/projects/parsley/config
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 1.2
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - URL: 'https://pypi.python.org/packages/source/P/Parsley/Parsley-[% c("version") %].tar.gz'
- sha256sum: 50d30cee70770fd44db7cea421cb2fb75af247c3a1cd54885c06b30a7c85dd23
diff --git a/projects/pycrypto/build b/projects/pycrypto/build
deleted file mode 100644
index 3162296..0000000
--- a/projects/pycrypto/build
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-set -e
-[% c("var/set_default_env") -%]
-[% c("var/setarch") -%]
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-[% IF c("var/linux-i686") -%]
- export CFLAGS=-m32
- export CXXFLAGS=-m32
- export LDFLAGS=-m32
-[% END -%]
-export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %]
-./configure --build=i686-linux-gnu [% c("var/configure_opt") %]
-$PYTHON setup.py build --build-lib build
-cp -a build/Crypto $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/pycrypto/config b/projects/pycrypto/config
deleted file mode 100644
index 56fe397..0000000
--- a/projects/pycrypto/config
+++ /dev/null
@@ -1,38 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 2.6.1
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-var:
- container:
- use_container: 1
-
-targets:
- linux-x86_64:
- var:
- arch_deps:
- - python-dev
- - python-setuptools
-
- linux-i686:
- var:
- pre_pkginst: |
- dpkg --add-architecture i386
- # python2.7:i386 cannot be installed because the mime-support package
- # in wheezy is not marked "Multi-Arch: foreign":
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695357
- # We fix this by installing the jessie mime-support package.
- wget http://ftp.debian.org/debian/pool/main/m/mime-support/mime-support_3.58_all…
- echo 'c05ebe8f38da4ff19d028c9f4680414149e5c7a746de13bc9db0a562796ed213 mime-support_3.58_all.deb' | sha256sum -c
- dpkg -i mime-support_3.58_all.deb
- post_pkginst: |
- export DEBIAN_FRONTEND=noninteractive
- apt-get install -q -y libpython2.7:i386 python2.7:i386 python2.7-minimal:i386 python2.7-dev:i386
- apt-get install -q -y hardening-wrapper
- apt-get download -q -y python-setuptools python-pkg-resources
- dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
-
-input_files:
- - project: container-image
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
- - URL: 'https://pypi.python.org/packages/source/p/pycrypto/pycrypto-[% c("version") %].tar.gz'
- sha256sum: f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
diff --git a/projects/pyptlib/build b/projects/pyptlib/build
deleted file mode 100644
index 1dc0c07..0000000
--- a/projects/pyptlib/build
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-export PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/pyptlib $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/pyptlib/config b/projects/pyptlib/config
deleted file mode 100644
index e8ca100..0000000
--- a/projects/pyptlib/config
+++ /dev/null
@@ -1,21 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 0.0.6
-git_url: https://git.torproject.org/pluggable-transports/pyptlib.git
-git_hash: 'pyptlib-[% c("version") %]'
-tag_gpg_id: 1
-gpg_keyring: pyptlib.gpg
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
diff --git a/projects/pyyaml/build b/projects/pyyaml/build
deleted file mode 100644
index c10855c..0000000
--- a/projects/pyyaml/build
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/PyYAML-[% c('version') %].tar.gz
-cd /var/tmp/build/PyYAML-[% c('version') %]
-export PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/yaml $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/pyyaml/config b/projects/pyyaml/config
deleted file mode 100644
index 5324c10..0000000
--- a/projects/pyyaml/config
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 3.11
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - URL: 'https://pypi.python.org/packages/source/P/PyYAML/PyYAML-[% c("version") %].tar.gz'
- sha256sum: c36c938a872e5ff494938b33b14aaa156cb439ec67548fcab3535bb78b0846e8
diff --git a/projects/tor-browser/Bundle-Data/Docs/Licenses/PluggableTransports/LICENSE b/projects/tor-browser/Bundle-Data/Docs/Licenses/PluggableTransports/LICENSE
index c6efd2c..8bf0661 100644
--- a/projects/tor-browser/Bundle-Data/Docs/Licenses/PluggableTransports/LICENSE
+++ b/projects/tor-browser/Bundle-Data/Docs/Licenses/PluggableTransports/LICENSE
@@ -145,284 +145,6 @@ OpenSSL
===============================================================================
-M2Crypto
-
-Copyright (c) 1999-2004 Ng Pheng Siong. All rights reserved.
-
-Portions copyright (c) 2004-2006 Open Source Applications Foundation.
-All rights reserved.
-
-Portions copyright (c) 2005-2006 Vrije Universiteit Amsterdam.
-All rights reserved.
-
-Copyright (c) 2008-2010 Heikki Toivonen. All rights reserved.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
-supporting documentation.
-
-THE AUTHOR PROVIDES THIS SOFTWARE ``AS IS'' AND ANY EXPRESSED OR
-IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
-NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-===============================================================================
-
-py2exe
-
-Windows binary packages are built using py2exe.
-
-Copyright (c) 2000-2008 Thomas Heller, Mark Hammond, Jimmy Retzlaff
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-===============================================================================
-
-pyptlib
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above
-copyright notice, this list of conditions and the following disclaimer
-in the documentation and/or other materials provided with the
-distribution.
-
- * Neither the names of the copyright owners nor the names of its
-contributors may be used to endorse or promote products derived from
-this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-===============================================================================
-
-PyCrypto
-
-To the best of our knowledge, with the exceptions noted below or
-within the files themselves, the files that constitute PyCrypto are in
-the public domain. Most are distributed with the following notice:
-
- The contents of this file are dedicated to the public domain. To
- the extent that dedication to the public domain is not available,
- everyone is granted a worldwide, perpetual, royalty-free,
- non-exclusive license to exercise all rights associated with the
- contents of this file for any purpose whatsoever.
- No rights are reserved.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- SOFTWARE.
-
-Exceptions:
-
- - Portions of HMAC.py and setup.py are derived from Python 2.2, and
- are therefore Copyright (c) 2001, 2002, 2003 Python Software
- Foundation (All Rights Reserved). They are licensed by the PSF
- under the terms of the Python 2.2 license. (See the file
- LEGAL/copy/LICENSE.python-2.2 for details.)
-
- - The various GNU autotools (autoconf, automake, aclocal, etc.) are
- used during the build process. This includes macros from
- autoconf-archive, which are located in the m4/ directory. As is
- customary, some files from the GNU autotools are included in the
- source tree (in the root directory, and in the build-aux/
- directory). These files are merely part of the build process, and
- are not included in binary builds of the software.
-
-EXPORT RESTRICTIONS:
-
-Note that the export or re-export of cryptographic software and/or
-source code may be subject to regulation in your jurisdiction.
-
-===============================================================================
-
-Twisted
-
-Copyright (c) 2001-2013
-Allen Short
-Andy Gayton
-Andrew Bennetts
-Antoine Pitrou
-Apple Computer, Inc.
-Benjamin Bruheim
-Bob Ippolito
-Canonical Limited
-Christopher Armstrong
-David Reid
-Donovan Preston
-Eric Mangold
-Eyal Lotem
-Itamar Turner-Trauring
-James Knight
-Jason A. Mobarak
-Jean-Paul Calderone
-Jessica McKellar
-Jonathan Jacobs
-Jonathan Lange
-Jonathan D. Simms
-Jürgen Hermann
-Kevin Horn
-Kevin Turner
-Mary Gardiner
-Matthew Lefkowitz
-Massachusetts Institute of Technology
-Moshe Zadka
-Paul Swartz
-Pavel Pergamenshchik
-Ralph Meijer
-Sean Riley
-Software Freedom Conservancy
-Travis B. Hartwell
-Thijs Triemstra
-Thomas Herve
-Timothy Allen
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-===============================================================================
-
-zope.interface
-
-# Copyright (c) 2006 Zope Corporation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-
-Zope Public License (ZPL) Version 2.1
--------------------------------------
-
-A copyright notice accompanies this license document that
-identifies the copyright holders.
-
-This license has been certified as open source. It has also
-been designated as GPL compatible by the Free Software
-Foundation (FSF).
-
-Redistribution and use in source and binary forms, with or
-without modification, are permitted provided that the
-following conditions are met:
-
-1. Redistributions in source code must retain the
- accompanying copyright notice, this list of conditions,
- and the following disclaimer.
-
-2. Redistributions in binary form must reproduce the accompanying
- copyright notice, this list of conditions, and the
- following disclaimer in the documentation and/or other
- materials provided with the distribution.
-
-3. Names of the copyright holders must not be used to
- endorse or promote products derived from this software
- without prior written permission from the copyright
- holders.
-
-4. The right to distribute this software or to use it for
- any purpose does not give you the right to use
- Servicemarks (sm) or Trademarks (tm) of the copyright
- holders. Use of them is covered by separate agreement
- with the copyright holders.
-
-5. If any files are modified, you must cause the modified
- files to carry prominent notices stating that you changed
- the files and the date of any change.
-
-Disclaimer
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS''
- AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT
- NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
- NO EVENT SHALL THE COPYRIGHT HOLDERS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
- OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- DAMAGE.
-
-===============================================================================
-
-argparse
-
-argparse is (c) 2006-2009 Steven J. Bethard <steven.bethard(a)gmail.com>.
-
-The argparse module was contributed to Python as of Python 2.7 and thus
-was licensed under the Python license. Same license applies to all files in
-the argparse package project.
-
-For details about the Python License, please see LICENSE.PYTHON.
-
-===============================================================================
-
goptlib
To the extent possible under law, the authors have dedicated all
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix b/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
index d9988fb..75d5c5e 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/linux/torrc-defaults-appendix
@@ -1,6 +1,3 @@
-## fteproxy configuration
-ClientTransportPlugin fte exec ./TorBrowser/Tor/PluggableTransports/fteproxy.wrapper --managed
-
## obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 45dbb53..1f155d1 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -60,10 +60,6 @@ mv "$TBDIR/meek-http-helper(a)bamsoftware.com.xpi" "$TBDIR/$MEEKPROFILEPATH/extens
tar -C "$TBDIR" -xf [% c('input_files_by_name/snowflake') -%]
[% END -%]
-[% IF c("var/fteproxy") -%]
- tar -C "$TBDIR" -xf [% c('input_files_by_name/fteproxy') %]
-[% END -%]
-
tar -C "$TBDIR[% IF c("var/osx") %]/Contents/Resources[% END %]" -xf [% c('input_files_by_name/fonts') %]
[% IF c("var/linux") %]
@@ -119,24 +115,18 @@ cp -a Bundle-Data/Docs/* "$TBDIR/$DOCSPATH"
tar -C Bundle-Data/[% bundledata_osname %] -c . | tar -C "$TBDIR[% IF ! c("var/osx") %]/TorBrowser[% END %]" -x
cat Bundle-Data/PTConfigs/[% bundledata_osname %]/torrc-defaults-appendix >> "$TBDIR/$TORCONFIGPATH/torrc-defaults"
-[% IF c("var/linux") -%]
+[% IF c("var/linux") || c("var/osx") -%]
[% IF ! c("var/snowflake") %]
grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \
- >> "$GENERATEDPREFSPATH"
+ >> "$GENERATEDPREFSPATH"
[% ELSE %]
cat Bundle-Data/PTConfigs/bridge_prefs.js >> "$GENERATEDPREFSPATH"
[% END %]
[% END -%]
[% IF c("var/windows") -%]
- # We don't have snowflake and FTE available on Windows (yet).
- grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js | \
- grep -v 'default_bridge\.fte' >> "$GENERATEDPREFSPATH"
-[% END -%]
-[% IF c("var/osx") -%]
- # FTE is temporarily removed due to bug 18495.
- grep -Ev 'default_bridge\.fte' Bundle-Data/PTConfigs/bridge_prefs.js \
- [% IF ! c("var/snowflake") %]| grep -v 'default_bridge\.snowflake' [% END %] \
- >> "$GENERATEDPREFSPATH"
+ # We don't have snowflake available on Windows (yet).
+ grep -v 'default_bridge\.snowflake' Bundle-Data/PTConfigs/bridge_prefs.js \
+ >> "$GENERATEDPREFSPATH"
[% END -%]
cat Bundle-Data/PTConfigs/meek-http-helper-user.js >> "$TBDIR/$MEEKPROFILEPATH/user.js"
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index ad382e2..ee62944 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -74,9 +74,6 @@ input_files:
- project: obfs4
name: obfs4
enable: '[% ! c("var/android") %]'
- - project: fteproxy
- name: fteproxy
- enable: '[% c("var/fteproxy") %]'
- project: snowflake
name: snowflake
enable: '[% c("var/snowflake") %]'
diff --git a/projects/twisted/build b/projects/twisted/build
deleted file mode 100644
index 3ce2eb0..0000000
--- a/projects/twisted/build
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/Twisted-[% c('version') %].tar.bz2
-cd /var/tmp/build/Twisted-[% c('version') %]
-[% IF c("var/linux-i686") -%]
- export CFLAGS=-m32
- export CXXFLAGS=-m32
- export LDFLAGS=-m32
-[% END -%]
-export PYTHON=python2[% IF c("var/linux-i686") %].7[% END %]
-$PYTHON setup.py build --build-lib build
-cp -a build/twisted $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/twisted/config b/projects/twisted/config
deleted file mode 100644
index bbe3fc5..0000000
--- a/projects/twisted/config
+++ /dev/null
@@ -1,39 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 13.2.0
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux-x86_64:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
- linux-i686:
- var:
- pre_pkginst: |
- dpkg --add-architecture i386
- # python2.7:i386 cannot be installed because the mime-support package
- # in wheezy is not marked "Multi-Arch: foreign":
- # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=695357
- # We fix this by installing the jessie mime-support package.
- wget http://ftp.debian.org/debian/pool/main/m/mime-support/mime-support_3.58_all…
- echo 'c05ebe8f38da4ff19d028c9f4680414149e5c7a746de13bc9db0a562796ed213 mime-support_3.58_all.deb' | sha256sum -c
- dpkg -i mime-support_3.58_all.deb
- post_pkginst: |
- export DEBIAN_FRONTEND=noninteractive
- apt-get install -q -y libpython2.7:i386 python2.7:i386 python2.7-minimal:i386 python2.7-dev:i386
- apt-get install -q -y hardening-wrapper
- apt-get download -q -y python-setuptools python-pkg-resources
- dpkg -i --force-depends python-setuptools*.deb python-pkg-resources*.deb
-
-input_files:
- - project: container-image
- - URL: 'https://pypi.python.org/packages/source/T/Twisted/Twisted-[% c("version") %].tar.bz2'
- sha256sum: 095175638c019ac7c0604f4c291724a16ff1acd062e181b01293bf4dcbc62cf3
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
diff --git a/projects/txsocksx/build b/projects/txsocksx/build
deleted file mode 100644
index 3491a26..0000000
--- a/projects/txsocksx/build
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% project %]-[% c('version') %].tar.gz
-cd /var/tmp/build/[% project %]-[% c('version') %]
-# Let's pretend we have the setup dependency already as we don't want to get
-# it downloaded during building. Just pretending and thus avoiding another
-# dependency should be fine here as txsocksx catches the exception due to
-# missing __version__ and __sha__ .
-mkdir vcversioner-1.14.1.1-py2.7.egg
-export PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/txsocksx $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/txsocksx/config b/projects/txsocksx/config
deleted file mode 100644
index 6142943..0000000
--- a/projects/txsocksx/config
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '[% c("abbrev") %]'
-git_url: https://github.com/habnabit/txsocksx.git
-git_hash: 216eb0894a1755872f4789f9458aa6cf543b8433
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
diff --git a/projects/zope.interface/build b/projects/zope.interface/build
deleted file mode 100644
index 23501a3..0000000
--- a/projects/zope.interface/build
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir="/var/tmp/dist/[% project %]"
-[% c("var/set_PTDIR_DOCSDIR") -%]
-mkdir -p $PTDIR
-mkdir -p /var/tmp/build
-unzip -d /var/tmp/build $rootdir/[% project %]-[% c('version') %].zip
-cd /var/tmp/build/[% project %]-[% c('version') %]
-export PYTHON=python2
-$PYTHON setup.py build --build-lib build
-cp -a build/zope $PTDIR/
-cd $distdir
-[% c('tar', {
- tar_src => [ '.' ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/zope.interface/config b/projects/zope.interface/config
deleted file mode 100644
index 9743b79..0000000
--- a/projects/zope.interface/config
+++ /dev/null
@@ -1,19 +0,0 @@
-# vim: filetype=yaml sw=2
-version: 4.0.5
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-
-var:
- container:
- use_container: 1
-
-targets:
- linux:
- var:
- arch_deps:
- - python-setuptools
- - python-dev
-
-input_files:
- - project: container-image
- - URL: 'https://pypi.python.org/packages/source/z/zope.interface/zope.interface-[% c("version") %].zip'
- sha256sum: 1a7c84716bbd9981915b64a81d8a3f076a5934a8c8df4224655469b3564940cc
diff --git a/rbm.conf b/rbm.conf
index 2202776..b6b2acf 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -196,7 +196,6 @@ targets:
# API 16 is the minimum we currently support for Tor Browser on Android
android_min_api: 16
snowflake: 0
- fteproxy: 0
container:
suite: stretch
arch: amd64
@@ -237,7 +236,6 @@ targets:
# We only build snowflake for linux and macOS on the alpha and nightly
# channels for now.
snowflake: '[% c("var/alpha") || c("var/nightly") %]'
- fteproxy: 1
container:
suite: wheezy
arch: amd64
@@ -297,7 +295,6 @@ targets:
LDFLAGS: '-Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs [% c("var/flag_HEASLR") %] [% c("var/flag_mwindows") %]'
flag_mwindows: '-mwindows'
compiler: mingw-w64
- fteproxy: 0
deps:
- build-essential
- python
1
0

[tor-browser-build/master] Bug 29641: Try to connect over IPv6 if needed
by gk@torproject.org 14 May '19
by gk@torproject.org 14 May '19
14 May '19
commit f75cf0bd2e1c4cef96a31e266da4a0385e5f2016
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 9 08:57:31 2019 +0000
Bug 29641: Try to connect over IPv6 if needed
---
projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults | 1 +
projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults | 1 +
projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults | 1 +
3 files changed, 3 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults b/projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults
index f3645cd..d0c074e 100644
--- a/projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults
+++ b/projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults
@@ -13,3 +13,4 @@ AvoidDiskWrites 1
Log notice stdout
CookieAuthentication 1
DormantCanceledByStartup 1
+ClientAutoIPv6ORPort 1
diff --git a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
index f3645cd..d0c074e 100644
--- a/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
+++ b/projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults
@@ -13,3 +13,4 @@ AvoidDiskWrites 1
Log notice stdout
CookieAuthentication 1
DormantCanceledByStartup 1
+ClientAutoIPv6ORPort 1
diff --git a/projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults b/projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults
index f3645cd..d0c074e 100644
--- a/projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults
+++ b/projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults
@@ -13,3 +13,4 @@ AvoidDiskWrites 1
Log notice stdout
CookieAuthentication 1
DormantCanceledByStartup 1
+ClientAutoIPv6ORPort 1
1
0
commit dd098db690092cba90a315853d624b5bf1cd97fe
Merge: da3351f f75cf0b
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 13:47:47 2019 +0000
Merge branch 'bug_29641'
projects/tor-browser/Bundle-Data/linux/Data/Tor/torrc-defaults | 1 +
projects/tor-browser/Bundle-Data/mac/TorBrowser/Data/Tor/torrc-defaults | 1 +
projects/tor-browser/Bundle-Data/windows/Data/Tor/torrc-defaults | 1 +
3 files changed, 3 insertions(+)
1
0
commit fd4c553ca957e3116f4905d2ad5e765d61bfc4e0
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 07:05:07 2019 +0000
Bug 30497: Add donation text and link
---
src/chrome/content/aboutTor/aboutTor.xhtml | 3 +++
src/chrome/locale/en-US/aboutTor.dtd | 2 ++
2 files changed, 5 insertions(+)
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml
index 0789f851..4736f653 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -72,6 +72,9 @@ window.addEventListener("pageshow", function() {
</div>
<div id="bottom">
+ <p id="donate" class="moreInfoLink">&aboutTor.donationBanner.line2e;
+ <a href="https://donate.torproject.org/">&aboutTor.donationBanner.buttonA; »</a>
+ </p>
<p id="manual" class="showForManual moreInfoLink">&aboutTor.torbrowser_user_manual_questions.label;
<a id="manualLink" target="_blank">&aboutTor.torbrowser_user_manual_link.label;</a></p>
<p id="newsletter" class="moreInfoLink"><img class="imageStyle" src="resource://torbutton-assets/icon-newsletter.png"/><br/>&aboutTor.newsletter.tagline;<br/>
diff --git a/src/chrome/locale/en-US/aboutTor.dtd b/src/chrome/locale/en-US/aboutTor.dtd
index 4f360a91..c4273ad2 100644
--- a/src/chrome/locale/en-US/aboutTor.dtd
+++ b/src/chrome/locale/en-US/aboutTor.dtd
@@ -28,3 +28,5 @@
<!ENTITY aboutTor.newsletter.tagline "Get the latest news from Tor straight to your inbox.">
<!ENTITY aboutTor.newsletter.link_text "Sign up for Tor News.">
+<!ENTITY aboutTor.donationBanner.line2e "Keep Tor strong.">
+<!ENTITY aboutTor.donationBanner.buttonA "Donate Now">
1
0
commit 28afffe498ddfd8db2190a285fa5662ecb33e802
Merge: b7813fdc fd4c553c
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 13:40:51 2019 +0000
Merge branch 'bug_30497'
src/chrome/content/aboutTor/aboutTor.xhtml | 3 +++
src/chrome/locale/en-US/aboutTor.dtd | 2 ++
2 files changed, 5 insertions(+)
1
0

[tor-browser-build/master] Bug 30503: Don't clean alpha builds in nightly builds
by boklm@torproject.org 14 May '19
by boklm@torproject.org 14 May '19
14 May '19
commit da3351fbb60f4ed456504d2bd9114002ad6e9210
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Tue May 14 11:58:54 2019 +0200
Bug 30503: Don't clean alpha builds in nightly builds
---
tools/ansible/roles/tbb-nightly-build/templates/rbm.local.conf | 4 ----
1 file changed, 4 deletions(-)
diff --git a/tools/ansible/roles/tbb-nightly-build/templates/rbm.local.conf b/tools/ansible/roles/tbb-nightly-build/templates/rbm.local.conf
index fcd6b34..f83d8f3 100644
--- a/tools/ansible/roles/tbb-nightly-build/templates/rbm.local.conf
+++ b/tools/ansible/roles/tbb-nightly-build/templates/rbm.local.conf
@@ -63,10 +63,6 @@ var:
HEAD:
- project: release
target:
- - alpha
- - torbrowser-all
- - project: release
- target:
- nightly
- torbrowser-all
#
1
0
commit b7813fdc6c7163dc5923937e2ba86a7e091b14dd
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 09:03:00 2019 +0000
Translations update
---
src/chrome/locale/da/browserOnboarding.properties | 8 +++----
src/chrome/locale/fa/browserOnboarding.properties | 26 +++++++++++-----------
src/chrome/locale/fr/aboutDialog.dtd | 2 +-
src/chrome/locale/fr/aboutTBUpdate.dtd | 4 ++--
src/chrome/locale/fr/browserOnboarding.properties | 22 +++++++++---------
src/chrome/locale/fr/securityLevel.properties | 4 ++--
src/chrome/locale/fr/torbutton.dtd | 2 +-
src/chrome/locale/fr/torbutton.properties | 2 +-
src/chrome/locale/is/securityLevel.properties | 2 +-
.../locale/sv-SE/browserOnboarding.properties | 2 +-
10 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/src/chrome/locale/da/browserOnboarding.properties b/src/chrome/locale/da/browserOnboarding.properties
index 36b9bbe6..815c42bf 100644
--- a/src/chrome/locale/da/browserOnboarding.properties
+++ b/src/chrome/locale/da/browserOnboarding.properties
@@ -34,11 +34,11 @@ onboarding.tour-tor-expect-differences=Oplevelesestips
onboarding.tour-tor-expect-differences.title=Forvent nogen forskelle.
onboarding.tour-tor-expect-differences.description=Med alle de sikkerheds- og privatlivsfunktionaliteter som gives af Tor, kan din oplevelse på internettet være lidt anderledes. Ting man være lidt langsommere, og afhængig af dit sikkerhedsniveau, kan det være at nogle elementer ikke virker eller ikke indlæses. Du bliver måske også spurgt om du er et menneske eller en robot.
onboarding.tour-tor-expect-differences.button=Se FAQ'er
-onboarding.tour-tor-expect-differences.next-button=Gå til Onion-tjenester
+onboarding.tour-tor-expect-differences.next-button=Gå til Oniontjenester
-onboarding.tour-tor-onion-services=Onion-tjenester
+onboarding.tour-tor-onion-services=Oniontjenester
onboarding.tour-tor-onion-services.title=Vær ekstra beskyttet.
-onboarding.tour-tor-onion-services.description=Onion-tjenester er steder som slutter med .onion som giver yderligere beskyttelse til udgivere og besøgende, inklusiv tilføjelse af sikkhedsforanstaltninger mod censur. Onion-tjenester giver alle mulighed for at levere indhold og tjenester anonymt. Klik nedenfor for at besøge DuckDuckGo's onion-sted.
+onboarding.tour-tor-onion-services.description=Oniontjenester er steder som slutter med .onion som giver yderligere beskyttelse til udgivere og besøgende, inklusiv tilføjelse af sikkhedsforanstaltninger mod censur. Oniontjenester giver alle mulighed for at levere indhold og tjenester anonymt. Klik nedenfor for at besøge DuckDuckGo's onionsted.
onboarding.tour-tor-onion-services.button=Besøg et onion
onboarding.tour-tor-onion-services.next-button=Fuldført
@@ -62,7 +62,7 @@ onboarding.tor-circuit-display.two-of-three=2 af 3
onboarding.tor-circuit-display.three-of-three=3 af 3
onboarding.tor-circuit-display.intro.title=Hvordan virker kredsløb?
-onboarding.tor-circuit-display.intro.msg=Kredsløb består af relæ, som er tildelt tilfældigt, hvilket er computere verden over som er konfigureret til at videresende Tor-trafik. Kredskøb giver dig mulighed for at bruge internettet privat og at oprette forbindelse til onion-tjenester.
+onboarding.tor-circuit-display.intro.msg=Kredsløb består af relæ, som er tildelt tilfældigt, hvilket er computere verden over som er konfigureret til at videresende Tor-trafik. Kredskøb giver dig mulighed for at bruge internettet privat og at oprette forbindelse til oniontjenester.
onboarding.tor-circuit-display.diagram.title=Kredsløb-visning
onboarding.tor-circuit-display.diagram.msg=Diagrammet viser relæene som opgør kredsløbet til webstedet. For at forhindre sammenkædning af aktivitet på tværs af forskellige steder, så får hvert websted et andet kredsløb.
diff --git a/src/chrome/locale/fa/browserOnboarding.properties b/src/chrome/locale/fa/browserOnboarding.properties
index 936163a5..7607ec10 100644
--- a/src/chrome/locale/fa/browserOnboarding.properties
+++ b/src/chrome/locale/fa/browserOnboarding.properties
@@ -5,7 +5,7 @@
onboarding.tour-tor-welcome=خوش آمدید
onboarding.tour-tor-welcome.title=شما آماده هستید.
onboarding.tour-tor-welcome.description=مرورگر تور در هنگام مرورگری وب بالاترین استاندارد در حریم شخصی و امنیت را به شما ارائه میدهد. شما حالا در برابر ردیابی, زیرنظر داشتن و سانسور محافظت میشوید. چگونگی این امر توسط این پذیرش سازمانی سریع به شما نشان داده خواهد شد.
-onboarding.tour-tor-welcome.next-button=Go to Privacy
+onboarding.tour-tor-welcome.next-button=برو به حریم خصوصی
onboarding.tour-tor-privacy=حریم خصوصی
onboarding.tour-tor-privacy.title=بو کشنده ها و جاسوس ها
@@ -21,20 +21,20 @@ onboarding.tour-tor-circuit-display=نمایش جریان
onboarding.tour-tor-circuit-display.title=مسیر خود را ببینید.
onboarding.tour-tor-circuit-display.description=برای هر دامنه که بازدید میکنید، ترافیک شما در جریانی از سه رلهی تور در سراسر جهان رمزگذاری میشود. وبسایت مورد نظر نمیداند که شما از کجا ارتباط را برقرار کردهاید. شما میتوانید درخواست یک جریان جدید را با کلیک بر 'جریان جدید برای این سایت' در بخش نمایش جریان داشته باشید.
onboarding.tour-tor-circuit-display.button=مشاهده مسیر من
-onboarding.tour-tor-circuit-display.next-button=Go to Security
+onboarding.tour-tor-circuit-display.next-button=برو به امنیت
onboarding.tour-tor-security=امنیت
onboarding.tour-tor-security.title=انتخاب تجربهی شما
onboarding.tour-tor-security.description=همچنین ما تنظیمات اضافی برای بالا بردن امنیت مرورگر شما فراهم کردهایم. تنظیمات امنیت ما به شما اجازه میدهد تا اجزایی که ممکن است برای حمله به رایانه شما استفاده شوند را مسدود کنید. برای مشاهدهی گزینههای مختلفی که وجود دارد، پایین را کلیک کنید.
-onboarding.tour-tor-security.description-suffix=Note: By default, NoScript and HTTPS Everywhere are not included on the toolbar, but you can customize your toolbar to add them.
+onboarding.tour-tor-security.description-suffix=نکته: به طور پیش فرض، NoScript و HTTPS در همه جا در نوار ابزار گنجانده نشده است، اما میتوانید نوار ابزار خود را برای افزودن آنها سفارشی کنید.
onboarding.tour-tor-security-level.button=سطح امنیت خود را مشاهده نمایید
-onboarding.tour-tor-security-level.next-button=Go to Experience Tips
+onboarding.tour-tor-security-level.next-button=برو به نکات تجربه
onboarding.tour-tor-expect-differences=نکات تجربه
onboarding.tour-tor-expect-differences.title=انتظار برخی تفاوتها را داشته باشید.
onboarding.tour-tor-expect-differences.description=با تمام امکانات امنیت و حریم خصوصی که تور فراهم کرده، تجربه شما در حال استفاده از اینترنت ممکن است کمی متفاوت باشد. همه چیز ممکن است کمی آهستهتر باشد و بسته به سطح امنیت شما بعضی اجزا ممکن است کار نکنند یا بارگیری نشوند. ممکن است گاها از شما درخواست شود که انسان بودن و ربات نبودن خود را اثبات کنید.
onboarding.tour-tor-expect-differences.button=مشاهده پرسشگان
-onboarding.tour-tor-expect-differences.next-button=Go to Onion Services
+onboarding.tour-tor-expect-differences.next-button=به خدمات پیازی بروید
onboarding.tour-tor-onion-services=خدمات پیازی
onboarding.tour-tor-onion-services.title=بیشتر محافظت شوید.
@@ -42,17 +42,17 @@ onboarding.tour-tor-onion-services.description=خدمات پیازی وبگاه
onboarding.tour-tor-onion-services.button=یک پیاز را ملاقات کنید.
onboarding.tour-tor-onion-services.next-button=انجام شد
-onboarding.overlay-icon-tooltip-updated2=See what's new\nin %S
+onboarding.overlay-icon-tooltip-updated2=ببینید چه چیزی جدید است\nدر %S
onboarding.tour-tor-update.prefix-new=جدید
-onboarding.tour-tor-update.prefix-updated=Updated
+onboarding.tour-tor-update.prefix-updated=بهروزرسانی شد
-onboarding.tour-tor-toolbar=Toolbar
-onboarding.tour-tor-toolbar-update-8.5.title=Toolbar layout
-onboarding.tour-tor-toolbar-update-8.5.description=We improved the browser toolbar layout. We moved the Torbutton icon after the URL bar, and we added a security level icon next to it.
-onboarding.tour-tor-toolbar-update-8.5.next-button=Go to Security
+onboarding.tour-tor-toolbar=نوار ابزار
+onboarding.tour-tor-toolbar-update-8.5.title=طرح بندی نوار ابزار
+onboarding.tour-tor-toolbar-update-8.5.description=ما طرح نوار ابزار مرورگر را بهبود بخشیدیم. نماد دکمهتور را بعد از نوار آدرس اینترنتی منتقل کردیم و یک نماد سطح امنیت در کنار آن اضافه کردیم.
+onboarding.tour-tor-toolbar-update-8.5.next-button=برو به امنیت
-onboarding.tour-tor-security-update-8.5.title=Security level experience
-onboarding.tour-tor-security-update-8.5.description=We improved how you see and set your security level. We replaced the security slider with a toolbar icon that makes your current level visible at all times. Click it to view details about your current level or to change your security settings.
+onboarding.tour-tor-security-update-8.5.title=تجربه سطح امنیت
+onboarding.tour-tor-security-update-8.5.description=ما بهبود یافتهایم و شما سطح امنیت خود را میتوانید تنظیم کنید. نوار لغزنده امنیت را با یک نماد نوار ابزار جایگزین کردیم که سطح فعلی شما را در همه زمانها قابل مشاهده است. برای مشاهده اطلاعات بیشتر در مورد سطح فعلی خود و یا تغییر تنظیمات امنیت خود، روی آن کلیک کنید.
# Circuit Display onboarding.
onboarding.tor-circuit-display.next=بعدی
diff --git a/src/chrome/locale/fr/aboutDialog.dtd b/src/chrome/locale/fr/aboutDialog.dtd
index 7c561c09..6630cd94 100644
--- a/src/chrome/locale/fr/aboutDialog.dtd
+++ b/src/chrome/locale/fr/aboutDialog.dtd
@@ -16,4 +16,4 @@
<!ENTITY bottomLinks.grow "Aidez à la croissance du réseau Tor !">
<!-- LOCALIZATION NOTE (bottom.questions): This is a link title that links to about:license -->
<!ENTITY bottomLinks.license "Renseignements relatifs à la licence">
-<!ENTITY tor.TrademarkStatement "« Tor » et le « logo Oignon » sont des marques de commerce de « The Projet Tor, Inc. »">
+<!ENTITY tor.TrademarkStatement "« Tor » et le « logo Onion » sont des marques de commerce de « The Projet Tor, Inc. »">
diff --git a/src/chrome/locale/fr/aboutTBUpdate.dtd b/src/chrome/locale/fr/aboutTBUpdate.dtd
index 5cacaad9..95ce0249 100644
--- a/src/chrome/locale/fr/aboutTBUpdate.dtd
+++ b/src/chrome/locale/fr/aboutTBUpdate.dtd
@@ -1,6 +1,6 @@
<!ENTITY aboutTBUpdate.changelogTitle "Journal des changements du Navigateur Tor">
-<!ENTITY aboutTBUpdate.updated "Le navigateur Tor a été mis à jour.">
-<!ENTITY aboutTBUpdate.linkPrefix "Pour obtenir les renseignements les plus à jour au sujet de cette version,">
+<!ENTITY aboutTBUpdate.updated "Le Navigateur Tor a été mis à jour.">
+<!ENTITY aboutTBUpdate.linkPrefix "Pour obtenir les renseignements les plus à jour au sujet de cette version, ">
<!ENTITY aboutTBUpdate.linkLabel "visitez notre site Web">
<!ENTITY aboutTBUpdate.linkSuffix ".">
<!ENTITY aboutTBUpdate.version "Version">
diff --git a/src/chrome/locale/fr/browserOnboarding.properties b/src/chrome/locale/fr/browserOnboarding.properties
index 403a0f4e..8ebbdb33 100644
--- a/src/chrome/locale/fr/browserOnboarding.properties
+++ b/src/chrome/locale/fr/browserOnboarding.properties
@@ -4,41 +4,41 @@
onboarding.tour-tor-welcome=Bienvenue
onboarding.tour-tor-welcome.title=Vous êtes prêts.
-onboarding.tour-tor-welcome.description=Le Navigateur Tor offre le plus haut niveau de confidentialité et de sécurité quand vous parcourez le Web. Vous êtes maintenant protégé contre le pistage, la surveillance et la censure. Cette introduction rapide vous montrera comment faire.
-onboarding.tour-tor-welcome.next-button=Aller vers Confidentialité
+onboarding.tour-tor-welcome.description=Le Navigateur Tor offre le plus haut niveau de confidentialité et de sécurité quand vous parcourez le Web. Vous êtes maintenant protégé contre le pistage, la surveillance et la censure. Cette présentation rapide vous montrera comment faire.
+onboarding.tour-tor-welcome.next-button=Poursuivre vers Confidentialité
onboarding.tour-tor-privacy=Confidentialité
onboarding.tour-tor-privacy.title=Repoussez les traqueurs et les fouineurs.
onboarding.tour-tor-privacy.description=Le Navigateur Tor isole les témoins et supprime l’historique de votre navigateur en fin de session. Ces modifications garantissent que confidentialité et sécurité sont protégées dans le navigateur. Cliquez sur « Réseau Tor » pour découvrir comment nous vous protégeons au niveau du réseau.
-onboarding.tour-tor-privacy.button=Aller vers Réseau Tor
+onboarding.tour-tor-privacy.button=Poursuivre vers Réseau Tor
onboarding.tour-tor-network=Réseau Tor
onboarding.tour-tor-network.title=Naviguez sur un réseau décentralisé.
onboarding.tour-tor-network.description=Le Navigateur Tor vous connecte au réseau Tor exploité par des milliers de bénévoles dans le monde entier. Contrairement à un RPV, il n’y a pas de point de défaillance unique ou d’entité centralisée auxquels vous devez faire confiance pour profiter d’Internet en toute confidentialité.
-onboarding.tour-tor-network.button=Aller vers Affichage des circuits
+onboarding.tour-tor-network.button=Poursuivre vers Affichage des circuits
onboarding.tour-tor-circuit-display=Affichage des circuits
onboarding.tour-tor-circuit-display.title=Visualisez votre chemin.
-onboarding.tour-tor-circuit-display.description=Pour chaque domaine que vous visitez, votre trafic est relayé et chiffré dans un circuit passant par trois relais Tor disséminés de par le monde. Aucun site Web ne sait d’où vous vous connectez. Vous pouvez demander un nouveau circuit en cliquant sur « Nouveau circuit Tor pour ce site » dans votre Affichage des circuits.
+onboarding.tour-tor-circuit-display.description=Pour chaque domaine que vous visitez, votre trafic est relayé et chiffré dans un circuit passant par trois relais Tor disséminés de par le monde. Aucun site Web ne sait d’où vous vous connectez. Vous pouvez demander un nouveau circuit en cliquant sur « Nouveau circuit Tor pour ce site » dans notre Affichage des circuits.
onboarding.tour-tor-circuit-display.button=Visualiser mon chemin
-onboarding.tour-tor-circuit-display.next-button=Aller vers Sécurité
+onboarding.tour-tor-circuit-display.next-button=Poursuivre vers Sécurité
onboarding.tour-tor-security=Sécurité
onboarding.tour-tor-security.title=Choisissez votre expérience.
onboarding.tour-tor-security.description=Nous vous offrons aussi des paramètres supplémentaires pour augmenter la sécurité de votre navigateur. Nos paramètres de sécurité vous permettent de bloquer des éléments qui pourraient être utilisés pour attaquer votre ordinateur. Cliquez ci-dessous pour voir ce que les différentes options vous proposent.
onboarding.tour-tor-security.description-suffix=Note : Par défaut, NoScript et HTTPS partout n’apparaissent pas dans la barre d’outils, mais vous pouvez la personnaliser pour les ajouter.
onboarding.tour-tor-security-level.button=Voir votre niveau de sécurité
-onboarding.tour-tor-security-level.next-button=Aller vers Conseils sur l’expérience
+onboarding.tour-tor-security-level.next-button=Poursuivre vers Conseils sur l’expérience
onboarding.tour-tor-expect-differences=Conseils sur l’expérience
onboarding.tour-tor-expect-differences.title=Attendez-vous à des différences.
onboarding.tour-tor-expect-differences.description=Avec toutes les fonctions de sécurité et de confidentialité offertes par Tor, votre expérience de navigation sur Internet pourrait être un peu différente. Les choses pourraient être un peu plus lentes et selon votre niveau de sécurité, certains éléments pourraient ne pas fonctionner ou ne pas se charger. On pourrait aussi vous demander de prouver que vous êtes un humain et non un robot.
onboarding.tour-tor-expect-differences.button=Consulter les FAQ
-onboarding.tour-tor-expect-differences.next-button=Aller vers Services Onion
+onboarding.tour-tor-expect-differences.next-button=Poursuivre vers Services onion
-onboarding.tour-tor-onion-services=Les services onion
+onboarding.tour-tor-onion-services=Services onion
onboarding.tour-tor-onion-services.title=Soyez plus que protégé.
-onboarding.tour-tor-onion-services.description=Les services onion sont des sites se terminant par .onion qui offrent des protections accrues aux diffuseurs et aux visiteurs, dont des mesures de protection contre la censure. Les services onion permettent à tous de proposer anonymement du contenu et des services. Cliquez ci-dessous pour visiter le site onion de DuckDuckGo.
+onboarding.tour-tor-onion-services.description=Les services onion sont des sites qui se terminent par .onion. Ils offrent des protections accrues aux diffuseurs et aux visiteurs, dont des mesures de protection contre la censure. Les services onion permettent à tous de proposer anonymement du contenu et des services. Cliquez ci-dessous pour visiter le site onion de DuckDuckGo.
onboarding.tour-tor-onion-services.button=Visiter un Onion
onboarding.tour-tor-onion-services.next-button=Terminé
@@ -62,7 +62,7 @@ onboarding.tor-circuit-display.two-of-three=2 de 3
onboarding.tor-circuit-display.three-of-three=3 de 3
onboarding.tor-circuit-display.intro.title=Comment les circuits fonctionnent-ils ?
-onboarding.tor-circuit-display.intro.msg=Les circuits sont composés de relais attribués au hasard et qui sont des ordinateurs disséminés dans le monde entier et configurés pour acheminer le trafic de Tor.
+onboarding.tor-circuit-display.intro.msg=Les circuits sont composés de relais attribués au hasard. Ce sont des ordinateurs disséminés dans le monde entier, configurés pour acheminer le trafic de Tor.
onboarding.tor-circuit-display.diagram.title=Affichage des circuits
onboarding.tor-circuit-display.diagram.msg=Ce diagramme affiche les relais qui composent le circuit de ce site Web. Pour empêcher de relier l’activité d’un site à l’autre, chaque site Web obtient un circuit différent.
diff --git a/src/chrome/locale/fr/securityLevel.properties b/src/chrome/locale/fr/securityLevel.properties
index f0106a9e..99d19fbe 100644
--- a/src/chrome/locale/fr/securityLevel.properties
+++ b/src/chrome/locale/fr/securityLevel.properties
@@ -2,7 +2,7 @@ securityLevel.securityLevel = Niveau de sécurité
securityLevel.customWarning = Personnalisé
securityLevel.overview = Désactive certaines fonctions Web qui peuvent être utilisées pour attaquer votre sécurité et votre anonymat.
securityLevel.standard.level = Normal
-securityLevel.standard.tooltip = Niveau de sûreté : normal
+securityLevel.standard.tooltip = Niveau de sécurité : normal
securityLevel.standard.summary = Toutes les fonctions du Navigateur Tor et des sites Web sont activées.
securityLevel.safer.level = Plus sûr
securityLevel.safer.tooltip = Niveau de sécurité : plus sûr
@@ -12,7 +12,7 @@ securityLevel.safer.description2 = Certaines polices et certains symboles mathé
securityLevel.safer.description3 = Le son et la vidéo (médias HTML5) sont « cliquer pour lire ».
securityLevel.safest.level = Le plus sûr
securityLevel.safest.tooltip = Niveau de sécurité : le plus sûr
-securityLevel.safest.summary = Ne permettre que les fonctions de sites Web qui sont exigées pour les sites fixes et les services de base. Ces changements affectent les images, les médias et les scripts.
+securityLevel.safest.summary = Ne permet que les fonctions de sites Web exigées pour les sites statiques et les services de base. Ces changements affectent les images, les médias et les scripts.
securityLevel.safest.description1 = JavaScript est désactivé par défaut pour tous les sites.
securityLevel.safest.description2 = Certaines polices, icônes, images et certains symboles mathématiques sont désactivés.
securityLevel.safest.description3 = Le son et la vidéo (médias HTML5) sont « cliquer pour lire ».
diff --git a/src/chrome/locale/fr/torbutton.dtd b/src/chrome/locale/fr/torbutton.dtd
index ea4e0246..d56508bb 100644
--- a/src/chrome/locale/fr/torbutton.dtd
+++ b/src/chrome/locale/fr/torbutton.dtd
@@ -29,7 +29,7 @@
<!ENTITY torbutton.prefs.sec_safer_description "Désactive les fonctions souvent dangereuses des sites Web, ce qui pourrait entraîner une perte de fonctionnalité de certains sites Web.">
<!ENTITY torbutton.prefs.sec_safer_list_label "Au réglage Plus sûr :">
<!ENTITY torbutton.prefs.sec_safest_label "Le plus sûr">
-<!ENTITY torbutton.prefs.sec_safest_description "Ne permettre que les fonctions de sites Web qui sont exigées pour les sites fixes et les services de base. Ces changements affectent les images, les médias et les scripts.">
+<!ENTITY torbutton.prefs.sec_safest_description "Ne permet que les fonctions de sites Web exigées pour les sites statiques et les services de base. Ces changements affectent les images, les médias et les scripts.">
<!ENTITY torbutton.prefs.sec_safest_list_label "Au réglage Le plus sûr :">
<!ENTITY torbutton.prefs.sec_learn_more_label "En apprendre davantage">
<!ENTITY torbutton.prefs.sec_js_on_https_sites_only "JavaScript est désactivé pour les sites non HTTPS.">
diff --git a/src/chrome/locale/fr/torbutton.properties b/src/chrome/locale/fr/torbutton.properties
index 3731d87d..846dac04 100644
--- a/src/chrome/locale/fr/torbutton.properties
+++ b/src/chrome/locale/fr/torbutton.properties
@@ -6,7 +6,7 @@ torbutton.circuit_display.relay = Relais
torbutton.circuit_display.tor_bridge = Pont
torbutton.circuit_display.unknown_country = Pays inconnu
torbutton.circuit_display.guard = garde
-torbutton.circuit_display.guard_note = Votre nœud de [Guard] ne peut pas changer.
+torbutton.circuit_display.guard_note = Votre nœud de [garde] ne peut pas changer.
torbutton.circuit_display.learn_more = En apprendre davantage
torbutton.content_sizer.margin_tooltip = Le Navigateur Tor ajoute cette marge pour rendre la largeur et la hauteur de votre fenêtre moins distinctives, et pour réduire par conséquent la possibilité que l’on vous suive à la trace en ligne.
torbutton.panel.tooltip.disabled = Cliquer pour activer Tor
diff --git a/src/chrome/locale/is/securityLevel.properties b/src/chrome/locale/is/securityLevel.properties
index 98ed0e4a..50c66702 100644
--- a/src/chrome/locale/is/securityLevel.properties
+++ b/src/chrome/locale/is/securityLevel.properties
@@ -16,7 +16,7 @@ securityLevel.safest.summary = Leyfir aðeins þá eiginleika vefsvæða sem kra
securityLevel.safest.description1 = JavaScript er sjálfgefið óvirkt á öllum vefsvæðum.
securityLevel.safest.description2 = Sumt letur, táknmyndir, myndir og stærðfræðitákn eru óvirk.
securityLevel.safest.description3 = Hljóð og myndskeið (HTML5-gagnamiðla) þarf að smella á til að spila.
-securityLevel.custom.summary = Your custom browser preferences have resulted in unusual security settings. For security and privacy reasons, we recommend you choose one of the default security levels.
+securityLevel.custom.summary = Sérsniðnar kjörstillingar vafrans þíns valda mjög óvenjulegum öryggisstillingum. Til að uppfylla sem best öryggi og gagnaleynd, mælum við með því að þú veljir eitt af sjálfgefnum öryggisstigum.
securityLevel.learnMore = Fræðast frekar
securityLevel.restoreDefaults = Frumstilla á sjálfgefið
securityLevel.advancedSecuritySettings = Ítarlegar öryggisstillingar…
diff --git a/src/chrome/locale/sv-SE/browserOnboarding.properties b/src/chrome/locale/sv-SE/browserOnboarding.properties
index 82290a84..61779ce7 100644
--- a/src/chrome/locale/sv-SE/browserOnboarding.properties
+++ b/src/chrome/locale/sv-SE/browserOnboarding.properties
@@ -28,7 +28,7 @@ onboarding.tour-tor-security.title=Välj din upplevelse.
onboarding.tour-tor-security.description=Vi ger dig också ytterligare inställningar för att stöta upp din webbläsares säkerhet. Våra säkerhetsinställningar kan du blockera element som kan användas för att attackera din dator. Klicka nedan för att se vad de olika alternativen gör.
onboarding.tour-tor-security.description-suffix=Observera: Som standard ingår inte NoScript och HTTPS Everywhere i verktygsfältet, men du kan anpassa verktygsfältet för att lägga till dem.
onboarding.tour-tor-security-level.button=Se din säkerhetsnivå
-onboarding.tour-tor-security-level.next-button=Go to Experience Tips
+onboarding.tour-tor-security-level.next-button=Gå till Erfarenhets tips
onboarding.tour-tor-expect-differences=Erfarenhets tips
onboarding.tour-tor-expect-differences.title=Förvänta dig vissa skillnader.
1
0

[tor-browser/tor-browser-60.6.1esr-9.0-1] Pull in latest Torbutton code
by gk@torproject.org 14 May '19
by gk@torproject.org 14 May '19
14 May '19
commit 7c7cbe71918466f67ef96a3a73c65dcf13d2f377
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue May 14 07:06:46 2019 +0000
Pull in latest Torbutton code
---
toolkit/torproject/torbutton | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/toolkit/torproject/torbutton b/toolkit/torproject/torbutton
index e702dfcb7731..8877c1ecb16a 160000
--- a/toolkit/torproject/torbutton
+++ b/toolkit/torproject/torbutton
@@ -1 +1 @@
-Subproject commit e702dfcb7731c11787ab6f8c42cc8fe9b204cdc7
+Subproject commit 8877c1ecb16aec821dea8aa2282c845452cef24f
1
0

13 May '19
commit 68d7be6c41aa408c20cb87511efe59e7afa60357
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon May 13 09:49:32 2019 +0000
Bumping tor browser branch for 9.0
---
projects/firefox/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/firefox/config b/projects/firefox/config
index c60ee8e..427033e 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -10,7 +10,7 @@ gpg_keyring: torbutton.gpg
var:
firefox_platform_version: 60.6.1
firefox_version: '[% c("var/firefox_platform_version") %]esr'
- torbrowser_branch: 8.5
+ torbrowser_branch: 9.0
torbrowser_update_channel: alpha
branding_directory: '[% IF c("var/android") %]mobile/android[% ELSE %]browser[% END %]/branding/alpha'
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
1
0

[tor-browser-build/master] Bug 28044: Integrate Tor Launcher into tor-browser
by gk@torproject.org 13 May '19
by gk@torproject.org 13 May '19
13 May '19
commit 6d94f73dc055c1739a67ffd422f7f5bf29218723
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Feb 26 10:16:15 2019 -0500
Bug 28044: Integrate Tor Launcher into tor-browser
Place the Tor Launcher sources within browser/extension before
starting the Firefox build (instead of creating an .xpi which
was included during the tor-browser packaging step).
---
projects/firefox/build | 5 +++++
projects/firefox/config | 3 +++
projects/firefox/mozconfig-android-armv7 | 3 +++
projects/firefox/mozconfig-android-x86 | 3 +++
projects/tor-browser/build | 1 -
projects/tor-browser/config | 3 ---
projects/tor-launcher/build | 12 ++++--------
projects/tor-launcher/config | 2 +-
8 files changed, 19 insertions(+), 13 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index 5cf86a4..3aa4a4d 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -151,6 +151,11 @@ fi
patch -p1 < $rootdir/1527534.patch
[% END -%]
+[% IF ! c("var/android") %]
+ # Place a copy of the Tor Launcher sources under browser/extensions
+ tar -C browser/extensions -xf $rootdir/[% c('input_files_by_name/tor-launcher') %]
+[% END -%]
+
rm -f configure
rm -f js/src/configure
diff --git a/projects/firefox/config b/projects/firefox/config
index 566cbc0..c60ee8e 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -149,6 +149,9 @@ input_files:
enable: '[% c("var/linux") %]'
- filename: start-firefox
enable: '[% c("var/linux") %]'
+ - project: tor-launcher
+ name: tor-launcher
+ enable: '[% ! c("var/android") %]'
- filename: 'gradle-dependencies-[% c("var/gradle_dependencies_version") %]'
name: gradle-dependencies
exec: '[% INCLUDE "fetch-gradle-dependencies" %]'
diff --git a/projects/firefox/mozconfig-android-armv7 b/projects/firefox/mozconfig-android-armv7
index dfa3aaf..6dde8b1 100644
--- a/projects/firefox/mozconfig-android-armv7
+++ b/projects/firefox/mozconfig-android-armv7
@@ -19,6 +19,9 @@ ac_add_options --with-clang-path=/var/tmp/dist/android-toolchain/android-ndk/arm
ac_add_options --with-android-distribution-directory=@TOPSRCDIR@/mobile/android/torbrowser
ac_add_options --with-l10n-base=/var/tmp/dist/locales
+# We do not use Tor Launcher on Android:
+ac_add_options --disable-tor-launcher
+
if [ -z "${TB_BUILD_WITH_UPDATER}" ]; then
# Because Google Play will likely be the primary distribution medium,
# we disable updating and rely on Google Play by default. The
diff --git a/projects/firefox/mozconfig-android-x86 b/projects/firefox/mozconfig-android-x86
index defe5c3..b332f52 100644
--- a/projects/firefox/mozconfig-android-x86
+++ b/projects/firefox/mozconfig-android-x86
@@ -19,6 +19,9 @@ ac_add_options --with-clang-path=/var/tmp/dist/android-toolchain/android-ndk/x86
ac_add_options --with-android-distribution-directory=@TOPSRCDIR@/mobile/android/torbrowser
ac_add_options --with-l10n-base=/var/tmp/dist/locales
+# We do not use Tor Launcher on Android:
+ac_add_options --disable-tor-launcher
+
if [ -z "${TB_BUILD_WITH_UPDATER}" ]; then
# Because Google Play will likely be the primary distribution medium,
# we disable updating and rely on Google Play by default. The
diff --git a/projects/tor-browser/build b/projects/tor-browser/build
index 1d73ff5..45dbb53 100644
--- a/projects/tor-browser/build
+++ b/projects/tor-browser/build
@@ -49,7 +49,6 @@ mkdir -p "$TBDIR/$MEEKPROFILEPATH/extensions"
unzip -d $rootdir $rootdir/[% c('input_files_by_name/firefox') %]/mar-tools-*.zip
MARTOOLS=$rootdir/mar-tools
-mv [% c('input_files_by_name/tor-launcher') %] "$TBDIR/$EXTSPATH/tor-launcher(a)torproject.org.xpi"
mv [% c('input_files_by_name/torbutton') %] "$TBDIR/$EXTSPATH/torbutton(a)torproject.org.xpi"
mv [% c('input_files_by_name/https-everywhere') %] "$TBDIR/$EXTSPATH/https-everywhere-eff(a)eff.org.xpi"
mv [% c('input_files_by_name/noscript') %] "$TBDIR/$EXTSPATH/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi"
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 39093d4..ad382e2 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -60,9 +60,6 @@ input_files:
- project: firefox-langpacks
name: firefox-langpacks
enable: '[% ! c("var/testbuild") && ! c("var/android") %]'
- - project: tor-launcher
- name: tor-launcher
- enable: '[% ! c("var/android") %]'
- project: torbutton
name: torbutton
enable: '[% ! c("var/android") %]'
diff --git a/projects/tor-launcher/build b/projects/tor-launcher/build
index 90c5268..710416a 100644
--- a/projects/tor-launcher/build
+++ b/projects/tor-launcher/build
@@ -1,12 +1,8 @@
#!/bin/bash
[% c("var/set_default_env") -%]
tar xvf [% project %]-[% c('version') %].tar.gz
-cd [% project %]-[% c('version') %]
-make package
-mkdir pkg/tmp
-cd pkg/tmp
-unzip ../*.xpi
-[% c('zip', {
- zip_src => [ '.' ],
- zip_args => dest_dir _ '/' _ c('filename'),
+mv [% project %]-[% c("version") %] [% project %]
+[% c('tar', {
+ tar_src => [ project ],
+ tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
}) %]
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index 151f836..8ea0a08 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -4,7 +4,7 @@ git_url: https://git.torproject.org/tor-launcher.git
git_hash: '[% c("version") %]'
gpg_keyring: torbutton.gpg
tag_gpg_id: 1
-filename: "[% project %]-[% c('version') %]-[% c('var/build_id') %].xpi"
+filename: "[% project %]-[% c('version') %]-[% c('var/build_id') %].tar.gz"
var:
container:
use_container: 1
1
0

[tor-launcher/master] Bug 28044: Integrate Tor Launcher into tor-browser
by gk@torproject.org 13 May '19
by gk@torproject.org 13 May '19
13 May '19
commit 864170b5c1e0626dbfe3707d48037010596c42e5
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri May 10 14:12:17 2019 -0400
Bug 28044: Integrate Tor Launcher into tor-browser
Update translations using our revised import-translations.sh script.
---
chrome.manifest | 170 +++++++++++++
jar.mn | 331 +++++++++++++++++++++++++
src/chrome/locale/ach/network-settings.dtd | 62 -----
src/chrome/locale/ach/torlauncher.properties | 94 -------
src/chrome/locale/ast/network-settings.dtd | 62 -----
src/chrome/locale/ast/torlauncher.properties | 94 -------
src/chrome/locale/ca-ES/torlauncher.properties | 49 ----
src/chrome/locale/en-GB/network-settings.dtd | 62 -----
src/chrome/locale/en-GB/torlauncher.properties | 94 -------
src/chrome/locale/ko/torlauncher.properties | 98 ++++----
src/chrome/locale/oc/network-settings.dtd | 62 -----
src/chrome/locale/oc/torlauncher.properties | 94 -------
src/chrome/locale/or/network-settings.dtd | 62 -----
src/chrome/locale/or/torlauncher.properties | 94 -------
src/chrome/locale/pt-PT/network-settings.dtd | 62 +++++
src/chrome/locale/pt-PT/torlauncher.properties | 94 +++++++
src/chrome/locale/son/network-settings.dtd | 62 -----
src/chrome/locale/son/torlauncher.properties | 94 -------
src/chrome/locale/ur/network-settings.dtd | 28 +--
19 files changed, 720 insertions(+), 1048 deletions(-)
diff --git a/chrome.manifest b/chrome.manifest
new file mode 100644
index 0000000..2f55271
--- /dev/null
+++ b/chrome.manifest
@@ -0,0 +1,170 @@
+### Copyright (c) 2019, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+content torlauncher chrome/content/
+
+skin torlauncher classic/1.0 chrome/skin/
+
+resource torlauncher ./
+
+# Firefox 4-style component registration
+component {4F476361-23FB-43EF-A427-B36A14D3208E} components/tl-protocol.js
+contract @torproject.org/torlauncher-protocol-service;1 {4F476361-23FB-43EF-A427-B36A14D3208E}
+
+component {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1} components/tl-process.js
+contract @torproject.org/torlauncher-process-service;1 {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1}
+category profile-after-change TorProcessService @torproject.org/torlauncher-process-service;1
+
+locale torlauncher en-US chrome/locale/en-US/
+locale torlauncher ady chrome/locale/ady/
+locale torlauncher af chrome/locale/af/
+locale torlauncher af-ZA chrome/locale/af-ZA/
+locale torlauncher ak chrome/locale/ak/
+locale torlauncher am chrome/locale/am/
+locale torlauncher am-ET chrome/locale/am-ET/
+locale torlauncher ar chrome/locale/ar/
+locale torlauncher arn chrome/locale/arn/
+locale torlauncher az chrome/locale/az/
+locale torlauncher be chrome/locale/be/
+locale torlauncher bg chrome/locale/bg/
+locale torlauncher bg-BG chrome/locale/bg-BG/
+locale torlauncher bn chrome/locale/bn/
+locale torlauncher bn-BD chrome/locale/bn-BD/
+locale torlauncher bn-IN chrome/locale/bn-IN/
+locale torlauncher bo chrome/locale/bo/
+locale torlauncher br chrome/locale/br/
+locale torlauncher bs chrome/locale/bs/
+locale torlauncher ca chrome/locale/ca/
+locale torlauncher ca@valencia chrome/locale/ca@valencia/
+locale torlauncher cs chrome/locale/cs/
+locale torlauncher cs-CZ chrome/locale/cs-CZ/
+locale torlauncher csb chrome/locale/csb/
+locale torlauncher cv chrome/locale/cv/
+locale torlauncher cy chrome/locale/cy/
+locale torlauncher da chrome/locale/da/
+locale torlauncher de chrome/locale/de/
+locale torlauncher dz chrome/locale/dz/
+locale torlauncher el chrome/locale/el/
+locale torlauncher el-GR chrome/locale/el-GR/
+locale torlauncher eo chrome/locale/eo/
+locale torlauncher es chrome/locale/es/
+locale torlauncher es-AR chrome/locale/es-AR/
+locale torlauncher es-CL chrome/locale/es-CL/
+locale torlauncher es-CO chrome/locale/es-CO/
+locale torlauncher es-MX chrome/locale/es-MX/
+locale torlauncher es-NI chrome/locale/es-NI/
+locale torlauncher et chrome/locale/et/
+locale torlauncher eu chrome/locale/eu/
+locale torlauncher fa chrome/locale/fa/
+locale torlauncher fi chrome/locale/fi/
+locale torlauncher fil chrome/locale/fil/
+locale torlauncher fo chrome/locale/fo/
+locale torlauncher fr chrome/locale/fr/
+locale torlauncher fr-CA chrome/locale/fr-CA/
+locale torlauncher fur chrome/locale/fur/
+locale torlauncher fy chrome/locale/fy/
+locale torlauncher ga chrome/locale/ga/
+locale torlauncher gl chrome/locale/gl/
+locale torlauncher gu chrome/locale/gu/
+locale torlauncher gu-IN chrome/locale/gu-IN/
+locale torlauncher gun chrome/locale/gun/
+locale torlauncher ha chrome/locale/ha/
+locale torlauncher he chrome/locale/he/
+locale torlauncher hi chrome/locale/hi/
+locale torlauncher hr chrome/locale/hr/
+locale torlauncher hr-HR chrome/locale/hr-HR/
+locale torlauncher ht chrome/locale/ht/
+locale torlauncher hu chrome/locale/hu/
+locale torlauncher hy chrome/locale/hy/
+locale torlauncher hy-AM chrome/locale/hy-AM/
+locale torlauncher ia chrome/locale/ia/
+locale torlauncher id chrome/locale/id/
+locale torlauncher is chrome/locale/is/
+locale torlauncher it chrome/locale/it/
+locale torlauncher ja chrome/locale/ja/
+locale torlauncher jv chrome/locale/jv/
+locale torlauncher ka chrome/locale/ka/
+locale torlauncher kk chrome/locale/kk/
+locale torlauncher km chrome/locale/km/
+locale torlauncher kn chrome/locale/kn/
+locale torlauncher ko chrome/locale/ko/
+locale torlauncher ko-KR chrome/locale/ko-KR/
+locale torlauncher ku chrome/locale/ku/
+locale torlauncher kw chrome/locale/kw/
+locale torlauncher ky chrome/locale/ky/
+locale torlauncher lb chrome/locale/lb/
+locale torlauncher lg chrome/locale/lg/
+locale torlauncher ln chrome/locale/ln/
+locale torlauncher lo chrome/locale/lo/
+locale torlauncher lt chrome/locale/lt/
+locale torlauncher lv chrome/locale/lv/
+locale torlauncher mg chrome/locale/mg/
+locale torlauncher mi chrome/locale/mi/
+locale torlauncher mk chrome/locale/mk/
+locale torlauncher ml chrome/locale/ml/
+locale torlauncher mn chrome/locale/mn/
+locale torlauncher mr chrome/locale/mr/
+locale torlauncher ms chrome/locale/ms/
+locale torlauncher ms-MY chrome/locale/ms-MY/
+locale torlauncher mt chrome/locale/mt/
+locale torlauncher my chrome/locale/my/
+locale torlauncher nah chrome/locale/nah/
+locale torlauncher nap chrome/locale/nap/
+locale torlauncher nb chrome/locale/nb/
+locale torlauncher nds chrome/locale/nds/
+locale torlauncher ne chrome/locale/ne/
+locale torlauncher nl chrome/locale/nl/
+locale torlauncher nl-BE chrome/locale/nl-BE/
+locale torlauncher nn chrome/locale/nn/
+locale torlauncher nso chrome/locale/nso/
+locale torlauncher pa chrome/locale/pa/
+locale torlauncher pap chrome/locale/pap/
+locale torlauncher pl chrome/locale/pl/
+locale torlauncher pl-PL chrome/locale/pl-PL/
+locale torlauncher pms chrome/locale/pms/
+locale torlauncher ps chrome/locale/ps/
+locale torlauncher pt chrome/locale/pt/
+locale torlauncher pt-BR chrome/locale/pt-BR/
+locale torlauncher pt-PT chrome/locale/pt-PT/
+locale torlauncher ro chrome/locale/ro/
+locale torlauncher ru chrome/locale/ru/
+locale torlauncher ru@petr1708 chrome/locale/ru@petr1708/
+locale torlauncher sco chrome/locale/sco/
+locale torlauncher si-LK chrome/locale/si-LK/
+locale torlauncher sk chrome/locale/sk/
+locale torlauncher sk-SK chrome/locale/sk-SK/
+locale torlauncher sl chrome/locale/sl/
+locale torlauncher sl-SI chrome/locale/sl-SI/
+locale torlauncher sn chrome/locale/sn/
+locale torlauncher so chrome/locale/so/
+locale torlauncher sq chrome/locale/sq/
+locale torlauncher sq-AL chrome/locale/sq-AL/
+locale torlauncher sr chrome/locale/sr/
+locale torlauncher sr@latin chrome/locale/sr@latin/
+locale torlauncher st chrome/locale/st/
+locale torlauncher su chrome/locale/su/
+locale torlauncher sv chrome/locale/sv/
+locale torlauncher sw chrome/locale/sw/
+locale torlauncher szl chrome/locale/szl/
+locale torlauncher ta chrome/locale/ta/
+locale torlauncher te chrome/locale/te/
+locale torlauncher te-IN chrome/locale/te-IN/
+locale torlauncher tg chrome/locale/tg/
+locale torlauncher th chrome/locale/th/
+locale torlauncher ti chrome/locale/ti/
+locale torlauncher tk chrome/locale/tk/
+locale torlauncher tr chrome/locale/tr/
+locale torlauncher uk chrome/locale/uk/
+locale torlauncher ur chrome/locale/ur/
+locale torlauncher ur-PK chrome/locale/ur-PK/
+locale torlauncher uz chrome/locale/uz/
+locale torlauncher ve chrome/locale/ve/
+locale torlauncher vi chrome/locale/vi/
+locale torlauncher wa chrome/locale/wa/
+locale torlauncher wo chrome/locale/wo/
+locale torlauncher zh chrome/locale/zh/
+locale torlauncher zh-CN chrome/locale/zh-CN/
+locale torlauncher zh-CN.GB2312 chrome/locale/zh-CN.GB2312/
+locale torlauncher zh-HK chrome/locale/zh-HK/
+locale torlauncher zh-TW chrome/locale/zh-TW/
+locale torlauncher zu chrome/locale/zu/
diff --git a/jar.mn b/jar.mn
new file mode 100644
index 0000000..b078202
--- /dev/null
+++ b/jar.mn
@@ -0,0 +1,331 @@
+#filter substitution
+### Copyright (c) 2019, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+torlauncher.jar:
+ components/ (src/components/*)
+
+% content torlauncher %content/
+ content/ (src/chrome/content/*)
+
+ modules/ (src/modules/*)
+
+% resource torlauncher %
+
+% skin torlauncher default %skin/
+ skin/ (src/chrome/skin/*)
+
+% component {4F476361-23FB-43EF-A427-B36A14D3208E} %components/tl-protocol.js
+% contract @torproject.org/torlauncher-protocol-service;1 {4F476361-23FB-43EF-A427-B36A14D3208E}
+
+% component {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1} %components/tl-process.js
+% contract @torproject.org/torlauncher-process-service;1 {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1}
+
+% category profile-after-change TorProcessService @torproject.org/torlauncher-process-service;1
+
+% locale torlauncher en-US %locale/en-US/
+ locale/en-US/ (src/chrome/locale/en-US/*)
+% locale torlauncher ady %locale/ady/
+ locale/ady/ (src/chrome/locale/ady/*)
+% locale torlauncher af %locale/af/
+ locale/af/ (src/chrome/locale/af/*)
+% locale torlauncher af-ZA %locale/af-ZA/
+ locale/af-ZA/ (src/chrome/locale/af-ZA/*)
+% locale torlauncher ak %locale/ak/
+ locale/ak/ (src/chrome/locale/ak/*)
+% locale torlauncher am %locale/am/
+ locale/am/ (src/chrome/locale/am/*)
+% locale torlauncher am-ET %locale/am-ET/
+ locale/am-ET/ (src/chrome/locale/am-ET/*)
+% locale torlauncher ar %locale/ar/
+ locale/ar/ (src/chrome/locale/ar/*)
+% locale torlauncher arn %locale/arn/
+ locale/arn/ (src/chrome/locale/arn/*)
+% locale torlauncher az %locale/az/
+ locale/az/ (src/chrome/locale/az/*)
+% locale torlauncher be %locale/be/
+ locale/be/ (src/chrome/locale/be/*)
+% locale torlauncher bg %locale/bg/
+ locale/bg/ (src/chrome/locale/bg/*)
+% locale torlauncher bg-BG %locale/bg-BG/
+ locale/bg-BG/ (src/chrome/locale/bg-BG/*)
+% locale torlauncher bn %locale/bn/
+ locale/bn/ (src/chrome/locale/bn/*)
+% locale torlauncher bn-BD %locale/bn-BD/
+ locale/bn-BD/ (src/chrome/locale/bn-BD/*)
+% locale torlauncher bn-IN %locale/bn-IN/
+ locale/bn-IN/ (src/chrome/locale/bn-IN/*)
+% locale torlauncher bo %locale/bo/
+ locale/bo/ (src/chrome/locale/bo/*)
+% locale torlauncher br %locale/br/
+ locale/br/ (src/chrome/locale/br/*)
+% locale torlauncher bs %locale/bs/
+ locale/bs/ (src/chrome/locale/bs/*)
+% locale torlauncher ca %locale/ca/
+ locale/ca/ (src/chrome/locale/ca/*)
+% locale torlauncher ca@valencia %locale/ca@valencia/
+ locale/ca@valencia/ (src/chrome/locale/ca@valencia/*)
+% locale torlauncher cs %locale/cs/
+ locale/cs/ (src/chrome/locale/cs/*)
+% locale torlauncher cs-CZ %locale/cs-CZ/
+ locale/cs-CZ/ (src/chrome/locale/cs-CZ/*)
+% locale torlauncher csb %locale/csb/
+ locale/csb/ (src/chrome/locale/csb/*)
+% locale torlauncher cv %locale/cv/
+ locale/cv/ (src/chrome/locale/cv/*)
+% locale torlauncher cy %locale/cy/
+ locale/cy/ (src/chrome/locale/cy/*)
+% locale torlauncher da %locale/da/
+ locale/da/ (src/chrome/locale/da/*)
+% locale torlauncher de %locale/de/
+ locale/de/ (src/chrome/locale/de/*)
+% locale torlauncher dz %locale/dz/
+ locale/dz/ (src/chrome/locale/dz/*)
+% locale torlauncher el %locale/el/
+ locale/el/ (src/chrome/locale/el/*)
+% locale torlauncher el-GR %locale/el-GR/
+ locale/el-GR/ (src/chrome/locale/el-GR/*)
+% locale torlauncher eo %locale/eo/
+ locale/eo/ (src/chrome/locale/eo/*)
+% locale torlauncher es %locale/es/
+ locale/es/ (src/chrome/locale/es/*)
+% locale torlauncher es-AR %locale/es-AR/
+ locale/es-AR/ (src/chrome/locale/es-AR/*)
+% locale torlauncher es-CL %locale/es-CL/
+ locale/es-CL/ (src/chrome/locale/es-CL/*)
+% locale torlauncher es-CO %locale/es-CO/
+ locale/es-CO/ (src/chrome/locale/es-CO/*)
+% locale torlauncher es-MX %locale/es-MX/
+ locale/es-MX/ (src/chrome/locale/es-MX/*)
+% locale torlauncher es-NI %locale/es-NI/
+ locale/es-NI/ (src/chrome/locale/es-NI/*)
+% locale torlauncher et %locale/et/
+ locale/et/ (src/chrome/locale/et/*)
+% locale torlauncher eu %locale/eu/
+ locale/eu/ (src/chrome/locale/eu/*)
+% locale torlauncher fa %locale/fa/
+ locale/fa/ (src/chrome/locale/fa/*)
+% locale torlauncher fi %locale/fi/
+ locale/fi/ (src/chrome/locale/fi/*)
+% locale torlauncher fil %locale/fil/
+ locale/fil/ (src/chrome/locale/fil/*)
+% locale torlauncher fo %locale/fo/
+ locale/fo/ (src/chrome/locale/fo/*)
+% locale torlauncher fr %locale/fr/
+ locale/fr/ (src/chrome/locale/fr/*)
+% locale torlauncher fr-CA %locale/fr-CA/
+ locale/fr-CA/ (src/chrome/locale/fr-CA/*)
+% locale torlauncher fur %locale/fur/
+ locale/fur/ (src/chrome/locale/fur/*)
+% locale torlauncher fy %locale/fy/
+ locale/fy/ (src/chrome/locale/fy/*)
+% locale torlauncher ga %locale/ga/
+ locale/ga/ (src/chrome/locale/ga/*)
+% locale torlauncher gl %locale/gl/
+ locale/gl/ (src/chrome/locale/gl/*)
+% locale torlauncher gu %locale/gu/
+ locale/gu/ (src/chrome/locale/gu/*)
+% locale torlauncher gu-IN %locale/gu-IN/
+ locale/gu-IN/ (src/chrome/locale/gu-IN/*)
+% locale torlauncher gun %locale/gun/
+ locale/gun/ (src/chrome/locale/gun/*)
+% locale torlauncher ha %locale/ha/
+ locale/ha/ (src/chrome/locale/ha/*)
+% locale torlauncher he %locale/he/
+ locale/he/ (src/chrome/locale/he/*)
+% locale torlauncher hi %locale/hi/
+ locale/hi/ (src/chrome/locale/hi/*)
+% locale torlauncher hr %locale/hr/
+ locale/hr/ (src/chrome/locale/hr/*)
+% locale torlauncher hr-HR %locale/hr-HR/
+ locale/hr-HR/ (src/chrome/locale/hr-HR/*)
+% locale torlauncher ht %locale/ht/
+ locale/ht/ (src/chrome/locale/ht/*)
+% locale torlauncher hu %locale/hu/
+ locale/hu/ (src/chrome/locale/hu/*)
+% locale torlauncher hy %locale/hy/
+ locale/hy/ (src/chrome/locale/hy/*)
+% locale torlauncher hy-AM %locale/hy-AM/
+ locale/hy-AM/ (src/chrome/locale/hy-AM/*)
+% locale torlauncher ia %locale/ia/
+ locale/ia/ (src/chrome/locale/ia/*)
+% locale torlauncher id %locale/id/
+ locale/id/ (src/chrome/locale/id/*)
+% locale torlauncher is %locale/is/
+ locale/is/ (src/chrome/locale/is/*)
+% locale torlauncher it %locale/it/
+ locale/it/ (src/chrome/locale/it/*)
+% locale torlauncher ja %locale/ja/
+ locale/ja/ (src/chrome/locale/ja/*)
+% locale torlauncher jv %locale/jv/
+ locale/jv/ (src/chrome/locale/jv/*)
+% locale torlauncher ka %locale/ka/
+ locale/ka/ (src/chrome/locale/ka/*)
+% locale torlauncher kk %locale/kk/
+ locale/kk/ (src/chrome/locale/kk/*)
+% locale torlauncher km %locale/km/
+ locale/km/ (src/chrome/locale/km/*)
+% locale torlauncher kn %locale/kn/
+ locale/kn/ (src/chrome/locale/kn/*)
+% locale torlauncher ko %locale/ko/
+ locale/ko/ (src/chrome/locale/ko/*)
+% locale torlauncher ko-KR %locale/ko-KR/
+ locale/ko-KR/ (src/chrome/locale/ko-KR/*)
+% locale torlauncher ku %locale/ku/
+ locale/ku/ (src/chrome/locale/ku/*)
+% locale torlauncher kw %locale/kw/
+ locale/kw/ (src/chrome/locale/kw/*)
+% locale torlauncher ky %locale/ky/
+ locale/ky/ (src/chrome/locale/ky/*)
+% locale torlauncher lb %locale/lb/
+ locale/lb/ (src/chrome/locale/lb/*)
+% locale torlauncher lg %locale/lg/
+ locale/lg/ (src/chrome/locale/lg/*)
+% locale torlauncher ln %locale/ln/
+ locale/ln/ (src/chrome/locale/ln/*)
+% locale torlauncher lo %locale/lo/
+ locale/lo/ (src/chrome/locale/lo/*)
+% locale torlauncher lt %locale/lt/
+ locale/lt/ (src/chrome/locale/lt/*)
+% locale torlauncher lv %locale/lv/
+ locale/lv/ (src/chrome/locale/lv/*)
+% locale torlauncher mg %locale/mg/
+ locale/mg/ (src/chrome/locale/mg/*)
+% locale torlauncher mi %locale/mi/
+ locale/mi/ (src/chrome/locale/mi/*)
+% locale torlauncher mk %locale/mk/
+ locale/mk/ (src/chrome/locale/mk/*)
+% locale torlauncher ml %locale/ml/
+ locale/ml/ (src/chrome/locale/ml/*)
+% locale torlauncher mn %locale/mn/
+ locale/mn/ (src/chrome/locale/mn/*)
+% locale torlauncher mr %locale/mr/
+ locale/mr/ (src/chrome/locale/mr/*)
+% locale torlauncher ms %locale/ms/
+ locale/ms/ (src/chrome/locale/ms/*)
+% locale torlauncher ms-MY %locale/ms-MY/
+ locale/ms-MY/ (src/chrome/locale/ms-MY/*)
+% locale torlauncher mt %locale/mt/
+ locale/mt/ (src/chrome/locale/mt/*)
+% locale torlauncher my %locale/my/
+ locale/my/ (src/chrome/locale/my/*)
+% locale torlauncher nah %locale/nah/
+ locale/nah/ (src/chrome/locale/nah/*)
+% locale torlauncher nap %locale/nap/
+ locale/nap/ (src/chrome/locale/nap/*)
+% locale torlauncher nb %locale/nb/
+ locale/nb/ (src/chrome/locale/nb/*)
+% locale torlauncher nds %locale/nds/
+ locale/nds/ (src/chrome/locale/nds/*)
+% locale torlauncher ne %locale/ne/
+ locale/ne/ (src/chrome/locale/ne/*)
+% locale torlauncher nl %locale/nl/
+ locale/nl/ (src/chrome/locale/nl/*)
+% locale torlauncher nl-BE %locale/nl-BE/
+ locale/nl-BE/ (src/chrome/locale/nl-BE/*)
+% locale torlauncher nn %locale/nn/
+ locale/nn/ (src/chrome/locale/nn/*)
+% locale torlauncher nso %locale/nso/
+ locale/nso/ (src/chrome/locale/nso/*)
+% locale torlauncher pa %locale/pa/
+ locale/pa/ (src/chrome/locale/pa/*)
+% locale torlauncher pap %locale/pap/
+ locale/pap/ (src/chrome/locale/pap/*)
+% locale torlauncher pl %locale/pl/
+ locale/pl/ (src/chrome/locale/pl/*)
+% locale torlauncher pl-PL %locale/pl-PL/
+ locale/pl-PL/ (src/chrome/locale/pl-PL/*)
+% locale torlauncher pms %locale/pms/
+ locale/pms/ (src/chrome/locale/pms/*)
+% locale torlauncher ps %locale/ps/
+ locale/ps/ (src/chrome/locale/ps/*)
+% locale torlauncher pt %locale/pt/
+ locale/pt/ (src/chrome/locale/pt/*)
+% locale torlauncher pt-BR %locale/pt-BR/
+ locale/pt-BR/ (src/chrome/locale/pt-BR/*)
+% locale torlauncher pt-PT %locale/pt-PT/
+ locale/pt-PT/ (src/chrome/locale/pt-PT/*)
+% locale torlauncher ro %locale/ro/
+ locale/ro/ (src/chrome/locale/ro/*)
+% locale torlauncher ru %locale/ru/
+ locale/ru/ (src/chrome/locale/ru/*)
+% locale torlauncher ru@petr1708 %locale/ru@petr1708/
+ locale/ru@petr1708/ (src/chrome/locale/ru@petr1708/*)
+% locale torlauncher sco %locale/sco/
+ locale/sco/ (src/chrome/locale/sco/*)
+% locale torlauncher si-LK %locale/si-LK/
+ locale/si-LK/ (src/chrome/locale/si-LK/*)
+% locale torlauncher sk %locale/sk/
+ locale/sk/ (src/chrome/locale/sk/*)
+% locale torlauncher sk-SK %locale/sk-SK/
+ locale/sk-SK/ (src/chrome/locale/sk-SK/*)
+% locale torlauncher sl %locale/sl/
+ locale/sl/ (src/chrome/locale/sl/*)
+% locale torlauncher sl-SI %locale/sl-SI/
+ locale/sl-SI/ (src/chrome/locale/sl-SI/*)
+% locale torlauncher sn %locale/sn/
+ locale/sn/ (src/chrome/locale/sn/*)
+% locale torlauncher so %locale/so/
+ locale/so/ (src/chrome/locale/so/*)
+% locale torlauncher sq %locale/sq/
+ locale/sq/ (src/chrome/locale/sq/*)
+% locale torlauncher sq-AL %locale/sq-AL/
+ locale/sq-AL/ (src/chrome/locale/sq-AL/*)
+% locale torlauncher sr %locale/sr/
+ locale/sr/ (src/chrome/locale/sr/*)
+% locale torlauncher sr@latin %locale/sr@latin/
+ locale/sr@latin/ (src/chrome/locale/sr@latin/*)
+% locale torlauncher st %locale/st/
+ locale/st/ (src/chrome/locale/st/*)
+% locale torlauncher su %locale/su/
+ locale/su/ (src/chrome/locale/su/*)
+% locale torlauncher sv %locale/sv/
+ locale/sv/ (src/chrome/locale/sv/*)
+% locale torlauncher sw %locale/sw/
+ locale/sw/ (src/chrome/locale/sw/*)
+% locale torlauncher szl %locale/szl/
+ locale/szl/ (src/chrome/locale/szl/*)
+% locale torlauncher ta %locale/ta/
+ locale/ta/ (src/chrome/locale/ta/*)
+% locale torlauncher te %locale/te/
+ locale/te/ (src/chrome/locale/te/*)
+% locale torlauncher te-IN %locale/te-IN/
+ locale/te-IN/ (src/chrome/locale/te-IN/*)
+% locale torlauncher tg %locale/tg/
+ locale/tg/ (src/chrome/locale/tg/*)
+% locale torlauncher th %locale/th/
+ locale/th/ (src/chrome/locale/th/*)
+% locale torlauncher ti %locale/ti/
+ locale/ti/ (src/chrome/locale/ti/*)
+% locale torlauncher tk %locale/tk/
+ locale/tk/ (src/chrome/locale/tk/*)
+% locale torlauncher tr %locale/tr/
+ locale/tr/ (src/chrome/locale/tr/*)
+% locale torlauncher uk %locale/uk/
+ locale/uk/ (src/chrome/locale/uk/*)
+% locale torlauncher ur %locale/ur/
+ locale/ur/ (src/chrome/locale/ur/*)
+% locale torlauncher ur-PK %locale/ur-PK/
+ locale/ur-PK/ (src/chrome/locale/ur-PK/*)
+% locale torlauncher uz %locale/uz/
+ locale/uz/ (src/chrome/locale/uz/*)
+% locale torlauncher ve %locale/ve/
+ locale/ve/ (src/chrome/locale/ve/*)
+% locale torlauncher vi %locale/vi/
+ locale/vi/ (src/chrome/locale/vi/*)
+% locale torlauncher wa %locale/wa/
+ locale/wa/ (src/chrome/locale/wa/*)
+% locale torlauncher wo %locale/wo/
+ locale/wo/ (src/chrome/locale/wo/*)
+% locale torlauncher zh %locale/zh/
+ locale/zh/ (src/chrome/locale/zh/*)
+% locale torlauncher zh-CN %locale/zh-CN/
+ locale/zh-CN/ (src/chrome/locale/zh-CN/*)
+% locale torlauncher zh-CN.GB2312 %locale/zh-CN.GB2312/
+ locale/zh-CN.GB2312/ (src/chrome/locale/zh-CN.GB2312/*)
+% locale torlauncher zh-HK %locale/zh-HK/
+ locale/zh-HK/ (src/chrome/locale/zh-HK/*)
+% locale torlauncher zh-TW %locale/zh-TW/
+ locale/zh-TW/ (src/chrome/locale/zh-TW/*)
+% locale torlauncher zu %locale/zu/
+ locale/zu/ (src/chrome/locale/zu/*)
diff --git a/src/chrome/locale/ach/network-settings.dtd b/src/chrome/locale/ach/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/ach/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ach/torlauncher.properties b/src/chrome/locale/ach/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/ach/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/ast/network-settings.dtd b/src/chrome/locale/ast/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/ast/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/ast/torlauncher.properties b/src/chrome/locale/ast/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/ast/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/ca-ES/torlauncher.properties b/src/chrome/locale/ca-ES/torlauncher.properties
deleted file mode 100644
index 65407db..0000000
--- a/src/chrome/locale/ca-ES/torlauncher.properties
+++ /dev/null
@@ -1,49 +0,0 @@
-### Copyright (c) 2014, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-# torlauncher.error_title=Tor Launcher
-
-# torlauncher.tor_exited=Tor unexpectedly exited.
-# torlauncher.please_restart_app=Please restart this application.
-# torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-# torlauncher.tor_failed_to_start=Tor failed to start.
-# torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-# torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-# torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-# torlauncher.tor_missing=The Tor executable is missing.
-# torlauncher.torrc_missing=The torrc file is missing.
-# torlauncher.datadir_missing=The Tor data directory does not exist.
-# torlauncher.password_hash_missing=Failed to get hashed password.
-
-# torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-# torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-# torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-# torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-# torlauncher.error_proxy_type_missing=You must select the proxy type.
-# torlauncher.error_bridges_missing=You must specify one or more bridges.
-
-# torlauncher.connect=Connect
-# torlauncher.quit=Quit
-# torlauncher.quit_win=Exit
-# torlauncher.done=Done
-
-# torlauncher.forAssistance=For assistance, contact %S
-
-# torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-# torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-# torlauncher.bootstrapStatus.loading_status=Loading network status
-# torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-# torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-# torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-# torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-# torlauncher.bootstrapWarning.done=done
-# torlauncher.bootstrapWarning.connectrefused=connection refused
-# torlauncher.bootstrapWarning.misc=miscellaneous
-# torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-# torlauncher.bootstrapWarning.identity=identity mismatch
-# torlauncher.bootstrapWarning.timeout=connection timeout
-# torlauncher.bootstrapWarning.noroute=no route to host
-# torlauncher.bootstrapWarning.ioerror=read/write error
diff --git a/src/chrome/locale/en-GB/network-settings.dtd b/src/chrome/locale/en-GB/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/en-GB/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/en-GB/torlauncher.properties b/src/chrome/locale/en-GB/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/en-GB/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/ko/torlauncher.properties b/src/chrome/locale/ko/torlauncher.properties
index 2e32da2..7b430b3 100644
--- a/src/chrome/locale/ko/torlauncher.properties
+++ b/src/chrome/locale/ko/torlauncher.properties
@@ -3,43 +3,43 @@
torlauncher.error_title=Tor 런처
-torlauncher.tor_exited_during_startup=시작하는 동안 Tor가 종료되었습니다. 이것은 torrc 파일의 오류, Tor 또는 시스템의 다른 프로그램의 버그 또는 하드웨어 결함으로 인한 것일 수 있습니다. 기본 문제를 해결하고 Tor를 다시 시작할 때까지 Tor 브라우저는 시작되지 않습니다.
+torlauncher.tor_exited_during_startup=시작하는 동안 Tor가 종료되었습니다. 이것은 torrc 파일의 오류, Tor 나 PC의 다른 프로그램의 버그, 혹은 하드웨어 결함으로 인한 것일 수 있습니다. 기본 문제를 해결하고 Tor를 다시 시작할 때까지 Tor 브라우저는 시작되지 않습니다.
torlauncher.tor_exited=Tor가 예기치 않게 종료되었습니다. 이것은 Tor 자체의 오류, 사용자 시스템의 타 프로그램 또는 하드웨어의 오류 때문일 수 있습니다. 사용자가 Tor를 재시작 하기 전까진, Tor 브라우저는 어떠한 웹사이트에 접속하지 않습니다. 문제가 계속된다면, 지원팀에게 당신의 Tor 로그를 보내주십시오.
-torlauncher.tor_exited2=Tor를 재시작해도 브라우저 탭은 닫히지 않음.
+torlauncher.tor_exited2=Tor를 재시작해도 브라우저 탭은 닫히지 않습니다.
torlauncher.tor_controlconn_failed=Tor 제어 포트에 연결할 수 없습니다.
-torlauncher.tor_failed_to_start=Tor 시작 실패.
+torlauncher.tor_failed_to_start=Tor 시작에 실패했습니다.
torlauncher.tor_control_failed=Tor 제어에 실패했습니다.
-torlauncher.tor_bootstrap_failed=Tor 네트워크 연결 설정 실패
+torlauncher.tor_bootstrap_failed=Tor 네트워크 연결에 실패했습니다.
torlauncher.tor_bootstrap_failed_details=%1$S 실패 (%2$S)
torlauncher.unable_to_start_tor=Tor를 시작할 수 없습니다.\n\n%S
torlauncher.tor_missing=Tor 실행 파일이 없습니다.
torlauncher.torrc_missing=torrc 파일이 사라졌으며 생성 할 수 없습니다.
torlauncher.datadir_missing=Tor 데이터 디렉토리가 존재하지 않으며 생성할 수 없습니다.
-torlauncher.password_hash_missing=해쉬 암호 획득 실패
+torlauncher.password_hash_missing=해쉬 암호을 얻어오지 못 하였습니다.
torlauncher.failed_to_get_settings=Tor 설정을 찾을 수 없습니다.\n\n%S
torlauncher.failed_to_save_settings=Tor 설정을 저장할 수 없습니다.\n\n%S
-torlauncher.ensure_tor_is_running=Tor가 실행중인 지 확인하여 주십시오.
+torlauncher.ensure_tor_is_running=Tor가 실행중인지 확인하여 주십시오.
-torlauncher.error_proxy_addr_missing=인터넷에 접속하기 위해 프록시를 사용한다면, Ip주소나 호스트 이름, 그리고 포트 번호를 입력해야 합니다.
+torlauncher.error_proxy_addr_missing=인터넷에 접속하기 위해 프록시를 사용한다면, IP주소나 호스트 이름, 그리고 포트 번호를 입력해야 합니다.
torlauncher.error_proxy_type_missing=프록시 유형을 선택해 주십시오.
torlauncher.error_bridges_missing=하나 이상의 bridge를 지정해야 합니다.
torlauncher.error_default_bridges_type_missing=제공된 브리지의 전송 유형을 선택해야합니다.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=전송 유형 %S가 제공 한 브리지 유효한 것이 아닙니다. 설정을 조정하십시오.
+torlauncher.error_bridgedb_bridges_missing=브릿지를 요청해주세요.
+torlauncher.error_bridge_bad_default_type=전송 유형 %S가 제공한 브리지는 유효하지 않습니다. 설정을 조정하십시오.
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
+torlauncher.bridge_suffix.meek-amazon=(중국에서 일하기)
+torlauncher.bridge_suffix.meek-azure=(중국에서 일하기)
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
+torlauncher.request_a_bridge=브릿지 요청하기
+torlauncher.request_a_new_bridge=새로운 브릿지 요청하기
+torlauncher.contacting_bridgedb=브릿지DB에 연결하고 있으니, 잠시 기다려주세요.
+torlauncher.captcha_prompt=브릿지를 요청하기 위해 CAPCHA를 풀어주세요.
+torlauncher.bad_captcha_solution=풀이가 맞지 않습니다. 다시 시도해주세요.
+torlauncher.unable_to_get_bridge=브릿지DB로터 브릿지를 얻어오지 못 하였습니다.\n\n%S
+torlauncher.no_meek=이 브라우저는 브릿지 확보에 필요한 온전한 기능을 위해 설정되어 있지 않습니다.
+torlauncher.no_bridges_available=지금은 사용할 수 있는 브릿지가 없습니다. 죄송합니다.
torlauncher.connect=연결
torlauncher.restart_tor=Tor 재시작
@@ -47,40 +47,40 @@ torlauncher.quit=끝내기
torlauncher.quit_win=종료
torlauncher.done=완료
-torlauncher.forAssistance=지원자 연결 %S
+torlauncher.forAssistance=도움이 필요하면, %S에 연락하십시오.
torlauncher.forAssistance2=도움이 필요하면 %S를 방문하십시오.
-torlauncher.copiedNLogMessages=복사 완료. %S Tor 로그 메시지는 텍스트 편집기 나 이메일 메시지에 붙여 넣을 수 있는 상태가 됩니다.
+torlauncher.copiedNLogMessages=복사 완료. %S Tor 로그 메시지는 텍스트 편집기나 이메일 메시지에 붙여넣을 수 있는 상태가 됩니다.
torlauncher.bootstrapStatus.starting=시작중
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
+torlauncher.bootstrapStatus.conn_pt=브릿지에 연결하고 있습니다.
+torlauncher.bootstrapStatus.conn_done_pt=브릿지에 연결되었습니다.
+torlauncher.bootstrapStatus.conn_proxy=프록시에 연결하고 있습니다.
+torlauncher.bootstrapStatus.conn_done_proxy=프록시에 연결되었습니다.
+torlauncher.bootstrapStatus.conn=Tor 릴레이에 연결하고 있습니다.
+torlauncher.bootstrapStatus.conn_done=Tor 릴레이에 연결되었습니다.
+torlauncher.bootstrapStatus.handshake=Tor 릴레이와 네고하고 있습니다.
+torlauncher.bootstrapStatus.handshake_done=Tor 릴레이와의 네고를 완료하였습니다.
torlauncher.bootstrapStatus.onehop_create=경로와의 연결을 암호화해서 만들고 있어요
-torlauncher.bootstrapStatus.requesting_status=네트워크의 상태를 가져오는중
-torlauncher.bootstrapStatus.loading_status=네트워크의 상태를 요청중
-torlauncher.bootstrapStatus.loading_keys=권한 인증서를 로딩중
-torlauncher.bootstrapStatus.requesting_descriptors=중계서버 정보를 요청중
-torlauncher.bootstrapStatus.loading_descriptors=중계서버 정보를 로딩중
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Tor 네트워크에 연결 성공!
+torlauncher.bootstrapStatus.requesting_status=네트워크의 상태를 가져오고 있습니다.
+torlauncher.bootstrapStatus.loading_status=네트워크의 상태를 불러오고 있습니다.
+torlauncher.bootstrapStatus.loading_keys=인증서를 로딩하고 있습니다.
+torlauncher.bootstrapStatus.requesting_descriptors=중계서버 정보를 요청하고 있습니다.
+torlauncher.bootstrapStatus.loading_descriptors=중계서버 정보를 불러오고 있습니다.
+torlauncher.bootstrapStatus.enough_dirinfo=릴레이 정보 불러오기에 완료하였습니다.
+torlauncher.bootstrapStatus.ap_conn_pt=우회로 연결: 브릿지에 연결하고 있습니다.
+torlauncher.bootstrapStatus.ap_conn_done_pt=우회로 연결: 브릿지에 연결되었습니다.
+torlauncher.bootstrapStatus.ap_conn_proxy=우회로 연결: 프록시에 연결하고 있습니다.
+torlauncher.bootstrapStatus.ap_conn_done_proxy=우회로 연결: 프록시에 연결되었습니다.
+torlauncher.bootstrapStatus.ap_conn=우회로 연결: Tor 릴레이에 연결하고 있습니다.
+torlauncher.bootstrapStatus.ap_conn_done=우회로 연결: Tor 릴레이에 연결되었습니다.
+torlauncher.bootstrapStatus.ap_handshake=우회로 연결: Tor 릴레이와 네고하고 있습니다.
+torlauncher.bootstrapStatus.ap_handshake_done=우회로 연결: Tor 릴레이와의 네고가 끝났습니다.
+torlauncher.bootstrapStatus.circuit_create=우회로 연결: Tor 우회로가 연결되었습니다.
+torlauncher.bootstrapStatus.done=Tor 네트워크에 연결되었습니다.
torlauncher.bootstrapWarning.done=완료
-torlauncher.bootstrapWarning.connectrefused=연결이 거부됨
+torlauncher.bootstrapWarning.connectrefused=연결이 거부되었습니다.
torlauncher.bootstrapWarning.misc=기타
torlauncher.bootstrapWarning.resourcelimit=리소스 부족
torlauncher.bootstrapWarning.identity=계정 불일치
@@ -89,6 +89,6 @@ torlauncher.bootstrapWarning.noroute=호스트로의 연결 경로가 없음
torlauncher.bootstrapWarning.ioerror=읽기 / 쓰기 오류
torlauncher.bootstrapWarning.pt_missing=플러그가 가능한 전송을 찾을 수 없습니다
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
+torlauncher.nsresult.NS_ERROR_NET_RESET=서버와의 연결이 끊어졌습니다.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=서버와 연결할 수 없습니다.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=프록시와 연결할 수 없습니다.
diff --git a/src/chrome/locale/oc/network-settings.dtd b/src/chrome/locale/oc/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/oc/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/oc/torlauncher.properties b/src/chrome/locale/oc/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/oc/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/or/network-settings.dtd b/src/chrome/locale/or/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/or/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/or/torlauncher.properties b/src/chrome/locale/or/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/or/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/pt-PT/network-settings.dtd b/src/chrome/locale/pt-PT/network-settings.dtd
new file mode 100644
index 0000000..f62d4c8
--- /dev/null
+++ b/src/chrome/locale/pt-PT/network-settings.dtd
@@ -0,0 +1,62 @@
+<!ENTITY torsettings.dialog.title "Definições da Rede Tor">
+<!ENTITY torsettings.wizard.title.default "Ligar ao Tor">
+<!ENTITY torsettings.wizard.title.configure "Definições da Rede Tor">
+<!ENTITY torsettings.wizard.title.connecting "Estabelecer uma Ligação">
+
+<!-- For locale picker: -->
+<!ENTITY torlauncher.localePicker.title "Idioma do Tor Browser">
+<!ENTITY torlauncher.localePicker.prompt "Por favor, selecione um idioma.">
+
+<!-- For "first run" wizard: -->
+
+<!ENTITY torSettings.connectPrompt "Clique em "Ligar" para ligar ao Tor.">
+<!ENTITY torSettings.configurePrompt "Clique em “Configurar” para ajustar as definições de rede se estiver num país que censura o Tor (tal como a China, o Egito, a Turquia) ou se estiver a ligar a partir de uma rede privada que requer um proxy.">
+<!ENTITY torSettings.configure "Configurar">
+<!ENTITY torSettings.connect "Ligar">
+
+<!-- Other: -->
+
+<!ENTITY torsettings.startingTor "A aguardar que o Tor inicie...">
+<!ENTITY torsettings.restartTor "Reiniciar o Tor">
+<!ENTITY torsettings.reconfigTor "Reconfigurar">
+
+<!ENTITY torsettings.discardSettings.prompt "Configurou as pontes do Tor ou inseriu as definições do proxy local.  Para efetuar uma ligação direta à rede Tor, estas definições devem ser removidas.">
+<!ENTITY torsettings.discardSettings.proceed "Remover Definições e Ligar">
+
+<!ENTITY torsettings.optional "Opcional">
+
+<!ENTITY torsettings.useProxy.checkbox "Eu utilizo um proxy para ligar à Internet">
+<!ENTITY torsettings.useProxy.type "Tipo de proxy:">
+<!ENTITY torsettings.useProxy.type.placeholder "selecionar um tipo de proxy">
+<!ENTITY torsettings.useProxy.address "Endereço:">
+<!ENTITY torsettings.useProxy.address.placeholder "Endereço de IP ou nome do hospedeiro">
+<!ENTITY torsettings.useProxy.port "Porta:">
+<!ENTITY torsettings.useProxy.username "Nome do utilizador:">
+<!ENTITY torsettings.useProxy.password "Palavra-passe:">
+<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
+<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
+<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
+<!ENTITY torsettings.firewall.checkbox "Este computador liga através de uma firewall que só permite ligações para determinadas portas">
+<!ENTITY torsettings.firewall.allowedPorts "Portas permitidas:">
+<!ENTITY torsettings.useBridges.checkbox "O Tor é censurado no meu país">
+<!ENTITY torsettings.useBridges.default "Selecionar uma ponte integrada">
+<!ENTITY torsettings.useBridges.default.placeholder "selecionar uma ponte">
+<!ENTITY torsettings.useBridges.bridgeDB "Solicitar uma ponte do torproject.org">
+<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Insira os carateres da imagem">
+<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Obter um novo desafio">
+<!ENTITY torsettings.useBridges.captchaSubmit "Submeter">
+<!ENTITY torsettings.useBridges.custom "Fornecer uma ponte que eu conheça">
+<!ENTITY torsettings.useBridges.label "Inserir a informação da ponte de uma fonte confiável.">
+<!ENTITY torsettings.useBridges.placeholder "digite address:port (uma por linha)">
+
+<!ENTITY torsettings.copyLog "Copiar o Registo do Tor para a Área de Transferência">
+
+<!ENTITY torsettings.proxyHelpTitle "Ajuda de Proxy">
+<!ENTITY torsettings.proxyHelp1 "Poderá ser necessário um proxy local ao ligar-se através de uma empresa, escola ou universidade. Se não tiver certeza se é necessário um proxy, verifique as definições da Internet noutro navegador ou verifique as definições da rede do seu sistema.">
+
+<!ENTITY torsettings.bridgeHelpTitle "Ajuda da Retransmissão de Ponte">
+<!ENTITY torsettings.bridgeHelp1 "As pontes são retransmissões não listadas que dificultam o bloqueio de ligações à Rede Tor.  Cada tipo de ponte utiliza um método diferente para evitar a censura.  Os "obfs" fazem com que o seu tráfego pareça um ruído aleatório, e os pacíficos fazem com que o seu tráfego pareça que está a ligar-se a esses serviço, em vez de ao Tor.">
+<!ENTITY torsettings.bridgeHelp2 "Por causa de como certos países tentam bloquear o Tor, certas pontes funcionam em certos países, mas não em outros. Se não tiver a certeza sobre quais as pontes que funcionam no seu país, visite torproject.org/about/contact.html#support.">
+
+<!-- Progress -->
+<!ENTITY torprogress.pleaseWait "Por favor, aguarde, enquanto nós estabelecemos uma ligação à rede Tor.  Isto pode demorar alguns minutos.">
diff --git a/src/chrome/locale/pt-PT/torlauncher.properties b/src/chrome/locale/pt-PT/torlauncher.properties
new file mode 100644
index 0000000..d010d6c
--- /dev/null
+++ b/src/chrome/locale/pt-PT/torlauncher.properties
@@ -0,0 +1,94 @@
+### Copyright (c) 2016, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+torlauncher.error_title=Tor Launcher
+
+torlauncher.tor_exited_during_startup=O Tor fechou-se durante o arranque. Isto pode ter acontecido devido a erro no seu ficheiro torrc, um erro no Tor ou outro programa no seu sistema, ou falha de hardware. Até que corrija o problema em causa reinicie o Tor, o Tor Browser não irá iniciar.
+torlauncher.tor_exited=O Tor fechou.se inesperadamente. Isto pode ter acontecido devido a um erro no Tor, outro programa no seu sistema, ou falha de hardware. Até que reinicie o Tor, o Tor Browser não irá poder aceder a quaisquer sites da Web. Se o problema persistir, por favor, envie uma cópia do 'Registo de Eventos' do seu Tor para a equipa de apoio.
+torlauncher.tor_exited2=Ao reiniciar o Tor não irá fechar os separadores do seu navegador.
+torlauncher.tor_controlconn_failed=Não foi possível ligar à porta de controlo do Tor.
+torlauncher.tor_failed_to_start=Falhou a inicialização do Tor.
+torlauncher.tor_control_failed=Não foi possível obter o controlo do Tor.
+torlauncher.tor_bootstrap_failed=O Tor não conseguiu estabelecer uma ligação à rede Tor.
+torlauncher.tor_bootstrap_failed_details=%1$S falhou (%2$S).
+
+torlauncher.unable_to_start_tor=Não é possível iniciar o Tor.\n\n %S
+torlauncher.tor_missing=O executável do Tor está em falta.
+torlauncher.torrc_missing=O ficheiro torrc está em falta e não foi possível criá-lo.
+torlauncher.datadir_missing=O diretório de dados do Tor não existe e não foi possível criá-lo.
+torlauncher.password_hash_missing=Não foi possível obter a palavra-passe "hashed".
+
+torlauncher.failed_to_get_settings=Não é possível obter as configurações do Tor\n\n %S
+torlauncher.failed_to_save_settings=Não é possível guardar as configurações do Tor\n\n %S
+torlauncher.ensure_tor_is_running=Por favor, certifique-se que o Tor está em execução.
+
+torlauncher.error_proxy_addr_missing=Deve especificar ambos, um endereço de IP ou o nome de hospedeiro e um número de porta para configurar o Tor, para utilizar um proxy para aceder à Internet.
+torlauncher.error_proxy_type_missing=Deve selecionar o tipo de proxy.
+torlauncher.error_bridges_missing=Deve especificar uma ou mais pontes.
+torlauncher.error_default_bridges_type_missing=Deve selecionar o tipo de transporte para as pontes fornecidas.
+torlauncher.error_bridgedb_bridges_missing=Por favor, solicite uma ponte.
+torlauncher.error_bridge_bad_default_type=Não estão disponíveis as pontes fornecidas que têm o tipo de transporte %S. Por favor, ajuste as suas configurações.
+
+torlauncher.bridge_suffix.meek-amazon=(funciona na China)
+torlauncher.bridge_suffix.meek-azure=(funciona na China)
+
+torlauncher.request_a_bridge=Solicitar uma Ponte...
+torlauncher.request_a_new_bridge=Solicitar uma Nova Ponte...
+torlauncher.contacting_bridgedb=A contactar a BridgeDB. Por favor, aguarde.
+torlauncher.captcha_prompt=Resolva o CAPTCHA para solicitar uma ponte.
+torlauncher.bad_captcha_solution=A solução não está correta. Por favor, tente novamente.
+torlauncher.unable_to_get_bridge=Não é possível obter uma ponte de BridgeDB.\n\n%S
+torlauncher.no_meek=Este navegador não está configurado para "meek", que é necessário para obter as pontes.
+torlauncher.no_bridges_available=De momento, não estão disponíveis pontes. Desculpe.
+
+torlauncher.connect=Ligar
+torlauncher.restart_tor=Reiniciar o Tor
+torlauncher.quit=Sair
+torlauncher.quit_win=Sair
+torlauncher.done=Concluído
+
+torlauncher.forAssistance=Para assistência, contacte %S
+torlauncher.forAssistance2=Para assistência, visite %S
+
+torlauncher.copiedNLogMessages=Cópia completa. Estão prontas %S mensagens do registo de eventos do Tor para serem coladas num editor de texto ou numa mensagem de correio eletrónico.
+
+torlauncher.bootstrapStatus.starting=A iniciar
+torlauncher.bootstrapStatus.conn_pt=A conectar à ponte
+torlauncher.bootstrapStatus.conn_done_pt=Conectado à ponte
+torlauncher.bootstrapStatus.conn_proxy=A conectar ao proxy
+torlauncher.bootstrapStatus.conn_done_proxy=Conectado ao proxy
+torlauncher.bootstrapStatus.conn=A conectar a um retransmissor Tor
+torlauncher.bootstrapStatus.conn_done=Conectado a um retransmissor Tor
+torlauncher.bootstrapStatus.handshake=A negociar com um retransmissor Tor
+torlauncher.bootstrapStatus.handshake_done=Terminada a negociação com um retransmissor Tor
+torlauncher.bootstrapStatus.onehop_create=A estabelecer uma ligação de diretório encriptada
+torlauncher.bootstrapStatus.requesting_status=A obter o estado da rede
+torlauncher.bootstrapStatus.loading_status=A carregar o estado da rede
+torlauncher.bootstrapStatus.loading_keys=A carregar os certificados de autoridade
+torlauncher.bootstrapStatus.requesting_descriptors=A solicitar a informação do retransmissor
+torlauncher.bootstrapStatus.loading_descriptors=A carregar a informação do retransmissor
+torlauncher.bootstrapStatus.enough_dirinfo=Terminou o carregamento da informação do retransmissor
+torlauncher.bootstrapStatus.ap_conn_pt=Construir circuitos: a conectar a uma ponte
+torlauncher.bootstrapStatus.ap_conn_done_pt=Construir circuitos: conectado a uma ponte
+torlauncher.bootstrapStatus.ap_conn_proxy=Construir circuitos: a conectar a um proxy
+torlauncher.bootstrapStatus.ap_conn_done_proxy=Construir circuitos: conectado a um proxy
+torlauncher.bootstrapStatus.ap_conn=Construir circuitos: a conectar a um retransmissor Tor
+torlauncher.bootstrapStatus.ap_conn_done=Construir circuitos: conectado a um retransmissor Tor
+torlauncher.bootstrapStatus.ap_handshake=Construir circuitos: a negociar com um retransmissor Tor
+torlauncher.bootstrapStatus.ap_handshake_done=Construir circuitos: terminada a negociação com um retransmissor Tor
+torlauncher.bootstrapStatus.circuit_create=Construir circuitos: a estabelecer um circuito Tor
+torlauncher.bootstrapStatus.done=Ligado à rede Tor
+
+torlauncher.bootstrapWarning.done=finalizado
+torlauncher.bootstrapWarning.connectrefused=ligação recusada
+torlauncher.bootstrapWarning.misc=diversos
+torlauncher.bootstrapWarning.resourcelimit=recursos insuficientes
+torlauncher.bootstrapWarning.identity=identidade não correspondente
+torlauncher.bootstrapWarning.timeout=o tempo de ligação expirou
+torlauncher.bootstrapWarning.noroute=sem rota para o hospedeiro
+torlauncher.bootstrapWarning.ioerror=rrro de leitura/gravação
+torlauncher.bootstrapWarning.pt_missing=falta o transporte de ligação
+
+torlauncher.nsresult.NS_ERROR_NET_RESET=A ligação para o servidor foi perdida.
+torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Não foi possível ligar ao servidor.
+torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Não foi possível ligar ao proxy.
diff --git a/src/chrome/locale/son/network-settings.dtd b/src/chrome/locale/son/network-settings.dtd
deleted file mode 100644
index c6c5687..0000000
--- a/src/chrome/locale/son/network-settings.dtd
+++ /dev/null
@@ -1,62 +0,0 @@
-<!ENTITY torsettings.dialog.title "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "Tor Network Settings">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
-
-<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
-
-<!-- For "first run" wizard: -->
-
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
-<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
-
-<!-- Other: -->
-
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
-
-<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
-<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
-
-<!ENTITY torsettings.optional "Optional">
-
-<!ENTITY torsettings.useProxy.checkbox "I use a proxy to connect to the Internet">
-<!ENTITY torsettings.useProxy.type "Proxy Type:">
-<!ENTITY torsettings.useProxy.type.placeholder "select a proxy type">
-<!ENTITY torsettings.useProxy.address "Address:">
-<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
-<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "Username:">
-<!ENTITY torsettings.useProxy.password "Password:">
-<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
-<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
-<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
-<!ENTITY torsettings.firewall.checkbox "This computer goes through a firewall that only allows connections to certain ports">
-<!ENTITY torsettings.firewall.allowedPorts "Allowed Ports:">
-<!ENTITY torsettings.useBridges.checkbox "Tor is censored in my country">
-<!ENTITY torsettings.useBridges.default "Select a built-in bridge">
-<!ENTITY torsettings.useBridges.default.placeholder "select a bridge">
-<!ENTITY torsettings.useBridges.bridgeDB "Request a bridge from torproject.org">
-<!ENTITY torsettings.useBridges.captchaSolution.placeholder "Enter the characters from the image">
-<!ENTITY torsettings.useBridges.reloadCaptcha.tooltip "Get a new challenge">
-<!ENTITY torsettings.useBridges.captchaSubmit "Submit">
-<!ENTITY torsettings.useBridges.custom "Provide a bridge I know">
-<!ENTITY torsettings.useBridges.label "Enter bridge information from a trusted source.">
-<!ENTITY torsettings.useBridges.placeholder "type address:port (one per line)">
-
-<!ENTITY torsettings.copyLog "Copy Tor Log To Clipboard">
-
-<!ENTITY torsettings.proxyHelpTitle "Proxy Help">
-<!ENTITY torsettings.proxyHelp1 "A local proxy might be needed when connecting through a company, school, or university network. If you are not sure whether a proxy is needed, look at the Internet settings in another browser or check your system's network settings.">
-
-<!ENTITY torsettings.bridgeHelpTitle "Bridge Relay Help">
-<!ENTITY torsettings.bridgeHelp1 "Bridges are unlisted relays that make it more difficult to block connections to the Tor Network.  Each type of bridge uses a different method to avoid censorship.  The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.">
-<!ENTITY torsettings.bridgeHelp2 "Because of how certain countries try to block Tor, certain bridges work in certain countries but not others.  If you are unsure about which bridges work in your country, visit torproject.org/about/contact.html#support">
-
-<!-- Progress -->
-<!ENTITY torprogress.pleaseWait "Please wait while we establish a connection to the Tor network.  This may take several minutes.">
diff --git a/src/chrome/locale/son/torlauncher.properties b/src/chrome/locale/son/torlauncher.properties
deleted file mode 100644
index ca9774b..0000000
--- a/src/chrome/locale/son/torlauncher.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-### Copyright (c) 2016, The Tor Project, Inc.
-### See LICENSE for licensing information.
-
-torlauncher.error_title=Tor Launcher
-
-torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start.
-torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team.
-torlauncher.tor_exited2=Restarting Tor will not close your browser tabs.
-torlauncher.tor_controlconn_failed=Could not connect to Tor control port.
-torlauncher.tor_failed_to_start=Tor failed to start.
-torlauncher.tor_control_failed=Failed to take control of Tor.
-torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection.
-torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S).
-
-torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S
-torlauncher.tor_missing=The Tor executable is missing.
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could not be created.
-torlauncher.password_hash_missing=Failed to get hashed password.
-
-torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S
-torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S
-torlauncher.ensure_tor_is_running=Please ensure that Tor is running.
-
-torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet.
-torlauncher.error_proxy_type_missing=You must select the proxy type.
-torlauncher.error_bridges_missing=You must specify one or more bridges.
-torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges.
-torlauncher.error_bridgedb_bridges_missing=Please request a bridge.
-torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings.
-
-torlauncher.bridge_suffix.meek-amazon=(works in China)
-torlauncher.bridge_suffix.meek-azure=(works in China)
-
-torlauncher.request_a_bridge=Request a Bridge…
-torlauncher.request_a_new_bridge=Request a New Bridge…
-torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait.
-torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge.
-torlauncher.bad_captcha_solution=The solution is not correct. Please try again.
-torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S
-torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges.
-torlauncher.no_bridges_available=No bridges are available at this time. Sorry.
-
-torlauncher.connect=Connect
-torlauncher.restart_tor=Restart Tor
-torlauncher.quit=Quit
-torlauncher.quit_win=Exit
-torlauncher.done=Done
-
-torlauncher.forAssistance=For assistance, contact %S
-torlauncher.forAssistance2=For assistance, visit %S
-
-torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message.
-
-torlauncher.bootstrapStatus.starting=Starting
-torlauncher.bootstrapStatus.conn_pt=Connecting to bridge
-torlauncher.bootstrapStatus.conn_done_pt=Connected to bridge
-torlauncher.bootstrapStatus.conn_proxy=Connecting to proxy
-torlauncher.bootstrapStatus.conn_done_proxy=Connected to proxy
-torlauncher.bootstrapStatus.conn=Connecting to a Tor relay
-torlauncher.bootstrapStatus.conn_done=Connected to a Tor relay
-torlauncher.bootstrapStatus.handshake=Negotiating with a Tor relay
-torlauncher.bootstrapStatus.handshake_done=Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.onehop_create=Establishing an encrypted directory connection
-torlauncher.bootstrapStatus.requesting_status=Retrieving network status
-torlauncher.bootstrapStatus.loading_status=Loading network status
-torlauncher.bootstrapStatus.loading_keys=Loading authority certificates
-torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information
-torlauncher.bootstrapStatus.loading_descriptors=Loading relay information
-torlauncher.bootstrapStatus.enough_dirinfo=Finished loading relay information
-torlauncher.bootstrapStatus.ap_conn_pt=Building circuits: Connecting to bridge
-torlauncher.bootstrapStatus.ap_conn_done_pt=Building circuits: Connected to bridge
-torlauncher.bootstrapStatus.ap_conn_proxy=Building circuits: Connecting to proxy
-torlauncher.bootstrapStatus.ap_conn_done_proxy=Building circuits: Connected to proxy
-torlauncher.bootstrapStatus.ap_conn=Building circuits: Connecting to a Tor relay
-torlauncher.bootstrapStatus.ap_conn_done=Building circuits: Connected to a Tor relay
-torlauncher.bootstrapStatus.ap_handshake=Building circuits: Negotiating with a Tor relay
-torlauncher.bootstrapStatus.ap_handshake_done=Building circuits: Finished negotiating with a Tor relay
-torlauncher.bootstrapStatus.circuit_create=Building circuits: Establishing a Tor circuit
-torlauncher.bootstrapStatus.done=Connected to the Tor network!
-
-torlauncher.bootstrapWarning.done=done
-torlauncher.bootstrapWarning.connectrefused=connection refused
-torlauncher.bootstrapWarning.misc=miscellaneous
-torlauncher.bootstrapWarning.resourcelimit=insufficient resources
-torlauncher.bootstrapWarning.identity=identity mismatch
-torlauncher.bootstrapWarning.timeout=connection timeout
-torlauncher.bootstrapWarning.noroute=no route to host
-torlauncher.bootstrapWarning.ioerror=read/write error
-torlauncher.bootstrapWarning.pt_missing=missing pluggable transport
-
-torlauncher.nsresult.NS_ERROR_NET_RESET=The connection to the server was lost.
-torlauncher.nsresult.NS_ERROR_CONNECTION_REFUSED=Could not connect to the server.
-torlauncher.nsresult.NS_ERROR_PROXY_CONNECTION_REFUSED=Could not connect to the proxy.
diff --git a/src/chrome/locale/ur/network-settings.dtd b/src/chrome/locale/ur/network-settings.dtd
index eeb35c3..02b715d 100644
--- a/src/chrome/locale/ur/network-settings.dtd
+++ b/src/chrome/locale/ur/network-settings.dtd
@@ -1,24 +1,24 @@
-<!ENTITY torsettings.dialog.title "طور نیٹ ورک کے سیٹنگز">
-<!ENTITY torsettings.wizard.title.default "Connect to Tor">
-<!ENTITY torsettings.wizard.title.configure "طور نیٹ ورک کے سیٹنگز">
-<!ENTITY torsettings.wizard.title.connecting "Establishing a Connection">
+<!ENTITY torsettings.dialog.title "ٹور نیٹ ورک ترتیبات">
+<!ENTITY torsettings.wizard.title.default "ٹور کے ساتھ منسلک ہوں">
+<!ENTITY torsettings.wizard.title.configure "ٹور نیٹ ورک ترتیبات">
+<!ENTITY torsettings.wizard.title.connecting "ربط قائم کیا جارہا ہے">
<!-- For locale picker: -->
-<!ENTITY torlauncher.localePicker.title "Tor Browser Language">
-<!ENTITY torlauncher.localePicker.prompt "Please select a language.">
+<!ENTITY torlauncher.localePicker.title "ٹور براؤزر لغت">
+<!ENTITY torlauncher.localePicker.prompt "براہِ مہربانی لغت منتخب کیجئے">
<!-- For "first run" wizard: -->
-<!ENTITY torSettings.connectPrompt "Click “Connect” to connect to Tor.">
+<!ENTITY torSettings.connectPrompt "ٹور سے منسلک ہونے کے لئے "منسلک " پر کلک کریں">
<!ENTITY torSettings.configurePrompt "Click “Configure” to adjust network settings if you are in a country that censors Tor (such as Egypt, China, Turkey) or if you are connecting from a private network that requires a proxy.">
-<!ENTITY torSettings.configure "Configure">
-<!ENTITY torSettings.connect "Connect">
+<!ENTITY torSettings.configure "مرتب کریں">
+<!ENTITY torSettings.connect "منسلک">
<!-- Other: -->
-<!ENTITY torsettings.startingTor "Waiting for Tor to start…">
-<!ENTITY torsettings.restartTor "Restart Tor">
-<!ENTITY torsettings.reconfigTor "Reconfigure">
+<!ENTITY torsettings.startingTor "ٹور چلنے کا انتظار ۔۔۔">
+<!ENTITY torsettings.restartTor "ٹور دوبارہ چلائیں">
+<!ENTITY torsettings.reconfigTor "دوبارہ مرتب کریں">
<!ENTITY torsettings.discardSettings.prompt "You have configured Tor bridges or you have entered local proxy settings.  To make a direct connection to the Tor network, these settings must be removed.">
<!ENTITY torsettings.discardSettings.proceed "Remove Settings and Connect">
@@ -31,8 +31,8 @@
<!ENTITY torsettings.useProxy.address "Address:">
<!ENTITY torsettings.useProxy.address.placeholder "IP address or hostname">
<!ENTITY torsettings.useProxy.port "Port:">
-<!ENTITY torsettings.useProxy.username "صارف کا نام">
-<!ENTITY torsettings.useProxy.password "پاس ورڈ ">
+<!ENTITY torsettings.useProxy.username "صارف کا نام:">
+<!ENTITY torsettings.useProxy.password "پاس ورڈ :">
<!ENTITY torsettings.useProxy.type.socks4 "SOCKS 4">
<!ENTITY torsettings.useProxy.type.socks5 "SOCKS 5">
<!ENTITY torsettings.useProxy.type.http "HTTP / HTTPS">
1
0

[tor-launcher/master] Bug 28044: Integrate Tor Launcher into tor-browser
by gk@torproject.org 13 May '19
by gk@torproject.org 13 May '19
13 May '19
commit ab7e47f4ab54626e8b7e6348aac25fc3436d166f
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Fri Feb 8 14:42:05 2019 -0500
Bug 28044: Integrate Tor Launcher into tor-browser
To avoid potential conflicts with other preference files, rename
our default preferences file from pref.js to torlauncher-prefs.js.
Do not load default preferences if the browser has already done so.
---
.../preferences/{prefs.js => torlauncher-prefs.js} | 0
src/modules/tl-util.jsm | 26 +++++++++++++++++++---
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/defaults/preferences/prefs.js b/src/defaults/preferences/torlauncher-prefs.js
similarity index 100%
rename from src/defaults/preferences/prefs.js
rename to src/defaults/preferences/torlauncher-prefs.js
diff --git a/src/modules/tl-util.jsm b/src/modules/tl-util.jsm
index 8b59afb..bac5eae 100644
--- a/src/modules/tl-util.jsm
+++ b/src/modules/tl-util.jsm
@@ -1,4 +1,4 @@
-// Copyright (c) 2018, The Tor Project, Inc.
+// Copyright (c) 2019, The Tor Project, Inc.
// See LICENSE for licensing information.
//
// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
@@ -876,10 +876,30 @@ let TLUtilInternal = // Private
return this.mDefaultPreferencesLoaded;
}
+ // Check whether default preferences have already been loaded, e.g.,
+ // because Tor Launcher is integrated into the browser rather than
+ // running as an extension. This code assumes that a default value is
+ // defined for extensions.torlauncher.loglevel.
+ let prefName = "extensions.torlauncher.loglevel";
+ let val;
+ try
+ {
+ let defaultBranch = this._getPrefDefaultBranch(prefName);
+ val = defaultBranch.getIntPref("");
+ } catch (e) {}
+ if (val !== undefined)
+ {
+ this.mDefaultPreferencesLoaded = true;
+ return true;
+ }
+
+ // Use the JS subscript loaded in conjunction with our pref() function
+ // to load the default preferences.
+ const kPrefsURL =
+ "resource://torlauncher/defaults/preferences/torlauncher-prefs.js";
var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Ci.mozIJSSubScriptLoader);
- loader.loadSubScript(
- "resource://torlauncher/defaults/preferences/prefs.js", this);
+ loader.loadSubScript(kPrefsURL, this);
this.mDefaultPreferencesLoaded =
(this.mNumDefaultPrefsDefined == this.mNumDefaultPrefsLoaded);
1
0

[tor-launcher/master] Bug 28044: Integrate Tor Launcher into tor-browser
by gk@torproject.org 13 May '19
by gk@torproject.org 13 May '19
13 May '19
commit b46c6039d1a5bf95aa9cbd777a51220d1df80aa0
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Feb 12 12:02:27 2019 -0500
Bug 28044: Integrate Tor Launcher into tor-browser
Fix locale-related issues.
Renamed en locale to en-US (previously done during packaging).
Added moz.build for integration with the Firefox build process.
Enhanced the import-translations.sh script to omit incomplete locales
and to generate jar.mn and chrome.manifest.
Removed checking for incomplete locales from the pkg-prepare make target.
Improved the output generated by import-translations.sh and pkg-prepare.
---
Makefile | 32 ++++++------
README | 20 +++----
chrome.manifest.in | 4 +-
jar.mn.in | 27 ++++++++++
localization/import-translations.sh | 61 +++++++++++++++++++---
moz.build | 8 +++
.../locale/{en => en-US}/network-settings.dtd | 0
.../locale/{en => en-US}/torlauncher.properties | 0
8 files changed, 114 insertions(+), 38 deletions(-)
diff --git a/Makefile b/Makefile
index f629d52..44f9a2d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,15 @@
-### Copyright (c) 2014, The Tor Project, Inc.
+### Copyright (c) 2019, The Tor Project, Inc.
### See src/LICENSE for licensing information.
+# Makefile for packaging Tor Launcher outside of the browser build. The only
+# target in this file that is used by the Tor Browser build process is
+# import-translations.
+
EXT_NAME=tor-launcher
VERSION:=`grep em:version src/install.rdf | sed -e 's/[<>]/ /g' | cut -f3`
XPI_NAME:=$(shell echo "$(EXT_NAME)-$(VERSION).xpi")
STANDALONE_NAME=$(EXT_NAME)-standalone
STANDALONE_TARBALL=$(shell echo "$(STANDALONE_NAME)-$(VERSION).tar.gz")
-REQUIRED_TRANSLATION_FILES=$(shell ls -1 src/chrome/locale/en/)
AVAIL_TARGETS=help package standalone import-translations clean
@@ -36,23 +39,18 @@ pkg-prepare: clean
fi \
fi
@cp -a chrome.manifest.in "$(TMP)/$(EXT_NAME)"/chrome.manifest
- @mv "$(TMP)/$(EXT_NAME)"/chrome/locale/en \
- "$(TMP)/$(EXT_NAME)"/chrome/locale/en-US
@for d in "$(TMP)/$(EXT_NAME)"/chrome/locale/*; do \
- if [ "`basename "$${d}"`" = "en-US" ]; then \
+ locale="`basename $${d}`"; \
+ if [ "$${locale}" = "en-US" ]; then \
continue; \
fi; \
- for f in $(REQUIRED_TRANSLATION_FILES); do \
- if [ ! -e "$${d}/$${f}" ] || \
- ( \
- [ -n "$(BUNDLE_LOCALES)" ] && \
- ! echo $(BUNDLE_LOCALES) | grep -qw `basename "$${d}"` \
- ); then \
- echo "Removing locale $${d} (missing resource $${f})"; \
+ if [ -n "$(BUNDLE_LOCALES)" ]; then \
+ if ! echo $(BUNDLE_LOCALES) | grep -qw "$${locale}"; then \
rm -rf "$${d}"; \
- break; \
+ else \
+ echo "Including locale $${locale}"; \
fi \
- done \
+ fi \
done
@for l in $(BUNDLE_LOCALES); do \
if [ ! -d "$(TMP)/$(EXT_NAME)"/chrome/locale/"$${l}" ]; then \
@@ -62,8 +60,10 @@ pkg-prepare: clean
done
@for d in "$(TMP)/$(EXT_NAME)"/chrome/locale/*; do \
locale="`basename $${d}`"; \
- echo "locale torlauncher $${locale} chrome/locale/$${locale}/" >> \
- "$(TMP)/$(EXT_NAME)"/chrome.manifest; \
+ if [ "$${locale}" != "en-US" ]; then \
+ echo "locale torlauncher $${locale} chrome/locale/$${locale}/" >> \
+ "$(TMP)/$(EXT_NAME)"/chrome.manifest; \
+ fi; \
done
package: pkg-prepare
diff --git a/README b/README
index 568acc1..ac536a1 100644
--- a/README
+++ b/README
@@ -1,8 +1,7 @@
PLEASE NOTE:
- Tor Launcher is packaged with Tor Browser, Tor Messenger, and
- other Tor-enabled applications and is designed for those
- applications. You should not install and try to use it in
- Mozilla Firefox or another Firefox-based browser.
+ Tor Launcher is built into Tor Browser, and it may be built as a
+ XUL/XPCOM extension for use with TorBirdy. You should not install
+ and try to use it in Mozilla Firefox or another Firefox-based browser.
OVERVIEW
Tor Launcher is a browser extension that starts the tor process
@@ -32,18 +31,11 @@ for other product releases; e.g., maint-0.2.10 is a branch that is
used for releases in the Tor Browser 6.5 series.
BUILDING TOR LAUNCHER
-Official builds of Tor Launcher are done as part of a larger
-application build process. For example, look here for information
-about the Tor Browser build process:
+Official builds that use the Tor Launcher code are done as part of
+a larger application build process. For example, look here for
+information about the Tor Browser build process:
https://trac.torproject.org/projects/tor/wiki/doc/TorBrowser/Hacking
-If you want to build your own standalone copy of Tor Launcher in
-order to test a translation or code change that you have made, run
-the following command:
- make package
-
-The resulting xpi file is created in a subdirectory named pkg.
-
CONTACTING THE DEVELOPERS
To contact the Tor Launcher developers, use the #tor-dev channel
on irc.oftc.net or post a message to the tbb-dev mailing list (see
diff --git a/chrome.manifest.in b/chrome.manifest.in
index a869569..1800533 100644
--- a/chrome.manifest.in
+++ b/chrome.manifest.in
@@ -1,4 +1,4 @@
-### Copyright (c) 2013, The Tor Project, Inc.
+### Copyright (c) 2019, The Tor Project, Inc.
### See LICENSE for licensing information.
content torlauncher chrome/content/
@@ -14,3 +14,5 @@ contract @torproject.org/torlauncher-protocol-service;1 {4F476361-23FB-43EF-A427
component {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1} components/tl-process.js
contract @torproject.org/torlauncher-process-service;1 {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1}
category profile-after-change TorProcessService @torproject.org/torlauncher-process-service;1
+
+locale torlauncher en-US chrome/locale/en-US/
diff --git a/jar.mn.in b/jar.mn.in
new file mode 100644
index 0000000..9d0d0ee
--- /dev/null
+++ b/jar.mn.in
@@ -0,0 +1,27 @@
+#filter substitution
+### Copyright (c) 2019, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+torlauncher.jar:
+ components/ (src/components/*)
+
+% content torlauncher %content/
+ content/ (src/chrome/content/*)
+
+ modules/ (src/modules/*)
+
+% resource torlauncher %
+
+% skin torlauncher default %skin/
+ skin/ (src/chrome/skin/*)
+
+% component {4F476361-23FB-43EF-A427-B36A14D3208E} %components/tl-protocol.js
+% contract @torproject.org/torlauncher-protocol-service;1 {4F476361-23FB-43EF-A427-B36A14D3208E}
+
+% component {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1} %components/tl-process.js
+% contract @torproject.org/torlauncher-process-service;1 {FE7B4CAF-BCF4-4848-8BFF-EFA66C9AFDA1}
+
+% category profile-after-change TorProcessService @torproject.org/torlauncher-process-service;1
+
+% locale torlauncher en-US %locale/en-US/
+ locale/en-US/ (src/chrome/locale/en-US/*)
diff --git a/localization/import-translations.sh b/localization/import-translations.sh
index f78df42..a1d9bd4 100755
--- a/localization/import-translations.sh
+++ b/localization/import-translations.sh
@@ -1,12 +1,16 @@
#!/bin/sh
+### Copyright (c) 2019, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
TRANSLATION_BRANCHES="
tor-launcher-network-settings
tor-launcher-properties
"
-if [ -d translation ];
-then
+# Import translated string files from the translation git repository.
+echo "Updating translated files"
+if [ -d translation ]; then
cd translation
git fetch origin
cd ..
@@ -17,16 +21,59 @@ fi
cd translation
for branch in ${TRANSLATION_BRANCHES}
do
- git checkout ${branch}
- git merge origin/${branch}
+ git checkout --quiet ${branch}
+ git merge --quiet origin/${branch}
for locale in *
do
- if [ ! -d "${locale}" ]
- then
+ target_locale=$(echo "${locale}" | tr _ -)
+ if [ "${target_locale}" = "en" -o "${target_locale}" = "en-US" \
+ -o ! -d "${locale}" ]; then
continue
fi
- target="../../src/chrome/locale/$(echo "${locale}" | tr _ -)"
+ target="../../src/chrome/locale/${target_locale}"
mkdir -p "${target}"
cp -f "${locale}"/* "${target}"/
done
done
+cd ..
+
+# Remove all locales that are missing one or more string files.
+# Remove all locales for which no translation has been done.
+# Re-create the chrome.manifest and jar.mn files by appending to templates.
+echo "Removing incomplete locales; updating chrome.manifest and jar.mn"
+cd ../src/chrome/locale
+CHROME_MANIFEST=../../../chrome.manifest
+JAR_MN=../../../jar.mn
+cp ${CHROME_MANIFEST}.in ${CHROME_MANIFEST}
+cp ${JAR_MN}.in ${JAR_MN}
+REQUIRED_TRANSLATION_FILES=`ls -1 en-US/`
+for locale in *; do
+ if [ "${locale}" = "en-US" ]; then
+ continue
+ fi
+ omit_locale=0
+ for f in ${REQUIRED_TRANSLATION_FILES}; do
+ if [ ! -e "${locale}/${f}" ]; then
+ echo "Removing locale ${locale} due to missing resource ${f}"
+ omit_locale=1
+ break
+ fi
+ done
+ if [ ${omit_locale} -eq 0 ]; then
+ diff -r en-US "${locale}" > /dev/null
+ if [ $? -eq 0 ]; then
+ echo "Removing locale ${locale} because it has the same content as en-US"
+ omit_locale=1
+ fi
+ fi
+ if [ ${omit_locale} -ne 0 ]; then
+ rm -rf "${locale}"
+ else
+ echo "locale torlauncher ${locale} chrome/locale/${locale}/" >> \
+ ${CHROME_MANIFEST}
+ echo "% locale torlauncher ${locale} %locale/${locale}/" >> \
+ ${JAR_MN}
+ echo " locale/${locale}/ (src/chrome/locale/${locale}/*)" >> \
+ ${JAR_MN}
+ fi
+done
diff --git a/moz.build b/moz.build
new file mode 100644
index 0000000..bf6d4a6
--- /dev/null
+++ b/moz.build
@@ -0,0 +1,8 @@
+# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+### Copyright (c) 2019, The Tor Project, Inc.
+### See LICENSE for licensing information.
+
+JAR_MANIFESTS += ['jar.mn']
+
+JS_PREFERENCE_FILES += [ 'src/defaults/preferences/torlauncher-prefs.js' ]
diff --git a/src/chrome/locale/en/network-settings.dtd b/src/chrome/locale/en-US/network-settings.dtd
similarity index 100%
rename from src/chrome/locale/en/network-settings.dtd
rename to src/chrome/locale/en-US/network-settings.dtd
diff --git a/src/chrome/locale/en/torlauncher.properties b/src/chrome/locale/en-US/torlauncher.properties
similarity index 100%
rename from src/chrome/locale/en/torlauncher.properties
rename to src/chrome/locale/en-US/torlauncher.properties
1
0

[tor-browser/tor-browser-60.6.1esr-8.5-1] fixup! Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
by gk@torproject.org 10 May '19
by gk@torproject.org 10 May '19
10 May '19
commit 22d7c0ae06cbc722dae7d0f685b671ae6af25731
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Apr 29 10:05:33 2019 +0000
fixup! Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
---
mobile/android/app/000-tor-browser-android.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/mobile/android/app/000-tor-browser-android.js b/mobile/android/app/000-tor-browser-android.js
index b2ee9d0ded00..2410706bb5f5 100644
--- a/mobile/android/app/000-tor-browser-android.js
+++ b/mobile/android/app/000-tor-browser-android.js
@@ -59,3 +59,6 @@ pref("dom.w3c_touch_events.enabled", 2);
// No HLS support for now due to browser freezing, see: #29859.
pref("media.hls.enabled", false);
+
+// Inherit locale from the OS, used for multi-locale builds
+pref("intl.locale.requested", "");
1
0

[torbutton/master] Bug 30069: Use slider and about:tor localizations
by gk@torproject.org 10 May '19
by gk@torproject.org 10 May '19
10 May '19
commit 8877c1ecb16aec821dea8aa2282c845452cef24f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Apr 26 20:50:09 2019 +0000
Bug 30069: Use slider and about:tor localizations
The wildcard symbols don't get resolved during build. We therefore spell
out the locales we support.
---
src/jar.mn | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 60 insertions(+), 2 deletions(-)
diff --git a/src/jar.mn b/src/jar.mn
index 89c0386d..68fdb9ec 100644
--- a/src/jar.mn
+++ b/src/jar.mn
@@ -32,8 +32,66 @@ torbutton.jar:
# Strings for the about:tbupdate page
% override chrome://browser/locale/aboutTBUpdate.dtd chrome://torbutton/locale/aboutTBUpdate.dtd
-% locale torbutton @AB_CD@ %locale/@AB_CD@/
- locale/@AB_CD@/ (chrome/locale/@AB_CD@/*)
+% locale torbutton en-US %locale/en-US/
+ locale/en-US/ (chrome/locale/en-US/*)
+% locale torbutton ar %locale/ar/
+ locale/ar/ (chrome/locale/ar/*)
+% locale torbutton ca %locale/ca/
+ locale/ca/ (chrome/locale/ca/*)
+% locale torbutton cs %locale/cs/
+ locale/cs/ (chrome/locale/cs/*)
+% locale torbutton da %locale/da/
+ locale/da/ (chrome/locale/da/*)
+% locale torbutton de %locale/de/
+ locale/de/ (chrome/locale/de/*)
+% locale torbutton el %locale/el/
+ locale/el/ (chrome/locale/el/*)
+% locale torbutton es-AR %locale/es-AR/
+ locale/es-AR/ (chrome/locale/es-AR/*)
+% locale torbutton es-ES %locale/es-ES/
+ locale/es-ES/ (chrome/locale/es-ES/*)
+% locale torbutton fa %locale/fa/
+ locale/fa/ (chrome/locale/fa/*)
+% locale torbutton fr %locale/fr/
+ locale/fr/ (chrome/locale/fr/*)
+% locale torbutton ga-IE %locale/ga-IE/
+ locale/ga-IE/ (chrome/locale/ga-IE/*)
+% locale torbutton he %locale/he/
+ locale/he/ (chrome/locale/he/*)
+% locale torbutton hu %locale/hu/
+ locale/hu/ (chrome/locale/hu/*)
+% locale torbutton id %locale/id/
+ locale/id/ (chrome/locale/id/*)
+% locale torbutton is %locale/is/
+ locale/is/ (chrome/locale/is/*)
+% locale torbutton it %locale/it/
+ locale/it/ (chrome/locale/it/*)
+% locale torbutton ja %locale/ja/
+ locale/ja/ (chrome/locale/ja/*)
+% locale torbutton ka %locale/ka/
+ locale/ka/ (chrome/locale/ka/*)
+% locale torbutton ko %locale/ko/
+ locale/ko/ (chrome/locale/ko/*)
+% locale torbutton nb-NO %locale/nb-NO/
+ locale/nb-NO/ (chrome/locale/nb-NO/*)
+% locale torbutton nl %locale/nl/
+ locale/nl/ (chrome/locale/nl/*)
+% locale torbutton pl %locale/pl/
+ locale/pl/ (chrome/locale/pl/*)
+% locale torbutton pt-BR %locale/pt-BR/
+ locale/pt-BR/ (chrome/locale/pt-BR/*)
+% locale torbutton ru %locale/ru/
+ locale/ru/ (chrome/locale/ru/*)
+% locale torbutton sv-SE %locale/sv-SE/
+ locale/sv-SE/ (chrome/locale/sv-SE/*)
+% locale torbutton tr %locale/tr/
+ locale/tr/ (chrome/locale/tr/*)
+% locale torbutton vi %locale/vi/
+ locale/vi/ (chrome/locale/vi/*)
+% locale torbutton zh-CN %locale/zh-CN/
+ locale/zh-CN/ (chrome/locale/zh-CN/*)
+% locale torbutton zh-TW %locale/zh-TW/
+ locale/zh-TW/ (chrome/locale/zh-TW/*)
% skin torbutton classic/1.0 %skin/
% style chrome://global/content/customizeToolbar.xul chrome://torbutton/skin/torbutton.css
1
0

10 May '19
commit 8b4b0c76ef35a8adc59703ec2698a6be8985e37f
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 10 09:11:08 2019 +0000
Fold in changelogs of newly tagged versions
---
src/CHANGELOG | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/CHANGELOG b/src/CHANGELOG
index 2ebab88b..858e8f53 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,9 @@
+2.1.7
+ * Bug 30388: Make sure the updated intermediate certificate keeps working
+
+2.0.13
+ * Bug 30388: Make sure the updated intermediate certificate is working
+
2.1.6
* Bug 22538+22513: Fix new circuit button for error pages
* Bug 29825: Intelligently add new Security Level button to taskbar
1
0

10 May '19
commit d45208876644a66c775c3ee2e5ea4dc4942e0e8c
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 10 09:08:11 2019 +0000
Fold in Changelogs of new releases
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index f49c142..29c4bb9 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,19 @@
+Tor Browser 8.5a12 -- May 7 2019
+ * All platforms
+ * Update Torbutton to 2.1.7
+ * Bug 30388: Make sure the updated intermediate certificate keeps working
+ * Backport fixes for bug 1549010 and bug 1549061
+ * Bug 30388: Make sure the updated intermediate certificate keeps working
+
+Tor Browser 8.0.9 -- May 7 2019
+* All platforms
+ * Update Torbutton to 2.0.13
+ * Bug 30388: Make sure the updated intermediate certificate keeps working
+ * Backport fixes for bug 1549010 and bug 1549061
+ * Bug 30388: Make sure the updated intermediate certificate keeps working
+ * Update NoScript to 10.6.1
+ * Bug 29872: XSS popup with DuckDuckGo search on about:tor
+
Tor Browser 8.5a11 -- April 16 2019
* All platforms
* Update Torbutton to 2.1.6
1
0

[tor-browser/tor-browser-60.6.1esr-8.5-1] fixup! Bug 28329 - Part 4. Add new Tor Bootstrapping and configuration screens
by gk@torproject.org 10 May '19
by gk@torproject.org 10 May '19
10 May '19
commit 937038361e7529779f5bfce42b7e2e4007542503
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri May 10 07:54:23 2019 +0000
fixup! Bug 28329 - Part 4. Add new Tor Bootstrapping and configuration screens
---
.../mozilla/gecko/torbootstrap/TorPreferences.java | 25 ++++++++++++----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorPreferences.java b/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorPreferences.java
index 87ce1ec4bec6..87b752ab5991 100644
--- a/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorPreferences.java
+++ b/mobile/android/base/java/org/mozilla/gecko/torbootstrap/TorPreferences.java
@@ -81,12 +81,12 @@ import static org.mozilla.gecko.preferences.GeckoPreferences.NON_PREF_PREFIX;
* PREFS_BRIDGES_ENABLED
* PREFS_BRIDGES_TYPE
* PREFS_BRIDGES_PROVIDE
- * pref_bridges_enabled (Orbot)
- * pref_bridges_list (Orbot)
+ * pref_bridges_enabled (tor-android-service)
+ * pref_bridges_list (tor-android-service)
*
* These may be in following three end states where PREFS_BRIDGES_ENABLED and
* pref_bridges_enabled must always match, and pref_bridges_list must either match
- * PREFS_BRIDGES_PROVIDE or contain a list of bridges of type PREFS_BRIDGES_TYPE.
+ * PREFS_BRIDGES_PROVIDE or contain type PREFS_BRIDGES_TYPE.
*
* PREFS_BRIDGES_ENABLED=false
* PREFS_BRIDGES_TYPE=null
@@ -98,7 +98,7 @@ import static org.mozilla.gecko.preferences.GeckoPreferences.NON_PREF_PREFIX;
* PREFS_BRIDGES_TYPE=T1
* PREFS_BRIDGES_PROVIDE=null
* pref_bridges_enabled=true
- * pref_bridges_list=X1
+ * pref_bridges_list=T1
*
* PREFS_BRIDGES_ENABLED=true
* PREFS_BRIDGES_TYPE=null
@@ -287,7 +287,8 @@ public class TorPreferences extends AppCompatPreferenceActivity {
// Save the bridgesType with the PREFS_BRIDGES_TYPE pref as the key
// (for future lookup). If bridgesType is null, then save the
// bridgesLines with the PREFS_BRIDGES_PROVIDE pref as the key, and
- // use Orbot's helper method and enable Orbot's bridge pref.
+ // use tor-android-service's helper method and enable
+ // tor-android-service's bridge pref.
protected boolean setBridges(SharedPreferences.Editor editor, String bridgesType, String bridgesLines) {
if (editor == null) {
Log.w(LOGTAG, "setBridges: editor is null");
@@ -310,12 +311,12 @@ public class TorPreferences extends AppCompatPreferenceActivity {
return false;
}
- // Set Orbot's preference
+ // Set tor-android service's preference
Prefs.setBridgesList(bridgesLines);
// If either of these are not null, then we're enabling bridges
boolean bridgesAreEnabled = (bridgesType != null) || (bridgesLines != null);
- // Inform Orbot bridges are enabled
+ // Inform tor-android-service bridges are enabled
Prefs.putBridgesEnabled(bridgesAreEnabled);
return true;
}
@@ -555,7 +556,7 @@ public class TorPreferences extends AppCompatPreferenceActivity {
// We follow this logic:
// If the bridgesEnabled switch is off, then false
- // If Orbot doesn't have bridges enabled, then false
+ // If tor-android-service doesn't have bridges enabled, then false
// If PREFS_BRIDGES_PROVIDE is not null, then true
// Else false
private boolean isBridgeProvided(SwitchPreference bridgesEnabled) {
@@ -733,8 +734,9 @@ public class TorPreferences extends AppCompatPreferenceActivity {
// so replace the string with only the pluggable transport name.
// This will need updating when another transport is "recommended".
//
- // Similarly, if meek-azure is chosen, substitute it with "meek" (Orbot
- // only handles these keywords specially if they are less than 5 characters).
+ // Similarly, if meek-azure is chosen, substitute it with "meek"
+ // (tor-android-service only handles these keywords specially if
+ // they are less than 5 characters).
if (bridgesType.contains("obfs4")) {
bridgesType = "obfs4";
} else if (bridgesType.contains("meek-azure")) {
@@ -963,7 +965,8 @@ public class TorPreferences extends AppCompatPreferenceActivity {
return;
}
- // Set the preferences (both our preference and Orbot's preference)
+ // Set the preferences (both our preference and
+ // tor-android-service's preference)
Log.w(LOGTAG, "Saving Bridge preference: " + bridgesLines);
if (!setBridges(bridgesProvide.getEditor(), null, bridgesLines)) {
// TODO inform the user
1
0

[tor-browser-build/maint-8.5] Remove another thirteen defunct default bridges.
by gk@torproject.org 10 May '19
by gk@torproject.org 10 May '19
10 May '19
commit 0c2516324674e6a5b1dd3a77c780656634e8b2d2
Author: Philipp Winter <phw(a)nymity.ch>
Date: Thu May 9 14:13:32 2019 -0700
Remove another thirteen defunct default bridges.
The operator may be able to respawn these bridges from different IP
addresses but the VMs no longer exist, so we can safely retire them now.
This fixes <https://bugs.torproject.org/30457>.
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 39 ++++++++--------------
1 file changed, 13 insertions(+), 26 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index a738b74..61fdba1 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -5,32 +5,19 @@ pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.19"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.6"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

10 May '19
commit 19ff4982ab1064efabd601176bda49011d15ac00
Author: Philipp Winter <phw(a)nymity.ch>
Date: Thu May 9 12:44:25 2019 -0700
Remove six defunct default bridges.
All of these bridges are long gone and have no business still being in
Tor Browser.
This fixes <https://bugs.torproject.org/30457>.
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 61 ++++++++++------------
1 file changed, 27 insertions(+), 34 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index 8da9588..a738b74 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -2,42 +2,35 @@
pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
-pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
-pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
-
-pref("extensions.torlauncher.default_bridge.fte.1", "fte 131.252.210.150:8080 0E858AC201BF0F3FA3C462F64844CBFFC7297A42");
-pref("extensions.torlauncher.default_bridge.fte.2", "fte 128.105.214.162:8080 FC562097E1951DCC41B7D7F324D88157119BB56D");
-pref("extensions.torlauncher.default_bridge.fte.3", "fte 128.105.214.163:8080 A17A40775FBD2CA1184BF80BFC330A77ECF9D0E9");
+pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
+pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.20"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.19"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

[tor-browser-build/master] Remove another thirteen defunct default bridges.
by gk@torproject.org 10 May '19
by gk@torproject.org 10 May '19
10 May '19
commit 2d222fa88142a4c1edb407552fa8f73205fe186d
Author: Philipp Winter <phw(a)nymity.ch>
Date: Thu May 9 14:13:32 2019 -0700
Remove another thirteen defunct default bridges.
The operator may be able to respawn these bridges from different IP
addresses but the VMs no longer exist, so we can safely retire them now.
This fixes <https://bugs.torproject.org/30457>.
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 39 ++++++++--------------
1 file changed, 13 insertions(+), 26 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index a738b74..61fdba1 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -5,32 +5,19 @@ pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
-pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.19"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.6"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

10 May '19
commit a756b1373b67588eea29e3b02310d14f506405f9
Author: Philipp Winter <phw(a)nymity.ch>
Date: Thu May 9 12:44:25 2019 -0700
Remove six defunct default bridges.
All of these bridges are long gone and have no business still being in
Tor Browser.
This fixes <https://bugs.torproject.org/30457>.
---
.../Bundle-Data/PTConfigs/bridge_prefs.js | 61 ++++++++++------------
1 file changed, 27 insertions(+), 34 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
index 8da9588..a738b74 100644
--- a/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
+++ b/projects/tor-browser/Bundle-Data/PTConfigs/bridge_prefs.js
@@ -2,42 +2,35 @@
pref("extensions.torlauncher.default_bridge_recommended_type", "obfs4");
// Default bridges.
-pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 169.229.59.74:31493 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 169.229.59.75:46328 AF9F66B7B04F8FF6F32D455F05135250A16543C9");
-pref("extensions.torlauncher.default_bridge.obfs3.3", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
-pref("extensions.torlauncher.default_bridge.obfs3.4", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
-
-pref("extensions.torlauncher.default_bridge.fte.1", "fte 131.252.210.150:8080 0E858AC201BF0F3FA3C462F64844CBFFC7297A42");
-pref("extensions.torlauncher.default_bridge.fte.2", "fte 128.105.214.162:8080 FC562097E1951DCC41B7D7F324D88157119BB56D");
-pref("extensions.torlauncher.default_bridge.fte.3", "fte 128.105.214.163:8080 A17A40775FBD2CA1184BF80BFC330A77ECF9D0E9");
+pref("extensions.torlauncher.default_bridge.obfs3.1", "obfs3 109.105.109.163:38980 1E05F577A0EC0213F971D81BF4D86A9E4E8229ED");
+pref("extensions.torlauncher.default_bridge.obfs3.2", "obfs3 109.105.109.163:47779 4C331FA9B3D1D6D8FB0D8FBBF0C259C360D97E6A");
pref("extensions.torlauncher.default_bridge.obfs4.1", "obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
-pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.19", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
-/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.20"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
-pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
-pref("extensions.torlauncher.default_bridge.obfs4.27", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.2", "obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.3", "obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2");
+pref("extensions.torlauncher.default_bridge.obfs4.4", "obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.5", "obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.6", "obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.7", "obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.8", "obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.9", "obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.10", "obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.11", "obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.12", "obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.13", "obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.14", "obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.15", "obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.16", "obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.17", "obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.18", "obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1");
+/**/pref/**/(/**/"extensions.torlauncher.default_bridge.obfs4.19"/**/, /**/"obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.20", "obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.21", "obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1");
+pref("extensions.torlauncher.default_bridge.obfs4.22", "obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.23", "obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.24", "obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.25", "obfs4 216.252.162.21:46089 0DB8799466902192B6C7576D58D4F7F714EC87C1 cert=XPUwcQPxEXExHfJYX58gZXN7mYpos7VNAHbkgERNFg+FCVNzuYo1Wp+uMscl3aR9hO2DRQ iat-mode=0");
+pref("extensions.torlauncher.default_bridge.obfs4.26", "obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0");
pref("extensions.torlauncher.default_bridge.meek-azure.1", "meek 0.0.2.0:2 97700DFE9F483596DDA6264C4D7DF7641E1E39CE url=https://meek.azureedge.net/ front=ajax.aspnetcdn.com");
1
0

[tor-browser-build/master] Bug 30377: Remove selfrando from our build system
by boklm@torproject.org 09 May '19
by boklm@torproject.org 09 May '19
09 May '19
commit 9f2de1690a822e1933356065010378f60ea2cf2c
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu May 9 17:22:27 2019 +0000
Bug 30377: Remove selfrando from our build system
---
keyring/elfutils.gpg | Bin 10483 -> 0 bytes
keyring/selfrando.gpg | Bin 2759 -> 0 bytes
projects/elfutils/build | 23 ---------------
projects/elfutils/config | 22 ---------------
projects/firefox/build | 12 --------
projects/firefox/config | 7 -----
projects/selfrando/build | 25 -----------------
projects/selfrando/config | 31 ---------------------
.../tor-browser/RelativeLink/start-tor-browser | 4 ---
rbm.conf | 1 -
10 files changed, 125 deletions(-)
diff --git a/keyring/elfutils.gpg b/keyring/elfutils.gpg
deleted file mode 100644
index f1cd4b3..0000000
Binary files a/keyring/elfutils.gpg and /dev/null differ
diff --git a/keyring/selfrando.gpg b/keyring/selfrando.gpg
deleted file mode 100644
index 276955d..0000000
Binary files a/keyring/selfrando.gpg and /dev/null differ
diff --git a/projects/elfutils/build b/projects/elfutils/build
deleted file mode 100644
index 5e24dba..0000000
--- a/projects/elfutils/build
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir=/var/tmp/dist/[% project %]
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-
-mkdir -p /var/tmp/dist
-
-tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
-export PATH="/var/tmp/dist/binutils/bin:$PATH"
-
-mkdir -p /var/tmp/build
-tar -C /var/tmp/build -xf $rootdir/[% c('input_files_by_name/elfutils') %]
-
-cd /var/tmp/build/[% project %]-[% c("version") %]
-./configure --prefix="$distdir"
-make -j[% c("buildconf/num_procs") %]
-make install
-
-cd /var/tmp/dist
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/elfutils/config b/projects/elfutils/config
deleted file mode 100644
index 2c21cf2..0000000
--- a/projects/elfutils/config
+++ /dev/null
@@ -1,22 +0,0 @@
-# vim: filetype=yaml sw=2
-version: '0.166'
-filename: 'elfutils-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-tag_gpg_id: 1
-
-var:
- container:
- use_container: 1
- arch_deps:
- - zlib1g-dev
-
-input_files:
- - project: container-image
- - name: elfutils
- URL: 'https://sourceware.org/elfutils/ftp/[% c("version") %]/elfutils-[% c("version") %].tar.bz2'
- file_gpg_id: 1
- gpg_keyring: elfutils.gpg
- sig_ext: sig
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
- - project: binutils
- name: binutils
diff --git a/projects/firefox/build b/projects/firefox/build
index 8146f5d..5cf86a4 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -58,14 +58,6 @@ EOF
export PATH="/var/tmp/dist/binutils/bin:$PATH"
[% END -%]
-[% IF c("var/selfrando") -%]
- tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/selfrando') %]
- # Selfrando wrapper
- export PATH="/var/tmp/dist/selfrando/Tools/TorBrowser/tc-wrapper/:$PATH"
- # We need to avoid the shuffling while building as this breaks compilation
- export SELFRANDO_skip_shuffle=
-[% END -%]
-
mkdir -p /var/tmp/dist
tar -C /var/tmp/dist -xf [% c('input_files_by_name/rust') %]
export PATH="/var/tmp/dist/rust/bin:$PATH"
@@ -276,10 +268,6 @@ cd $distdir
objcopy --only-keep-debug $LIB Debug/$LIB
strip $LIB
objcopy --add-gnu-debuglink=./Debug/$LIB $LIB
- [% IF c("var/selfrando") -%]
- # remove RUNPATH added by selfrando (see #22242)
- chrpath -d $LIB
- [% END -%]
done
[% END %]
diff --git a/projects/firefox/config b/projects/firefox/config
index 096fca1..566cbc0 100644
--- a/projects/firefox/config
+++ b/projects/firefox/config
@@ -75,8 +75,6 @@ targets:
- libx11-xcb-dev
# We built GCC but not the libmpc2, thus we need to install it
- libmpc2
- # needed to remove RUNPATH added by selfrando (see #22242)
- - chrpath
linux-i686:
var:
@@ -95,8 +93,6 @@ targets:
- libx11-xcb-dev:i386
# We built GCC but not the libmpc2, thus we need to install it
- libmpc2
- # needed to remove RUNPATH added by selfrando (see #22242)
- - chrpath
- hardening-wrapper
osx-x86_64:
@@ -128,9 +124,6 @@ input_files:
- project: binutils
name: binutils
enable: '[% c("var/linux") %]'
- - project: selfrando
- name: selfrando
- enable: '[% c("var/selfrando") %]'
- filename: fix-info-plist.py
enable: '[% c("var/osx") %]'
- URL: https://people.torproject.org/~gk/mirrors/sources/msvcr100.dll
diff --git a/projects/selfrando/build b/projects/selfrando/build
deleted file mode 100644
index 14d9dcf..0000000
--- a/projects/selfrando/build
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/bash
-[% c("var/set_default_env") -%]
-distdir=/var/tmp/dist/[% project %]
-[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-
-mkdir -p /var/tmp/dist
-
-tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/elfutils') %]
-tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %]
-export PATH="/var/tmp/dist/binutils/bin:$PATH"
-
-tar -C /var/tmp/dist -xf $rootdir/[% project %]-[% c("version") %].tar.gz
-
-cd /var/tmp/dist
-mv [% project %]-[% c("version") %] [% project %]
-cd [% project %]
-scons -Q arch=[% c("var/selfrando_arch") %] LIBELF_PATH="/var/tmp/dist/elfutils" NO_MREMAP=1 FORCE_INPLACE=1 DEBUG_LEVEL=env WRITE_LAYOUTS=env LOG=console
-# Fix the path where we install selfrando
-sed -i 's|^SR_PATH=.*|SR_PATH=/var/tmp/dist/selfrando/out/[% c("var/selfrando_arch") %]/bin|' Tools/TorBrowser/tc-wrapper/ld
-
-cd /var/tmp/dist
-[% c('tar', {
- tar_src => [ project ],
- tar_args => '-czf ' _ dest_dir _ '/' _ c('filename'),
- }) %]
diff --git a/projects/selfrando/config b/projects/selfrando/config
deleted file mode 100644
index 82acc23..0000000
--- a/projects/selfrando/config
+++ /dev/null
@@ -1,31 +0,0 @@
-# vim: filetype=yaml sw=2
-filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-version: 0.4.2
-git_hash: 'tb-v[% c("version") %]'
-git_url: https://github.com/immunant/selfrando.git
-gpg_keyring: selfrando.gpg
-tag_gpg_id: 1
-
-var:
- container:
- use_container: 1
- arch_deps:
- - scons
- - zlib1g-dev
-
-targets:
- linux-x86_64:
- var:
- selfrando_arch: x86_64
- linux-i686:
- var:
- selfrando_arch: x86
-
-input_files:
- - project: container-image
- - name: binutils
- project: binutils
- - name: elfutils
- project: elfutils
- - name: '[% c("var/compiler") %]'
- project: '[% c("var/compiler") %]'
diff --git a/projects/tor-browser/RelativeLink/start-tor-browser b/projects/tor-browser/RelativeLink/start-tor-browser
index 474360b..0a1dcbf 100755
--- a/projects/tor-browser/RelativeLink/start-tor-browser
+++ b/projects/tor-browser/RelativeLink/start-tor-browser
@@ -273,10 +273,6 @@ if [ $SYSARCHITECTURE -ne $TORARCHITECTURE ]; then
exit 1
fi
-[% IF ! c("var/release") %]
-export SELFRANDO_write_layout_file=
-[% END %]
-
[% IF c("var/asan") -%]
# We need to disable LSan which is enabled by default now. Otherwise we'll get
# a crash during shutdown: https://bugs.torproject.org/10599#comment:59
diff --git a/rbm.conf b/rbm.conf
index b9db843..2202776 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -238,7 +238,6 @@ targets:
# channels for now.
snowflake: '[% c("var/alpha") || c("var/nightly") %]'
fteproxy: 1
- selfrando: '[% c("var/linux-x86_64") && ! c("var/release") %]'
container:
suite: wheezy
arch: amd64
1
0

[tor-browser-build/master] Bug 30448: Create the Debug/Browser/gtk2 directory
by gk@torproject.org 09 May '19
by gk@torproject.org 09 May '19
09 May '19
commit 81a689dd863a4be72c4f3301cf571ac4146813f0
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Thu May 9 14:25:20 2019 +0200
Bug 30448: Create the Debug/Browser/gtk2 directory
At the same time, move the creation of the Debug directory closer to
where we use it.
---
projects/firefox/build | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/projects/firefox/build b/projects/firefox/build
index aefdb97..8146f5d 100644
--- a/projects/firefox/build
+++ b/projects/firefox/build
@@ -84,10 +84,6 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
mkdir -p $distdir/Browser
[% END %]
-[% IF c("var/linux") %]
- mkdir -p $distdir/Debug/Browser/
-[% END %]
-
cd /var/tmp/build/[% project %]-[% c("version") %]
mv -f $rootdir/[% c('input_files_by_name/mozconfig') %] .mozconfig
[% IF c("var/asan") -%]
@@ -272,6 +268,7 @@ cp -p obj-*/dist/host/bin/mbsdiff $MARTOOLS/
cd $distdir
[% IF c("var/linux") %]
+ mkdir -p $distdir/Debug/Browser/gtk2
# Strip and generate debuginfo for the firefox binary that we keep, all *.so
# files, the plugin-container, and the updater (see ticket #10126)
for LIB in Browser/*.so Browser/gtk2/*.so Browser/firefox.real Browser/plugin-container Browser/updater
1
0