aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoisyCoil <noisycoil@tutanota.com>2022-12-30 19:55:47 +0100
committerNoisyCoil <noisycoil@tutanota.com>2022-12-30 19:55:47 +0100
commite3613c39fe2750a1a70782d28aac68ed0e909b49 (patch)
tree4817240dc8cf62afb6194968d9d5a7e78f79d198
parent8e77fa4fe019fc088605c6c6289b8634e67e9477 (diff)
parent5d6f155066fee4cf773a617f4123c83669b6d6f1 (diff)
downloadonionshare-e3613c39fe2750a1a70782d28aac68ed0e909b49.tar.gz
onionshare-e3613c39fe2750a1a70782d28aac68ed0e909b49.zip
Completed merge
-rw-r--r--.github/workflows/build.yml1
-rw-r--r--.github/workflows/codeql-analysis.yml9
-rw-r--r--.github/workflows/tests.yml8
-rw-r--r--CHANGELOG.md5
-rw-r--r--cli/onionshare_cli/resources/version.txt2
-rw-r--r--cli/poetry.lock45
-rw-r--r--cli/pyproject.toml4
-rw-r--r--desktop/onionshare/main_window.py11
-rw-r--r--desktop/onionshare/settings_tab.py4
-rw-r--r--desktop/onionshare/tab/mode/__init__.py2
-rw-r--r--desktop/onionshare/tab/mode/chat_mode/__init__.py6
-rw-r--r--desktop/onionshare/tab/mode/receive_mode/__init__.py6
-rw-r--r--desktop/onionshare/tab/mode/share_mode/__init__.py10
-rw-r--r--desktop/onionshare/tab/mode/website_mode/__init__.py10
-rw-r--r--desktop/onionshare/tab/tab.py14
-rw-r--r--desktop/onionshare/tor_settings_tab.py4
-rw-r--r--desktop/org.onionshare.OnionShare.appdata.xml2
-rw-r--r--desktop/poetry.lock53
-rw-r--r--desktop/pyproject.toml6
-rw-r--r--desktop/scripts/build-pt-obfs4proxy.ps12
-rwxr-xr-xdesktop/scripts/build-pt-obfs4proxy.sh4
-rw-r--r--desktop/scripts/build-pt-snowflake.ps12
-rwxr-xr-xdesktop/scripts/build-pt-snowflake.sh2
-rw-r--r--desktop/scripts/get-tor.py48
-rw-r--r--desktop/setup.py2
-rw-r--r--docs/poetry.lock6
-rw-r--r--docs/source/conf.py4
-rw-r--r--flatpak/org.onionshare.OnionShare.yaml28
-rw-r--r--snap/snapcraft.yaml11
29 files changed, 132 insertions, 179 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 0420b288..46add218 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -348,6 +348,7 @@ jobs:
run: |
sudo lxd init --auto
sudo snap install snapcraft --classic
+ sudo ufw disable
- name: Build snap
run: sudo snapcraft --use-lxd
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index 2285b1fc..ed1d9fcb 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -13,12 +13,13 @@ name: "CodeQL"
on:
push:
- branches: [ develop, stable ]
+ branches:
+ - main
pull_request:
- # The branches below must be a subset of the branches above
- branches: [ develop ]
+ branches:
+ - main
schedule:
- - cron: '22 11 * * 5'
+ - cron: '22 11 * * 5'
jobs:
analyze:
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 68ea4644..78612a6a 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -1,6 +1,12 @@
name: Run Tests
run-name: Run tests
-on: [push]
+on:
+ push:
+ branches:
+ - main
+ pull_request:
+ branches:
+ - main
jobs:
test-cli:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 91a8756d..794e7ff0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
# OnionShare Changelog
+## 2.6.1
+
+* Upgrade Tor, Meek, and obfs4proxy versions
+* Bug fix: Restore the primary_action mode settings in a tab after OnionShare reconnects to Tor
+
## 2.6
* Major feature: a new 'Quickstart' screen, which enables toggling on or off an animated automatic connection to Tor. This allows configuring network settings prior to automatic connection.
diff --git a/cli/onionshare_cli/resources/version.txt b/cli/onionshare_cli/resources/version.txt
index c20c8ac5..6a6a3d8e 100644
--- a/cli/onionshare_cli/resources/version.txt
+++ b/cli/onionshare_cli/resources/version.txt
@@ -1 +1 @@
-2.6 \ No newline at end of file
+2.6.1
diff --git a/cli/poetry.lock b/cli/poetry.lock
index 2f4a8a88..6fec68b9 100644
--- a/cli/poetry.lock
+++ b/cli/poetry.lock
@@ -22,7 +22,7 @@ python-versions = ">=3.7"
[[package]]
name = "certifi"
-version = "2022.9.24"
+version = "2022.12.7"
description = "Python package for providing Mozilla's CA Bundle."
category = "main"
optional = false
@@ -100,6 +100,17 @@ greenlet = ">=0.3"
six = ">=1.10.0"
[[package]]
+name = "exceptiongroup"
+version = "1.0.4"
+description = "Backport of PEP 654 (exception groups)"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
name = "Flask"
version = "2.0.3"
description = "A simple framework for building complex web applications."
@@ -274,14 +285,6 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-
-[[package]]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
@@ -325,7 +328,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pytest"
-version = "7.1.3"
+version = "7.2.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
@@ -334,12 +337,12 @@ python-versions = ">=3.7"
[package.dependencies]
attrs = ">=19.2.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<2.0"
-py = ">=1.8.2"
-tomli = ">=1.0.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
@@ -514,7 +517,7 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "1.1"
python-versions = "^3.7"
-content-hash = "98b6df16d4977242b4669742c67ac52c85023578a418d2099bf49cd8f8520a22"
+content-hash = "e3797425212955a094fe10eae238723cfb90bf8132785622a4d44853c2f2927b"
[metadata.files]
attrs = [
@@ -526,8 +529,8 @@ bidict = [
{file = "bidict-0.22.0.tar.gz", hash = "sha256:5c826b3e15e97cc6e615de295756847c282a79b79c5430d3bfc909b1ac9f5bd8"},
]
certifi = [
- {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
- {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
+ {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
+ {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
]
cffi = [
{file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
@@ -615,6 +618,10 @@ eventlet = [
{file = "eventlet-0.33.1-py2.py3-none-any.whl", hash = "sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31"},
{file = "eventlet-0.33.1.tar.gz", hash = "sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515"},
]
+exceptiongroup = [
+ {file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"},
+ {file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"},
+]
Flask = [
{file = "Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f"},
{file = "Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d"},
@@ -822,10 +829,6 @@ psutil = [
{file = "psutil-5.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:68b35cbff92d1f7103d8f1db77c977e72f49fcefae3d3d2b91c76b0e7aef48b8"},
{file = "psutil-5.9.2.tar.gz", hash = "sha256:feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c"},
]
-py = [
- {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
- {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
pycparser = [
{file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
{file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
@@ -852,8 +855,8 @@ PySocks = [
{file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"},
]
pytest = [
- {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"},
- {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"},
+ {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"},
+ {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"},
]
python-engineio = [
{file = "python-engineio-4.3.4.tar.gz", hash = "sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae"},
diff --git a/cli/pyproject.toml b/cli/pyproject.toml
index 80f8796c..d0f311b3 100644
--- a/cli/pyproject.toml
+++ b/cli/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare_cli"
-version = "2.6"
+version = "2.6.1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@@ -34,7 +34,7 @@ stem = "1.8.1"
werkzeug = "~2.0.3"
[tool.poetry.dev-dependencies]
-pytest = "*"
+pytest = ">=7.2.0"
[tool.poetry.scripts]
onionshare-cli = 'onionshare_cli:main'
diff --git a/desktop/onionshare/main_window.py b/desktop/onionshare/main_window.py
index 5eabd103..8ebde01e 100644
--- a/desktop/onionshare/main_window.py
+++ b/desktop/onionshare/main_window.py
@@ -244,17 +244,6 @@ class MainWindow(QtWidgets.QMainWindow):
break
self.tabs.open_settings_tab(from_autoconnect, active_tab=active_tab)
- def settings_have_changed(self):
- self.common.log("OnionShareGui", "settings_have_changed")
-
- if self.common.gui.onion.is_authenticated():
- self.status_bar.clearMessage()
-
- # Tell each tab that settings have changed
- for index in range(self.tabs.count()):
- tab = self.tabs.widget(index)
- tab.settings_have_changed()
-
def bring_to_front(self):
self.common.log("MainWindow", "bring_to_front")
self.raise_()
diff --git a/desktop/onionshare/settings_tab.py b/desktop/onionshare/settings_tab.py
index 6f812a51..ad911412 100644
--- a/desktop/onionshare/settings_tab.py
+++ b/desktop/onionshare/settings_tab.py
@@ -315,10 +315,6 @@ class SettingsTab(QtWidgets.QWidget):
return settings
- def settings_have_changed(self):
- # Global settings have changed
- self.common.log("SettingsTab", "settings_have_changed")
-
def _update_autoupdate_timestamp(self, autoupdate_timestamp):
self.common.log("SettingsTab", "_update_autoupdate_timestamp")
diff --git a/desktop/onionshare/tab/mode/__init__.py b/desktop/onionshare/tab/mode/__init__.py
index ee1cbdd7..27958d84 100644
--- a/desktop/onionshare/tab/mode/__init__.py
+++ b/desktop/onionshare/tab/mode/__init__.py
@@ -564,6 +564,8 @@ class Mode(QtWidgets.QWidget):
self.content_widget.show()
self.tor_not_connected_widget.hide()
self.primary_action.show()
+ if not self.tab.timer.isActive():
+ self.tab.timer.start(500)
def tor_connection_stopped(self):
"""
diff --git a/desktop/onionshare/tab/mode/chat_mode/__init__.py b/desktop/onionshare/tab/mode/chat_mode/__init__.py
index aae41dcc..01f194b1 100644
--- a/desktop/onionshare/tab/mode/chat_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/chat_mode/__init__.py
@@ -149,11 +149,5 @@ class ChatMode(Mode):
"""
self.primary_action.hide()
- def on_reload_settings(self):
- """
- We should be ok to re-enable the 'Start Receive Mode' button now.
- """
- self.primary_action.show()
-
def update_primary_action(self):
self.common.log("ChatMode", "update_primary_action")
diff --git a/desktop/onionshare/tab/mode/receive_mode/__init__.py b/desktop/onionshare/tab/mode/receive_mode/__init__.py
index f7f3f538..87f8fc5f 100644
--- a/desktop/onionshare/tab/mode/receive_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/receive_mode/__init__.py
@@ -409,12 +409,6 @@ class ReceiveMode(Mode):
self.history.in_progress_count -= 1
self.history.update_in_progress()
- def on_reload_settings(self):
- """
- We should be ok to re-enable the 'Start Receive Mode' button now.
- """
- self.primary_action.show()
-
def reset_info_counters(self):
"""
Set the info counters back to zero.
diff --git a/desktop/onionshare/tab/mode/share_mode/__init__.py b/desktop/onionshare/tab/mode/share_mode/__init__.py
index 0142e5a2..daa35a4d 100644
--- a/desktop/onionshare/tab/mode/share_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/share_mode/__init__.py
@@ -362,16 +362,6 @@ class ShareMode(Mode):
strings._("systray_share_canceled_message"),
)
- def on_reload_settings(self):
- """
- If there were some files listed for sharing, we should be ok to re-enable
- the 'Start Sharing' button now.
- """
- if self.server_status.file_selection.get_num_files() > 0:
- self.primary_action.show()
- self.info_label.show()
- self.remove_all_button.show()
-
def update_primary_action(self):
self.common.log("ShareMode", "update_primary_action")
diff --git a/desktop/onionshare/tab/mode/website_mode/__init__.py b/desktop/onionshare/tab/mode/website_mode/__init__.py
index 8f310d9f..47614cae 100644
--- a/desktop/onionshare/tab/mode/website_mode/__init__.py
+++ b/desktop/onionshare/tab/mode/website_mode/__init__.py
@@ -317,16 +317,6 @@ class WebsiteMode(Mode):
"""
self.primary_action.hide()
- def on_reload_settings(self):
- """
- If there were some files listed for sharing, we should be ok to re-enable
- the 'Start Sharing' button now.
- """
- if self.server_status.file_selection.get_num_files() > 0:
- self.primary_action.show()
- self.info_label.show()
- self.remove_all_button.show()
-
def update_primary_action(self):
self.common.log("WebsiteMode", "update_primary_action")
diff --git a/desktop/onionshare/tab/tab.py b/desktop/onionshare/tab/tab.py
index 50cc0965..86c55088 100644
--- a/desktop/onionshare/tab/tab.py
+++ b/desktop/onionshare/tab/tab.py
@@ -630,20 +630,6 @@ class Tab(QtWidgets.QWidget):
else:
return None
- def settings_have_changed(self):
- # Global settings have changed
- self.common.log("Tab", "settings_have_changed")
-
- # We might've stopped the main requests timer if a Tor connection failed. If we've reloaded
- # settings, we probably succeeded in obtaining a new connection. If so, restart the timer.
- if not self.common.gui.local_only:
- if self.common.gui.onion.is_authenticated():
- mode = self.get_mode()
- if mode:
- if not self.timer.isActive():
- self.timer.start(500)
- mode.on_reload_settings()
-
def close_tab(self):
self.common.log("Tab", "close_tab")
if self.mode is None:
diff --git a/desktop/onionshare/tor_settings_tab.py b/desktop/onionshare/tor_settings_tab.py
index 1b097773..0a2b12e2 100644
--- a/desktop/onionshare/tor_settings_tab.py
+++ b/desktop/onionshare/tor_settings_tab.py
@@ -903,7 +903,3 @@ class TorSettingsTab(QtWidgets.QWidget):
# Wait 1ms for the event loop to finish, then quit
QtCore.QTimer.singleShot(1, self.common.gui.qtapp.quit)
-
- def settings_have_changed(self):
- # Global settings have changed
- self.common.log("TorSettingsTab", "settings_have_changed")
diff --git a/desktop/org.onionshare.OnionShare.appdata.xml b/desktop/org.onionshare.OnionShare.appdata.xml
index 9aa5474e..3134f74f 100644
--- a/desktop/org.onionshare.OnionShare.appdata.xml
+++ b/desktop/org.onionshare.OnionShare.appdata.xml
@@ -24,6 +24,6 @@
<update_contact>micah@micahflee.com</update_contact>
<content_rating type="oars-1.1" />
<releases>
- <release type="development" date="2022-10-09" version="2.6" />
+ <release type="development" date="2022-10-18" version="2.6.1" />
</releases>
</component>
diff --git a/desktop/poetry.lock b/desktop/poetry.lock
index ed7d9f93..7bbf0e17 100644
--- a/desktop/poetry.lock
+++ b/desktop/poetry.lock
@@ -45,7 +45,7 @@ uvloop = ["uvloop (>=0.15.2)"]
[[package]]
name = "certifi"
-version = "2022.9.24"
+version = "2022.12.7"
description = "Python package for providing Mozilla's CA Bundle."
category = "main"
optional = false
@@ -152,6 +152,17 @@ greenlet = ">=0.3"
six = ">=1.10.0"
[[package]]
+name = "exceptiongroup"
+version = "1.0.4"
+description = "Backport of PEP 654 (exception groups)"
+category = "dev"
+optional = false
+python-versions = ">=3.7"
+
+[package.extras]
+test = ["pytest (>=6)"]
+
+[[package]]
name = "Flask"
version = "2.0.3"
description = "A simple framework for building complex web applications."
@@ -306,7 +317,7 @@ python-versions = "*"
[[package]]
name = "onionshare-cli"
-version = "2.6"
+version = "2.6.1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
category = "main"
optional = false
@@ -403,14 +414,6 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
[[package]]
-name = "py"
-version = "1.11.0"
-description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
-optional = false
-python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
-
-[[package]]
name = "pycparser"
version = "2.21"
description = "C parser in Python"
@@ -490,7 +493,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
[[package]]
name = "pytest"
-version = "7.1.3"
+version = "7.2.0"
description = "pytest: simple powerful testing with Python"
category = "dev"
optional = false
@@ -499,12 +502,12 @@ python-versions = ">=3.7"
[package.dependencies]
attrs = ">=19.2.0"
colorama = {version = "*", markers = "sys_platform == \"win32\""}
+exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""}
importlib-metadata = {version = ">=0.12", markers = "python_version < \"3.8\""}
iniconfig = "*"
packaging = "*"
pluggy = ">=0.12,<2.0"
-py = ">=1.8.2"
-tomli = ">=1.0.0"
+tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""}
[package.extras]
testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"]
@@ -522,7 +525,7 @@ pytest = ">=5.0"
[[package]]
name = "pytest-qt"
-version = "4.1.0"
+version = "4.2.0"
description = "pytest support for PyQt and PySide applications"
category = "dev"
optional = false
@@ -739,7 +742,7 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "1.1"
python-versions = ">=3.7,<3.11"
-content-hash = "d6ad676f3ecea349558ed78d2a764826a485adab6f6535818553666b580c2367"
+content-hash = "074ec9d83cff69188cad191ec42d1ac60a4f3a12beda367e4bb0e95f4d06fcb1"
[metadata.files]
attrs = [
@@ -774,8 +777,8 @@ black = [
{file = "black-22.10.0.tar.gz", hash = "sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1"},
]
certifi = [
- {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
- {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
+ {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
+ {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
]
cffi = [
{file = "cffi-1.15.1-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2"},
@@ -905,6 +908,10 @@ eventlet = [
{file = "eventlet-0.33.1-py2.py3-none-any.whl", hash = "sha256:a085922698e5029f820cf311a648ac324d73cec0e4792877609d978a4b5bbf31"},
{file = "eventlet-0.33.1.tar.gz", hash = "sha256:afbe17f06a58491e9aebd7a4a03e70b0b63fd4cf76d8307bae07f280479b1515"},
]
+exceptiongroup = [
+ {file = "exceptiongroup-1.0.4-py3-none-any.whl", hash = "sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828"},
+ {file = "exceptiongroup-1.0.4.tar.gz", hash = "sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec"},
+]
Flask = [
{file = "Flask-2.0.3-py3-none-any.whl", hash = "sha256:59da8a3170004800a2837844bfa84d49b022550616070f7cb1a659682b2e7c9f"},
{file = "Flask-2.0.3.tar.gz", hash = "sha256:e1120c228ca2f553b470df4a5fa927ab66258467526069981b3eb0a91902687d"},
@@ -1159,10 +1166,6 @@ psutil = [
{file = "psutil-5.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:68b35cbff92d1f7103d8f1db77c977e72f49fcefae3d3d2b91c76b0e7aef48b8"},
{file = "psutil-5.9.2.tar.gz", hash = "sha256:feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c"},
]
-py = [
- {file = "py-1.11.0-py2.py3-none-any.whl", hash = "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378"},
- {file = "py-1.11.0.tar.gz", hash = "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719"},
-]
pycparser = [
{file = "pycparser-2.21-py2.py3-none-any.whl", hash = "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9"},
{file = "pycparser-2.21.tar.gz", hash = "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206"},
@@ -1213,16 +1216,16 @@ PySocks = [
{file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"},
]
pytest = [
- {file = "pytest-7.1.3-py3-none-any.whl", hash = "sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7"},
- {file = "pytest-7.1.3.tar.gz", hash = "sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39"},
+ {file = "pytest-7.2.0-py3-none-any.whl", hash = "sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71"},
+ {file = "pytest-7.2.0.tar.gz", hash = "sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59"},
]
pytest-faulthandler = [
{file = "pytest-faulthandler-2.0.1.tar.gz", hash = "sha256:ed72bbce87ac344da81eb7d882196a457d4a1026a3da4a57154dacd85cd71ae5"},
{file = "pytest_faulthandler-2.0.1-py2.py3-none-any.whl", hash = "sha256:236430ba962fd1c910d670922be55fe5b25ea9bc3fc6561a0cafbb8759e7504d"},
]
pytest-qt = [
- {file = "pytest-qt-4.1.0.tar.gz", hash = "sha256:027f3d3f5dd04af0530d846cf50fb858f719f7e87c2e4a1c686abd4e0f72172a"},
- {file = "pytest_qt-4.1.0-py2.py3-none-any.whl", hash = "sha256:edd08dae3b207405edddfc482d4dda4b848e85a8e6a0e7c36f20bac11ab328de"},
+ {file = "pytest-qt-4.2.0.tar.gz", hash = "sha256:00a17b586dd530b6d7a9399923a40489ca4a9a309719011175f55dc6b5dc8f41"},
+ {file = "pytest_qt-4.2.0-py2.py3-none-any.whl", hash = "sha256:a7659960a1ab2af8fc944655a157ff45d714b80ed7a6af96a4b5bb99ecf40a22"},
]
python-engineio = [
{file = "python-engineio-4.3.4.tar.gz", hash = "sha256:d8d8b072799c36cadcdcc2b40d2a560ce09797ab3d2d596b2ad519a5e4df19ae"},
diff --git a/desktop/pyproject.toml b/desktop/pyproject.toml
index 432ed258..073da182 100644
--- a/desktop/pyproject.toml
+++ b/desktop/pyproject.toml
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare"
-version = "2.6"
+version = "2.6.1"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@@ -15,9 +15,9 @@ pyside6 = "^6.4.0"
[tool.poetry.dev-dependencies]
click = "*"
black = "*"
-pytest = "*"
+pytest = ">=7.2.0"
pytest-faulthandler = "*"
-pytest-qt = "*"
+pytest-qt = ">=4.2.0"
cx_freeze = "*"
importlib-metadata = "*"
diff --git a/desktop/scripts/build-pt-obfs4proxy.ps1 b/desktop/scripts/build-pt-obfs4proxy.ps1
index fa760b85..5b709812 100644
--- a/desktop/scripts/build-pt-obfs4proxy.ps1
+++ b/desktop/scripts/build-pt-obfs4proxy.ps1
@@ -1,4 +1,4 @@
-$env:OBFS4PROXY_TAG = 'obfs4proxy-0.0.13'
+$env:OBFS4PROXY_TAG = 'obfs4proxy-0.0.14'
New-Item -ItemType Directory -Force -Path .\build\obfs4proxy
cd .\build\obfs4proxy
diff --git a/desktop/scripts/build-pt-obfs4proxy.sh b/desktop/scripts/build-pt-obfs4proxy.sh
index 15b317a3..7fdebd01 100755
--- a/desktop/scripts/build-pt-obfs4proxy.sh
+++ b/desktop/scripts/build-pt-obfs4proxy.sh
@@ -1,9 +1,9 @@
#!/bin/bash
-OBFS4PROXY_TAG=obfs4proxy-0.0.13
+OBFS4PROXY_TAG=obfs4proxy-0.0.14
mkdir -p ./build/obfs4proxy
cd ./build/obfs4proxy
git clone https://gitlab.com/yawning/obfs4 || echo "already cloned"
cd obfs4
git checkout $OBFS4PROXY_TAG
-go build -o ../../../onionshare/resources/tor/obfs4proxy ./obfs4proxy \ No newline at end of file
+go build -o ../../../onionshare/resources/tor/obfs4proxy ./obfs4proxy
diff --git a/desktop/scripts/build-pt-snowflake.ps1 b/desktop/scripts/build-pt-snowflake.ps1
index 51a127c9..0c30133c 100644
--- a/desktop/scripts/build-pt-snowflake.ps1
+++ b/desktop/scripts/build-pt-snowflake.ps1
@@ -1,4 +1,4 @@
-$env:SNOWFLAKE_TAG = 'v2.2.0'
+$env:SNOWFLAKE_TAG = 'v2.3.1'
New-Item -ItemType Directory -Force -Path .\build\snowflake
cd .\build\snowflake
diff --git a/desktop/scripts/build-pt-snowflake.sh b/desktop/scripts/build-pt-snowflake.sh
index 24a7ce74..94300491 100755
--- a/desktop/scripts/build-pt-snowflake.sh
+++ b/desktop/scripts/build-pt-snowflake.sh
@@ -1,5 +1,5 @@
#!/bin/bash
-SNOWFLAKE_TAG=v2.2.0
+SNOWFLAKE_TAG=v2.3.1
mkdir -p ./build/snowflake
cd ./build/snowflake
diff --git a/desktop/scripts/get-tor.py b/desktop/scripts/get-tor.py
index 88cb2fa5..8ab630a0 100644
--- a/desktop/scripts/get-tor.py
+++ b/desktop/scripts/get-tor.py
@@ -9,28 +9,28 @@ import subprocess
import requests
import click
-torbrowser_version = "11.5.2"
+torbrowser_version = "12.0"
expected_win32_sha256 = (
- "07e721ae76bc7eefe25f20792091009238e9568d500331fc64bdd8796fec8c0f"
+ "a9cc0f0af2ce8ca0d7a27d65c7efa37f6419cfc793fa80371e7db73d44b4cc02"
)
expected_win64_sha256 = (
- "8237bca22b5fa545de21f84ba8c9270c84442d0fc50a2e626f757d069e4bc7a8"
+ "f496cc0219c8b73f1f100124d6514bad55f503ff76202747f23620a6677e83c2"
)
expected_macos_sha256 = (
- "b80d3dba83b343fab7a6c8fc08440b2751da1ac12f86fe593da8e74069e4d7f6"
+ "11c8360187356e6c0837612a320f1a117303fc449602c9fd73f4faf9f9bbcfc9"
)
expected_linux64_sha256 = (
- "90cdce3854e9114ee7232aaa74672a2d9f3a40b6fa8ac33971f586ee3a3cf75a"
+ "850ce601d815bac63e4f5937646d2b497173be28b27b30a7526ebb946a459874"
)
-win32_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/torbrowser-install-{torbrowser_version}_en-US.exe"
-win32_filename = f"torbrowser-install-{torbrowser_version}_en-US.exe"
-win64_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/torbrowser-install-win64-{torbrowser_version}_en-US.exe"
-win64_filename = f"torbrowser-install-win64-{torbrowser_version}_en-US.exe"
-macos_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/TorBrowser-{torbrowser_version}-osx64_en-US.dmg"
-macos_filename = f"TorBrowser-{torbrowser_version}-osx64_en-US.dmg"
-linux64_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/tor-browser-linux64-{torbrowser_version}_en-US.tar.xz"
-linux64_filename = f"tor-browser-linux64-{torbrowser_version}_en-US.tar.xz"
+win32_filename = f"torbrowser-install-{torbrowser_version}_ALL.exe"
+win32_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/{win32_filename}"
+win64_filename = f"torbrowser-install-win64-{torbrowser_version}_ALL.exe"
+win64_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/{win64_filename}"
+macos_filename = f"TorBrowser-{torbrowser_version}-macos_ALL.dmg"
+macos_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/{macos_filename}"
+linux64_filename = f"tor-browser-linux64-{torbrowser_version}_ALL.tar.xz"
+linux64_url = f"https://dist.torproject.org/torbrowser/{torbrowser_version}/{linux64_filename}"
# Common paths
@@ -46,32 +46,14 @@ def get_tor_windows(platform):
win_filename = win32_filename
expected_win_sha256 = expected_win32_sha256
bin_filenames = [
- "libcrypto-1_1.dll",
- "libevent-2-1-7.dll",
- "libevent_core-2-1-7.dll",
- "libevent_extra-2-1-7.dll",
- "libgcc_s_dw2-1.dll",
- "libssl-1_1.dll",
- "libssp-0.dll",
- "libwinpthread-1.dll",
- "tor.exe",
- "zlib1.dll",
+ "tor.exe"
]
elif platform == "win64":
win_url = win64_url
win_filename = win64_filename
expected_win_sha256 = expected_win64_sha256
bin_filenames = [
- "libcrypto-1_1-x64.dll",
- "libevent-2-1-7.dll",
- "libevent_core-2-1-7.dll",
- "libevent_extra-2-1-7.dll",
- "libgcc_s_seh-1.dll",
- "libssl-1_1-x64.dll",
- "libssp-0.dll",
- "libwinpthread-1.dll",
- "tor.exe",
- "zlib1.dll",
+ "tor.exe"
]
else:
click.echo("invalid platform")
diff --git a/desktop/setup.py b/desktop/setup.py
index 12a6cda4..7e947f51 100644
--- a/desktop/setup.py
+++ b/desktop/setup.py
@@ -3,7 +3,7 @@
import setuptools
# The version must be hard-coded because Snapcraft won't have access to ../cli
-version = "2.6"
+version = "2.6.1"
setuptools.setup(
name="onionshare",
diff --git a/docs/poetry.lock b/docs/poetry.lock
index dec8a369..912c1d2a 100644
--- a/docs/poetry.lock
+++ b/docs/poetry.lock
@@ -36,7 +36,7 @@ pytz = ">=2015.7"
[[package]]
name = "certifi"
-version = "2022.9.24"
+version = "2022.12.7"
description = "Python package for providing Mozilla's CA Bundle."
category = "main"
optional = false
@@ -462,8 +462,8 @@ Babel = [
{file = "Babel-2.10.3.tar.gz", hash = "sha256:7614553711ee97490f732126dc077f8d0ae084ebc6a96e23db1482afabdb2c51"},
]
certifi = [
- {file = "certifi-2022.9.24-py3-none-any.whl", hash = "sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382"},
- {file = "certifi-2022.9.24.tar.gz", hash = "sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14"},
+ {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"},
+ {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"},
]
charset-normalizer = [
{file = "charset-normalizer-2.1.1.tar.gz", hash = "sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845"},
diff --git a/docs/source/conf.py b/docs/source/conf.py
index c3f26ba3..5b1cd57a 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -1,6 +1,6 @@
project = "OnionShare"
author = copyright = "Micah Lee, et al."
-version = release = "2.6"
+version = release = "2.6.1"
extensions = ["sphinx_rtd_theme"]
templates_path = ["_templates"]
@@ -24,7 +24,7 @@ languages = [
("Українська", "uk"), # Ukrainian
]
-versions = ["2.3", "2.3.1", "2.3.2", "2.3.3", "2.4", "2.5", "2.6"]
+versions = ["2.3", "2.3.1", "2.3.2", "2.3.3", "2.4", "2.5", "2.6", "2.6.1"]
html_theme = "sphinx_rtd_theme"
html_logo = "_static/logo.png"
diff --git a/flatpak/org.onionshare.OnionShare.yaml b/flatpak/org.onionshare.OnionShare.yaml
index e5946bd8..5796d6a3 100644
--- a/flatpak/org.onionshare.OnionShare.yaml
+++ b/flatpak/org.onionshare.OnionShare.yaml
@@ -35,18 +35,20 @@ modules:
- /bin
sources:
- type: archive
- sha256: 7ff5f1cc4291fffb6d5a3098b3090abe4d415da2adec740b4e901893d95d7137
- url: https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.3-src/pyside-setup-opensource-src-5.15.3.tar.xz
+ sha256: f61210ae24e6882d5d0ca0059229e5dc4f35e2bca92dd6caf96c0f41943a8294
+ url: https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-5.15.7-src/pyside-setup-opensource-src-5.15.7.tar.xz
- type: shell
commands:
- mkdir -p /app/include/qt5tmp && cp -R /usr/include/Qt* /app/include/qt5tmp # https://bugreports.qt.io/browse/PYSIDE-787
- sed -i 's|\(--include-paths=\)|\1/app/include/qt5tmp:|' sources/pyside2/cmake/Macros/PySideModules.cmake
+ - sed -i s/'<private\/qaccessiblequickview_p.h>'/'\"private\/qaccessiblequickview_p.h\"'/ /app/include/qt5tmp/QtQuickWidgets/qaccessiblequickwidget.h
+ - mkdir -p /app/include/qt5tmp/QtQuickWidgets/private && cp /app/include/qt5tmp/QtQuick/5.15.7/QtQuick/private/qaccessiblequickview_p.h /app/include/qt5tmp/QtQuickWidgets/private/qaccessiblequickview_p.h
- name: tor
buildsystem: autotools
sources:
- type: archive
- sha256: d39d38598208f4d6201d7edc6ad573b3a898a932a5c68d3074016a9525519b22
- url: https://dist.torproject.org/tor-0.4.7.9.tar.gz
+ sha256: 3b5d969712c467851bd028f314343ef15a97ea457191e93ffa97310b05b9e395
+ url: https://dist.torproject.org/tor-0.4.7.12.tar.gz
modules:
- name: libevent
buildsystem: autotools
@@ -80,7 +82,7 @@ modules:
dest: src/golang.org/x/sys
- type: git
url: https://gitlab.com/yawning/obfs4
- commit: e330d1b7024b4ab04f7d96cc1afc61325744fafc
+ commit: 336a71d6e4cfd2d33e9c57797828007ad74975e9
dest: src/gitlab.com/yawning/obfs4.git
- type: git
url: https://gitlab.com/yawning/utls
@@ -91,6 +93,14 @@ modules:
commit: 0a714cd429ec754482b4001e918db30cd2094405
dest: src/gitlab.com/yawning/bsaes.git
- type: git
+ url: https://gitlab.com/yawning/edwards25519-extra
+ commit: def713fd18e464864613d2b55ef41a21df2c9493
+ dest: src/gitlab.com/yawning/edwards25519-extra.git
+ - type: git
+ url: https://github.com/FiloSottile/edwards25519
+ commit: 8c58ed0e35502a485538e4c5ec086070840f3410
+ dest: src/filippo.io/edwards25519
+ - type: git
url: https://git.torproject.org/pluggable-transports/goptlib
commit: 13b7b3552e1eef32e4d8a2a7813f22488f91dc09
dest: src/git.torproject.org/pluggable-transports/goptlib.git
@@ -173,9 +183,13 @@ modules:
dest: src/git.torproject.org/pluggable-transports/goptlib.git
- type: git
url: https://git.torproject.org/pluggable-transports/snowflake
- commit: ead5a960d7fa19dc890ccbfc0765c5ab6629eaa9
+ commit: 36f03dfd4483922b3e7400dedc71df9cf2f30b6b
dest: src/git.torproject.org/pluggable-transports/snowflake.git
- type: git
+ url: https://github.com/refraction-networking/utls
+ commit: 0b2885c8c0d4467cfe98136748a9d011d0b8fff0
+ dest: src/github.com/refraction-networking/utls
+ - type: git
url: https://github.com/templexxx/xorsimd
commit: e2f34adfb57b524164fc712df2fcfd991ed0ccad
dest: src/github.com/templexxx/xorsimd
@@ -469,4 +483,4 @@ modules:
sha256: 4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a
- type: file
url: https://files.pythonhosted.org/packages/2e/a7/f20fa91d9de799f8e19bacf225bc993b8a53b5fc6f41ffa20d64f0850579/Cython-3.0.0a11.tar.gz
- sha256: e4672491fb31546b9abb63677f638e738085dc9321398170956ef6fbfc0e1726 \ No newline at end of file
+ sha256: e4672491fb31546b9abb63677f638e738085dc9321398170956ef6fbfc0e1726
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index fb1e419d..d7f798fb 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -1,6 +1,6 @@
name: onionshare
base: core20
-version: "2.6"
+version: "2.6.1"
summary: Securely and anonymously share files, host websites, and chat using Tor
description: |
OnionShare lets you securely and anonymously send and receive files. It works by starting
@@ -12,6 +12,7 @@ grade: stable # stable or devel
confinement: strict
architectures:
+ - build-on: i386
- build-on: amd64
- build-on: arm64
- build-on: armhf
@@ -193,8 +194,8 @@ parts:
after: [onionshare-cli]
tor:
- source: https://dist.torproject.org/tor-0.4.7.9.tar.gz
- source-checksum: sha256/d39d38598208f4d6201d7edc6ad573b3a898a932a5c68d3074016a9525519b22
+ source: https://dist.torproject.org/tor-0.4.7.12.tar.gz
+ source-checksum: sha256/3b5d969712c467851bd028f314343ef15a97ea457191e93ffa97310b05b9e395
source-type: tar
plugin: autotools
autotools-configure-parameters:
@@ -216,7 +217,7 @@ parts:
- go/latest/stable
source: https://gitlab.com/yawning/obfs4.git
source-type: git
- source-tag: obfs4proxy-0.0.13
+ source-tag: obfs4proxy-0.0.14
snowflake-client:
plugin: go
@@ -224,7 +225,7 @@ parts:
- go/latest/stable
source: https://git.torproject.org/pluggable-transports/snowflake.git
source-type: git
- source-tag: v2.2.0
+ source-tag: v2.3.1
organize:
bin/client: bin/snowflake-client