Compare commits

...

42 commits
v2.6.3 ... main

Author SHA1 Message Date
Saptak Sengupta
16644b009f
Merge pull request #2030 from onionshare/mig/fix-get-tor-url
Some checks failed
Build / build-win64 (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-cli (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Update get-tor.py script to use platform-specific json files
2025-04-01 17:55:47 +05:30
Miguel Jacq
6041dcaf69
Raise RuntimeError, seems Github Actions didn't fail on exit code of negative 1 2025-04-01 16:15:17 +11:00
Miguel Jacq
42c050361b
Update build workflow for windows as platform name has changed for get-tor.py 2025-04-01 16:13:01 +11:00
Miguel Jacq
c420f4c0aa
Update get-tor.py script to use platform-specific json files 2025-04-01 16:07:56 +11:00
Saptak Sengupta
fe65b97656
Merge pull request #2022 from onionshare/mig/jinja2-3.1.6
Some checks failed
Build / build-win64 (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-cli (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Upgrade Jinja2 to 3.1.6
2025-03-06 12:40:56 +05:30
Saptak Sengupta
1b0cd5440a
Merge pull request #2020 from onionshare/mig/thread_setdaemon_deprecated
Use daemon = True boolean instead of setter setDaemon in CLI AutoStop thread
2025-03-06 12:19:56 +05:30
Miguel Jacq
b62e23bf35
Update Jinja2 in the flatpak onionshare-cli.yaml generated file 2025-03-06 16:37:50 +11:00
Miguel Jacq
2c15e5b0d0
Update requirements.txt files (exported from poetry) for snap to pick up Jinja2 update 2025-03-06 16:32:04 +11:00
Miguel Jacq
7eff566b05
Update jinja2 in desktop/ 2025-03-06 16:30:46 +11:00
Miguel Jacq
3c29b4f1de
Update jinja2 in cli/ 2025-03-06 16:30:31 +11:00
Miguel Jacq
239d2cd460
Update jinja2 in docs/ 2025-03-06 16:29:57 +11:00
Miguel Jacq
db10da294f
Use daemon = True boolean instead of setter setDaemon in CLI AutoStop thread 2025-03-06 16:11:02 +11:00
Saptak Sengupta
303c83604c
Merge pull request #2009 from onionshare/mig/release-doc-updating
Some checks failed
Build / build-win64 (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-cli (push) Has been cancelled
Update the RELEASE.md to reflect some of my recent experience with 2.6.3
2025-03-04 18:36:59 +05:30
mig5
73f153af3b
Merge pull request #1926 from anastr0/dev-setup-script
Some checks failed
Run Tests / test-cli (push) Has been cancelled
Build / build-win64 (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Dev script for first time setup in linux
2025-02-28 12:30:28 +11:00
Miguel Jacq
10eacf9bcc
Add a note in the desktop/README.md about the setup-project.sh script 2025-02-28 12:10:45 +11:00
Anaswara T Rajan
875e346225 check for golang installation and exit if no installation found 2025-02-27 17:09:39 +05:30
Miguel Jacq
6ad3427f1c
Update the RELEASE.md to reflect some of my recent experience with 2.6.3 2025-02-27 12:05:15 +11:00
mig5
ed9ba67c88
Merge pull request #2006 from weblate/weblate-onionshare-translations
Some checks are pending
Build / build-win64 (push) Waiting to run
Build / build-mac-intel (push) Waiting to run
Build / build-flatpak (push) Waiting to run
Build / build-snap (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Run Tests / test-cli (push) Waiting to run
Run Tests / test-desktop (push) Waiting to run
Translations update from Hosted Weblate
2025-02-27 11:47:53 +11:00
Anaswara T Rajan
66199a858b Merge branch 'main' of github.com:anastr0/onionshare into dev-setup-script 2025-02-26 20:33:26 +05:30
Anaswara T Rajan
b9920d61ba add onionshare-cli bash_alias 2025-02-26 20:29:27 +05:30
Anaswara T Rajan
c8a7cd02e1 check for poetry installation and exit if no installation found 2025-02-26 20:28:33 +05:30
Anaswara T Rajan
b2556a56e0 update tor installed message 2025-02-26 20:27:33 +05:30
Himmel
d4ffd4bcb3
Translated using Weblate (Japanese)
Currently translated at 100.0% (163 of 163 strings)

Translation: OnionShare/Doc - Advanced
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-advanced/ja/

Translated using Weblate (Japanese)

Currently translated at 87.7% (143 of 163 strings)

Translation: OnionShare/Doc - Advanced
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-advanced/ja/

Translated using Weblate (Japanese)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/ja/
2025-02-26 09:24:32 +01:00
curtisb
2d8e9d1339
Translated using Weblate (German)
Currently translated at 100.0% (27 of 27 strings)

Translation: OnionShare/Doc - Develop
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-develop/de/

Translated using Weblate (German)

Currently translated at 100.0% (9 of 9 strings)

Translation: OnionShare/Doc - Help
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-help/de/

Translated using Weblate (German)

Currently translated at 100.0% (74 of 74 strings)

Translation: OnionShare/Doc - Install
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-install/de/

Translated using Weblate (German)

Currently translated at 100.0% (62 of 62 strings)

Translation: OnionShare/Doc - Features
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-features/de/

Translated using Weblate (German)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/de/
2025-02-26 09:24:32 +01:00
mig5
863bc4c47c
Merge pull request #2007 from onionshare/fix-mac
Some checks are pending
Build / build-win64 (push) Waiting to run
Build / build-mac-intel (push) Waiting to run
Build / build-flatpak (push) Waiting to run
Build / build-snap (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Run Tests / test-cli (push) Waiting to run
Run Tests / test-desktop (push) Waiting to run
Fix macos intel build to actually build on an Intel mac (macos-latest switched to arm in 2024)
2025-02-26 16:08:21 +11:00
Miguel Jacq
c7a4740529
Tweaks for libevent 2025-02-26 14:53:01 +11:00
Miguel Jacq
ef43fc6762
Back to macos-13 2025-02-26 14:40:45 +11:00
Miguel Jacq
e76511aaa9
Various fixes for MacOS build 2025-02-26 14:36:55 +11:00
Micah Lee
96b838ec3e
Try creating empty libmimerapi.dylib so build-mac-intel will finish 2025-02-25 12:01:30 -08:00
Miguel Jacq
9aedb2933e
Fix macos intel build to actually build on an Intel mac (macos-latest switched to arm in 2024) 2025-02-26 06:04:17 +11:00
mig5
7b950bfdd0
Merge pull request #2005 from weblate/weblate-onionshare-translations
Some checks failed
Build / build-win64 (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-cli (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Translations update from Hosted Weblate
2025-02-24 08:59:44 +11:00
Sketch6580
5572a5eb04
Translated using Weblate (Chinese (Simplified Han script))
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/zh_Hans/
2025-02-23 03:39:14 +01:00
Ihor Hordiichuk
19c0a615e7
Translated using Weblate (Ukrainian)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/uk/

Translated using Weblate (Ukrainian)

Currently translated at 69.3% (113 of 163 strings)

Translation: OnionShare/Doc - Advanced
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-advanced/uk/

Translated using Weblate (Ukrainian)

Currently translated at 62.5% (102 of 163 strings)

Translation: OnionShare/Doc - Advanced
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-advanced/uk/

Translated using Weblate (Ukrainian)

Currently translated at 44.7% (73 of 163 strings)

Translation: OnionShare/Doc - Advanced
Translate-URL: https://hosted.weblate.org/projects/onionshare/doc-advanced/uk/
2025-02-23 03:39:14 +01:00
Saptak Sengupta
9c7d38f8c6
Merge pull request #2004 from onionshare/mig/zh_hans_to_zh_cn_for_docs
Some checks failed
Build / build-win64 (push) Has been cancelled
Build / build-mac-intel (push) Has been cancelled
Build / build-flatpak (push) Has been cancelled
Build / build-snap (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
Run Tests / test-cli (push) Has been cancelled
Run Tests / test-desktop (push) Has been cancelled
Replace zh_Hans with zh_CN for docs as suggested by Weblate team
2025-02-21 13:34:20 +05:30
Miguel Jacq
887b967278
Replace zh_Hans with zh_CN for docs as suggested by Weblate team 2025-02-21 17:36:52 +11:00
mig5
17f67d2a39
Merge pull request #2003 from weblate/weblate-onionshare-translations
Translations update from Hosted Weblate
2025-02-21 17:35:16 +11:00
109247019824
45440f7c14
Translated using Weblate (Bulgarian)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/bg/
2025-02-20 12:58:30 +00:00
jonnysemon
639a69a603
Translated using Weblate (Arabic)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/ar/
2025-02-20 12:58:29 +00:00
AO Localisation Lab
9b30742aac
Translated using Weblate (French)
Translate-URL: https://hosted.weblate.org/projects/onionshare/translations/fr/
2025-02-20 12:58:29 +00:00
Saptak Sengupta
47abe542ff
Merge pull request #2002 from onionshare/mig/add-my-gpg-subkey-to-build-source.sh
Some checks are pending
Build / build-win64 (push) Waiting to run
Build / build-mac-intel (push) Waiting to run
Build / build-flatpak (push) Waiting to run
Build / build-snap (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
Run Tests / test-cli (push) Waiting to run
Run Tests / test-desktop (push) Waiting to run
Add my GPG subkey id to build-source.sh for verifying tag
2025-02-20 12:58:21 +05:30
Miguel Jacq
c7a36543ec
Add my GPG subkey id to build-source.sh for verifying tag 2025-02-20 13:47:38 +11:00
Anaswara T Rajan
0dd5ce5a5b dev script for first time setup in linux 2024-09-23 15:20:23 +05:30
30 changed files with 485 additions and 292 deletions

View file

@ -41,7 +41,7 @@ jobs:
key: ${{ runner.os }}-win64-tor-${{ hashFiles('desktop/scripts/get-tor.py') }}
- name: Get tor binaries from Tor Browser (64-bit)
run: cd desktop && C:\hostedtoolcache\windows\Python\3.12.8\x64\Scripts\poetry run python .\scripts\get-tor.py win64
run: cd desktop && C:\hostedtoolcache\windows\Python\3.12.8\x64\Scripts\poetry run python .\scripts\get-tor.py windows-x86_64
- name: Install Go >=1.23.5
uses: actions/setup-go@v5
@ -116,7 +116,7 @@ jobs:
path: ~\onionshare-win64.zip
build-mac-intel:
runs-on: macos-latest
runs-on: macos-13
steps:
- uses: actions/checkout@v4
@ -212,6 +212,10 @@ jobs:
cp -r /Volumes/Postgres-2.6.5-14/Postgres.app /Applications/
hdiutil detach /Volumes/Postgres-2.6.5-14
- name: Touch dylib file for build to finish
run: |
touch /usr/local/lib/libmimerapi.dylib
- name: Build OnionShare
run: |
cd desktop

View file

@ -93,7 +93,9 @@ To test locally:
To test in the edge branch:
With every commit to the `main` branch, Snapcraft's CI should trigger builds. Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
With every commit to the `main` branch, Snapcraft's CI should trigger builds. If you just merged to `main` and consider this to be what will become the new version's 'tag', you can also click 'Trigger a build' in the Snapcraft.io web interface.
Make sure the builds all succeeded at https://snapcraft.io/onionshare/builds (you must be logged in), and test them. You can install them with: `snap install onionshare --edge`
### Make sure the Flatpak packaging works
@ -152,7 +154,7 @@ git checkout v$VERSION
### Linux Snapcraft release
From https://snapcraft.io/onionshare/releases (you must be logged in), promote the release from latest/edge to latest/beta, then latest/candidate, then latest/stable.
From https://snapcraft.io/onionshare/releases (you must be logged in), find the release that corresponds to the recent builds that ran against our `main` branch (the Build ID mentioned can be cross-referenced to the build log, as the ID appears in the log). You can then 'promote' that release from latest/edge to latest/beta, then latest/candidate, then latest/stable.
### Linux Flatpak release
@ -167,7 +169,7 @@ From https://snapcraft.io/onionshare/releases (you must be logged in), promote t
Create a Windows 11 VM, and set it up like this:
- Install [git for Windows](https://git-scm.com/download/win).
- Install the latest version of 3.11 [from python.org](https://www.python.org/downloads/).
- Install the latest version of 3.12 [from python.org](https://www.python.org/downloads/).
- Install [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/), making sure to check "Desktop development with C++".
- Download and install [7-Zip (x64)](https://7-zip.org/). Add `C:\Program Files\7-Zip` to your path.
- Download and install [gpg4win](https://gpg4win.org/). Add `C:\Program Files (x86)\GnuPG\bin` to your path.
@ -211,7 +213,7 @@ Set up the VM like this:
- Install [Homebrew](https://brew.sh/)
- `brew install create-dmg libiodbc`
- Install the latest Python 3.11 from https://www.python.org/downloads/
- Install the latest Python 3.12 from https://www.python.org/downloads/
- Install ARM64 version of Go from https://go.dev/dl/
- Install "Postgres.app with PostgreSQL 16 (Universal)" from https://postgresapp.com/downloads.html
@ -223,16 +225,16 @@ If you've used this git repo for a previous release, clean it up:
cd desktop
rm -rf build dist
# Delete the old poetry environment
poetry env remove $(poetry env list | grep "(Activated)" | cut -d" " -f1)
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry env remove $(poetry env list | grep "(Activated)" | cut -d" " -f1)
```
Install and build dependencies:
```sh
cd desktop
python3 -m pip install poetry
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry install
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/get-tor.py macos
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3 -m pip install poetry
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry install
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run python ./scripts/get-tor.py macos
./scripts/build-pt-obfs4proxy.sh
./scripts/build-pt-snowflake.sh
./scripts/build-pt-meek.sh
@ -241,42 +243,62 @@ python3 -m pip install poetry
Make the Apple Silicon app bundle:
```sh
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./setup-freeze.py bdist_mac
/Library/Frameworks/Python.framework/Versions/3.11/bin/poetry run python ./scripts/build-macos.py cleanup-build
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run python ./setup-freeze.py bdist_mac
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run python ./scripts/build-macos.py cleanup-build
```
The Apple Silicon app bundle will be in `build` folder called `OnionShare.app`.
Github Actions will build the Intel app bundle. Find the Github Actions `build` workflow, switch to the summary tab, and download the `mac-intel-build` artifact. Extract it, and you'll get the Intel `OnionShare.app` folder.
Let's create some consistent directories for the next step:
```sh
mkdir ~/tmp/intel
mkdir ~/tmp/arm64
mkdir ~/tmp/universal
```
Now move the `build/OnionShare.app` into `~/tmp/arm64`, and extract the Intel .app from the Github Actions build artifact above, and move it into `~/tmp/intel`.
Next, merge these two app bundles into a single universal2 app bundle:
```sh
poetry run ./scripts/macos-merge-universal.py [intel_app_path] [silicon_app_path] [universal2_app_path]
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run ./scripts/macos-merge-universal.py ~/tmp/intel/OnionShare.app ~/tmp/arm64/OnionShare.app ~/tmp/universal/OnionShare.app
```
Finally, code sign and package the universal2 app bundle:
You will need to have obtained a Developer ID Certificate from our Apple team account. The 'Development certificates' don't work for production-ready code-signing.
Only Glenn as the 'Account Holder' can request Developer ID certs, so you will need to provide him a CSR to do so. Refer to https://developer.apple.com/help/account/create-certificates/create-developer-id-certificates/ and https://developer.apple.com/help/account/create-certificates/create-a-certificate-signing-request/ . The private key will be in your keychain. Glenn can send you the cert once it's issued, and you should add that to your keychain too.
Finally, code sign and package the universal2 app bundle.
```sh
poetry run python ./scripts/build-macos.py codesign [universal2_app_path]
poetry run python ./scripts/build-macos.py package [universal2_app_path]
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run python ./scripts/build-macos.py codesign ~/tmp/universal/OnionShare.app
/Library/Frameworks/Python.framework/Versions/3.12/bin/poetry run python ./scripts/build-macos.py package ~/tmp/universal/OnionShare.app
```
The will create `dist/OnionShare-$VERSION.dmg`.
The will create `dist/OnionShare-$VERSION.dmg` in the `desktop` directory that you're still cd'd into.
Now, notarize the release.
Now, notarize the release. You will need an app-specific Apple ID password set up. You will also need to change the `--apple-id` to your Apple ID email. The team ID below, however, is consistent to all of us, it's the Science & Design team ID.
```sh
export APPLE_PASSWORD="changeme" # app-specific Apple ID password
export APPLE_PASSWORD="changeme" # This must be an app-specific Apple ID password, not your main Apple ID password
export VERSION=$(cat ../cli/onionshare_cli/resources/version.txt)
# Notarize it
xcrun notarytool submit --apple-id "micah@micahflee.com" --team-id N9B95FDWH4 --password "$APPLE_PASSWORD" --progress --wait dist/OnionShare-$VERSION.dmg
xcrun notarytool submit --apple-id "you@example.com" --team-id 7WLJ4UBL5L --password "$APPLE_PASSWORD" --progress --wait dist/OnionShare-$VERSION.dmg
```
If this is your first time notarizing with this Apple ID, it can take a very long time (like 9 hours), because Apple builds up a sort of 'signature' of your request and this kind of app. All subsequent notarizations (for future releases) should be much faster (a couple of minutes).
```sh
# After it's approved, staple the ticket
xcrun stapler staple dist/OnionShare-$VERSION.dmg
```
This will create `desktop/dist/OnionShare-$VERSION.dmg`, signed and notarized.
This will (re)create `desktop/dist/OnionShare-$VERSION.dmg`, signed and notarized. The dmg is now ready for release.
### Source package
@ -334,6 +356,4 @@ poetry publish --build
### Update the community
- Upload all 10 files to the OnionShare team Keybase filesystem
- Email the [onionshare-dev](https://lists.riseup.net/www/subscribe/onionshare-dev) mailing list announcing the release
- Blog, tweet, toot, etc.
- Blog, toot, etc.

View file

@ -46,7 +46,7 @@ then
echo "Tag does not verify"
exit 1
fi
cat ../verify.txt | grep -e "using RSA key 927F419D7EC82C2F149C1BD1403C2657CD994F73" -e "using RSA key 2E530667425F4B93874935707B7F1772C0C6FCBF"
cat ../verify.txt | grep -e "using RSA key 927F419D7EC82C2F149C1BD1403C2657CD994F73" -e "using RSA key 2E530667425F4B93874935707B7F1772C0C6FCBF" -e "using RSA key 3804565A5EFA6C11AFDA0E5359B3F0C24135C6A9"
if [ $? -ne 0 ]
then
echo "Tag signed with wrong key"

View file

@ -614,7 +614,7 @@ class AutoStopTimer(threading.Thread):
self.common = common
self.setDaemon(True)
self.daemon = True
self.time = time
def run(self):

28
cli/poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand.
[[package]]
name = "bidict"
@ -608,11 +608,11 @@ greenlet = [
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
dnspython = ["dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\""]
docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
monitor = ["psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\""]
recommended = ["cffi (>=1.12.2) ; platform_python_implementation == \"CPython\"", "dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\"", "psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\""]
test = ["cffi (>=1.12.2) ; platform_python_implementation == \"CPython\"", "coverage (>=5.0) ; sys_platform != \"win32\"", "dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\"", "objgraph", "psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\"", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
@ -754,14 +754,14 @@ files = [
[[package]]
name = "jinja2"
version = "3.1.5"
version = "3.1.6"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
groups = ["main"]
files = [
{file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
{file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
{file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
{file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
]
[package.dependencies]
@ -895,7 +895,7 @@ files = [
]
[package.extras]
test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
test = ["enum34 ; python_version <= \"3.4\"", "ipaddress ; python_version < \"3.0\"", "mock ; python_version < \"3.0\"", "pywin32 ; sys_platform == \"win32\"", "wmi ; sys_platform == \"win32\""]
[[package]]
name = "pycparser"
@ -1085,13 +1085,13 @@ files = [
]
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"]
core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""]
core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
enabler = ["pytest-enabler (>=2.2)"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"]
[[package]]
name = "simple-websocket"
@ -1172,7 +1172,7 @@ files = [
]
[package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"]

View file

@ -2,6 +2,10 @@
## Building OnionShare
If you are running Linux, you can make use of the script `setup-project.sh` in the parent directory, which automates most of the steps below.
Otherwise, please continue to read on.
Start by getting the source code and changing to the `desktop` folder:
```sh
@ -35,7 +39,7 @@ poetry install
- Download and install [7-Zip (x64)](https://7-zip.org/). Add `C:\Program Files\7-Zip` to your path.
- Download and install [gpg4win](https://gpg4win.org/). Add `C:\Program Files (x86)\GnuPG\bin` to your path.
Download Tor Browser and extract the binaries for your platform. The platform must be `win64`, `macos`, or `linux-x86_64`.
Download Tor Browser and extract the binaries for your platform. The platform must be `windows-x86_64`, `macos`, or `linux-x86_64`.
```sh
poetry run python ./scripts/get-tor.py [platform]

View file

@ -256,5 +256,6 @@
"gui_receive_url_public_description": "يمكن <b>لأي شخص</b> لديه عنوان OnionShare هذا <b>رفع</b> الملفات إلى حاسوبك باستخدام <b>متصفح تور </b>: <img src='{}' />",
"gui_chat_mode_explainer": "وضع المحادثة يتيح لك المحادثة بشكل تفاعلي مع الآخرين، في متصفح تور.<br><br><b>لا يتم تخزين سجل المحادثة في OnionShare. سوف يختفي سجل المحادثة عند إغلاق متصفح تور.</b>",
"mode_settings_persistent_autostart_on_launch_checkbox": "ابدأ خدمة البصل هذه تلقائيًا عند بدء تشغيل Onionshare",
"gui_settings_license_label": "تم ترخيص Onionshare بموجب GPL v3.<br> يمكن الاطلاع على تراخيص الطرف الثالث هنا:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>"
"gui_settings_license_label": "تم ترخيص Onionshare بموجب GPL v3.<br> يمكن الاطلاع على تراخيص الطرف الثالث هنا:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>",
"error_generic": "كان هناك خطأ غير متوقع مع OnionShare:\n{}"
}

View file

@ -256,5 +256,6 @@
"history_receive_read_message_button": "Прочитане",
"gui_chat_mode_explainer": "Режимът за бързи съобщения ви дава възможност да обменяте съобщения в реално време посредством четеца Тор.<br><br><b>Хронологията на разговора не се пази в OnionShare. Тя изчезва при затваряне на четеца.<b>",
"mode_settings_persistent_autostart_on_launch_checkbox": "Стартиране на тази услуга на Onion при отваряне на OnionShare",
"gui_settings_license_label": "OnionShare се разпространява под GPL v3.<br>Лицензите на трети страни могат да бъдат видяни тук:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>"
"gui_settings_license_label": "OnionShare се разпространява под GPL v3.<br>Лицензите на трети страни могат да бъдат видяни тук:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>",
"error_generic": "Неочаквана грешка в OnionShare:\n{}"
}

View file

@ -68,7 +68,7 @@
"gui_tor_connection_canceled": "Konnte keine Verbindung mit Tor herstellen.\n\nStelle sicher, dass du mit dem Internet verbunden bist, öffne OnionShare erneut und richte die Verbindung mit Tor ein.",
"gui_share_url_description": "<b>Jeder</b> kann mit dieser OnionShare-Adresse und dem privaten Schlüssel deine Dateien mit dem <b>Tor-Browser</b> <b>herunterladen</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Jeder</b> mit dieser OnionShare-Adresse und dem privaten Schlüssel kann mit dem <b>Tor-Browser</b> Dateien auf deinen Computer <b>hochladen</b>: <img src='{}' />",
"gui_url_label_persistent": "Diese Freigabe wird nicht automatisch beendet.<br><br>Jede folgende Freigabe wird die Adresse erneut nutzen. (Um Adressen nur einmal zu nutzen, schalte „Nutze beständige Adressen“ in den Einstellungen aus.)",
"gui_url_label_persistent": "Diese Freigabe wird nicht automatisch beendet.<br><br>Jede folgende Freigabe wird die Adresse erneut nutzen. (Um Adressen nur einmal zu nutzen, schalte „Diese Registerkarte immer öffnen, wenn OnionShare gestartet wird“ in den Einstellungen aus.)",
"gui_url_label_stay_open": "Diese Freigabe wird nicht automatisch beendet.",
"gui_url_label_onetime": "Diese Freigabe wird nach dem ersten vollständigen Download beendet.",
"gui_status_indicator_share_working": "Starte…",
@ -91,7 +91,7 @@
"systray_page_loaded_title": "Seite geladen",
"gui_add_files": "Dateien hinzufügen",
"gui_add_folder": "Ordner hinzufügen",
"gui_url_label_onetime_and_persistent": "Diese Freigabe wird nicht automatisch stoppen. >br><br>Jede nachfolgende Freigabe wird die gleiche Adresse nutzen. (Um jedes Mal eine andere Adresse zu nutzen, schalte „Nutze eine gleichbleibende Adresse“ in den Einstellungen aus.)",
"gui_url_label_onetime_and_persistent": "Diese Freigabe wird nicht automatisch stoppen. >br><br>Jede nachfolgende Freigabe wird die gleiche Adresse nutzen. (Um jedes Mal eine andere Adresse zu nutzen, schalte \"Diese Registerkarte immer öffnen, wenn OnionShare gestartet wird\" in den Einstellungen aus.)",
"error_cannot_create_data_dir": "Der Ordner für die OnionShare-Dateien konnte nicht erstellt werden: {}",
"systray_page_loaded_message": "OnionShare-Adresse geladen",
"systray_share_started_title": "Freigabe gestartet",
@ -138,7 +138,7 @@
"mode_settings_autostop_timer_checkbox": "Onion-Dienst zu einem festgelegten Zeitpunkt stoppen",
"mode_settings_autostart_timer_checkbox": "Onion-Dienst zu einem festgelegten Zeitpunkt starten",
"mode_settings_public_checkbox": "Dies ist ein öffentlicher OnionShare-Dienst (deaktiviert den privaten Schlüssel)",
"mode_settings_persistent_checkbox": "Diesen Tab immer öffnen, wenn OnionShare gestartet wird",
"mode_settings_persistent_checkbox": "Diesen Tab immer öffnen, wenn OnionShare gestartet wird (die Onion-Adresse bleibt gleich)",
"mode_settings_advanced_toggle_hide": "Erweiterte Einstellungen ausblenden",
"mode_settings_advanced_toggle_show": "Erweiterte Einstellungen anzeigen",
"gui_quit_warning_cancel": "Abbrechen",
@ -254,5 +254,8 @@
"gui_autoconnect_try_again_without_a_bridge": "Erneuter Versuch ohne Brücken",
"waitress_web_server_error": "Beim Starten des Webservers ist ein Problem aufgetreten",
"gui_close_tab_warning_chat_description": "Tab schließen, der einen Chat-Server hostet?",
"gui_chat_mode_explainer": "Im Chat-Modus kannst du interaktiv mit anderen im Tor-Browser chatten.<br><br><b>Der Chatverlauf wird nicht in OnionShare gespeichert. Der Chatverlauf verschwindet, wenn du den Tor-Browser schließt.</b>"
"gui_chat_mode_explainer": "Im Chat-Modus kannst du interaktiv mit anderen im Tor-Browser chatten.<br><br><b>Der Chatverlauf wird nicht in OnionShare gespeichert. Der Chatverlauf verschwindet, wenn du den Tor-Browser schließt.</b>",
"error_generic": "Es ist ein unerwarteter Fehler bei OnionShare aufgetreten:\n{}",
"gui_settings_license_label": "OnionShare ist unter der GPL v3 lizenziert.<br>Lizenzen von Drittanbietern können hier eingesehen werden:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>",
"mode_settings_persistent_autostart_on_launch_checkbox": "Diesen Onion-Dienst automatisch starten, wenn OnionShare startet"
}

View file

@ -60,10 +60,10 @@
"gui_tor_connection_lost": "Vous êtes déconnecté de Tor.",
"gui_share_url_description": "<b>Quiconque</b> disposant de cette adresse OnionShare et de cette clé privée peut <b>télécharger</b> vos fichiers en utilisant le <b>Navigateur Tor</b> : <img src='{}' />",
"gui_receive_url_description": "<b>Quiconque</b> disposant de cette adresse OnionShare et de cette clé privée peut <b>téléverser</b> des fichiers vers votre ordinateur en utilisant le <b>Navigateur Tor</b> : <img src='{}' />",
"gui_url_label_persistent": "Ce partage ne sarrêtera pas automatiquement.<br><br>Tout partage subséquent réutilisera ladresse. (Pour des adresses qui ne peuvent être utilisées quune fois, désactivez « Utiliser une adresse persistante » dans les paramètres.)",
"gui_url_label_persistent": "Ce partage ne sarrêtera pas automatiquement.<br><br>Tout partage subséquent réutilise ladresse. (Pour des adresses qui ne peuvent être utilisées quune fois, désactivez « Toujours ouvrir cet onglet lors du démarrage dOnionShare » dans les paramètres.)",
"gui_url_label_stay_open": "Ce partage ne sarrêtera pas automatiquement.",
"gui_url_label_onetime": "Ce partage sarrêtera une fois que le premier téléchargement sera terminé.",
"gui_url_label_onetime_and_persistent": "Ce partage ne sarrêtera pas automatiquement.<br><br>Tout partage subséquent réutilisera ladresse. (Pour des adresses qui ne peuvent être utilisées quune fois, désactivez « Utiliser une adresse persistante » dans les paramètres.)",
"gui_url_label_onetime_and_persistent": "Ce partage ne sarrêtera pas automatiquement.<br><br>Tout partage subséquent réutilise ladresse. (Pour des adresses qui ne peuvent être utilisées quune fois, désactivez « Toujours ouvrir cet onglet lors du démarrage dOnionShare » dans les paramètres.)",
"gui_status_indicator_share_stopped": "Arrêté",
"gui_status_indicator_share_working": "Démarrage…",
"gui_status_indicator_share_started": "Partage en cours",
@ -255,5 +255,7 @@
"waitress_web_server_error": "Un problème est survenu lors du démarrage du serveur Web",
"gui_close_tab_warning_chat_description": "Fermer longlet qui héberge un serveur de dialogue en ligne?",
"gui_chat_mode_explainer": "Le mode conversation vous permet de discuter interactivement avec dautres dans le Navigateur Tor.br><br><b>Lhistorique des conversations nest pas enregistré dans OnionShare. Lhistorique des conversations disparaît en cas de fermeture du Navigateur Tor.</b>",
"mode_settings_persistent_autostart_on_launch_checkbox": "Démarrer automatiquement ce service oignon lors du démarrage dOnionShare"
"mode_settings_persistent_autostart_on_launch_checkbox": "Démarrer automatiquement ce service oignon lors du démarrage dOnionShare",
"error_generic": "Une erreur inattendue est survenue dans OnionShare :\n{}",
"gui_settings_license_label": "OnionShare est sous licence GPL v3.<br>Les licences des tiers peuvent être consultées ici :<br><a href=\"https://github.com/onionshare/onionshare/tree/main/licenses\">https://github.com/onionshare/onionshare/tree/main/licenses</a>"
}

View file

@ -251,7 +251,7 @@
"gui_autoconnect_circumventing_censorship_requesting_bridges": "Tor Censorship Circumvention API にブリッジをリクエストしています…",
"gui_autoconnect_circumventing_censorship_got_bridges": "ブリッジを確立しました。Tor に再接続しています…",
"gui_autoconnect_could_not_connect_to_tor_api": "Tor の API に接続できませんでした。インターネットに接続していることを確認してから再度試してください。",
"gui_general_settings_window_title": "基本設定",
"gui_general_settings_window_title": "一般",
"gui_close_tab_warning_chat_description": "チャットサーバーをホスト中のタブを閉じてもよろしいですか?",
"waitress_web_server_error": "ウェブサーバーを起動する際に問題が生じました",
"gui_chat_mode_explainer": "チャットモードを使用すると、Tor Browser で他のユーザーとチャットを行うことができるようになります。<br><br><b>チャットの履歴は OnionShare には保存されません。Tor Browser を終了すると、チャットの履歴は消去されます。</b>",

View file

@ -78,10 +78,10 @@
"gui_autostop_timer_cant_be_earlier_than_autostart_timer": "Час автостопу не може бути однаковим або ранішим за час автозапуску. Налаштуйте його, щоб почати надсилання.",
"gui_share_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси та приватного ключа, може <b>завантажити</b> ваші файли, через <b>Tor Browser</b>: <img src='{}' />",
"gui_receive_url_description": "<b>Будь-хто</b>, за допомогою цієї адреси та приватного ключа, може <b>вивантажити</b> файли на ваш комп'ютер через <b>Tor Browser</b>: <img src='{}' />",
"gui_url_label_persistent": "Це надсилання не припинятиметься автоматично.<br><br>Кожне наступне надсилання використовує ту ж адресу. (Для використання одноразової адреси, вимкніть «Використовувати постійну адресу» в налаштуваннях.)",
"gui_url_label_persistent": "Це надсилання не припинятиметься автоматично.<br><br>Кожне наступне надсилання використовує ту ж адресу. (Щоб використовувати одноразову адресу, вимкніть «Завжди відкривати цю вкладку під час запуску OnionShare» в налаштуваннях.)",
"gui_url_label_stay_open": "Це надсилання не припинятиметься автоматично.",
"gui_url_label_onetime": "Це надсилання не припинятиметься після першого виконання.",
"gui_url_label_onetime_and_persistent": "Це надсилання не припинятиметься автоматично.<br><br>Кожне наступне надсилання використовує ту ж адресу. (Для використання одноразової адреси, вимкніть \"Використовувати постійну адресу\" в параметрах.)",
"gui_url_label_onetime_and_persistent": "Це надсилання не припинятиметься автоматично.<br><br>Кожне наступне надсилання використовує ту ж адресу. (Щоб використовувати одноразову адресу, вимкніть \"Завжди відкривати цю вкладку під час запуску OnionShare\" в налаштуваннях.)",
"gui_status_indicator_share_stopped": "Зупинено",
"gui_status_indicator_share_working": "Запуск…",
"gui_status_indicator_share_scheduled": "Заплановано…",
@ -255,5 +255,7 @@
"waitress_web_server_error": "Під час запуску вебсервера сталася помилка",
"gui_close_tab_warning_chat_description": "Закрити вкладку, на якій розміщено чат-сервер?",
"gui_chat_mode_explainer": "Режим бесіди дозволяє вам інтерактивно спілкуватися з іншими користувачами в Браузері Tor.<br><br><b>Історія бесід не зберігається в OnionShare. Історія бесід зникне, коли ви закриєте Браузер Tor.</b>",
"mode_settings_persistent_autostart_on_launch_checkbox": "Автоматично запускати цю onion-службу під час запуску OnionShare"
"mode_settings_persistent_autostart_on_launch_checkbox": "Автоматично запускати цю onion-службу під час запуску OnionShare",
"error_generic": "В OnionShare сталася непередбачувана помилка:\n{}",
"gui_settings_license_label": "OnionShare має ліцензію GPL v3.<br>Ліцензії третіх сторін можна переглянути тут:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>"
}

View file

@ -256,5 +256,6 @@
"gui_close_tab_warning_chat_description": "是否关闭托管聊天服务的标签页?",
"gui_chat_mode_explainer": "聊天模式可让您在 Tor 浏览器中与其他人进行互动聊天。<br><br><b>OnionShare 中不存储聊天记录。关闭 Tor 浏览器后,聊天记录将消失。</b>",
"mode_settings_persistent_autostart_on_launch_checkbox": "OnionShare 启动时自动启动此洋葱服务",
"gui_settings_license_label": "OnionShare 采用 GPL v3 许可。可在此处查看第三方许可:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>"
"gui_settings_license_label": "OnionShare 采用 GPL v3 许可。可在此处查看第三方许可:<br><a href='https://github.com/onionshare/onionshare/tree/main/licenses'>https://github.com/onionshare/onionshare/tree/main/licenses</a>",
"error_generic": "OnionShare 出现意外错误:\n{}"
}

36
desktop/poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand.
[[package]]
name = "bidict"
@ -699,7 +699,7 @@ files = [
[package.extras]
docs = ["furo (>=2024.8.6)", "sphinx (>=8.1.3)", "sphinx-autodoc-typehints (>=3)"]
testing = ["covdefaults (>=2.3)", "coverage (>=7.6.10)", "diff-cover (>=9.2.1)", "pytest (>=8.3.4)", "pytest-asyncio (>=0.25.2)", "pytest-cov (>=6)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.28.1)"]
typing = ["typing-extensions (>=4.12.2)"]
typing = ["typing-extensions (>=4.12.2) ; python_version < \"3.11\""]
[[package]]
name = "flask"
@ -821,11 +821,11 @@ greenlet = [
"zope.interface" = "*"
[package.extras]
dnspython = ["dnspython (>=1.16.0,<2.0)", "idna"]
dnspython = ["dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\""]
docs = ["furo", "repoze.sphinx.autointerface", "sphinx", "sphinxcontrib-programoutput", "zope.schema"]
monitor = ["psutil (>=5.7.0)"]
recommended = ["cffi (>=1.12.2)", "dnspython (>=1.16.0,<2.0)", "idna", "psutil (>=5.7.0)"]
test = ["cffi (>=1.12.2)", "coverage (>=5.0)", "dnspython (>=1.16.0,<2.0)", "idna", "objgraph", "psutil (>=5.7.0)", "requests", "setuptools"]
monitor = ["psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\""]
recommended = ["cffi (>=1.12.2) ; platform_python_implementation == \"CPython\"", "dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\"", "psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\""]
test = ["cffi (>=1.12.2) ; platform_python_implementation == \"CPython\"", "coverage (>=5.0) ; sys_platform != \"win32\"", "dnspython (>=1.16.0,<2.0) ; python_version < \"3.10\"", "idna ; python_version < \"3.10\"", "objgraph", "psutil (>=5.7.0) ; sys_platform != \"win32\" or platform_python_implementation == \"CPython\"", "requests", "setuptools"]
[[package]]
name = "gevent-websocket"
@ -964,7 +964,7 @@ zipp = ">=0.5"
[package.extras]
docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"]
perf = ["ipython"]
testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"]
testing = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7) ; platform_python_implementation != \"PyPy\"", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1) ; platform_python_implementation != \"PyPy\"", "pytest-perf (>=0.9.2)", "pytest-ruff"]
[[package]]
name = "iniconfig"
@ -994,15 +994,15 @@ files = [
[[package]]
name = "jinja2"
version = "3.1.5"
version = "3.1.6"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
groups = ["main"]
markers = "platform_machine == \"x86_64\" or platform_machine == \"i686\" or platform_machine == \"aarch64\" or platform_machine == \"armv7l\" or platform_machine == \"ppc64le\" or platform_machine == \"s390x\" or sys_platform != \"linux\" or platform_machine != \"x86_64\" and platform_machine != \"i686\" and platform_machine != \"aarch64\" and platform_machine != \"armv7l\" and platform_machine != \"ppc64le\" and platform_machine != \"s390x\""
files = [
{file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
{file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
{file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
{file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
]
[package.dependencies]
@ -1315,7 +1315,7 @@ files = [
]
[package.extras]
test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"]
test = ["enum34 ; python_version <= \"3.4\"", "ipaddress ; python_version < \"3.0\"", "mock ; python_version < \"3.0\"", "pywin32 ; sys_platform == \"win32\"", "wmi ; sys_platform == \"win32\""]
[[package]]
name = "pycparser"
@ -1622,13 +1622,13 @@ files = [
]
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"]
core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""]
core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
enabler = ["pytest-enabler (>=2.2)"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"]
[[package]]
name = "shiboken6"
@ -1729,7 +1729,7 @@ files = [
]
[package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"]
@ -1816,11 +1816,11 @@ files = [
]
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
enabler = ["pytest-enabler (>=2.2)"]
test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"]
test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"]
type = ["pytest-mypy"]
[[package]]

View file

@ -2,6 +2,7 @@
import os
import inspect
import click
import platform
import subprocess
import shutil
import glob
@ -16,7 +17,7 @@ root = os.path.dirname(
)
desktop_dir = os.path.join(root, "desktop")
identity_name_application = "Developer ID Application: Micah Lee (N9B95FDWH4)"
identity_name_application = "Developer ID Application: Science & Design, Inc. (7WLJ4UBL5L)"
entitlements_plist_path = f"{desktop_dir}/package/Entitlements.plist"
@ -122,7 +123,6 @@ def cleanup_build():
"QtQuickShapes",
"QtQuickTest",
"QtNetwork",
"QtSvg",
"QtDesignerComponents",
"QtMultimediaWidgets",
"QtQmlModels",
@ -228,6 +228,18 @@ def cleanup_build():
else:
print(f"Cannot delete, filename not found: {filename}")
# Set a symlink for Qt's platforms and imageformats plugins, which seems to be necessary only on arm
if platform.system() == "Darwin" and platform.processor() == "arm":
platforms_target_path = os.path.join("..", "Resources", "lib", "PySide6", "Qt", "plugins", "platforms")
platforms_symlink_path = os.path.join(app_path, "Contents", "MacOS", "platforms")
os.symlink(platforms_target_path, platforms_symlink_path)
imageformats_target_path = os.path.join("..", "Resources", "lib", "PySide6", "Qt", "plugins", "imageformats")
imageformats_symlink_path = os.path.join(app_path, "Contents", "MacOS", "imageformats")
os.symlink(imageformats_target_path, imageformats_symlink_path)
after_size = get_size(f"{app_path}")
freed_bytes = before_size - after_size
freed_mb = int(freed_bytes / 1024 / 1024)

View file

@ -12,7 +12,7 @@ import tempfile
import gnupg
torbrowser_latest_url = (
"https://aus1.torproject.org/torbrowser/update_3/release/downloads.json"
"https://aus1.torproject.org/torbrowser/update_3/release"
)
tor_dev_fingerprint = "EF6E286DDA85EA2A4BA7DE684E2C6E8793298290"
@ -24,13 +24,12 @@ working_path = os.path.join(root_path, "build", "tor")
def get_latest_tor_version_urls(platform):
r = requests.get(torbrowser_latest_url)
if r.status_code != 200 or platform not in r.json()["downloads"]:
print("Tor browser latest version url not working")
sys.exit(-1)
r = requests.get(f"{torbrowser_latest_url}/download-{platform}.json")
if r.status_code != 200:
raise RuntimeError("Tor browser latest version url not working")
platform_url = r.json()["downloads"][platform]["ALL"]["binary"]
platform_sig_url = r.json()["downloads"][platform]["ALL"]["sig"]
platform_url = r.json()["binary"]
platform_sig_url = r.json()["sig"]
platform_filename = platform_url.split("/")[-1]
return platform_url, platform_filename, platform_sig_url
@ -120,6 +119,9 @@ def get_tor_macos(gpg, torkey, macos_url, macos_filename, expected_macos_sig):
dist_path = os.path.join(root_path, "onionshare", "resources", "tor")
if not os.path.exists(dist_path):
os.makedirs(dist_path, exist_ok=True)
tor_lib_dir = os.path.join(root_path, "onionshare", "resources", "tor", "lib")
if not os.path.exists(tor_lib_dir):
os.makedirs(tor_lib_dir, exist_ok=True)
# Make sure the working folder exists
if not os.path.exists(working_path):
@ -163,10 +165,17 @@ def get_tor_macos(gpg, torkey, macos_url, macos_filename, expected_macos_sig):
os.path.join(dist_path, "tor"),
)
os.chmod(os.path.join(dist_path, "tor"), 0o755)
# This is necessary for cx_freeze itself to work...
shutil.copyfile(
os.path.join(dmg_tor_path, "MacOS", "Tor", "libevent-2.1.7.dylib"),
os.path.join(dist_path, "libevent-2.1.7.dylib"),
)
# ...but the libevent-2.1.7.dylib now seems to also need to be in a 'lib'
# subfolder of the tor/ folder to work on MacOS, so copy it there too.
shutil.copyfile(
os.path.join(dmg_tor_path, "MacOS", "Tor", "libevent-2.1.7.dylib"),
os.path.join(tor_lib_dir, "libevent-2.1.7.dylib"),
)
# Eject dmg
subprocess.call(["diskutil", "eject", "/Volumes/Tor Browser"])
@ -310,7 +319,7 @@ def main(platform):
"""
Download Tor Browser and extract tor binaries
"""
valid_platforms = ["win64", "macos", "linux-x86_64"]
valid_platforms = ["windows-x86_64", "macos", "linux-x86_64"]
if platform not in valid_platforms:
click.echo(f"platform must be one of: {valid_platforms}")
return
@ -327,7 +336,7 @@ def main(platform):
)
print(f"Imported Tor GPG key: {torkey.fingerprints}")
if platform == "win64":
if platform == "windows-x86_64":
get_tor_windows(
gpg, torkey, platform_url, platform_filename, expected_platform_sig
)

View file

@ -77,6 +77,7 @@ build_exe_options = {
"shiboken6",
"PySide6.QtCore",
"PySide6.QtGui",
"PySide6.QtSvg",
"PySide6.QtWidgets",
],
"excludes": [
@ -139,6 +140,7 @@ if platform.system() == "Darwin" and platform.processor() == "arm":
"shiboken6",
"PySide6.QtCore",
"PySide6.QtGui",
"PySide6.QtSvg",
"PySide6.QtWidgets",
]

View file

@ -3,7 +3,7 @@
VERSION=$(cat ../cli/onionshare_cli/resources/version.txt)
# Supported locales
LOCALES="en sq bg zh_Hans de el ga ja pl ru es tr uk"
LOCALES="en sq bg zh_CN de el ga ja pl ru es tr uk"
# Generate English .po files
make gettext

32
docs/poetry.lock generated
View file

@ -1,4 +1,4 @@
# This file is automatically @generated by Poetry 2.0.1 and should not be changed by hand.
# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand.
[[package]]
name = "alabaster"
@ -32,7 +32,7 @@ typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""}
[package.extras]
doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"]
test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"]
test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "trustme", "truststore (>=0.9.1) ; python_version >= \"3.10\"", "uvloop (>=0.21) ; platform_python_implementation == \"CPython\" and platform_system != \"Windows\" and python_version < \"3.14\""]
trio = ["trio (>=0.26.1)"]
[[package]]
@ -48,7 +48,7 @@ files = [
]
[package.extras]
dev = ["backports.zoneinfo", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata"]
dev = ["backports.zoneinfo ; python_version < \"3.9\"", "freezegun (>=1.0,<2.0)", "jinja2 (>=3.0)", "pytest (>=6.0)", "pytest-cov", "pytz", "setuptools", "tzdata ; sys_platform == \"win32\""]
[[package]]
name = "certifi"
@ -273,7 +273,7 @@ httpcore = "==1.*"
idna = "*"
[package.extras]
brotli = ["brotli", "brotlicffi"]
brotli = ["brotli ; platform_python_implementation == \"CPython\"", "brotlicffi ; platform_python_implementation != \"CPython\""]
cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"]
http2 = ["h2 (>=3,<5)"]
socks = ["socksio (==1.*)"]
@ -323,24 +323,24 @@ files = [
zipp = ">=3.20"
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
enabler = ["pytest-enabler (>=2.2)"]
perf = ["ipython"]
test = ["flufl.flake8", "importlib_resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"]
test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"]
type = ["pytest-mypy"]
[[package]]
name = "jinja2"
version = "3.1.5"
version = "3.1.6"
description = "A very fast and expressive template engine."
optional = false
python-versions = ">=3.7"
groups = ["main"]
files = [
{file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"},
{file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"},
{file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"},
{file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"},
]
[package.dependencies]
@ -482,13 +482,13 @@ files = [
]
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"]
core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""]
core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"]
enabler = ["pytest-enabler (>=2.2)"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"]
test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"]
type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"]
[[package]]
name = "sniffio"
@ -776,7 +776,7 @@ files = [
]
[package.extras]
brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"]
brotli = ["brotli (>=1.0.9) ; platform_python_implementation == \"CPython\"", "brotlicffi (>=0.8.0) ; platform_python_implementation != \"CPython\""]
h2 = ["h2 (>=4,<5)"]
socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"]
zstd = ["zstandard (>=0.18.0)"]
@ -795,11 +795,11 @@ files = [
]
[package.extras]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"]
check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""]
cover = ["pytest-cov"]
doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"]
enabler = ["pytest-enabler (>=2.2)"]
test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"]
test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"]
type = ["pytest-mypy"]
[metadata]

View file

@ -10,7 +10,7 @@ languages = [
("English", "en"), # English
("Shqip", "sq"), # Albanian
("Български", "bg"), #Bulgarian
("中文 (简体)", "zh_Hans"), # Simplified Chinese
("中文 (简体)", "zh_CN"), # Simplified Chinese
("Deutsch", "de"), # German
("Ελληνικά", "el"), # Greek
("Gaeilge", "ga"), # Irish

View file

@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2024-01-25 13:17+0000\n"
"Last-Translator: emma peel <emma.peel@riseup.net>\n"
"PO-Revision-Date: 2025-02-24 06:08+0000\n"
"Last-Translator: curtisb <curtisbaltimore@protonmail.com>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4-dev\n"
"X-Generator: Weblate 5.10.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/develop.rst:2
@ -42,10 +42,10 @@ msgstr ""
"die künftige Entwicklung zu schmieden. (Außerdem ist dies ein einfacher Weg, "
"um Ende zu Ende verschlüsselte Nachrichten, z.B. OnionShare-Adressen, an "
"andere Leute in der OnionShare-Community zu senden.) Um Keybase zu nutzen, "
"lade die Keybase-App <https://keybase.io/download>`_ herunter, erstelle dir "
"lade die `Keybase-App <https://keybase.io/download>`_ herunter, erstelle dir "
"einen Account und `trete diesem Team bei <https://keybase.io/team/"
"onionshare>`_. In der App, gehe auf „Teams“, klicke auf “Team beitreten“ und "
"gib „onionshare“ ein."
"onionshare>`_. In der App, gehe auf \"Teams\", klicke auf \"Team beitreten\" "
"und gib \"onionshare\" ein."
#: ../../source/develop.rst:12
msgid ""
@ -137,19 +137,19 @@ msgid ""
"reloaded), and other debug info. For example::"
msgstr ""
"Beim Entwickeln ist es hilfreich, OnionShare über die Kommandozeile "
"auszuführen und dabei die ``--verbose``- (oder ``-v``-) Flagge zu setzen. "
"auszuführen und dabei die ``--verbose`` (oder ``-v``-) Flagge zu setzen. "
"Dadurch werden viele hilfreiche Nachrichten auf der Kommandozeile "
"ausgegeben, zum Bespiel wenn bestimmte Objekte initialisiert wurden oder "
"wenn Ereignisse eintreten (Klicken von Buttons, Speichern oder Auffrischen "
"von Einstellungen o.ä.), sowie andere Debug-Informationen. Zum Beispiel::"
"von Einstellungen), sowie andere Debug-Informationen. Zum Beispiel:"
#: ../../source/develop.rst:117
msgid ""
"You can add your own debug messages by running the ``Common.log`` method "
"from ``onionshare/common.py``. For example::"
msgstr ""
"Du kannst deine eigenen Debug-Nachrichten einbauen, indem du die ``Common."
"log``-Methode aus ``onionshare/common.py`` ausführst. Zum Beispiel::"
"Du kannst deine eigenen Debug-Nachrichten einbauen, indem du die "
"``Common.log``-Methode aus ``onionshare/common.py`` ausführst. Zum Beispiel:"
#: ../../source/develop.rst:121
msgid ""
@ -172,8 +172,8 @@ msgid ""
"flag. For example::"
msgstr ""
"Tor ist langsam, und oft ist es ratsam, bei der Entwicklung keine Onion-"
"Dienste zu starten. Dies kannst du mit der ``--local-only``-Flagge tun. Zum "
"Beispiel::"
"Dienste zu starten. Dies kannst du mit dem ``--local-only``-Flag tun. Zum "
"Beispiel:"
#: ../../source/develop.rst:165
msgid ""

View file

@ -6,16 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2024-01-25 13:17+0000\n"
"Last-Translator: emma peel <emma.peel@riseup.net>\n"
"PO-Revision-Date: 2025-02-24 06:08+0000\n"
"Last-Translator: curtisb <curtisbaltimore@protonmail.com>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.1-dev\n"
"Generated-By: Babel 2.14.0\n"
#: ../../source/features.rst:4
@ -358,7 +359,7 @@ msgstr ""
#: ../../source/features.rst:102
msgid "Other caveats to be aware of in Receive Mode"
msgstr ""
msgstr "Weitere Vorbehalte im Empfangsmodus sind zu beachten"
#: ../../source/features.rst:104
msgid ""
@ -367,6 +368,10 @@ msgid ""
"mode. Try Bronze or Gold to see if you are able to upload a message or a "
"file."
msgstr ""
"Es gibt Berichte, dass OnionBrowser auf iOS-Geräten nicht in der Lage ist, "
"Dateien auf einen OnionShare im Empfangsmodus hochzuladen, wenn der "
"Sicherheitsmodus 'Silber' eingestellt ist. Versuche Bronze oder Gold, um zu "
"sehen, ob du eine Nachricht oder eine Datei hochladen kannst."
#: ../../source/features.rst:107
msgid "Host a Website"

View file

@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2024-01-25 13:17+0000\n"
"Last-Translator: emma peel <emma.peel@riseup.net>\n"
"PO-Revision-Date: 2025-02-24 06:08+0000\n"
"Last-Translator: curtisb <curtisbaltimore@protonmail.com>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.4-dev\n"
"X-Generator: Weblate 5.10.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/help.rst:2
@ -47,11 +47,11 @@ msgid ""
"encountered the same problem and either raised it with the developers, or "
"maybe even posted a solution."
msgstr ""
"Falls du auf dieser Webseite keine Lösung findest, siehe dir bitte die "
"`GitHub-Seite <https://github.com/micahflee/onionshare/issues>`_ an. "
"Möglicherweise ist bereits jemand anderes auf das gleiche Problem gestoßen "
"und hat es den Entwicklern gemeldet, und vielleicht wurde dort sogar schon "
"eine Lösung gepostet."
"Falls du auf dieser Webseite keine Lösung findest, siehe bitte die `GitHub "
"issues <https://github.com/onionshare/issues>`_ durch. Möglicherweise ist "
"bereits jemand anderes auf das gleiche Problem gestoßen und hat es den "
"Entwicklern gemeldet, und vielleicht wurde dort sogar schon eine Lösung "
"gepostet."
#: ../../source/help.rst:15
msgid "Submit an Issue Yourself"

View file

@ -6,9 +6,9 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2024-04-15 10:02+0000\n"
"PO-Revision-Date: 2025-02-24 06:08+0000\n"
"Last-Translator: curtisb <curtisbaltimore@protonmail.com>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
@ -16,6 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.1-dev\n"
"Generated-By: Babel 2.14.0\n"
#: ../../source/install.rst:2
@ -393,15 +394,14 @@ msgid "Signing key"
msgstr "Signaturschlüssel"
#: ../../source/install.rst:117
#, fuzzy
msgid ""
"Packages are signed by the core developer who is responsible for the "
"particular release. Here is the GPG key information for each of the core "
"developers of OnionShare:"
msgstr ""
"Pakete werden von dem Kernentwickler signiert, der für die jeweilige Version "
"verantwortlich ist. Nachfolgend findest du die Informationen zu den Core-"
"Entwicklern von OnionShare:"
"verantwortlich ist. Hier sind die GPG-Schlüsselinformationen für jeden der "
"Hauptentwickler von OnionShare:"
#: ../../source/install.rst:120
msgid "Micah Lee:"
@ -447,26 +447,24 @@ msgstr ""
#: ../../source/install.rst:128
msgid "Miguel Jacq:"
msgstr ""
msgstr "Miguel Jacq:"
#: ../../source/install.rst:129
#, fuzzy
msgid ""
"PGP public key fingerprint ``00AE817C24A10C2540461A9C1D7CDE0234DB458D``."
msgstr ""
"PGP-Fingerabdruck des öffentlichen Schlüssels "
"``927F419D7EC82C2F149C1BD1403C2657CD994F73``."
"``00AE817C24A10C2540461A9C1D7CDE0234DB458D``."
#: ../../source/install.rst:130
#, fuzzy
msgid ""
"You can download Miguel's key `from the keys.openpgp.org keyserver <https://"
"keys.openpgp.org/vks/v1/by-"
"fingerprint/00AE817C24A10C2540461A9C1D7CDE0234DB458D>`_."
msgstr ""
"Du kannst Micahs Schlüssel vom Schlüsselserver `keys.openpgp.org keyserver "
"<https://keys.openpgp.org/vks/v1/by-"
"fingerprint/927F419D7EC82C2F149C1BD1403C2657CD994F73>`_ herunterladen."
"Du kannst Miguels Schlüssel `vom Schlüsselserver keys.openpgp.org keyserver "
"<https://keys.openpgp.org/vks/v1/by-fingerprint/"
"00AE817C24A10C2540461A9C1D7CDE0234DB458D>`_ herunterladen."
#: ../../source/install.rst:132
msgid ""

View file

@ -6,17 +6,17 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2025-02-19 11:29+0000\n"
"Last-Translator: Himmel <Himmel@users.noreply.hosted.weblate.org>\n"
"PO-Revision-Date: 2025-02-26 08:24+0000\n"
"Last-Translator: Himmel <himmel@users.noreply.hosted.weblate.org>\n"
"Language-Team: ja <LL@li.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 5.10.1-dev\n"
"X-Generator: Weblate 5.10.2-dev\n"
"Generated-By: Babel 2.17.0\n"
#: ../../source/advanced.rst:2
@ -450,6 +450,9 @@ msgid ""
"versions use this configuration file. The CLI also lets you specify a path "
"to a custom configuration file with ``--config``."
msgstr ""
"OnionShare は、その設定を JSON ファイルに保存します。CLI "
"版とデスクトップ版の両方で、この構成ファイルを使用します。CLI では、"
"カスタム構成ファイルへのパスを ``--config`` で指定することもできます。"
#: ../../source/advanced.rst:319
msgid ""
@ -457,27 +460,30 @@ msgid ""
"configuration file has other parameters not listed here, they may be "
"obsolete from older OnionShare versions."
msgstr ""
"構成ファイルのパラメーターとその意味を以下に示します。ここに記載されていない"
"パラメーターが構成ファイルに含まれている場合は、古い OnionShare "
"バージョンでは使用されていない可能性があります。"
#: ../../source/advanced.rst:322 ../../source/advanced.rst:402
#: ../../source/advanced.rst:413 ../../source/advanced.rst:424
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Parameter"
msgstr ""
msgstr "パラメーター"
#: ../../source/advanced.rst:322 ../../source/advanced.rst:402
#: ../../source/advanced.rst:413 ../../source/advanced.rst:424
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Type"
msgstr ""
msgstr "種類"
#: ../../source/advanced.rst:322 ../../source/advanced.rst:402
#: ../../source/advanced.rst:413 ../../source/advanced.rst:424
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Explanation"
msgstr ""
msgstr "説明"
#: ../../source/advanced.rst:324
msgid "version"
@ -495,16 +501,16 @@ msgstr "バージョン"
#: ../../source/advanced.rst:452 ../../source/advanced.rst:453
#: ../../source/advanced.rst:465
msgid "``string``"
msgstr ""
msgstr "``string``"
#: ../../source/advanced.rst:324
msgid ""
"The version of OnionShare. You should not ever need to change this value."
msgstr ""
msgstr "OnionShare のバージョン。この値を変更する必要は一切ありません。"
#: ../../source/advanced.rst:325
msgid "connection_type"
msgstr ""
msgstr "connection_type"
#: ../../source/advanced.rst:325
msgid ""
@ -512,85 +518,104 @@ msgid ""
"'automatic' (use Tor Browser's Tor connection), 'control_port' or "
"'socket_file'. Default: 'bundled'"
msgstr ""
"OnionShare が Tor に接続する方法。有効なオプションは 'bundled'、'automatic' ("
"Tor Browser の Tor 接続を使う)、'control_port' または 'socket_file' "
"です。デフォルト: 'bundled'"
#: ../../source/advanced.rst:326
msgid "control_port_address"
msgstr ""
msgstr "control_port_address"
#: ../../source/advanced.rst:326
msgid ""
"The IP address of Tor's Control port, if ``connection_type`` is set to "
"'control_port'. Default: '127.0.0.1'"
msgstr ""
"``connection_type`` が 'control_port' に設定されている場合の、Tor "
"の制御ポートの IP アドレス。デフォルト: '127.0.0.1'"
#: ../../source/advanced.rst:327
msgid "control_port_port"
msgstr ""
msgstr "control_port_port"
#: ../../source/advanced.rst:327 ../../source/advanced.rst:329
#: ../../source/advanced.rst:335
msgid "``integer``"
msgstr ""
msgstr "``integer``"
#: ../../source/advanced.rst:327
msgid ""
"The port number of Tor's Control port, if ``connection_type`` is set to "
"'control_port'. Default: '9051'"
msgstr ""
"``connection_type`` が 'control_port' に設定されている場合の、Tor "
"の制御ポートのポート番号。デフォルト: '9051'"
#: ../../source/advanced.rst:328
msgid "socks_address"
msgstr ""
msgstr "socks_address"
#: ../../source/advanced.rst:328
msgid ""
"The IP address of Tor's SOCKS proxy, if ``connection_type`` is set to "
"'control_port' or 'socket_file'. Default: '127.0.0.1'"
msgstr ""
"``connection_type`` が 'control_port' または 'socket_file' "
"に設定されている場合の、Tor の SOCKS プロキシの IP アドレス。デフォルト: "
"'127.0.0.1'"
#: ../../source/advanced.rst:329
msgid "socks_port"
msgstr ""
msgstr "socks_port"
#: ../../source/advanced.rst:329
msgid ""
"The port number of Tor's SOCKS proxy, if ``connection_type`` is set to "
"'control_port' or 'socket_file'. Default: ''9050'"
msgstr ""
"``connection_type`` が 'control_port' または 'socket_file' "
"に設定されている場合の、Tor の SOCKS プロキシのポート番号。デフォルト: '9050'"
#: ../../source/advanced.rst:330
msgid "socket_file_path"
msgstr ""
msgstr "socket_file_path"
#: ../../source/advanced.rst:330
msgid ""
"The path to Tor's socket file, if ``connection_type`` is set to "
"'socket_file'. Default: '/var/run/tor/control'"
msgstr ""
"``connection_type`` が 'socket_file' に設定されている場合の、Tor "
"のソケットファイルへのパス。デフォルト: '/var/run/tor/control'"
#: ../../source/advanced.rst:331
msgid "auth_type"
msgstr ""
msgstr "auth_type"
#: ../../source/advanced.rst:331
msgid ""
"If access to Tor's control port requires a password, this can be set to "
"'password', otherwise 'no_auth'. Default: 'no_auth'"
msgstr ""
"Tor の制御ポートへのアクセスにパスワードが必要な場合は 'password'、"
"そうでなければ 'no_auth' を設定します。デフォルト: 'no_auth'"
#: ../../source/advanced.rst:332
msgid "auth_password"
msgstr ""
msgstr "auth_password"
#: ../../source/advanced.rst:332
msgid ""
"If access to Tor's control port requires a password, and ``auth_type`` is "
"set to 'password', specify the password here. Default: ''"
msgstr ""
"Tor の制御ポートへのアクセスにパスワードが必要で、``auth_type`` が "
"'password' に設定されている場合は、ここでパスワードを指定します。デフォルト: "
"''"
#: ../../source/advanced.rst:333
msgid "auto_connect"
msgstr ""
msgstr "auto_connect"
#: ../../source/advanced.rst:333 ../../source/advanced.rst:334
#: ../../source/advanced.rst:336 ../../source/advanced.rst:344
@ -601,43 +626,45 @@ msgstr ""
#: ../../source/advanced.rst:455 ../../source/advanced.rst:464
#: ../../source/advanced.rst:466
msgid "``boolean``"
msgstr ""
msgstr "``boolean``"
#: ../../source/advanced.rst:333
msgid ""
"Whether OnionShare should automatically connect to Tor when it starts. "
"Default: False"
msgstr ""
msgstr "OnionShare の起動時に Tor に自動的に接続するかどうか。デフォルト: False"
#: ../../source/advanced.rst:334
msgid "use_autoupdate"
msgstr ""
msgstr "use_autoupdate"
#: ../../source/advanced.rst:334
msgid ""
"Whether OnionShare should automatically check for updates (over Tor). This "
"setting is only valid for MacOS or Windows installations. Default: True."
msgstr ""
"OnionShare が (Tor 経由で) 更新を自動的に確認するかどうか。この設定は、MacOS "
"または Windows インストールでのみ有効です。デフォルト: True"
#: ../../source/advanced.rst:335
msgid "autoupdate_timestamp"
msgstr ""
msgstr "autoupdate_timestamp"
#: ../../source/advanced.rst:335
msgid "The last time OnionShare checked for updates. Default: None"
msgstr ""
msgstr "OnionShare が最後に更新を確認した時刻。デフォルト: None"
#: ../../source/advanced.rst:336
msgid "bridges_enabled"
msgstr ""
msgstr "bridges_enabled"
#: ../../source/advanced.rst:336
msgid "Whether to connect to Tor using bridges. Default: False"
msgstr ""
msgstr "ブリッジを使用して Tor に接続するかどうか。デフォルト: False"
#: ../../source/advanced.rst:337
msgid "bridges_type"
msgstr ""
msgstr "bridges_type"
#: ../../source/advanced.rst:337
msgid ""
@ -646,10 +673,15 @@ msgid ""
"Tor), \"moat\" (request bridges from Tor's Moat API), or \"custom\" (user-"
"supplied bridges). Default: \"built-in\""
msgstr ""
"``bridges_enabled`` が True の場合、ブリッジを読み込む場所。オプションには"
"、\"built-in\" (OnionShare に付属し、Tor "
"から更新される可能性のあるブリッジ)、\"moat\" (Tor の Moat API "
"からブリッジをリクエストする)、\"custom\" (ユーザーが指定するブリッジ) "
"があります。デフォルト: \"built-in\""
#: ../../source/advanced.rst:338
msgid "bridges_builtin_pt"
msgstr ""
msgstr "bridges_builtin_pt"
#: ../../source/advanced.rst:338
msgid ""
@ -657,20 +689,26 @@ msgid ""
"bridge protocol to use. Options are \"obfs4\", \"meek-azure\" or "
"\"snowflake\". Default: \"obfs4\""
msgstr ""
"``bridges_type`` が \"built-in\" "
"に設定されている場合、使用するブリッジプロトコルのタイプを指定します。"
"オプションは \"obfs4\"、\"meek-azure\"、または \"snowflake\" "
"です。デフォルト: \"obfs4\""
#: ../../source/advanced.rst:339
msgid "bridges_moat"
msgstr ""
msgstr "bridges_moat"
#: ../../source/advanced.rst:339
msgid ""
"When ``bridges_type`` is set to \"moat\", the bridges returned from Tor's "
"Moat API are stored here. Default: \"\""
msgstr ""
"``bridges_type`` が \"moat\" に設定されている場合、Tor の Moat API "
"から返されたブリッジはここに保存されます。デフォルト: \"\""
#: ../../source/advanced.rst:340
msgid "bridges_custom"
msgstr ""
msgstr "bridges_custom"
#: ../../source/advanced.rst:340
msgid ""
@ -678,29 +716,35 @@ msgid ""
"user are stored here. Separate each bridge line in the string with '\\n'. "
"Default: \"\""
msgstr ""
"``bridges_type`` が \"custom\" "
"に設定されている場合、ユーザが指定したブリッジはここに保存されます。"
"文字列内の各ブリッジラインは '\\n"
"' で区切ります。デフォルト: \"\""
#: ../../source/advanced.rst:341
msgid "bridges_builtin"
msgstr ""
msgstr "bridges_builtin"
#: ../../source/advanced.rst:341
msgid "``dict``"
msgstr ""
msgstr "``dict``"
#: ../../source/advanced.rst:341
msgid ""
"When ``bridges_type`` is set to \"built-in\", OnionShare obtains the latest "
"built-in bridges recommended by Tor and stores them here. Default: {}"
msgstr ""
"``bridges_type`` が \"built-in\" に設定されている場合、OnionShare は Tor "
"が推奨する最新の内蔵ブリッジを取得し、ここに保存します。デフォルト: {}"
#: ../../source/advanced.rst:342
msgid "persistent_tabs"
msgstr ""
msgstr "persistent_tabs"
#: ../../source/advanced.rst:342 ../../source/advanced.rst:442
#: ../../source/advanced.rst:467
msgid "``list``"
msgstr ""
msgstr "``list``"
#: ../../source/advanced.rst:342
msgid ""
@ -711,10 +755,16 @@ msgid ""
"identifier, in a subfolder of the OnionShare configuration folder called "
"'persistent'. Default: []"
msgstr ""
"ユーザがタブを 'saved' (OnionShare が起動するたびに永続的に保存され、Onion "
"アドレスが変更されないことを意味する) "
"と定義した場合、これらのタブにはランダムな識別子が与えられ、ここにリストされ"
"ます。永続 Onion は、この識別子と同じ名前の JSON ファイルとして、"
"\"persistent\" という名前の OnionShare "
"構成フォルダーのサブフォルダーに保存されます。デフォルト: []"
#: ../../source/advanced.rst:343
msgid "locale"
msgstr ""
msgstr "locale"
#: ../../source/advanced.rst:343
msgid ""
@ -722,20 +772,27 @@ msgid ""
"For valid locale codes, see 'available_locales' in https://github.com/"
"onionshare/onionshare/blob/main/cli/onionshare_cli/settings.py"
msgstr ""
"OnionShare で使用される言語。デフォルト: なし ('en' と同じ) "
"。有効なロケールコードについては、https://github.com/onionshare/onionshare/"
"blob/main/cli/onionshare_cli/settings.py の 'available_locales' "
"をご覧ください。"
#: ../../source/advanced.rst:344
msgid "theme"
msgstr ""
msgstr "theme"
#: ../../source/advanced.rst:344
msgid ""
"The theme for the OnionShare desktop app. Valid options are 0 (automatically "
"detect the user's computer's light or dark theme), 1 (light) or 2 (dark)."
msgstr ""
"OnionShare デスクトップアプリのテーマ。有効なオプションは、0 "
"(ユーザーのコンピューターのライトテーマまたはダークテーマを自動的に検出)、1 "
"(ライト)、または 2 (ダーク) です。"
#: ../../source/advanced.rst:349
msgid "Configuration file parameters for persistent onions"
msgstr ""
msgstr "永続 Onion の構成ファイルパラメーター"
#: ../../source/advanced.rst:351
msgid ""
@ -743,109 +800,121 @@ msgid ""
"are stored in its own JSON file. The path to this file can be specified for "
"the CLI tool with ``--persistent``."
msgstr ""
"前述のように、各永続 Onion には独自のパラメーターがあり、独自の JSON "
"ファイルに保存されます。このファイルへのパスは、CLI ツールで ``--persistent``"
" を使用して指定できます。"
#: ../../source/advanced.rst:353
msgid "Here is an example persistent JSON configuration::"
msgstr ""
msgstr "永続的な JSON 構成の例を以下に示します。"
#: ../../source/advanced.rst:396
msgid ""
"Below are the configuration file parameters for a persistent onion and what "
"they mean, for each section in the JSON"
msgstr ""
msgstr "JSON 内の各セクションについて、永続的 Onion "
"の構成ファイルパラメーターとその意味を以下に示します"
#: ../../source/advanced.rst:399
msgid "onion"
msgstr ""
msgstr "onion"
#: ../../source/advanced.rst:404
#, fuzzy
msgid "private_key"
msgstr "秘密鍵を無効にする"
msgstr "private_key"
#: ../../source/advanced.rst:404
msgid "Base64-encoded private key of the onion service"
msgstr ""
msgstr "Onion Service の Base64 エンコードされた秘密鍵"
#: ../../source/advanced.rst:405
msgid "client_auth_priv_key"
msgstr ""
msgstr "client_auth_priv_key"
#: ../../source/advanced.rst:405
msgid ""
"The private key when using Client Authentication. Send this to the user."
msgstr ""
msgstr "クライアント認証を使用する場合の秘密鍵。これをユーザーに送信します。"
#: ../../source/advanced.rst:406
msgid "client_auth_pub_key"
msgstr ""
msgstr "client_auth_pub_key"
#: ../../source/advanced.rst:406
msgid ""
"The public key when using Client Authentication. Used on OnionShare's side."
msgstr ""
msgstr "クライアント認証を使用する場合の公開鍵。OnionShare 側で使用されます。"
#: ../../source/advanced.rst:410
msgid "persistent"
msgstr "永続"
msgstr "persistent"
#: ../../source/advanced.rst:415
msgid "mode"
msgstr ""
msgstr "mode"
#: ../../source/advanced.rst:415
msgid ""
"The mode used by this persistent onion. Options are \"share\", \"receive\", "
"\"website\" or \"chat\"."
msgstr ""
"この永続 Onion が使用するモード。オプションは \"share\"、\"receive\"、"
"\"website\"、\"chat\" です。"
#: ../../source/advanced.rst:416
msgid "enabled"
msgstr ""
msgstr "enabled"
#: ../../source/advanced.rst:416
msgid ""
"Whether persistence is enabled for this onion. When the persistent option is "
"unchecked in the desktop, this entire JSON file is deleted. Default: true"
msgstr ""
"この Onion "
"に対して永続性が有効かどうか。デスクトップで永続オプションをオフにすると、"
"この JSON ファイル全体が削除されます。デフォルト: true"
#: ../../source/advanced.rst:417
msgid "autostart_on_launch"
msgstr ""
msgstr "autostart_on_launch"
#: ../../source/advanced.rst:417
msgid ""
"Whether to automatically start this persistent onion when OnionShare starts "
"and once Tor is connected. Default: false"
msgstr ""
msgstr "OnionShare の起動時および Tor の接続時に、この永続 Onion "
"を自動的に開始するかどうか。デフォルト: false"
#: ../../source/advanced.rst:421
msgid "general"
msgstr ""
msgstr "general"
#: ../../source/advanced.rst:426
msgid "title"
msgstr ""
msgstr "title"
#: ../../source/advanced.rst:426
msgid ""
"An optional custom title for displaying on the onion service. Default: null "
"(\"OnionShare\" will be shown instead)"
msgstr ""
"Onion Service に表示するオプションのカスタムタイトル。デフォルト: null ("
"代わりに \"OnionShare\" が表示されます)"
#: ../../source/advanced.rst:427
msgid "public"
msgstr "公開"
msgstr "public"
#: ../../source/advanced.rst:427
msgid ""
"Whether the onion service can be accessed with or without a Private Key "
"(Client Authentication). If true, no Private Key is required."
msgstr ""
msgstr "秘密鍵 (クライアント認証) を使用して Onion Service にアクセスできるかどうか。"
"true の場合、秘密鍵は必要ありません。"
#: ../../source/advanced.rst:428
msgid "autostart_timer"
msgstr ""
msgstr "autostart_timer"
#: ../../source/advanced.rst:428
msgid ""
@ -853,10 +922,14 @@ msgid ""
"time can be set in the desktop app or specified in seconds with ``--auto-"
"start-timer`` with the CLI tool. Default: false"
msgstr ""
"Onion Service "
"が特定の時刻に開始するように構成されているかどうか。時間はデスクトップアプリ"
"で設定するか、CLI ツールの ``--auto-start-timer`` "
"で秒単位で指定することができます。デフォルト: false"
#: ../../source/advanced.rst:429
msgid "autostop_timer"
msgstr ""
msgstr "autostop_timer"
#: ../../source/advanced.rst:429
msgid ""
@ -864,116 +937,125 @@ msgid ""
"can be set in the desktop app or specified in seconds with ``--auto-stop-"
"timer`` with the CLI tool. Default: false"
msgstr ""
"Onion Service "
"が特定の時刻に停止するように構成されているかどうか。時間はデスクトップアプリ"
"で設定するか、CLI ツールの ``--auto-stop-timer`` "
"で秒単位で指定できます。デフォルト: false"
#: ../../source/advanced.rst:430
msgid "service_id"
msgstr ""
msgstr "service_id"
#: ../../source/advanced.rst:430
msgid ""
"The 32-character onion service URL, without the scheme and without the '."
"onion' suffix."
msgstr ""
msgstr "スキームと接尾辞「.onion」を含まない32文字の Onion Service の URL。"
#: ../../source/advanced.rst:433
msgid ""
"The below are settings specific to the 'mode' specified in the "
"``persistent`` section above."
msgstr ""
msgstr "以下は、上記の ``persistent`` セクションで指定した「mode」に固有の設定です。"
#: ../../source/advanced.rst:436
msgid "share"
msgstr "共有"
msgstr "share"
#: ../../source/advanced.rst:441
msgid "autostop_sharing"
msgstr ""
msgstr "autostop_sharing"
#: ../../source/advanced.rst:441
msgid ""
"Whether to automatically stop the share once files are downloaded the first "
"time. Default: true"
msgstr ""
msgstr "ファイルが最初にダウンロードされた際に共有を自動的に停止するかどうか。デフォ"
"ルト: true"
#: ../../source/advanced.rst:442 ../../source/advanced.rst:467
msgid "filenames"
msgstr ""
msgstr "filenames"
#: ../../source/advanced.rst:442 ../../source/advanced.rst:467
msgid "A list of files to share. Default: []"
msgstr ""
msgstr "共有するファイルのリスト。デフォルト: []"
#: ../../source/advanced.rst:443 ../../source/advanced.rst:466
msgid "log_filenames"
msgstr ""
msgstr "log_filenames"
#: ../../source/advanced.rst:443 ../../source/advanced.rst:466
msgid ""
"Whether to log URL requests to stdout when using the CLI tool. Default: false"
msgstr ""
msgstr "CLI ツールの使用時に URL 要求を stdout に記録するかどうか。デフォルト: false"
#: ../../source/advanced.rst:447
msgid "receive"
msgstr ""
msgstr "receive"
#: ../../source/advanced.rst:452
msgid "data_dir"
msgstr ""
msgstr "data_dir"
#: ../../source/advanced.rst:452
msgid ""
"The path where received files or text messages will be stored. Default: the "
"'OnionShare' folder of the user's home directory."
msgstr ""
msgstr "受信したファイルまたはテキストメッセージが格納されるパス。デフォルト: "
"ユーザーのホームディレクトリーの「OnionShare」フォルダー。"
#: ../../source/advanced.rst:453
msgid "webhook_url"
msgstr ""
msgstr "webhook_url"
#: ../../source/advanced.rst:453
msgid ""
"A webhook URL that OnionShare will POST to when it receives files or text "
"messages. Default: null"
msgstr ""
msgstr "OnionShare がファイルまたはテキストメッセージを受信したときに POST する "
"webhook URL。デフォルト: null"
#: ../../source/advanced.rst:454
msgid "disable_text"
msgstr ""
msgstr "disable_text"
#: ../../source/advanced.rst:454
msgid "Whether to disable receiving text messages. Default: false"
msgstr ""
msgstr "テキストメッセージの受信を無効にするかどうか。デフォルト: false"
#: ../../source/advanced.rst:455
msgid "disable_files"
msgstr ""
msgstr "disable_files"
#: ../../source/advanced.rst:455
msgid "Whether to disable receiving files. Default: false"
msgstr ""
msgstr "ファイルの受信を無効にするかどうか。デフォルト: false"
#: ../../source/advanced.rst:459
msgid "website"
msgstr ""
msgstr "website"
#: ../../source/advanced.rst:464
msgid "disable_csp"
msgstr ""
msgstr "disable_csp"
#: ../../source/advanced.rst:464
msgid ""
"If set to ``true``, OnionShare won't set its default Content Security Policy "
"header for the website. Default: ``false``"
msgstr ""
"``true`` に設定すると、OnionShare "
"はウェブサイトのデフォルトのコンテンツセキュリティポリシーヘッダーを設定しま"
"せん。デフォルト: ``false``"
#: ../../source/advanced.rst:465
#, fuzzy
msgid "custom_csp"
msgstr "カスタムタイトル"
msgstr "custom_csp"
#: ../../source/advanced.rst:465
msgid "A custom Content Security Policy header to send instead of the default."
msgstr ""
msgstr "デフォルトの代わりに送信するカスタムコンテンツセキュリティポリシーヘッダー。"
#: ../../source/advanced.rst:471
msgid "chat"
@ -981,7 +1063,7 @@ msgstr "チャット"
#: ../../source/advanced.rst:473
msgid "There are currently no configurable settings for the Chat mode."
msgstr ""
msgstr "現在、チャットモードの設定はありません。"
#~ msgid ""
#~ "Everything in OnionShare is temporary by default. If you close an "

View file

@ -6,9 +6,9 @@
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2025-02-18 17:24+1100\n"
"PO-Revision-Date: 2025-02-14 00:02+0000\n"
"PO-Revision-Date: 2025-02-21 23:07+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
@ -17,6 +17,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Weblate 5.10.1-dev\n"
"Generated-By: Babel 2.17.0\n"
#: ../../source/advanced.rst:2
@ -447,7 +448,7 @@ msgstr "Windows: ``%APPDATA%\\OnionShare``"
#: ../../source/advanced.rst:315
msgid "Configuration file parameters"
msgstr ""
msgstr "Параметри конфігураційного файлу"
#: ../../source/advanced.rst:317
msgid ""
@ -468,25 +469,25 @@ msgstr ""
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Parameter"
msgstr ""
msgstr "Параметр"
#: ../../source/advanced.rst:322 ../../source/advanced.rst:402
#: ../../source/advanced.rst:413 ../../source/advanced.rst:424
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Type"
msgstr ""
msgstr "Тип"
#: ../../source/advanced.rst:322 ../../source/advanced.rst:402
#: ../../source/advanced.rst:413 ../../source/advanced.rst:424
#: ../../source/advanced.rst:439 ../../source/advanced.rst:450
#: ../../source/advanced.rst:462
msgid "Explanation"
msgstr ""
msgstr "Пояснення"
#: ../../source/advanced.rst:324
msgid "version"
msgstr ""
msgstr "версія"
#: ../../source/advanced.rst:324 ../../source/advanced.rst:325
#: ../../source/advanced.rst:326 ../../source/advanced.rst:328
@ -500,7 +501,7 @@ msgstr ""
#: ../../source/advanced.rst:452 ../../source/advanced.rst:453
#: ../../source/advanced.rst:465
msgid "``string``"
msgstr ""
msgstr "``string``"
#: ../../source/advanced.rst:324
msgid ""
@ -509,7 +510,7 @@ msgstr ""
#: ../../source/advanced.rst:325
msgid "connection_type"
msgstr ""
msgstr "connection_type"
#: ../../source/advanced.rst:325
msgid ""
@ -520,7 +521,7 @@ msgstr ""
#: ../../source/advanced.rst:326
msgid "control_port_address"
msgstr ""
msgstr "control_port_address"
#: ../../source/advanced.rst:326
msgid ""
@ -530,12 +531,12 @@ msgstr ""
#: ../../source/advanced.rst:327
msgid "control_port_port"
msgstr ""
msgstr "control_port_port"
#: ../../source/advanced.rst:327 ../../source/advanced.rst:329
#: ../../source/advanced.rst:335
msgid "``integer``"
msgstr ""
msgstr "``integer``"
#: ../../source/advanced.rst:327
msgid ""
@ -545,7 +546,7 @@ msgstr ""
#: ../../source/advanced.rst:328
msgid "socks_address"
msgstr ""
msgstr "socks_address"
#: ../../source/advanced.rst:328
msgid ""
@ -555,7 +556,7 @@ msgstr ""
#: ../../source/advanced.rst:329
msgid "socks_port"
msgstr ""
msgstr "socks_port"
#: ../../source/advanced.rst:329
msgid ""
@ -565,7 +566,7 @@ msgstr ""
#: ../../source/advanced.rst:330
msgid "socket_file_path"
msgstr ""
msgstr "socket_file_path"
#: ../../source/advanced.rst:330
msgid ""
@ -575,7 +576,7 @@ msgstr ""
#: ../../source/advanced.rst:331
msgid "auth_type"
msgstr ""
msgstr "auth_type"
#: ../../source/advanced.rst:331
msgid ""
@ -585,7 +586,7 @@ msgstr ""
#: ../../source/advanced.rst:332
msgid "auth_password"
msgstr ""
msgstr "auth_password"
#: ../../source/advanced.rst:332
msgid ""
@ -595,7 +596,7 @@ msgstr ""
#: ../../source/advanced.rst:333
msgid "auto_connect"
msgstr ""
msgstr "auto_connect"
#: ../../source/advanced.rst:333 ../../source/advanced.rst:334
#: ../../source/advanced.rst:336 ../../source/advanced.rst:344
@ -606,7 +607,7 @@ msgstr ""
#: ../../source/advanced.rst:455 ../../source/advanced.rst:464
#: ../../source/advanced.rst:466
msgid "``boolean``"
msgstr ""
msgstr "``boolean``"
#: ../../source/advanced.rst:333
msgid ""
@ -616,7 +617,7 @@ msgstr ""
#: ../../source/advanced.rst:334
msgid "use_autoupdate"
msgstr ""
msgstr "use_autoupdate"
#: ../../source/advanced.rst:334
msgid ""
@ -626,7 +627,7 @@ msgstr ""
#: ../../source/advanced.rst:335
msgid "autoupdate_timestamp"
msgstr ""
msgstr "autoupdate_timestamp"
#: ../../source/advanced.rst:335
msgid "The last time OnionShare checked for updates. Default: None"
@ -634,7 +635,7 @@ msgstr ""
#: ../../source/advanced.rst:336
msgid "bridges_enabled"
msgstr ""
msgstr "bridges_enabled"
#: ../../source/advanced.rst:336
msgid "Whether to connect to Tor using bridges. Default: False"
@ -642,7 +643,7 @@ msgstr ""
#: ../../source/advanced.rst:337
msgid "bridges_type"
msgstr ""
msgstr "bridges_type"
#: ../../source/advanced.rst:337
msgid ""
@ -654,7 +655,7 @@ msgstr ""
#: ../../source/advanced.rst:338
msgid "bridges_builtin_pt"
msgstr ""
msgstr "bridges_builtin_pt"
#: ../../source/advanced.rst:338
msgid ""
@ -665,7 +666,7 @@ msgstr ""
#: ../../source/advanced.rst:339
msgid "bridges_moat"
msgstr ""
msgstr "bridges_moat"
#: ../../source/advanced.rst:339
msgid ""
@ -675,7 +676,7 @@ msgstr ""
#: ../../source/advanced.rst:340
msgid "bridges_custom"
msgstr ""
msgstr "bridges_custom"
#: ../../source/advanced.rst:340
msgid ""
@ -686,11 +687,11 @@ msgstr ""
#: ../../source/advanced.rst:341
msgid "bridges_builtin"
msgstr ""
msgstr "bridges_builtin"
#: ../../source/advanced.rst:341
msgid "``dict``"
msgstr ""
msgstr "``dict``"
#: ../../source/advanced.rst:341
msgid ""
@ -700,12 +701,12 @@ msgstr ""
#: ../../source/advanced.rst:342
msgid "persistent_tabs"
msgstr ""
msgstr "persistent_tabs"
#: ../../source/advanced.rst:342 ../../source/advanced.rst:442
#: ../../source/advanced.rst:467
msgid "``list``"
msgstr ""
msgstr "``list``"
#: ../../source/advanced.rst:342
msgid ""
@ -719,7 +720,7 @@ msgstr ""
#: ../../source/advanced.rst:343
msgid "locale"
msgstr ""
msgstr "locale"
#: ../../source/advanced.rst:343
msgid ""
@ -730,7 +731,7 @@ msgstr ""
#: ../../source/advanced.rst:344
msgid "theme"
msgstr ""
msgstr "theme"
#: ../../source/advanced.rst:344
msgid ""
@ -761,12 +762,11 @@ msgstr ""
#: ../../source/advanced.rst:399
msgid "onion"
msgstr ""
msgstr "onion"
#: ../../source/advanced.rst:404
#, fuzzy
msgid "private_key"
msgstr "Вимкнути приватний ключ"
msgstr "private_key"
#: ../../source/advanced.rst:404
msgid "Base64-encoded private key of the onion service"
@ -774,7 +774,7 @@ msgstr ""
#: ../../source/advanced.rst:405
msgid "client_auth_priv_key"
msgstr ""
msgstr "client_auth_priv_key"
#: ../../source/advanced.rst:405
msgid ""
@ -783,7 +783,7 @@ msgstr ""
#: ../../source/advanced.rst:406
msgid "client_auth_pub_key"
msgstr ""
msgstr "client_auth_pub_key"
#: ../../source/advanced.rst:406
msgid ""
@ -796,7 +796,7 @@ msgstr ""
#: ../../source/advanced.rst:415
msgid "mode"
msgstr ""
msgstr "mode"
#: ../../source/advanced.rst:415
msgid ""
@ -806,7 +806,7 @@ msgstr ""
#: ../../source/advanced.rst:416
msgid "enabled"
msgstr ""
msgstr "enabled"
#: ../../source/advanced.rst:416
msgid ""
@ -816,7 +816,7 @@ msgstr ""
#: ../../source/advanced.rst:417
msgid "autostart_on_launch"
msgstr ""
msgstr "autostart_on_launch"
#: ../../source/advanced.rst:417
msgid ""
@ -826,11 +826,11 @@ msgstr ""
#: ../../source/advanced.rst:421
msgid "general"
msgstr ""
msgstr "general"
#: ../../source/advanced.rst:426
msgid "title"
msgstr ""
msgstr "title"
#: ../../source/advanced.rst:426
msgid ""
@ -840,7 +840,7 @@ msgstr ""
#: ../../source/advanced.rst:427
msgid "public"
msgstr ""
msgstr "public"
#: ../../source/advanced.rst:427
msgid ""
@ -850,7 +850,7 @@ msgstr ""
#: ../../source/advanced.rst:428
msgid "autostart_timer"
msgstr ""
msgstr "autostart_timer"
#: ../../source/advanced.rst:428
msgid ""
@ -861,7 +861,7 @@ msgstr ""
#: ../../source/advanced.rst:429
msgid "autostop_timer"
msgstr ""
msgstr "autostop_timer"
#: ../../source/advanced.rst:429
msgid ""
@ -872,7 +872,7 @@ msgstr ""
#: ../../source/advanced.rst:430
msgid "service_id"
msgstr ""
msgstr "service_id"
#: ../../source/advanced.rst:430
msgid ""
@ -887,13 +887,12 @@ msgid ""
msgstr ""
#: ../../source/advanced.rst:436
#, fuzzy
msgid "share"
msgstr "Користування"
msgstr "share"
#: ../../source/advanced.rst:441
msgid "autostop_sharing"
msgstr ""
msgstr "autostop_sharing"
#: ../../source/advanced.rst:441
msgid ""
@ -903,7 +902,7 @@ msgstr ""
#: ../../source/advanced.rst:442 ../../source/advanced.rst:467
msgid "filenames"
msgstr ""
msgstr "filenames"
#: ../../source/advanced.rst:442 ../../source/advanced.rst:467
msgid "A list of files to share. Default: []"
@ -911,7 +910,7 @@ msgstr ""
#: ../../source/advanced.rst:443 ../../source/advanced.rst:466
msgid "log_filenames"
msgstr ""
msgstr "log_filenames"
#: ../../source/advanced.rst:443 ../../source/advanced.rst:466
msgid ""
@ -920,11 +919,11 @@ msgstr ""
#: ../../source/advanced.rst:447
msgid "receive"
msgstr ""
msgstr "receive"
#: ../../source/advanced.rst:452
msgid "data_dir"
msgstr ""
msgstr "data_dir"
#: ../../source/advanced.rst:452
msgid ""
@ -934,7 +933,7 @@ msgstr ""
#: ../../source/advanced.rst:453
msgid "webhook_url"
msgstr ""
msgstr "webhook_url"
#: ../../source/advanced.rst:453
msgid ""
@ -944,7 +943,7 @@ msgstr ""
#: ../../source/advanced.rst:454
msgid "disable_text"
msgstr ""
msgstr "disable_text"
#: ../../source/advanced.rst:454
msgid "Whether to disable receiving text messages. Default: false"
@ -952,7 +951,7 @@ msgstr ""
#: ../../source/advanced.rst:455
msgid "disable_files"
msgstr ""
msgstr "disable_files"
#: ../../source/advanced.rst:455
msgid "Whether to disable receiving files. Default: false"
@ -960,11 +959,11 @@ msgstr ""
#: ../../source/advanced.rst:459
msgid "website"
msgstr ""
msgstr "вебсайт"
#: ../../source/advanced.rst:464
msgid "disable_csp"
msgstr ""
msgstr "disable_csp"
#: ../../source/advanced.rst:464
msgid ""
@ -973,9 +972,8 @@ msgid ""
msgstr ""
#: ../../source/advanced.rst:465
#, fuzzy
msgid "custom_csp"
msgstr "Власні заголовки"
msgstr "custom_csp"
#: ../../source/advanced.rst:465
msgid "A custom Content Security Policy header to send instead of the default."
@ -983,7 +981,7 @@ msgstr ""
#: ../../source/advanced.rst:471
msgid "chat"
msgstr ""
msgstr "chat"
#: ../../source/advanced.rst:473
msgid "There are currently no configurable settings for the Chat mode."

View file

@ -79,8 +79,8 @@ sources:
url: https://files.pythonhosted.org/packages/68/5f/447e04e828f47465eeab35b5d408b7ebaaaee207f48b7136c5a7267a30ae/itsdangerous-2.1.2-py3-none-any.whl
sha256: 2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44
- type: file
url: https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl
sha256: aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb
url: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl
sha256: 85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
- type: file
url: https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz
sha256: d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b

49
setup-project.sh Executable file
View file

@ -0,0 +1,49 @@
#!/bin/bash
OS=$(uname -s)
if [ "$OS" == "Linux" ]; then
# Check poetry installation and exit if no installation found.
if ! command -v poetry 2>&1 >/dev/null
then
echo "Could not detect Poetry installation. Please make sure you install Poetry first.
See https://python-poetry.org/docs/#installation or run pip3 install poetry"
exit 1
fi
# Check golang installation and exit if no installation found.
if ! command -v go 2>&1 >/dev/null
then
echo "Could not detect Go installation. Please make sure you install Go first.
See https://go.dev/doc/install"
exit 1
fi
# setup environment
cd cli
poetry install
echo "OnionShare CLI is installed!"
cd ../desktop
poetry install
# setup tor
poetry run python ./scripts/get-tor.py linux-x86_64
echo "Tor is installed"
# compile dependencies
./scripts/build-pt-obfs4proxy.sh
./scripts/build-pt-snowflake.sh
./scripts/build-pt-meek.sh
# add alias
echo "alias onionshare='cd $(pwd) && poetry run onionshare'" >> ~/.bash_aliases
echo "alias onionshare-cli='cd $(pwd) && poetry run onionshare-cli'" >> ~/.bash_aliases
source ~/.bash_aliases
echo "OnionShare Desktop is now installed"
echo "Try running 'onionshare' to start onionshare server from source tree"
echo "Restart a new terminal if the above doesnt work"
echo "Checkout desktop/README.md for more info"
else
echo "This script only works in linux distros, Try cli/README.md, desktop/README.md for installation steps"
exit 1
fi

View file

@ -455,9 +455,9 @@ idna==3.10 ; python_version >= "3.10" and python_version < "3.13" \
itsdangerous==2.1.2 ; python_version >= "3.10" and python_version < "3.13" \
--hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \
--hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a
jinja2==3.1.5 ; python_version >= "3.10" and python_version < "3.13" \
--hash=sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb \
--hash=sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb
jinja2==3.1.6 ; python_version >= "3.10" and python_version < "3.13" \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "3.13" \
--hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \
--hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \

View file

@ -455,9 +455,9 @@ idna==3.10 ; python_version >= "3.10" and python_version < "3.13" and (platform_
itsdangerous==2.1.2 ; python_version >= "3.10" and python_version < "3.13" and (platform_machine == "x86_64" or platform_machine == "i686" or platform_machine == "aarch64" or platform_machine == "armv7l" or platform_machine == "ppc64le" or platform_machine == "s390x" or sys_platform != "linux" or platform_machine != "x86_64" and platform_machine != "i686" and platform_machine != "aarch64" and platform_machine != "armv7l" and platform_machine != "ppc64le" and platform_machine != "s390x") \
--hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \
--hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a
jinja2==3.1.5 ; python_version >= "3.10" and python_version < "3.13" and (platform_machine == "x86_64" or platform_machine == "i686" or platform_machine == "aarch64" or platform_machine == "armv7l" or platform_machine == "ppc64le" or platform_machine == "s390x" or sys_platform != "linux" or platform_machine != "x86_64" and platform_machine != "i686" and platform_machine != "aarch64" and platform_machine != "armv7l" and platform_machine != "ppc64le" and platform_machine != "s390x") \
--hash=sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb \
--hash=sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb
jinja2==3.1.6 ; python_version >= "3.10" and python_version < "3.13" and (platform_machine == "x86_64" or platform_machine == "i686" or platform_machine == "aarch64" or platform_machine == "armv7l" or platform_machine == "ppc64le" or platform_machine == "s390x" or sys_platform != "linux" or platform_machine != "x86_64" and platform_machine != "i686" and platform_machine != "aarch64" and platform_machine != "armv7l" and platform_machine != "ppc64le" and platform_machine != "s390x") \
--hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \
--hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67
markupsafe==2.1.5 ; python_version >= "3.10" and python_version < "3.13" and (platform_machine == "x86_64" or platform_machine == "i686" or platform_machine == "aarch64" or platform_machine == "armv7l" or platform_machine == "ppc64le" or platform_machine == "s390x" or sys_platform != "linux" or platform_machine != "x86_64" and platform_machine != "i686" and platform_machine != "aarch64" and platform_machine != "armv7l" and platform_machine != "ppc64le" and platform_machine != "s390x") \
--hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \
--hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \