[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 @@ 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
-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
+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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