[Pkg-privacy-commits] [Git][pkg-privacy-team/torbrowser-launcher][upstream] New upstream version 0.3.9
Thomas Ward (@teward)
gitlab at salsa.debian.org
Tue Jan 20 15:56:11 GMT 2026
Thomas Ward pushed to branch upstream at Privacy Maintainers / torbrowser-launcher
Commits:
7efe9996 by Thomas Ward at 2026-01-20T10:34:48-05:00
New upstream version 0.3.9
- - - - -
26 changed files:
- + .gitlab/issue_templates/Release Prep.md
- BUILD.md
- CHANGELOG.md
- README.md
- apparmor/torbrowser.Browser.firefox
- build_rpm.sh
- + git-tag_release.sh
- po/cs.po
- po/fr.po
- po/hu.po
- po/nl.po
- po/pt_BR.po
- po/ru.po
- po/sv.po
- setup.py
- share/applications/torbrowser.desktop → share/applications/org.torproject.torbrowser-launcher.desktop
- share/applications/torbrowser-settings.desktop → share/applications/org.torproject.torbrowser-launcher.settings.desktop
- share/icons/hicolor/128x128/apps/torbrowser.png → share/icons/hicolor/128x128/apps/org.torproject.torbrowser-launcher.png
- share/metainfo/org.torproject.torbrowser-launcher.metainfo.xml
- share/torbrowser-launcher/tor-browser-developers.asc
- share/torbrowser-launcher/version
- stdeb.cfg
- torbrowser_launcher/__init__.py
- torbrowser_launcher/common.py
- torbrowser_launcher/launcher.py
- torbrowser_launcher/settings.py
Changes:
=====================================
.gitlab/issue_templates/Release Prep.md
=====================================
@@ -0,0 +1,7 @@
+# Release Prep for Tor Browser Launcher
+
+- [ ] Update the version in `share/torbrowser-launcher/version`
+- [ ] Add new release tag to `share/metainfo/org.torproject.torbrowser-launcher.metainfo.xml`
+- [ ] Update `CHANGELOG.md`
+- [ ] Open/review/merge MR with the changes
+- [ ] Run `git-tag_release.sh`
=====================================
BUILD.md
=====================================
@@ -12,7 +12,7 @@ Then install dependencies, build a package, and install:
### Debian, Ubuntu, Linux Mint, etc.
```sh
-sudo apt install build-essential dh-python python3-all python3-stdeb python3-pyqt5 python3-gpg python3-requests python3-socks python3-packaging gnupg2 tor
+sudo apt install build-essential dh-python python3-all python3-stdeb python3-pyside6.qtcore python3-pyside6.qtgui python3-pyside6.qtwidgets python3-gpg python3-requests python3-setuptools python3-socks python3-packaging gnupg2 tor
./build_deb.sh
sudo dpkg -i deb_dist/torbrowser-launcher_*.deb
```
@@ -20,7 +20,7 @@ sudo dpkg -i deb_dist/torbrowser-launcher_*.deb
### Red Hat, Fedora, CentOS, etc.
```sh
-sudo dnf install rpm-build python3-qt5 python3-gpg python3-requests python3-pysocks python3-packaging gnupg2 tor
+sudo dnf install rpm-build python3-pyside6 python3-gpg python3-requests python3-setuptools python3-pysocks python3-packaging gnupg2 tor
./build_rpm.sh
sudo yum install dist/torbrowser-launcher-*.rpm
```
=====================================
CHANGELOG.md
=====================================
@@ -1,5 +1,42 @@
# Tor Browser Launcher Changelog
+## 0.3.9
+
+* Fix PySide6 Debian build dependencies
+* Keep thread references to fix crash
+* Use non-deprecated distro.name
+* Update Czech translation
+
+## 0.3.8
+
+* Update Tor Browser gpg key for new subkey (tor-browser-build#40964)
+* Migrate code from PyQt5 to PySide6
+* Fix window icon under wayland
+* Move setup.py to setuptools
+* AppArmor
+ * Update/Add Additional Abstractions
+ * Remove duplicate rule
+ * Allow the Wayland Proxy to run
+ * Don't grant full D-Bus session bus access
+ * Allow unprivileged user namespaces
+ * Allow reading cgroups-v2 CPU bandwidth quota information
+ * Allow executing Firefox' own VA-API probe utility
+ * Allow reading intel-media-driver feature files
+* Desktop files
+ * Rename desktop files to rDNS format
+ * Add Spanish language
+ * Add Arabic language
+ * Sort translated desktop strings by language
+* AppStream metadata (metainfo.xml)
+ * Add developer name
+ * Add developer tag
+ * Remove references to Bundle/TBB
+ * Add Arabic language
+* Documentation
+ * Update README.md for Flatpak name change
+ * Remove modem sound references
+ * Add gitlab issue template to document steps for making a release
+
## 0.3.7
* Use Tor Browser 13.0 new filenames
=====================================
README.md
=====================================
@@ -8,7 +8,6 @@ Tor Browser Launcher is intended to make Tor Browser easier to install and use f
* Verifies Tor Browser's [signature](https://support.torproject.org/tbb/how-to-verify-signature/) for you, to ensure the version you downloaded was cryptographically signed by Tor developers and was not tampered with
* Adds "Tor Browser" and "Tor Browser Launcher Settings" application launcher to your desktop environment's menu
* Includes AppArmor profiles to make a Tor Browser compromise not as bad
-* Optionally plays a modem sound when you open Tor Browser (because Tor is so slow)
Tor Browser Launcher is included in Ubuntu, Debian, and Fedora. To install it in any other distribution, see the [build instructions](/BUILD.md).
@@ -27,11 +26,11 @@ Install Flatpak using these [instructions](https://flatpak.org/setup/).
Then install `torbrowser-launcher` like this:
```
-flatpak install flathub com.github.micahflee.torbrowser-launcher -y
+flatpak install flathub org.torproject.torbrowser-launcher -y
```
Run `torbrowser-launcher` either by using the GUI desktop launcher, or by running:
```
-flatpak run com.github.micahflee.torbrowser-launcher
+flatpak run org.torproject.torbrowser-launcher
```
=====================================
apparmor/torbrowser.Browser.firefox
=====================================
@@ -11,6 +11,9 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
#include <abstractions/mesa>
#include <abstractions/opencl>
#include if exists <abstractions/vulkan>
+ #include if exists <abstractions/dbus-session-strict>
+
+ userns,
deny capability sys_ptrace,
@@ -26,6 +29,9 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
network netlink raw,
network tcp,
+ # ibus socket
+ owner @{HOME}/.cache/ibus/dbus-* rw,
+
ptrace (trace) peer=@{profile_name},
signal (receive, send) set=("term") peer=@{profile_name},
@@ -90,6 +96,10 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
owner @{torbrowser_home_dir}/TorBrowser/Tor/*.so.* mr,
owner @{torbrowser_home_dir}/TorBrowser/Tor/libstdc++/*.so mr,
owner @{torbrowser_home_dir}/TorBrowser/Tor/libstdc++/*.so.* mr,
+ owner @{torbrowser_home_dir}/vaapitest ix,
+
+ # intel-media-driver
+ /etc/igfx_user_feature*.txt r,
# parent Firefox process when restarting after upgrade, Web Content processes
owner @{torbrowser_firefox_executable} pxmr -> torbrowser_firefox,
@@ -117,6 +127,7 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
/sys/devices/system/node/ r,
/sys/devices/system/node/node[0-9]*/meminfo r,
/sys/fs/cgroup/cpu,cpuacct/{,user.slice/}cpu.cfs_quota_us r,
+ /sys/fs/cgroup/user.slice/user-[0-9]*.slice/user@[0-9]*.service/app.slice/app-gnome-torbrowser-[0-9]*.scope/cpu.max r,
deny /sys/class/input/ r,
deny /sys/devices/virtual/block/*/uevent r,
@@ -133,6 +144,11 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} {
# Required for Wayland display protocol support
owner /dev/shm/wayland.mozilla.ipc.[0-9]* rw,
+ # The Wayland Proxy prevents certain types of Wayland issues from
+ # crashing the client application. Details:
+ # https://mastransky.wordpress.com/2023/12/22/wayland-proxy-load-balancer/
+ owner @{run}/user/[0-9]*/wayland-proxy-@{pid} rw,
+
# Silence denial logs about permissions we don't need
deny @{HOME}/.cache/fontconfig/ rw,
deny @{HOME}/.cache/fontconfig/** rw,
=====================================
build_rpm.sh
=====================================
@@ -6,7 +6,7 @@ VERSION=$(cat share/torbrowser-launcher/version)
rm -r build dist
# build binary package
-python3 setup.py bdist_rpm --requires="python3-qt5, python3-gpg, python3-requests, python3-pysocks, python3-packaging, gnupg2, dbus-glib"
+python3 setup.py bdist_rpm --requires="python3-pyside6, python3-gpg, python3-requests, python3-setuptools, python3-pysocks, python3-packaging, gnupg2, dbus-glib"
# install it
echo ""
=====================================
git-tag_release.sh
=====================================
@@ -0,0 +1,6 @@
+#!/bin/sh
+# Make a signed git tag for the current commit, for a new release
+set -e
+VERSION=$(cat share/torbrowser-launcher/version)
+git tag -s --message="torbrowser-launcher version $VERSION" v$VERSION
+echo "Created git tag v$VERSION"
=====================================
po/cs.po
=====================================
@@ -1,26 +1,26 @@
-# SOME DESCRIPTIVE TITLE.
+# Czech translation of Tor Browser Launcher.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL at ADDRESS>, YEAR.
+# This file is distributed under the same license as the torbrowser-launcher package.
+# Daniel Rusek <mail at asciiwolf.com>, 2025.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-23 15:47-0700\n"
-"PO-Revision-Date: 2021-06-20 19:42+0200\n"
+"PO-Revision-Date: 2025-09-28 12:38+0200\n"
"Last-Translator: Daniel Rusek <mail at asciiwolf.com>\n"
"Language-Team: \n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 2.4.3\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Poedit 3.7\n"
#: __init__.py:65 launcher.py:470
msgid "Tor Browser Launcher"
-msgstr "Spouštěč prohlížeče Tor"
+msgstr "Spouštěč Prohlížeče Tor"
#: __init__.py:66
msgid "By Micah Lee, licensed under MIT"
@@ -136,14 +136,14 @@ msgstr "Instaluje se"
#: launcher.py:401
#, python-brace-format
msgid "Tor Browser Launcher doesn't understand the file format of {0}"
-msgstr "Spouštěč prohlížeče Tor nerozumí formátu souboru {0}"
+msgstr "Spouštěč Prohlížeče Tor nerozumí formátu souboru {0}"
#: launcher.py:427
msgid ""
"The version of Tor Browser you have installed is earlier than it should be, "
"which could be a sign of an attack!"
msgstr ""
-"Verze prohlížeče Tor, kterou máte nainstalovanou, je ranější, než by měla "
+"Verze Prohlížeče Tor, kterou máte nainstalovanou, je ranější, než by měla "
"být, což může značit útok!"
#: launcher.py:446
@@ -217,7 +217,7 @@ msgstr ""
#: settings.py:46
msgid "Tor Browser Launcher Settings"
-msgstr "Nastavení Spouštěče prohlížeče Tor"
+msgstr "Nastavení Spouštěče Prohlížeče Tor"
#: settings.py:50
msgid "Download over system Tor"
@@ -283,10 +283,6 @@ msgstr "Uložit a ukončit"
#~ "Možná je na vás veden útok, anebo může jít pouze o síťovou závadu. Pro "
#~ "nové stažení klikněte na Spustit."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr "Chybí balíček python-pygame, zvuk modemu není dostupný."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr ""
@@ -295,8 +291,5 @@ msgstr "Uložit a ukončit"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Tato možnost vyžaduje balíček python-txsocksx."
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Přehrávat zvuk modemu, jelikož je Tor pomalý :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Tato možnost vyžaduje nainstalovaný python-pygame"
=====================================
po/fr.po
=====================================
@@ -288,11 +288,6 @@ msgstr "Enregistrer et quitter"
#~ "Vous pourriez être l'objet d'une attaque, ou il peut s'agir d'un problème "
#~ "de réseau. Cliquer sur Démarrer pour télécharger à nouveau."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr ""
-#~ "Le paquet python-pygame est manquant, le son de modem est indisponible."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr ""
@@ -302,8 +297,5 @@ msgstr "Enregistrer et quitter"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Cette option nécessite le paquet python-txsocksx"
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Jouer un son de modem, car Tor est lent :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Cette option requiert le paquet python-pygame"
=====================================
po/hu.po
=====================================
@@ -281,10 +281,6 @@ msgstr "Mentés és kilépés"
#~ "Lehet, hogy támadás alatt vagy, vagy előfordulhat egy hálózati probléma "
#~ "is. Kattints az indításra az újbóli letöltéshez."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr "A python-pygame csomag nem található, a modem hang nem elérhető."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr ""
@@ -294,8 +290,5 @@ msgstr "Mentés és kilépés"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Ehhez az opcióhoz szükséges a python-txsocksx csomag"
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Modem hang lejátszása, mert a Tor lassú :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Ehhez az opcióhoz szükséges hogy a python-pygame telepítve legyen"
=====================================
po/nl.po
=====================================
@@ -268,8 +268,5 @@ msgstr "Opslaan & afsluiten"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Voor deze optie is het python-txsocksx pakket nodig."
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Speel modem geluid, omdat Tor langzaam is :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Voor deze optie moet python-pygame geïnstalleerd zijn"
=====================================
po/pt_BR.po
=====================================
@@ -288,11 +288,6 @@ msgstr "Salvar && Sair"
#~ "Você pode estar sob ataque, ou pode haver apenas um problema de rede. "
#~ "Clique em Iniciar para tentar baixar novamente."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr ""
-#~ "O pacote python-pygame está faltando, o som do modem não está disponível."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr ""
@@ -301,8 +296,5 @@ msgstr "Salvar && Sair"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Esta opção precisa do pacote python-txsocksx"
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Reproduzir som do modem, porque o Tor é lento :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Esta opção precisa do pacote python-pygame"
=====================================
po/ru.po
=====================================
@@ -285,10 +285,6 @@ msgstr "Сохранить и выйти"
#~ "Вы можете бы быть под атакой, или имеют место проблемы с сетью. Нажмите "
#~ "кнопку Пуск и попробуйте снова."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr "Пакет python-pygame не найден, звуки модема недоступны."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr "Эта опция доступна только при установки Tor в систему."
@@ -296,8 +292,5 @@ msgstr "Сохранить и выйти"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Эта опция требует пакет python-txsocksx."
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Играть звуки модема, если Tor слишком медленный :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Эта опция требует установленный python-pygame"
=====================================
po/sv.po
=====================================
@@ -285,11 +285,6 @@ msgstr "Spara && avsluta"
#~ "Du kan vara under attack, eller det kan bara vara ett nätverksproblem. "
#~ "Klicka på Start för försöka hämta igen."
-#~ msgid ""
-#~ "The python-pygame package is missing, the modem sound is unavailable."
-#~ msgstr ""
-#~ "Python-pygame-paketet saknas, modemljudet är otillgängligt."
-
#~ msgid ""
#~ "This option is only available when using a system wide Tor installation."
#~ msgstr ""
@@ -299,8 +294,5 @@ msgstr "Spara && avsluta"
#~ msgid "This option requires the python-txsocksx package."
#~ msgstr "Det här alternativet kräver python-txsocksx-paketet."
-#~ msgid "Play modem sound, because Tor is slow :]"
-#~ msgstr "Spela modemljud, eftersom Tor är långsamt :]"
-
#~ msgid "This option requires python-pygame to be installed"
#~ msgstr "Det här alternativet kräver att python-pygame installeras"
=====================================
setup.py
=====================================
@@ -31,12 +31,12 @@ import os
import sys
import distro
import subprocess
-from distutils.core import setup
+from setuptools import setup
SHARE = "share"
# detect linux distribution
-distro = distro.linux_distribution()[0]
+distro = distro.name()
def file_list(path):
@@ -124,7 +124,7 @@ Browser.
install_requires=[
"gpg",
"packaging",
- "PyQt5",
+ "PySide6",
"requests",
"PySocks",
],
=====================================
share/applications/torbrowser.desktop → share/applications/org.torproject.torbrowser-launcher.desktop
=====================================
@@ -1,24 +1,31 @@
[Desktop Entry]
Name=Tor Browser
+Name[ar]=متصفح تور
Name[be]=Tor Browser
-Name[cs]=Tor Browser
+Name[cs]=Prohlížeč Tor
Name[da]=Tor Browser
+Name[es]=Navegador Tor
Name[hr]=Tor preglednik
Name[hu]=Tor-böngésző
Name[pt_BR]=Navegador Tor
Name[sv]=Tor Browser
Name[tr]=Tor Browser
GenericName=Tor Browser
+GenericName[ar]=متصفح تور
GenericName[be]=Tor Browser
+GenericName[cs]=Prohlížeč Tor
GenericName[da]=Tor Browser
+GenericName[es]=Navegador Tor
GenericName[hr]=Tor preglednik
GenericName[hu]=Tor böngésző indító
GenericName[tr]=Tor Browser
Comment=Launch Tor Browser
+Comment[ar]=شغّل متصفح تور
Comment[be]=Запуск Tor Browser
-Comment[cs]=Spustit Tor Browser
-Comment[hr]=Pokreni Tor preglednika
+Comment[cs]=Spustit Prohlížeč Tor
Comment[da]=Start Tor Browser
+Comment[es]=Iniciar Navegador Tor
+Comment[hr]=Pokreni Tor preglednika
Comment[hu]=Tor böngésző indító
Comment[pt_BR]=Navegador Tor
Comment[sv]=Starta Tor Browser
@@ -26,6 +33,6 @@ Comment[tr]=Tor Browser Başlat
Exec=torbrowser-launcher %u
Terminal=false
Type=Application
-Icon=torbrowser
+Icon=org.torproject.torbrowser-launcher
Categories=Network;WebBrowser;
StartupWMClass=Tor Browser
=====================================
share/applications/torbrowser-settings.desktop → share/applications/org.torproject.torbrowser-launcher.settings.desktop
=====================================
@@ -1,6 +1,8 @@
[Desktop Entry]
Name=Tor Browser Launcher Settings
-Name[cs]=Tor Browser Launcher nastavení
+Name[ar]=إعدادات مشغّل متصفح تور
+Name[be]=Налады запускальніка Tor Browser
+Name[cs]=Prohlížeč Tor nastavení spouštěče
Name[da]=Indstillinger for Tor Browser-opstarter
Name[fr]=Tor Browser Launcher configurations
Name[hr]=Tor preglednik – postavke pokretanja
@@ -9,16 +11,19 @@ Name[nl]=Tor Browser Launcher Instellingen
Name[pt_BR]=Navegador Tor (Configurações do Lançador)
Name[ru]=Tor Browser (настройки запуска)
Name[sv]=Inställningar för Tor Browser Launcher
-Name[be]=Налады запускальніка Tor Browser
Name[tr]=Tor Browser Başlatıcı Ayarları
GenericName=Tor Browser Launcher Settings
+GenericName[ar]=إعدادات مشغّل متصفح تور
+GenericName[be]=Налады запускальніка Tor Browser
+GenericName[cs]=Prohlížeč Tor nastavení spouštěče
GenericName[da]=Indstillinger for Tor Browser-opstarter
GenericName[hr]=Tor preglednik – postavke pokretanja
GenericName[hu]=Tor-böngésző indító beállításai
-GenericName[be]=Налады запускальніка Tor Browser
GenericName[tr]=Tor Browser Başlatıcı Ayarları
Comment=Tor Browser Launcher Settings
-Comment[cs]=Tor Browser Launcher nastavení
+Comment[ar]=إعدادات مشغّل متصفح تور
+Comment[be]=Налады запускальніка Tor Browser
+Comment[cs]=Prohlížeč Tor nastavení spouštěče
Comment[da]=Indstillinger for Tor Browser-opstarter
Comment[fr]=Tor Browser Launcher configurations
Comment[hr]=Postavke za pokretanje Tor preglednika
@@ -27,10 +32,9 @@ Comment[nl]=Tor Browser Launcher Instellingen
Comment[pt_BR]=Navegador Tor (Configurações do Lançador)
Comment[ru]=Tor Browser (настройки запуска)
Comment[sv]=Inställningar för Tor Browser Launcher
-Comment[be]=Налады запускальніка Tor Browser
Comment[tr]=Tor Browser Başlatıcı Ayarları
Exec=torbrowser-launcher --settings
Terminal=false
Type=Application
-Icon=torbrowser
+Icon=org.torproject.torbrowser-launcher
Categories=Network;WebBrowser;
=====================================
share/icons/hicolor/128x128/apps/torbrowser.png → share/icons/hicolor/128x128/apps/org.torproject.torbrowser-launcher.png
=====================================
=====================================
share/metainfo/org.torproject.torbrowser-launcher.metainfo.xml
=====================================
@@ -3,34 +3,61 @@
<!-- Copyright 2024 Tor Project -->
<component type="desktop-application">
<id>org.torproject.torbrowser-launcher</id>
- <launchable type="desktop-id">torbrowser.desktop</launchable>
+ <launchable type="desktop-id">org.torproject.torbrowser-launcher.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MIT</project_license>
<name>Tor Browser Launcher</name>
- <summary>A program to help you download, keep updated, and run the Tor Browser Bundle</summary>
+ <name xml:lang="ar">مشغّل متصفح تور</name>
+ <name xml:lang="cs">Spouštěč Prohlížeče Tor</name>
+ <developer_name>Tor Project</developer_name>
+ <developer id="org.torproject">
+ <name>Tor Project</name>
+ </developer>
+ <summary>A program to help you download, keep updated, and run Tor Browser</summary>
+ <summary xml:lang="ar">برنامج لمساعدتك في تنزيل متصفح تور وتحديثه وتشغيله</summary>
+ <summary xml:lang="cs">Program, který vám pomůže stáhnout, udržet aktualizovaný a spustit Prohlížeč Tor</summary>
<description>
- <p>Tor Browser Launcher is intended to make the Tor Browser Bundle (TBB) easier to maintain and use for GNU/Linux users. It downloads the same TBB from torproject.org that everyone else uses, and it doesn't alter it in any way. But it does make it much more usable, and it makes the task of keeping it up-to-date more secure.</p>
+ <p>Tor Browser Launcher is intended to make Tor Browser easier to maintain and use for GNU/Linux users. It downloads the same Tor Browser from torproject.org that everyone else uses, and it doesn't alter it in any way. But it does make it much more usable, and it makes the task of keeping it up-to-date more secure.</p>
+ <p xml:lang="ar">يهدف مشغّل متصفّح تور إلى تسهيل صيانة واستخدام متصفّح تور لمستخدمي جنو/لينكس. يقوم بتحميل نفس متصفّح تور من torproject.org الذي يستخدمه الجميع، ولا يغيّره بأي شكل. لكنه يجعله أكثر قابلية للاستخدام ويجعل مهمة إبقائه محدثًا أكثر أمانًا.</p>
+ <p xml:lang="cs">Spouštěč Prohlížeče Tor má uživatelům GNU/Linuxu usnadnit správu a používání Prohlížeče Tor. Stahuje stejný Prohlížeč Tor z torproject.org, který používají všichni ostatní, a nijak ho nemění. Dělá jej však mnohem použitelnější a jeho udržování v aktuálním stavu bezpečnější.</p>
<p>You install torbrowser-launcher from your distribution's package manager and it handles everything else, including:</p>
+ <p xml:lang="ar">تثبّت torbrowser-launcher من مدير حزم توزيعتك وهو يتولّى الباقي، بما في ذلك:</p>
+ <p xml:lang="cs">Aplikaci torbrowser-launcher si nainstalujete ze správce balíčků vaší distribuce a ta se postará o vše ostatní, včetně:</p>
<ul>
- <li>Downloading the most recent version of TBB for you, in your language and for your architecture</li>
+ <li>Downloading the most recent version of Tor Browser for you, in your language and for your architecture</li>
+ <li xml:lang="ar">تنزيل أحدث إصدار من متصفّح تور لك، باللغة التي تختارها ولنسخة متوافقة مع بنية جهازك</li>
+ <li xml:lang="cs">Stažení nejnovější verze Prohlížeče Tor pro vás, ve vašem jazyce a pro vaši architekturu</li>
<li>Automatically updating (while preserving your bookmarks and preferences)</li>
- <li>Verifying the TBB's GnuPG signature</li>
+ <li xml:lang="ar">التحديث التلقائي (مع الحفاظ على علاماتك والإعدادات)</li>
+ <li xml:lang="cs">Automatickou aktualizaci (při zachování vašich záložek a nastavení)</li>
+ <li>Verifying Tor Browser's GnuPG signature</li>
+ <li xml:lang="ar">التحقق من توقيع GnuPG لمتصفّح تور</li>
+ <li xml:lang="cs">Ověření podpisu GnuPG Prohlížeče Tor</li>
<li>Includes AppArmor profiles to make a Tor Browser compromise not as bad (in some distros)</li>
+ <li xml:lang="ar">يتضمّن ملفات تعريف AppArmor لتقليل تأثير اختراق متصفّح تور (في بعض التوزيعات)</li>
+ <li xml:lang="cs">Zahrnuje profily AppArmor, aby kompromitace Prohlížeče Tor nebyla tak závažná (pro některé distribuce)</li>
<li>Adding a Tor Browser application launcher to your desktop environment's menu</li>
+ <li xml:lang="ar">إضافة مشغّل لتطبيق متصفّح تور إلى قائمة بيئة سطح المكتب</li>
+ <li xml:lang="cs">Přidání spouštěče Prohlížeče Tor do nabídky vašeho prostředí pracovní plochy</li>
<li>Lets you set Tor Browser as your default browser</li>
- <li>Optionally playing a modem sound when you open Tor Browser (because Tor is so slow)</li>
+ <li xml:lang="ar">يمكنّك من جعل متصفّح تور المتصفّح المبدئي</li>
+ <li xml:lang="cs">Umožní nastavit Prohlížeč Tor jako výchozí prohlížeč</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image>https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/raw/main/screenshot.png</image>
<caption>Window to change Tor Browser Launcher settings</caption>
+ <caption xml:lang="ar">نافذة لتغيير إعدادات مشغّل متصفّح تور</caption>
+ <caption xml:lang="cs">Okno pro změnu nastavení Spouštěče Prohlížeče Tor</caption>
</screenshot>
</screenshots>
<url type="homepage">https://gitlab.torproject.org/tpo/applications/torbrowser-launcher</url>
<update_contact>boklm at torproject.org</update_contact>
<content_rating type="oars-1.1"/>
<releases>
+ <release version="0.3.9" date="2025-10-01"/>
+ <release version="0.3.8" date="2025-09-25"/>
<release version="0.3.7" date="2024-01-12"/>
<release version="0.3.6" date="2022-12-13"/>
</releases>
=====================================
share/torbrowser-launcher/tor-browser-developers.asc
=====================================
@@ -13,18 +13,18 @@ jOKjNzu8vxbotBgZ01upDUdl69OnR1dv9X+bMzGWUyOjAjK6SP8rFtWFBjWgWcED
OHu51YpicSdN3uf7lppEXGx91n45xVMhL9d2KNp3DhWkKDuWhdliWC/r1wARAQAB
tEBUb3IgQnJvd3NlciBEZXZlbG9wZXJzIChzaWduaW5nIGtleSkgPHRvcmJyb3dz
ZXJAdG9ycHJvamVjdC5vcmc+iQJUBBMBCgA+AhsBBQsJCAcDBRUKCQgLBRYCAwEA
-Ah4BAheAFiEE724obdqF6ipLp95oTixuh5MpgpAFAl8XqaAFCRPu+2YACgkQTixu
-h5MpgpASEQ//fiGjtuwF+xAB5366e0ciTXKTKq2ar2uBgeKnAl7h862ePLE8MwIN
-2d7t1eGBdyr1B+CK6XRkeHtRjN5feOLOKQYy6UkPfSZZnSt/pXqH9bCZWIlejpFl
-HaNAUGFMbmtHzJb4ZEto3B0/HGAAx/1xiHP5GspdEj99H2T710axz5mCqbt6BRv4
-twZCEWQ4LE1GGn1NoBaf0STmF7luKC3IQi/H2VSc2LTJLQoo5Lnmr/w+jZ4N9S/J
-QKfeYQmXplbHWtG+AQh9VxDJxfK8z85zwvosR0LuUpbvn9Jsn8sFwB2TA9jLzPNr
-trBeotx5kcQm1ae+ETiNQdtJ8JzFHm5a5UmViZy6/zyK0T4PisKu7J10mZ9bBBro
-RXuqmxWqnD4GV/knKECE7K2DUeS7HsJin/hVc2OaHckII1i2Ced64tVfP9I1H/QX
-HXeP4AVkeDnwPTVDB/1R3RCBguqm0fkqGBW9HNTQz8ju6hiNdtTtLBFQ8rYaMO8U
-YVfQBFtuh7zKwjSnt0gsN3J/FEcHMIDto5mkerL3GrEnBZeXV8M14BdBOKiw2swK
-ibVuXhmW8nWdKO7evK8O+xE7W6wE+fWCghW3VLM8tnVlpMkmTTxQATbZ74Fhfor2
-DT8Obn8D+IK7Vzv2NJbtX9j1S8bz9t0JCuKIHRClF7ijJ0NyQEM6xbK5Ag0EVI6w
+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
@@ -70,40 +70,40 @@ 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
-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
-=pesg
+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
+=QA0S
-----END PGP PUBLIC KEY BLOCK-----
=====================================
share/torbrowser-launcher/version
=====================================
@@ -1 +1 @@
-0.3.7
+0.3.9
=====================================
stdeb.cfg
=====================================
@@ -1,6 +1,6 @@
[DEFAULT]
Package3: torbrowser-launcher
-Depends3: python3-pyqt5, python3-gpg, python3-requests, python3-socks, python3-packaging, gnupg2
-Build-Depends: dh-python, python3-pyqt5, python3-gpg, python3-requests, python3-socks, python3-packaging, gnupg2
+Depends3: python3-pyside6.qtcore, python3-pyside6.qtgui, python3-pyside6.qtwidgets, python3-gpg, python3-requests, python3-socks, python3-packaging, gnupg2
+Build-Depends: dh-python, python3-pyside6.qtcore, python3-pyside6.qtgui, python3-pyside6.qtwidgets, python3-gpg, python3-requests, python3-setuptools, python3-socks, python3-packaging, gnupg2
Recommends: tor
-Suite: bionic
+Suite: oracular
=====================================
torbrowser_launcher/__init__.py
=====================================
@@ -32,7 +32,7 @@ import sys
import argparse
import signal
-from PyQt5 import QtCore, QtWidgets
+from PySide6 import QtWidgets
from .common import Common, SHARE
from .settings import Settings
@@ -45,7 +45,6 @@ class Application(QtWidgets.QApplication):
"""
def __init__(self):
- self.setAttribute(QtCore.Qt.AA_X11InitThreads, True)
QtWidgets.QApplication.__init__(self, sys.argv)
self.installEventFilter(self)
@@ -81,6 +80,9 @@ def main():
common = Common(tor_browser_launcher_version)
app = Application()
+ if "WAYLAND_DISPLAY" in os.environ:
+ app.setDesktopFileName("org.torproject.torbrowser-launcher")
+
# Open the window
gui = None
@@ -92,11 +94,11 @@ def main():
gui = Launcher(common, app, url_list)
# Center the window
- desktop = app.desktop()
+ screen_size = app.primaryScreen().size()
window_size = gui.size()
gui.move(
- (desktop.width() - window_size.width()) // 2,
- (desktop.height() - window_size.height()) // 2,
+ (screen_size.width() - window_size.width()) // 2,
+ (screen_size.height() - window_size.height()) // 2,
)
gui.show()
=====================================
torbrowser_launcher/common.py
=====================================
@@ -126,7 +126,7 @@ class Common(object):
"old_data_dir": old_tbb_data,
"tbl_bin": sys.argv[0],
"icon_file": os.path.join(
- os.path.dirname(SHARE), "pixmaps/torbrowser.png"
+ os.path.dirname(SHARE), "icons/hicolor/128x128/apps/org.torproject.torbrowser-launcher.png"
),
"torproject_pem": os.path.join(SHARE, "torproject.pem"),
"signing_keys": {
=====================================
torbrowser_launcher/launcher.py
=====================================
@@ -40,7 +40,7 @@ import shutil
import xml.etree.ElementTree as ET
from packaging import version
-from PyQt5 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
class TryStableException(Exception):
@@ -71,6 +71,7 @@ class Launcher(QtWidgets.QMainWindow):
self.url_list = url_list
self.force_redownload = False
+ self._threads = []
# This is the current version of Tor Browser, which should get updated with every release
self.min_version = "13.0"
@@ -350,9 +351,11 @@ class Launcher(QtWidgets.QMainWindow):
t.progress_update.connect(progress_update)
t.download_complete.connect(download_complete)
t.download_error.connect(download_error)
+ self._threads.append(t)
t.start()
time.sleep(0.2)
+
def try_default_mirror(self):
# change mirror to default and relaunch TBL
self.common.settings["mirror"] = self.common.default_mirror
@@ -420,6 +423,7 @@ class Launcher(QtWidgets.QMainWindow):
t = VerifyThread(self.common)
t.error.connect(error)
t.success.connect(success)
+ self._threads.append(t)
t.start()
time.sleep(0.2)
@@ -449,6 +453,7 @@ class Launcher(QtWidgets.QMainWindow):
t = ExtractThread(self.common)
t.error.connect(error)
t.success.connect(success)
+ self._threads.append(t)
t.start()
time.sleep(0.2)
@@ -532,9 +537,9 @@ class DownloadThread(QtCore.QThread):
Download a file in a separate thread.
"""
- progress_update = QtCore.pyqtSignal(int, int)
- download_complete = QtCore.pyqtSignal()
- download_error = QtCore.pyqtSignal(str, str)
+ progress_update = QtCore.Signal(int, int)
+ download_complete = QtCore.Signal()
+ download_error = QtCore.Signal(str, str)
def __init__(self, common, url, path):
super(DownloadThread, self).__init__()
@@ -615,8 +620,8 @@ class VerifyThread(QtCore.QThread):
Verify the signature in a separate thread
"""
- success = QtCore.pyqtSignal()
- error = QtCore.pyqtSignal(str)
+ success = QtCore.Signal()
+ error = QtCore.Signal(str)
def __init__(self, common):
super(VerifyThread, self).__init__()
@@ -657,8 +662,8 @@ class ExtractThread(QtCore.QThread):
Extract the tarball in a separate thread
"""
- success = QtCore.pyqtSignal()
- error = QtCore.pyqtSignal()
+ success = QtCore.Signal()
+ error = QtCore.Signal()
def __init__(self, common):
super(ExtractThread, self).__init__()
=====================================
torbrowser_launcher/settings.py
=====================================
@@ -30,7 +30,7 @@ OTHER DEALINGS IN THE SOFTWARE.
import subprocess
import shutil
-from PyQt5 import QtCore, QtWidgets, QtGui
+from PySide6 import QtCore, QtWidgets, QtGui
class Settings(QtWidgets.QMainWindow):
View it on GitLab: https://salsa.debian.org/pkg-privacy-team/torbrowser-launcher/-/commit/7efe999601dbd5a6653dc3689fd9483cb31f6971
--
View it on GitLab: https://salsa.debian.org/pkg-privacy-team/torbrowser-launcher/-/commit/7efe999601dbd5a6653dc3689fd9483cb31f6971
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-privacy-commits/attachments/20260120/00aba73d/attachment-0001.htm>
More information about the Pkg-privacy-commits
mailing list