merge from develop and fix conflicts, update poetry

This commit is contained in:
Miguel Jacq 2021-05-06 14:30:29 +10:00
commit b385d6bac7
No known key found for this signature in database
GPG Key ID: EEA4341C6D97A0B6
96 changed files with 3838 additions and 2291 deletions

View File

@ -1,5 +1,14 @@
# OnionShare Changelog
## 2.3.2
* New feature: Receive mode supports custom titles
* New feature: Receive mode supports notification webhooks
* New feature: Receive mode supports submitting messages as well files
* New feature: New ASCII art banner and prettier verbose output
* New feature: Partial support for range requests (pausing and resuming in HTTP)
* Various bug fixes
## 2.3.1
* Bugfix: Fix chat mode

View File

@ -14,6 +14,11 @@ Before making a release, you must update the version in these places:
- [ ] `docs/source/conf.py` (`version` at the top, and the `versions` list too)
- [ ] `snap/snapcraft.yaml`
Use tor binaries from the latest Tor Browser:
- [ ] `desktop/scripts/get-tor-osx.py`
- [ ] `desktop/scripts/get-tor-windows.py`
Update the documentation:
- [ ] Update all of the documentation in `docs` to cover new features, including taking new screenshots if necessary

View File

@ -1,24 +1,23 @@
```
@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ___ _
@@@@@@ @@@@@@@@@@@@@ / _ \ (_)
@@@@ @ @@@@@@@@@@@ | | | |_ __ _ ___ _ __
@@@@@@@@ @@@@@@@@@@ | | | | '_ \| |/ _ \| '_ \
@@@@@@@@@@@@ @@@@@@@@@@ \ \_/ / | | | | (_) | | | |
@@@@@@@@@@@@@@@@ @@@@@@@@@ \___/|_| |_|_|\___/|_| |_|
@@@@@@@@@ @@@@@@@@@@@@@@@@ _____ _
@@@@@@@@@@ @@@@@@@@@@@@ / ___| |
@@@@@@@@@@ @@@@@@@@ \ `--.| |__ __ _ _ __ ___
@@@@@@@@@@@ @ @@@@ `--. \ '_ \ / _` | '__/ _ \
@@@@@@@@@@@@@ @@@@@@ /\__/ / | | | (_| | | | __/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \____/|_| |_|\__,_|_| \___|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@
╭───────────────────────────────────────────╮
* ▄▄█████▄▄ *
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
* ▀██▄ ▄█▄▄ *
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
```
## Installing OnionShare CLI

View File

@ -18,13 +18,22 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import os, sys, time, argparse, threading
import os
import sys
import time
import argparse
import threading
from datetime import datetime
from datetime import timedelta
from .common import Common, CannotFindTor
from .web import Web
from .onion import *
from .onion import (
TorErrorProtocolError,
TorTooOldEphemeral,
TorTooOldStealth,
Onion,
)
from .onionshare import OnionShare
from .mode_settings import ModeSettings
@ -148,6 +157,18 @@ def main(cwd=None):
default=None,
help="Receive files: URL to receive webhook notifications",
)
parser.add_argument(
"--disable-text",
action="store_true",
dest="disable_text",
help="Receive files: Disable receiving text messages",
)
parser.add_argument(
"--disable-files",
action="store_true",
dest="disable_files",
help="Receive files: Disable receiving files",
)
# Website args
parser.add_argument(
"--disable_csp",
@ -191,6 +212,8 @@ def main(cwd=None):
autostop_sharing = not bool(args.no_autostop_sharing)
data_dir = args.data_dir
webhook_url = args.webhook_url
disable_text = args.disable_text
disable_files = args.disable_files
disable_csp = bool(args.disable_csp)
verbose = bool(args.verbose)
@ -234,6 +257,8 @@ def main(cwd=None):
mode_settings.set("receive", "data_dir", data_dir)
if webhook_url:
mode_settings.set("receive", "webhook_url", webhook_url)
mode_settings.set("receive", "disable_text", disable_text)
mode_settings.set("receive", "disable_files", disable_files)
if mode == "website":
mode_settings.set("website", "disable_csp", disable_csp)
else:
@ -276,6 +301,11 @@ def main(cwd=None):
if persistent_filename:
mode_settings.set(mode, "filenames", filenames)
# In receive mode, you must allows either text, files, or both
if mode == "receive" and disable_text and disable_files:
print("You cannot disable both text and files")
sys.exit()
# Create the Web object
web = Web(common, False, mode_settings, mode)
@ -299,7 +329,7 @@ def main(cwd=None):
except KeyboardInterrupt:
print("")
sys.exit()
except Exception as e:
except Exception:
sys.exit()
# Start the onionshare app
@ -343,7 +373,9 @@ def main(cwd=None):
)
print("")
print(
"Warning: Receive mode lets people upload files to your computer. Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing."
"Warning: Receive mode lets people upload files to your computer. Some files can potentially take "
"control of your computer if you open them. Only open things from people you trust, or if you know "
"what you are doing."
)
print("")
if mode_settings.get("general", "client_auth"):
@ -394,7 +426,6 @@ def main(cwd=None):
print("Compressing files.")
try:
web.share_mode.set_file_info(filenames)
app.cleanup_filenames += web.share_mode.cleanup_filenames
except OSError as e:
print(e.strerror)
sys.exit(1)
@ -437,7 +468,9 @@ def main(cwd=None):
)
print("")
print(
"Warning: Receive mode lets people upload files to your computer. Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing."
"Warning: Receive mode lets people upload files to your computer. Some files can potentially take "
"control of your computer if you open them. Only open things from people you trust, or if you know "
"what you are doing."
)
print("")
@ -486,7 +519,7 @@ def main(cwd=None):
web.stop(app.port)
finally:
# Shutdown
app.cleanup()
web.cleanup()
onion.cleanup()

View File

@ -29,6 +29,9 @@ import time
import shutil
from pkg_resources import resource_filename
import colorama
from colorama import Fore, Back, Style
from .settings import Settings
@ -43,18 +46,11 @@ class Common:
The Common object is shared amongst all parts of OnionShare.
"""
C_RESET = "\033[0m"
C_BG_PURPLE = "\033[45m"
C_BOLD = "\033[01m"
C_WHITE = "\033[97m"
C_LIGHTGRAY = "\033[37m"
C_DARKGRAY = "\033[90m"
C_LIGHTPURPLE = "\033[95m"
C_DARKPURPLE = "\033[35m"
def __init__(self, verbose=False):
self.verbose = verbose
colorama.init(autoreset=True)
# The platform OnionShare is running on
self.platform = platform.system()
if self.platform.endswith("BSD") or self.platform == "DragonFly":
@ -90,219 +86,195 @@ class Common:
"""
if self.platform == "Windows":
pass
else:
pass
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
+ "╭───────────────────────────────────────────╮"
+ self.C_RESET
Back.MAGENTA + Fore.WHITE + "╭───────────────────────────────────────────╮"
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_WHITE
+ Fore.WHITE
+ "▄▄█████▄▄"
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▄████▀▀▀████▄"
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▀▀█▀ ▀██▄ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_WHITE
+ Fore.WHITE
+ "▄█▄ ▀██▄ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▄█████▄ ███"
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " -+- "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ███ ▀█████▀ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▀██▄ ▀█▀ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_WHITE
+ Fore.WHITE
+ "▀██▄ ▄█▄▄"
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " * "
+ self.C_WHITE
+ Fore.WHITE
+ "▀████▄▄▄████▀ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▀▀█████▀▀ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTPURPLE
+ Fore.LIGHTMAGENTA_EX
+ " -+- * "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▄▀▄ ▄▀▀ █ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " █ █ ▀ ▀▄ █ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_WHITE
+ Fore.WHITE
+ " ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
+ "│ │"
+ self.C_RESET
Back.MAGENTA + Fore.WHITE + "│ │"
)
left_spaces = (43 - len(self.version) - 1) // 2
right_spaces = left_spaces
if left_spaces + len(self.version) + right_spaces < 43:
right_spaces += 1
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ f"{' '*left_spaces}v{self.version}{' '*right_spaces}"
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
+ "│ │"
+ self.C_RESET
Back.MAGENTA + Fore.WHITE + "│ │"
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
Back.MAGENTA
+ Fore.WHITE
+ ""
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ " https://onionshare.org/ "
+ self.C_LIGHTGRAY
+ Fore.WHITE
+ ""
+ self.C_RESET
)
print(
self.C_BG_PURPLE
+ self.C_LIGHTGRAY
+ "╰───────────────────────────────────────────╯"
+ self.C_RESET
Back.MAGENTA + Fore.WHITE + "╰───────────────────────────────────────────╯"
)
print()
@ -319,9 +291,11 @@ class Common:
"""
if self.verbose:
timestamp = time.strftime("%b %d %Y %X")
final_msg = f"{self.C_DARKGRAY}[{timestamp}]{self.C_RESET} {self.C_LIGHTGRAY}{module}.{func}{self.C_RESET}"
final_msg = f"{Fore.LIGHTBLACK_EX + Style.DIM}[{timestamp}]{Style.RESET_ALL} {Fore.WHITE + Style.DIM}{module}.{func}{Style.RESET_ALL}"
if msg:
final_msg = f"{final_msg}{self.C_LIGHTGRAY}: {msg}{self.C_RESET}"
final_msg = (
f"{final_msg}{Fore.WHITE + Style.DIM}: {msg}{Style.RESET_ALL}"
)
print(final_msg)
def get_resource_path(self, filename):
@ -383,7 +357,7 @@ class Common:
try:
xdg_config_home = os.environ["XDG_CONFIG_HOME"]
onionshare_data_dir = f"{xdg_config_home}/onionshare"
except:
except Exception:
onionshare_data_dir = os.path.expanduser("~/.config/onionshare")
elif self.platform == "Darwin":
onionshare_data_dir = os.path.expanduser(
@ -393,7 +367,7 @@ class Common:
try:
xdg_config_home = os.environ["XDG_CONFIG_HOME"]
onionshare_data_dir = f"{xdg_config_home}/onionshare"
except:
except Exception:
onionshare_data_dir = os.path.expanduser("~/.config/onionshare")
# Modify the data dir if running tests

View File

@ -55,6 +55,8 @@ class ModeSettings:
"receive": {
"data_dir": self.build_default_receive_data_dir(),
"webhook_url": None,
"disable_text": False,
"disable_files": False,
},
"website": {"disable_csp": False, "filenames": []},
"chat": {"room": "default"},
@ -128,7 +130,7 @@ class ModeSettings:
self.fill_in_defaults()
self.common.log("ModeSettings", "load", f"loaded {self.filename}")
return
except:
except Exception:
pass
# If loading settings didn't work, create the settings file

View File

@ -236,7 +236,7 @@ class Onion(object):
)
try:
self.tor_socks_port = self.common.get_available_port(1000, 65535)
except:
except Exception:
print("OnionShare port not available")
raise PortNotAvailable()
self.tor_torrc = os.path.join(self.tor_data_directory_name, "torrc")
@ -258,7 +258,7 @@ class Onion(object):
proc.terminate()
proc.wait()
break
except:
except Exception:
pass
if self.common.platform == "Windows" or self.common.platform == "Darwin":
@ -269,7 +269,7 @@ class Onion(object):
torrc_template += "ControlPort {{control_port}}\n"
try:
self.tor_control_port = self.common.get_available_port(1000, 65535)
except:
except Exception:
print("OnionShare port not available")
raise PortNotAvailable()
self.tor_control_socket = None
@ -442,7 +442,7 @@ class Onion(object):
try:
self.c = Controller.from_port(port=int(env_port))
found_tor = True
except:
except Exception:
pass
else:
@ -452,7 +452,7 @@ class Onion(object):
for port in ports:
self.c = Controller.from_port(port=port)
found_tor = True
except:
except Exception:
pass
# If this still didn't work, try guessing the default socket file path
@ -466,7 +466,7 @@ class Onion(object):
self.c = Controller.from_socket_file(path=socket_file_path)
found_tor = True
except:
except Exception:
pass
# If connecting to default control ports failed, so let's try
@ -488,14 +488,14 @@ class Onion(object):
self.c = Controller.from_socket_file(path=socket_file_path)
except:
except Exception:
print(automatic_error)
raise TorErrorAutomatic()
# Try authenticating
try:
self.c.authenticate()
except:
except Exception:
print(automatic_error)
raise TorErrorAutomatic()
@ -518,7 +518,7 @@ class Onion(object):
print(invalid_settings_error)
raise TorErrorInvalidSetting()
except:
except Exception:
if self.settings.get("connection_type") == "control_port":
print(
"Can't connect to the Tor controller at {}:{}.".format(
@ -597,8 +597,8 @@ class Onion(object):
tmp_service_id = res.service_id
self.c.remove_ephemeral_hidden_service(tmp_service_id)
self.supports_stealth = True
except:
# ephemeral v3 stealth onion services are not supported
except Exception:
# ephemeral stealth onion services are not supported
self.supports_stealth = False
# Does this version of Tor support next-gen ('v3') onions?
@ -716,7 +716,7 @@ class Onion(object):
self.c.remove_ephemeral_hidden_service(
mode_settings.get("general", "service_id")
)
except:
except Exception:
self.common.log(
"Onion", "stop_onion_service", f"failed to remove {onion_host}"
)
@ -737,12 +737,12 @@ class Onion(object):
"Onion", "cleanup", f"trying to remove onion {onion_host}"
)
self.c.remove_ephemeral_hidden_service(service_id)
except:
except Exception:
self.common.log(
"Onion", "cleanup", f"failed to remove onion {onion_host}"
)
pass
except:
except Exception:
pass
if stop_tor:
@ -785,7 +785,7 @@ class Onion(object):
)
symbols_i = (symbols_i + 1) % len(symbols)
time.sleep(1)
except:
except Exception:
pass
self.tor_proc.terminate()
@ -805,7 +805,7 @@ class Onion(object):
"cleanup",
"Tried to kill tor process but it's still running",
)
except:
except Exception:
self.common.log(
"Onion", "cleanup", "Exception while killing tor process"
)
@ -818,7 +818,7 @@ class Onion(object):
# Delete the temporary tor data directory
if self.use_tmp_dir:
self.tor_data_directory.cleanup()
except:
except Exception:
pass
def get_tor_socks_port(self):

View File

@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import os, shutil
import os
from .common import AutoStopTimer
@ -57,7 +57,7 @@ class OnionShare(object):
"""
try:
self.port = self.common.get_available_port(17600, 17650)
except:
except Exception:
raise OSError("Cannot find an available OnionShare port")
def start_onion_service(self, mode, mode_settings, await_publication=True):
@ -88,21 +88,3 @@ class OnionShare(object):
Stop the onion service
"""
self.onion.stop_onion_service(mode_settings)
def cleanup(self):
"""
Shut everything down and clean up temporary files, etc.
"""
self.common.log("OnionShare", "cleanup")
# Cleanup files
try:
for filename in self.cleanup_filenames:
if os.path.isfile(filename):
os.remove(filename)
elif os.path.isdir(filename):
shutil.rmtree(filename)
except:
# Don't crash if file is still in use
pass
self.cleanup_filenames = []

View File

@ -285,6 +285,13 @@ ul.breadcrumbs li a:link, ul.breadcrumbs li a:visited {
margin: 0 0 20px 0;
}
.upload-wrapper textarea {
max-width: 95%;
width: 600px;
height: 150px;
padding: 10px;
}
div#uploads {
width: 800px;
max-width: 90%;

View File

@ -1,24 +1,35 @@
$(function(){
$(function () {
// Add a flash message
var flash = function(category, message) {
var flash = function (category, message) {
$('#flashes').append($('<li>').addClass(category).text(message));
};
var scriptSrc = document.getElementById('receive-script').src;
var staticImgPath = scriptSrc.substr(0, scriptSrc.lastIndexOf( '/' )+1).replace('js', 'img');
var staticImgPath = scriptSrc.substr(0, scriptSrc.lastIndexOf('/') + 1).replace('js', 'img');
// Intercept submitting the form
$('#send').submit(function(event){
$('#send').submit(function (event) {
event.preventDefault();
// Create form data, and list of filenames
var files = $('#file-select').get(0).files;
var filenames = [];
// Build the form data
var formData = new FormData();
for(var i = 0; i < files.length; i++) {
var file = files[i];
filenames.push(file.name);
formData.append('file[]', file, file.name);
// Files
var filenames = [];
var $fileSelect = $('#file-select');
if ($fileSelect.length > 0) {
var files = $fileSelect.get(0).files;
for (var i = 0; i < files.length; i++) {
var file = files[i];
filenames.push(file.name);
formData.append('file[]', file, file.name);
}
}
// Text message
var $text = $('#text');
if ($text.length > 0) {
formData.append("text", $text.val())
}
// Reset the upload form
@ -28,9 +39,9 @@ $(function(){
// have access to the the XMLHttpRequest object
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener('progress', function(event){
ajax.upload.addEventListener('progress', function (event) {
// Update progress bar for this specific upload
if(event.lengthComputable) {
if (event.lengthComputable) {
$('progress', ajax.$upload_div).attr({
value: event.loaded,
max: event.total,
@ -39,13 +50,13 @@ $(function(){
// If it's finished sending all data to the first Tor node, remove cancel button
// and update the status
if(event.loaded == event.total) {
if (event.loaded == event.total) {
$('.cancel', ajax.$upload_div).remove();
$('.upload-status', ajax.$upload_div).html('<img src="' + staticImgPath + '/ajax.gif" alt="" /> Waiting for data to finish traversing Tor network ...');
}
}, false);
ajax.addEventListener('load', function(event){
ajax.addEventListener('load', function (event) {
// Remove the upload div
ajax.$upload_div.remove();
@ -54,38 +65,38 @@ $(function(){
var response = JSON.parse(ajax.response);
// The 'new_body' response replaces the whole HTML document and ends
if('new_body' in response) {
if ('new_body' in response) {
$('body').html(response['new_body']);
return;
}
// Show error flashes
if('error_flashes' in response) {
for(var i=0; i<response['error_flashes'].length; i++) {
if ('error_flashes' in response) {
for (var i = 0; i < response['error_flashes'].length; i++) {
flash('error', response['error_flashes'][i]);
}
}
// Show info flashes
if('info_flashes' in response) {
for(var i=0; i<response['info_flashes'].length; i++) {
if ('info_flashes' in response) {
for (var i = 0; i < response['info_flashes'].length; i++) {
flash('info', response['info_flashes'][i]);
}
}
} catch(e) {
flash('error', 'Invalid response from server: '+data);
} catch (e) {
flash('error', 'Invalid response from server: ' + data);
}
}, false);
ajax.addEventListener('error', function(event){
flash('error', 'Error uploading: '+filenames.join(', '));
ajax.addEventListener('error', function (event) {
flash('error', 'Error uploading: ' + filenames.join(', '));
// Remove the upload div
ajax.$upload_div.remove()
}, false);
ajax.addEventListener('abort', function(event){
flash('error', 'Upload aborted: '+filenames.join(', '));
ajax.addEventListener('abort', function (event) {
flash('error', 'Upload aborted: ' + filenames.join(', '));
}, false);
// Make the upload div
@ -114,7 +125,7 @@ $(function(){
)
.append($progress);
$cancel_button.click(function(){
$cancel_button.click(function () {
// Abort the upload, and remove the upload div
ajax.abort();
$upload_div.remove()

View File

@ -19,8 +19,18 @@
<div class="upload-wrapper">
<p><img class="logo" src="{{ static_url_path }}/img/logo_large.png" title="OnionShare"></p>
<p class="upload-header">Send Files</p>
<p class="upload-description">Select the files you want to send, then click "Send Files"...</p>
{% if not disable_text and not disable_files %}
<p class="upload-header">Submit Files or Messages</p>
<p class="upload-description">You can submit files, a message, or both</p>
{% endif %}
{% if not disable_text and disable_files %}
<p class="upload-header">Submit Messages</p>
<p class="upload-description">You can submit a message</p>
{% endif %}
{% if disable_text and not disable_files %}
<p class="upload-header">Submit Files</p>
<p class="upload-description">You can submit files</p>
{% endif %}
<div id="uploads"></div>
@ -37,8 +47,13 @@
</div>
<form id="send" method="post" enctype="multipart/form-data" action="/upload">
{% if not disable_files %}
<p><input type="file" id="file-select" name="file[]" multiple /></p>
<p><button type="submit" id="send-button" class="button">Send Files</button></p>
{% endif %}
{% if not disable_text %}
<p><textarea id="text" name="text" placeholder="Write a message"></textarea></p>
{% endif %}
<p><button type="submit" id="send-button" class="button">Submit</button></p>
</form>
</div>

View File

@ -1,27 +1,16 @@
Bridge obfs4 154.35.22.10:80 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0
Bridge obfs4 83.212.101.3:50002 A09D536DD1752D542E1FBB3C9CE4449D51298239 cert=lPRQ/MXdD1t5SRZ9MquYQNT9m5DV757jtdXdlePmRCudUU9CFUOX1Tm7/meFSyPOsud7Cw iat-mode=0
Bridge obfs4 109.105.109.165:10527 8DFCD8FB3285E855F5A55EDDA35696C743ABFC4E cert=Bvg/itxeL4TWKLP6N1MaQzSOC6tcRIBv6q57DYAZc3b2AzuM+/TfB7mqTFEfXILCjEwzVA iat-mode=1
Bridge obfs4 154.35.22.11:80 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0
Bridge obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0
Bridge obfs4 154.35.22.9:443 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0
Bridge obfs4 154.35.22.11:443 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0
Bridge obfs4 154.35.22.13:443 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0
Bridge obfs4 154.35.22.10:443 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0
Bridge obfs4 154.35.22.9:80 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0
Bridge obfs4 192.99.11.54:443 7B126FAB960E5AC6A629C729434FF84FB5074EC2 cert=VW5f8+IBUWpPFxF+rsiVy2wXkyTQG7vEd+rHeN2jV5LIDNu8wMNEOqZXPwHdwMVEBdqXEw iat-mode=0
Bridge obfs4 154.35.22.13:16815 FE7840FE1E21FE0A0639ED176EDA00A3ECA1E34D cert=fKnzxr+m+jWXXQGCaXe4f2gGoPXMzbL+bTBbXMYXuK0tMotd+nXyS33y2mONZWU29l81CA iat-mode=0
Bridge obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0
Bridge obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1
Bridge obfs4 154.35.22.11:16488 A832D176ECD5C7C6B58825AE22FC4C90FA249637 cert=YPbQqXPiqTUBfjGFLpm9JYEFTBvnzEJDKJxXG5Sxzrr/v2qrhGU4Jls9lHjLAhqpXaEfZw iat-mode=0
Bridge obfs4 154.35.22.9:12166 C73ADBAC8ADFDBF0FC0F3F4E8091C0107D093716 cert=gEGKc5WN/bSjFa6UkG9hOcft1tuK+cV8hbZ0H6cqXiMPLqSbCh2Q3PHe5OOr6oMVORhoJA iat-mode=0
Bridge obfs4 109.105.109.147:13764 BBB28DF0F201E706BE564EFE690FE9577DD8386D cert=KfMQN/tNMFdda61hMgpiMI7pbwU1T+wxjTulYnfw+4sgvG0zSH7N7fwT10BI8MUdAD7iJA iat-mode=2
Bridge obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1
Bridge obfs4 [2001:470:b381:bfff:216:3eff:fe23:d6c3]:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1
Bridge obfs4 85.17.30.79:443 FC259A04A328A07FED1413E9FC6526530D9FD87A cert=RutxZlu8BtyP+y0NX7bAVD41+J/qXNhHUrKjFkRSdiBAhIHIQLhKQ2HxESAKZprn/lR3KA iat-mode=0
Bridge obfs4 154.35.22.10:15937 8FB9F4319E89E5C6223052AA525A192AFBC85D55 cert=GGGS1TX4R81m3r0HBl79wKy1OtPPNR2CZUIrHjkRg65Vc2VR8fOyo64f9kmT1UAFG7j0HQ iat-mode=0
Bridge obfs4 37.218.240.34:40035 88CD36D45A35271963EF82E511C8827A24730913 cert=eGXYfWODcgqIdPJ+rRupg4GGvVGfh25FWaIXZkit206OSngsp7GAIiGIXOJJROMxEqFKJg iat-mode=1
Bridge obfs4 192.95.36.142:443 CDF2E852BF539B82BD10E27E9115A31734E378C2 cert=qUVQ0srL1JI/vO6V6m/24anYXiJD3QP2HgzUKQtQ7GRqqUvs7P+tG43RtAqdhLOALP7DJQ iat-mode=1
Bridge obfs4 154.35.22.12:80 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0
Bridge obfs4 38.229.1.78:80 C8CBDB2464FC9804A69531437BCF2BE31FDD2EE4 cert=Hmyfd2ev46gGY7NoVxA9ngrPF2zCZtzskRTzoWXbxNkzeVnGFPWmrTtILRyqCTjHR+s9dg iat-mode=1
Bridge obfs4 38.229.33.83:80 0BAC39417268B96B9F514E7F63FA6FBA1A788955 cert=VwEFpk9F/UN9JED7XpG1XOjm/O8ZCXK80oPecgWnNDZDv5pdkhq1OpbAH0wNqOT6H6BmRQ iat-mode=1
Bridge obfs4 37.218.245.14:38224 D9A82D2F9C2F65A18407B1D2B764F130847F8B5D cert=bjRaMrr1BRiAW8IE9U5z27fQaYgOhX1UCmOpg2pFpoMvo6ZgQMzLsaTzzQNTlm7hNcb+Sg iat-mode=0
Bridge obfs4 85.31.186.98:443 011F2599C0E9B27EE74B353155E244813763C3E5 cert=ayq0XzCwhpdysn5o0EyDUbmSOx3X/oTEbzDMvczHOdBJKlvIdHHLJGkZARtT4dcBFArPPg iat-mode=0
Bridge obfs4 154.35.22.12:4304 00DC6C4FA49A65BD1472993CF6730D54F11E0DBB cert=N86E9hKXXXVz6G7w2z8wFfhIDztDAzZ/3poxVePHEYjbKDWzjkRDccFMAnhK75fc65pYSg iat-mode=0
Bridge obfs4 85.31.186.26:443 91A6354697E6B02A386312F68D82CF86824D3606 cert=PBwr+S8JTVZo6MPdHnkTwXJPILWADLqfMGoVvhZClMq/Urndyd42BwX9YFJHZnBB3H0XCw iat-mode=0
Bridge obfs4 144.217.20.138:80 FB70B257C162BF1038CA669D568D76F5B7F0BABB cert=vYIV5MgrghGQvZPIi1tJwnzorMgqgmlKaB77Y3Z9Q/v94wZBOAXkW+fdx4aSxLVnKO+xNw iat-mode=0
Bridge obfs4 193.11.166.194:27015 2D82C2E354D531A68469ADF7F878FA6060C6BACA cert=4TLQPJrTSaDffMK7Nbao6LC7G9OW/NHkUwIdjLSS3KYf0Nv4/nQiiI8dY2TcsQx01NniOg iat-mode=0
Bridge obfs4 193.11.166.194:27020 86AC7B8D430DAC4117E9F42C9EAED18133863AAF cert=0LDeJH4JzMDtkJJrFphJCiPqKx7loozKN7VNfuukMGfHO0Z8OGdzHVkhVAOfo1mUdv9cMg iat-mode=0
Bridge obfs4 193.11.166.194:27025 1AE2C08904527FEA90C4C4F8C1083EA59FBC6FAF cert=ItvYZzW5tn6v3G4UnQa6Qz04Npro6e81AP70YujmK/KXwDFPTs3aHXcHp4n8Vt6w/bv8cA iat-mode=0
Bridge obfs4 209.148.46.65:443 74FAD13168806246602538555B5521A0383A1875 cert=ssH+9rP8dG2NLDN2XuFw63hIO/9MNNinLmxQDpVa+7kTOa9/m+tGWT1SmSYpQ9uTBGa6Hw iat-mode=0
Bridge obfs4 146.57.248.225:22 10A6CD36A537FCE513A322361547444B393989F0 cert=K1gDtDAIcUfeLqbstggjIw2rtgIKqdIhUlHp82XRqNSq/mtAjp1BIC9vHKJ2FAEpGssTPw iat-mode=0
Bridge obfs4 45.145.95.6:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
Bridge obfs4 [2a0c:4d80:42:702::1]:27015 C5B7CD6946FF10C5B3E89691A7D3F2C122D2117C cert=TD7PbUO0/0k6xYHMPW3vJxICfkMZNdkRrb63Zhl5j9dW3iRGiCx0A7mPhe5T2EDzQ35+Zw iat-mode=0
Bridge obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0
UseBridges 1

View File

@ -1 +1 @@
2.3.1
2.3.2.dev1

View File

@ -22,12 +22,6 @@ import json
import os
import locale
try:
# We only need pwd module in macOS, and it's not available in Windows
import pwd
except:
pass
class Settings(object):
"""
@ -166,13 +160,13 @@ class Settings(object):
with open(self.filename, "r") as f:
self._settings = json.load(f)
self.fill_in_defaults()
except:
except Exception:
pass
# Make sure data_dir exists
try:
os.makedirs(self.get("data_dir"), exist_ok=True)
except:
except Exception:
pass
def save(self):
@ -191,7 +185,7 @@ class Settings(object):
if key == "control_port_port" or key == "socks_port":
try:
val = int(val)
except:
except Exception:
if key == "control_port_port":
val = self.default_settings["control_port_port"]
elif key == "socks_port":

View File

@ -26,6 +26,26 @@ from datetime import datetime
from flask import Request, request, render_template, make_response, flash, redirect
from werkzeug.utils import secure_filename
# Receive mode uses a special flask requests object, ReceiveModeRequest, in
# order to keep track of upload progress. Here's what happens when someone
# uploads files:
# - new ReceiveModeRequest object is created
# - ReceiveModeRequest.__init__
# - creates a directory based on the timestamp
# - creates empty self.progress = dict, which will map uploaded files to their upload progress
# - ReceiveModeRequest._get_file_stream
# - called for each file that gets upload
# - the first time, send REQUEST_STARTED to GUI, and append to self.web.receive_mode.uploads_in_progress
# - updates self.progress[self.filename] for the current file
# - uses custom ReceiveModeFile to save file to disk
# - ReceiveModeRequest.file_write_func called on each write
# - Display progress in CLI, and send REQUEST_PROGRESS to GUI
# - ReceiveModeRequest.file_close_func called when each file closes
# - self.progress[filename]["complete"] = True
# - ReceiveModeRequest.close
# - send either REQUEST_UPLOAD_CANCELED or REQUEST_UPLOAD_FINISHED to GUI
# - remove from self.web.receive_mode.uploads_in_progress
class ReceiveModeWeb:
"""
@ -66,6 +86,8 @@ class ReceiveModeWeb:
render_template(
"receive.html",
static_url_path=self.web.static_url_path,
disable_text=self.web.settings.get("receive", "disable_text"),
disable_files=self.web.settings.get("receive", "disable_files"),
title=self.web.settings.get("general", "title"),
)
)
@ -77,44 +99,58 @@ class ReceiveModeWeb:
Handle the upload files POST request, though at this point, the files have
already been uploaded and saved to their correct locations.
"""
files = request.files.getlist("file[]")
filenames = []
for f in files:
if f.filename != "":
filename = secure_filename(f.filename)
filenames.append(filename)
local_path = os.path.join(request.receive_mode_dir, filename)
basename = os.path.basename(local_path)
message_received = request.includes_message
# Tell the GUI the receive mode directory for this file
self.web.add_request(
self.web.REQUEST_UPLOAD_SET_DIR,
request.path,
{
"id": request.history_id,
"filename": basename,
"dir": request.receive_mode_dir,
},
)
files_received = 0
if not self.web.settings.get("receive", "disable_files"):
files = request.files.getlist("file[]")
self.common.log(
"ReceiveModeWeb",
"define_routes",
f"/upload, uploaded {f.filename}, saving to {local_path}",
)
print(f"\nReceived: {local_path}")
filenames = []
for f in files:
if f.filename != "":
filename = secure_filename(f.filename)
filenames.append(filename)
local_path = os.path.join(request.receive_mode_dir, filename)
basename = os.path.basename(local_path)
# Tell the GUI the receive mode directory for this file
self.web.add_request(
self.web.REQUEST_UPLOAD_SET_DIR,
request.path,
{
"id": request.history_id,
"filename": basename,
"dir": request.receive_mode_dir,
},
)
self.common.log(
"ReceiveModeWeb",
"define_routes",
f"/upload, uploaded {f.filename}, saving to {local_path}",
)
print(f"Received: {local_path}")
files_received = len(filenames)
# Send webhook if configured
if (
self.web.settings.get("receive", "webhook_url")
self.web.settings.get("receive", "webhook_url") is not None
and not request.upload_error
and len(files) > 0
and (message_received or files_received)
):
if len(files) == 1:
file_msg = "1 file"
else:
file_msg = f"{len(files)} files"
self.send_webhook_notification(f"{file_msg} uploaded to OnionShare")
msg = ""
if files_received > 0:
if files_received == 1:
msg += "1 file"
else:
msg += f"{files_received} files"
if message_received:
if msg == "":
msg = "A text message"
else:
msg += " and a text message"
self.send_webhook_notification(f"{msg} submitted to OnionShare")
if request.upload_error:
self.common.log(
@ -142,21 +178,27 @@ class ReceiveModeWeb:
if ajax:
info_flashes = []
if len(filenames) == 0:
msg = "No files uploaded"
if ajax:
info_flashes.append(msg)
else:
flash(msg, "info")
else:
msg = "Sent "
if files_received > 0:
files_msg = ""
for filename in filenames:
msg += f"{filename}, "
msg = msg.rstrip(", ")
if ajax:
info_flashes.append(msg)
files_msg += f"{filename}, "
files_msg = files_msg.rstrip(", ")
if message_received:
if files_received > 0:
msg = f"Message submitted, uploaded {files_msg}"
else:
flash(msg, "info")
msg = "Message submitted"
else:
if files_received > 0:
msg = f"Uploaded {files_msg}"
else:
msg = "Nothing submitted"
if ajax:
info_flashes.append(msg)
else:
flash(msg, "info")
if self.can_upload:
if ajax:
@ -238,7 +280,7 @@ class ReceiveModeFile(object):
self.upload_error = False
try:
self.f = open(self.filename_in_progress, "wb+")
except:
except Exception:
# This will only happen if someone is messing with the data dir while
# OnionShare is running, but if it does make sure to throw an error
self.upload_error = True
@ -286,7 +328,7 @@ class ReceiveModeFile(object):
bytes_written = self.f.write(b)
self.onionshare_write_func(self.onionshare_filename, bytes_written)
except:
except Exception:
self.upload_error = True
def close(self):
@ -300,7 +342,7 @@ class ReceiveModeFile(object):
# Rename the in progress file to the final filename
os.rename(self.filename_in_progress, self.filename)
except:
except Exception:
self.upload_error = True
self.onionshare_close_func(self.onionshare_filename, self.upload_error)
@ -316,8 +358,7 @@ class ReceiveModeRequest(Request):
super(ReceiveModeRequest, self).__init__(environ, populate_request, shallow)
self.web = environ["web"]
self.stop_q = environ["stop_q"]
self.web.common.log("ReceiveModeRequest", "__init__")
self.filename = None
# Prevent running the close() method more than once
self.closed = False
@ -329,13 +370,15 @@ class ReceiveModeRequest(Request):
self.upload_request = True
if self.upload_request:
self.web.common.log("ReceiveModeRequest", "__init__")
# No errors yet
self.upload_error = False
# Figure out what files should be saved
now = datetime.now()
date_dir = now.strftime("%Y-%m-%d")
time_dir = now.strftime("%H.%M.%S")
time_dir = now.strftime("%H%M%S")
self.receive_mode_dir = os.path.join(
self.web.settings.get("receive", "data_dir"), date_dir, time_dir
)
@ -383,6 +426,9 @@ class ReceiveModeRequest(Request):
)
self.upload_error = True
# Figure out the message filename, in case there is a message
self.message_filename = f"{self.receive_mode_dir}-message.txt"
# If there's an error so far, finish early
if self.upload_error:
return
@ -400,7 +446,7 @@ class ReceiveModeRequest(Request):
# Figure out the content length
try:
self.content_length = int(self.headers["Content-Length"])
except:
except Exception:
self.content_length = 0
date_str = datetime.now().strftime("%b %d, %I:%M%p")
@ -412,6 +458,60 @@ class ReceiveModeRequest(Request):
self.previous_file = None
# Is there a text message?
self.includes_message = False
if not self.web.settings.get("receive", "disable_text"):
text_message = self.form.get("text")
if text_message:
if text_message.strip() != "":
self.includes_message = True
with open(self.message_filename, "w") as f:
f.write(text_message)
self.web.common.log(
"ReceiveModeRequest",
"__init__",
f"saved message to {self.message_filename}",
)
print(f"Received: {self.message_filename}")
# Tell the GUI about the message
self.tell_gui_request_started()
self.web.common.log(
"ReceiveModeRequest",
"__init__",
"sending REQUEST_UPLOAD_INCLUDES_MESSAGE to GUI",
)
self.web.add_request(
self.web.REQUEST_UPLOAD_INCLUDES_MESSAGE,
self.path,
{
"id": self.history_id,
"filename": self.message_filename,
},
)
def tell_gui_request_started(self):
# Tell the GUI about the request
if not self.told_gui_about_request:
self.web.common.log(
"ReceiveModeRequest",
"tell_gui_request_started",
"sending REQUEST_STARTED to GUI",
)
self.web.add_request(
self.web.REQUEST_STARTED,
self.path,
{
"id": self.history_id,
"content_length": self.content_length,
},
)
self.web.receive_mode.uploads_in_progress.append(self.history_id)
self.told_gui_about_request = True
def _get_file_stream(
self, total_content_length, content_type, filename=None, content_length=None
):
@ -420,16 +520,7 @@ class ReceiveModeRequest(Request):
writable stream.
"""
if self.upload_request:
if not self.told_gui_about_request:
# Tell the GUI about the request
self.web.add_request(
self.web.REQUEST_STARTED,
self.path,
{"id": self.history_id, "content_length": self.content_length},
)
self.web.receive_mode.uploads_in_progress.append(self.history_id)
self.told_gui_about_request = True
self.tell_gui_request_started()
self.filename = secure_filename(filename)
@ -456,29 +547,47 @@ class ReceiveModeRequest(Request):
return
self.closed = True
self.web.common.log("ReceiveModeRequest", "close")
if self.upload_request:
self.web.common.log("ReceiveModeRequest", "close")
try:
if self.told_gui_about_request:
history_id = self.history_id
if (
not self.web.stop_q.empty()
or not self.progress[self.filename]["complete"]
if not self.web.stop_q.empty() or (
self.filename in self.progress
and not self.progress[self.filename]["complete"]
):
# Inform the GUI that the upload has canceled
self.web.common.log(
"ReceiveModeRequest",
"close",
"sending REQUEST_UPLOAD_CANCELED to GUI",
)
self.web.add_request(
self.web.REQUEST_UPLOAD_CANCELED, self.path, {"id": history_id}
self.web.REQUEST_UPLOAD_CANCELED,
self.path,
{"id": history_id},
)
else:
# Inform the GUI that the upload has finished
self.web.common.log(
"ReceiveModeRequest",
"close",
"sending REQUEST_UPLOAD_FINISHED to GUI",
)
self.web.add_request(
self.web.REQUEST_UPLOAD_FINISHED, self.path, {"id": history_id}
self.web.REQUEST_UPLOAD_FINISHED,
self.path,
{"id": history_id},
)
self.web.receive_mode.uploads_in_progress.remove(history_id)
except AttributeError:
pass
# If no files were written to self.receive_mode_dir, delete it
try:
if len(os.listdir(self.receive_mode_dir)) == 0:
os.rmdir(self.receive_mode_dir)
except Exception:
pass
def file_write_func(self, filename, length):
"""
@ -496,7 +605,11 @@ class ReceiveModeRequest(Request):
size_str = self.web.common.human_readable_filesize(
self.progress[filename]["uploaded_bytes"]
)
print(f"\r=> {size_str} {filename} ", end="")
if self.web.common.verbose:
print(f"=> {size_str} {filename}")
else:
print(f"\r=> {size_str} {filename} ", end="")
# Update the GUI on the upload progress
if self.told_gui_about_request:

View File

@ -55,6 +55,15 @@ class SendBaseModeWeb:
self.define_routes()
self.init()
def fix_windows_paths(self, path):
"""
If on Windows, replace backslashes with slashes
"""
if self.common.platform == "Windows":
return path.replace("\\", "/")
return path
def set_file_info(self, filenames, processed_size_callback=None):
"""
Build a data structure that describes the list of files
@ -70,40 +79,48 @@ class SendBaseModeWeb:
self.root_files = (
{}
) # This is only the root files and dirs, as opposed to all of them
self.cleanup_filenames = []
self.cur_history_id = 0
self.file_info = {"files": [], "dirs": []}
self.gzip_individual_files = {}
self.init()
# Windows paths use backslashes, but website paths use forward slashes. We have to
# make sure we're stripping the correct type of slash
if self.common.platform == "Windows":
slash = "\\"
else:
slash = "/"
# Build the file list
for filename in filenames:
basename = os.path.basename(filename.rstrip("/"))
basename = os.path.basename(filename.rstrip(slash))
# If it's a filename, add it
if os.path.isfile(filename):
self.files[basename] = filename
self.root_files[basename] = filename
self.files[self.fix_windows_paths(basename)] = filename
self.root_files[self.fix_windows_paths(basename)] = filename
# If it's a directory, add it recursively
elif os.path.isdir(filename):
self.root_files[basename] = filename
self.root_files[self.fix_windows_paths(basename)] = filename
for root, _, nested_filenames in os.walk(filename):
# Normalize the root path. So if the directory name is "/home/user/Documents/some_folder",
# and it has a nested folder foobar, the root is "/home/user/Documents/some_folder/foobar".
# The normalized_root should be "some_folder/foobar"
normalized_root = os.path.join(
basename, root[len(filename) :].lstrip("/")
).rstrip("/")
basename, root[len(filename) :].lstrip(slash)
).rstrip(slash)
# Add the dir itself
self.files[normalized_root] = root
self.files[self.fix_windows_paths(normalized_root)] = root
# Add the files in this dir
for nested_filename in nested_filenames:
self.files[
os.path.join(normalized_root, nested_filename)
self.fix_windows_paths(
os.path.join(normalized_root, nested_filename)
)
] = os.path.join(root, nested_filename)
self.set_file_info_custom(filenames, processed_size_callback)
@ -177,7 +194,7 @@ class SendBaseModeWeb:
self.gzip_individual_files[filesystem_path] = gzip_filename
# Make sure the gzip file gets cleaned up when onionshare stops
self.cleanup_filenames.append(gzip_filename)
self.web.cleanup_filenames.append(gzip_filename)
file_to_download = self.gzip_individual_files[filesystem_path]
filesize = os.path.getsize(self.gzip_individual_files[filesystem_path])
@ -242,7 +259,7 @@ class SendBaseModeWeb:
},
)
done = False
except:
except Exception:
# Looks like the download was canceled
done = True

View File

@ -44,7 +44,7 @@ def make_etag(data):
else:
break
hash_value = binascii.hexlify(hasher.digest()).decode('utf-8')
hash_value = binascii.hexlify(hasher.digest()).decode("utf-8")
return '"sha256:{}"'.format(hash_value)
@ -53,13 +53,13 @@ def parse_range_header(range_header: str, target_size: int) -> list:
if range_header is None:
return [(0, end_index)]
bytes_ = 'bytes='
bytes_ = "bytes="
if not range_header.startswith(bytes_):
abort(416)
ranges = []
for range_ in range_header[len(bytes_):].split(','):
split = range_.split('-')
for range_ in range_header[len(bytes_) :].split(","):
split = range_.split("-")
if len(split) == 1:
try:
start = int(split[0])
@ -194,13 +194,17 @@ class ShareModeWeb(SendBaseModeWeb):
etag = self.download_etag
# for range requests
range_, status_code = self.get_range_and_status_code(self.filesize, etag, self.last_modified)
range_, status_code = self.get_range_and_status_code(
self.filesize, etag, self.last_modified
)
# Tell GUI the download started
history_id = self.cur_history_id
self.cur_history_id += 1
self.web.add_request(
self.web.REQUEST_STARTED, request_path, {"id": history_id, "use_gzip": use_gzip}
self.web.REQUEST_STARTED,
request_path,
{"id": history_id, "use_gzip": use_gzip},
)
basename = os.path.basename(self.download_filename)
@ -209,32 +213,41 @@ class ShareModeWeb(SendBaseModeWeb):
r = Response()
else:
r = Response(
self.generate(shutdown_func, range_, file_to_download, request_path,
history_id, self.filesize))
self.generate(
shutdown_func,
range_,
file_to_download,
request_path,
history_id,
self.filesize,
)
)
if use_gzip:
r.headers.set('Content-Encoding', 'gzip')
r.headers.set("Content-Encoding", "gzip")
r.headers.set('Content-Length', range_[1] - range_[0] + 1)
r.headers.set("Content-Length", range_[1] - range_[0] + 1)
filename_dict = {
"filename": unidecode(basename),
"filename*": "UTF-8''%s" % url_quote(basename),
}
r.headers.set('Content-Disposition', 'attachment', **filename_dict)
r.headers.set("Content-Disposition", "attachment", **filename_dict)
r = self.web.add_security_headers(r)
# guess content type
(content_type, _) = mimetypes.guess_type(basename, strict=False)
if content_type is not None:
r.headers.set('Content-Type', content_type)
r.headers.set('Accept-Ranges', 'bytes')
r.headers.set('ETag', etag)
r.headers.set('Last-Modified', http_date(self.last_modified))
r.headers.set("Content-Type", content_type)
r.headers.set("Accept-Ranges", "bytes")
r.headers.set("ETag", etag)
r.headers.set("Last-Modified", http_date(self.last_modified))
# we need to set this for range requests
r.headers.set('Vary', 'Accept-Encoding')
r.headers.set("Vary", "Accept-Encoding")
if status_code == 206:
r.headers.set('Content-Range',
'bytes {}-{}/{}'.format(range_[0], range_[1], self.filesize))
r.headers.set(
"Content-Range",
"bytes {}-{}/{}".format(range_[0], range_[1], self.filesize),
)
r.status_code = status_code
@ -244,17 +257,19 @@ class ShareModeWeb(SendBaseModeWeb):
def get_range_and_status_code(cls, dl_size, etag, last_modified):
use_default_range = True
status_code = 200
range_header = request.headers.get('Range')
range_header = request.headers.get("Range")
# range requests are only allowed for get
if request.method == 'GET':
if request.method == "GET":
ranges = parse_range_header(range_header, dl_size)
if not (len(ranges) == 1 and ranges[0][0] == 0 and ranges[0][1] == dl_size - 1):
if not (
len(ranges) == 1 and ranges[0][0] == 0 and ranges[0][1] == dl_size - 1
):
use_default_range = False
status_code = 206
if range_header:
if_range = request.headers.get('If-Range')
if_range = request.headers.get("If-Range")
if if_range and if_range != etag:
use_default_range = True
status_code = 200
@ -266,11 +281,11 @@ class ShareModeWeb(SendBaseModeWeb):
abort(416) # We don't support multipart range requests yet
range_ = ranges[0]
etag_header = request.headers.get('ETag')
etag_header = request.headers.get("ETag")
if etag_header is not None and etag_header != etag:
abort(412)
if_unmod = request.headers.get('If-Unmodified-Since')
if_unmod = request.headers.get("If-Unmodified-Since")
if if_unmod:
if_date = parse_date(if_unmod)
if if_date and if_date > last_modified:
@ -280,10 +295,12 @@ class ShareModeWeb(SendBaseModeWeb):
return range_, status_code
def generate(self, shutdown_func, range_, file_to_download, path, history_id, filesize):
def generate(
self, shutdown_func, range_, file_to_download, path, history_id, filesize
):
# The user hasn't canceled the download
self.client_cancel = False
# Starting a new download
if self.web.settings.get("share", "autostop_sharing"):
self.download_in_progress = True
@ -326,9 +343,7 @@ class ShareModeWeb(SendBaseModeWeb):
):
sys.stdout.write(
"\r{0:s}, {1:.2f}% ".format(
self.common.human_readable_filesize(
downloaded_bytes
),
self.common.human_readable_filesize(downloaded_bytes),
percent,
)
)
@ -337,10 +352,14 @@ class ShareModeWeb(SendBaseModeWeb):
self.web.add_request(
self.web.REQUEST_PROGRESS,
path,
{"id": history_id, "bytes": downloaded_bytes, 'total_bytes': filesize,},
{
"id": history_id,
"bytes": downloaded_bytes,
"total_bytes": filesize,
},
)
self.web.done = False
except:
except Exception:
# looks like the download was canceled
self.web.done = True
canceled = True
@ -367,10 +386,9 @@ class ShareModeWeb(SendBaseModeWeb):
if shutdown_func is None:
raise RuntimeError("Not running with the Werkzeug Server")
shutdown_func()
except:
except Exception:
pass
def directory_listing_template(
self, path, files, dirs, breadcrumbs, breadcrumbs_leaf
):
@ -466,7 +484,7 @@ class ShareModeWeb(SendBaseModeWeb):
if len(self.file_info["files"]) == 1 and len(self.file_info["dirs"]) == 0:
self.download_filename = self.file_info["files"][0]["filename"]
self.download_filesize = self.file_info["files"][0]["size"]
with open(self.download_filename, 'rb') as f:
with open(self.download_filename, "rb") as f:
self.download_etag = make_etag(f)
# Compress the file with gzip now, so we don't have to do it on each request
@ -475,11 +493,11 @@ class ShareModeWeb(SendBaseModeWeb):
self.download_filename, self.gzip_filename, 6, processed_size_callback
)
self.gzip_filesize = os.path.getsize(self.gzip_filename)
with open(self.gzip_filename, 'rb') as f:
with open(self.gzip_filename, "rb") as f:
self.gzip_etag = make_etag(f)
# Make sure the gzip file gets cleaned up when onionshare stops
self.cleanup_filenames.append(self.gzip_filename)
self.web.cleanup_filenames.append(self.gzip_filename)
self.is_zipped = False
@ -502,11 +520,12 @@ class ShareModeWeb(SendBaseModeWeb):
self.zip_writer.close()
self.download_filesize = os.path.getsize(self.download_filename)
with open(self.download_filename, 'rb') as f:
with open(self.download_filename, "rb") as f:
self.download_etag = make_etag(f)
# Make sure the zip file gets cleaned up when onionshare stops
self.cleanup_filenames.append(self.zip_writer.zip_filename)
self.web.cleanup_filenames.append(self.zip_writer.zip_filename)
self.web.cleanup_filenames.append(self.zip_writer.zip_temp_dir)
self.is_zipped = True
@ -527,8 +546,9 @@ class ZipWriter(object):
if zip_filename:
self.zip_filename = zip_filename
else:
self.zip_temp_dir = tempfile.mkdtemp()
self.zip_filename = (
f"{tempfile.mkdtemp()}/onionshare_{self.common.random_string(4, 6)}.zip"
f"{self.zip_temp_dir}/onionshare_{self.common.random_string(4, 6)}.zip"
)
self.z = zipfile.ZipFile(self.zip_filename, "w", allowZip64=True)

View File

@ -21,6 +21,7 @@ import logging
import os
import queue
import requests
import shutil
from distutils.version import LooseVersion as Version
import flask
@ -41,6 +42,7 @@ from .receive_mode import ReceiveModeWeb, ReceiveModeWSGIMiddleware, ReceiveMode
from .website_mode import WebsiteModeWeb
from .chat_mode import ChatModeWeb
# Stub out flask's show_server_banner function, to avoiding showing warnings that
# are not applicable to OnionShare
def stubbed_show_server_banner(env, debug, app_import_path, eager_loading):
@ -49,7 +51,7 @@ def stubbed_show_server_banner(env, debug, app_import_path, eager_loading):
try:
flask.cli.show_server_banner = stubbed_show_server_banner
except:
except Exception:
pass
@ -63,16 +65,17 @@ class Web:
REQUEST_PROGRESS = 2
REQUEST_CANCELED = 3
REQUEST_RATE_LIMIT = 4
REQUEST_UPLOAD_FILE_RENAMED = 5
REQUEST_UPLOAD_SET_DIR = 6
REQUEST_UPLOAD_FINISHED = 7
REQUEST_UPLOAD_CANCELED = 8
REQUEST_INDIVIDUAL_FILE_STARTED = 9
REQUEST_INDIVIDUAL_FILE_PROGRESS = 10
REQUEST_INDIVIDUAL_FILE_CANCELED = 11
REQUEST_ERROR_DATA_DIR_CANNOT_CREATE = 12
REQUEST_OTHER = 13
REQUEST_INVALID_PASSWORD = 14
REQUEST_UPLOAD_INCLUDES_MESSAGE = 5
REQUEST_UPLOAD_FILE_RENAMED = 6
REQUEST_UPLOAD_SET_DIR = 7
REQUEST_UPLOAD_FINISHED = 8
REQUEST_UPLOAD_CANCELED = 9
REQUEST_INDIVIDUAL_FILE_STARTED = 10
REQUEST_INDIVIDUAL_FILE_PROGRESS = 11
REQUEST_INDIVIDUAL_FILE_CANCELED = 12
REQUEST_ERROR_DATA_DIR_CANNOT_CREATE = 13
REQUEST_OTHER = 14
REQUEST_INVALID_PASSWORD = 15
def __init__(self, common, is_gui, mode_settings, mode="share"):
self.common = common
@ -160,6 +163,8 @@ class Web:
self.socketio.init_app(self.app)
self.chat_mode = ChatModeWeb(self.common, self)
self.cleanup_filenames = []
def get_mode(self):
if self.mode == "share":
return self.share_mode
@ -327,7 +332,7 @@ class Web:
def generate_password(self, saved_password=None):
self.common.log("Web", "generate_password", f"saved_password={saved_password}")
if saved_password != None and saved_password != "":
if saved_password is not None and saved_password != "":
self.password = saved_password
self.common.log(
"Web",
@ -363,7 +368,7 @@ class Web:
if func is None and self.mode != "chat":
raise RuntimeError("Not running with the Werkzeug Server")
func()
except:
except Exception:
pass
self.running = False
@ -421,3 +426,21 @@ class Web:
# Reset any password that was in use
self.password = None
def cleanup(self):
"""
Shut everything down and clean up temporary files, etc.
"""
self.common.log("Web", "cleanup")
# Cleanup files
try:
for filename in self.cleanup_filenames:
if os.path.isfile(filename):
os.remove(filename)
elif os.path.isdir(filename):
shutil.rmtree(filename)
except Exception:
# Don't crash if file is still in use
pass
self.cleanup_filenames = []

57
cli/poetry.lock generated
View File

@ -72,9 +72,8 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
version = "7.1.2"
[[package]]
category = "dev"
category = "main"
description = "Cross-platform colored terminal text."
marker = "sys_platform == \"win32\""
name = "colorama"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
@ -98,7 +97,7 @@ description = "Highly concurrent networking library"
name = "eventlet"
optional = false
python-versions = "*"
version = "0.30.2"
version = "0.31.0"
[package.dependencies]
dnspython = ">=1.15.0,<2.0.0"
@ -130,7 +129,7 @@ description = "Basic and Digest HTTP authentication for Flask routes"
name = "flask-httpauth"
optional = false
python-versions = "*"
version = "4.2.0"
version = "4.3.0"
[package.dependencies]
Flask = "*"
@ -173,7 +172,7 @@ marker = "python_version < \"3.8\""
name = "importlib-metadata"
optional = false
python-versions = ">=3.6"
version = "3.10.0"
version = "4.0.1"
[package.dependencies]
zipp = ">=0.5"
@ -316,7 +315,7 @@ description = "pytest: simple powerful testing with Python"
name = "pytest"
optional = false
python-versions = ">=3.6"
version = "6.2.3"
version = "6.2.4"
[package.dependencies]
atomicwrites = ">=1.0"
@ -341,7 +340,7 @@ description = "Engine.IO server"
name = "python-engineio"
optional = false
python-versions = "*"
version = "4.0.1"
version = "4.1.0"
[package.extras]
asyncio_client = ["aiohttp (>=3.4)"]
@ -353,11 +352,11 @@ description = "Socket.IO server"
name = "python-socketio"
optional = false
python-versions = "*"
version = "5.1.0"
version = "5.2.1"
[package.dependencies]
bidict = ">=0.21.0"
python-engineio = ">=4"
python-engineio = ">=4.1.0"
[package.extras]
asyncio_client = ["aiohttp (>=3.4)", "websockets (>=7.0)"]
@ -391,7 +390,7 @@ description = "Python 2 and 3 compatibility utilities"
name = "six"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
version = "1.15.0"
version = "1.16.0"
[[package]]
category = "main"
@ -416,7 +415,7 @@ marker = "python_version < \"3.8\""
name = "typing-extensions"
optional = false
python-versions = "*"
version = "3.7.4.3"
version = "3.10.0.0"
[[package]]
category = "main"
@ -465,7 +464,7 @@ docs = ["sphinx", "jaraco.packaging (>=8.2)", "rst.linker (>=1.9)"]
testing = ["pytest (>=4.6)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "pytest-enabler", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
[metadata]
content-hash = "8c04afd6b4605961ef8da2340c99f1d3dabc790bca8b57c1bdfb3e29130dc94d"
content-hash = "a3456f7b6194c08460a78447e1397f319689aef5bc33d7bcb7622a495f947f87"
python-versions = "^3.6"
[metadata.files]
@ -541,16 +540,16 @@ dnspython = [
{file = "dnspython-1.16.0.zip", hash = "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01"},
]
eventlet = [
{file = "eventlet-0.30.2-py2.py3-none-any.whl", hash = "sha256:89cc6dbfef47c4629cefead5fde21c5f2b33464d57f7df5fc5148f8b4de3fbb5"},
{file = "eventlet-0.30.2.tar.gz", hash = "sha256:1811b122d9a45eb5bafba092d36911bca825f835cb648a862bbf984030acff9d"},
{file = "eventlet-0.31.0-py2.py3-none-any.whl", hash = "sha256:27ae41fad9deed9bbf4166f3e3b65acc15d524d42210a518e5877da85a6b8c5d"},
{file = "eventlet-0.31.0.tar.gz", hash = "sha256:b36ec2ecc003de87fc87b93197d77fea528aa0f9204a34fdf3b2f8d0f01e017b"},
]
flask = [
{file = "Flask-1.1.2-py2.py3-none-any.whl", hash = "sha256:8a4fdd8936eba2512e9c85df320a37e694c93945b33ef33c89946a340a238557"},
{file = "Flask-1.1.2.tar.gz", hash = "sha256:4efa1ae2d7c9865af48986de8aeb8504bf32c7f3d6fdc9353d34b21f4b127060"},
]
flask-httpauth = [
{file = "Flask-HTTPAuth-4.2.0.tar.gz", hash = "sha256:8c7e49e53ce7dc14e66fe39b9334e4b7ceb8d0b99a6ba1c3562bb528ef9da84a"},
{file = "Flask_HTTPAuth-4.2.0-py2.py3-none-any.whl", hash = "sha256:3fcedb99a03985915335a38c35bfee6765cbd66d7f46440fa3b42ae94a90fac7"},
{file = "Flask-HTTPAuth-4.3.0.tar.gz", hash = "sha256:2e604283cc436f2fe59206500aef898427c76016d11e4924cd2c3ec827ab4116"},
{file = "Flask_HTTPAuth-4.3.0-py2.py3-none-any.whl", hash = "sha256:ff3c08954993b3c415efa85a4993fe5d61f3e02e8f3e4e994b33f1ec2951baa9"},
]
flask-socketio = [
{file = "Flask-SocketIO-5.0.1.tar.gz", hash = "sha256:5c4319f5214ada20807857dc8fdf3dc7d2afe8d6dd38f5c516c72e2be47d2227"},
@ -606,8 +605,8 @@ idna = [
{file = "idna-2.10.tar.gz", hash = "sha256:b307872f855b18632ce0c21c5e45be78c0ea7ae4c15c828c20788b26921eb3f6"},
]
importlib-metadata = [
{file = "importlib_metadata-3.10.0-py3-none-any.whl", hash = "sha256:d2d46ef77ffc85cbf7dac7e81dd663fde71c45326131bea8033b9bad42268ebe"},
{file = "importlib_metadata-3.10.0.tar.gz", hash = "sha256:c9db46394197244adf2f0b08ec5bc3cf16757e9590b02af1fca085c16c0d600a"},
{file = "importlib_metadata-4.0.1-py3-none-any.whl", hash = "sha256:d7eb1dea6d6a6086f8be21784cc9e3bcfa55872b52309bc5fad53a8ea444465d"},
{file = "importlib_metadata-4.0.1.tar.gz", hash = "sha256:8c501196e49fb9df5df43833bdb1e4328f64847763ec8a50703148b73784d581"},
]
iniconfig = [
{file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
@ -732,24 +731,24 @@ pysocks = [
{file = "PySocks-1.7.1.tar.gz", hash = "sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0"},
]
pytest = [
{file = "pytest-6.2.3-py3-none-any.whl", hash = "sha256:6ad9c7bdf517a808242b998ac20063c41532a570d088d77eec1ee12b0b5574bc"},
{file = "pytest-6.2.3.tar.gz", hash = "sha256:671238a46e4df0f3498d1c3270e5deb9b32d25134c99b7d75370a68cfbe9b634"},
{file = "pytest-6.2.4-py3-none-any.whl", hash = "sha256:91ef2131a9bd6be8f76f1f08eac5c5317221d6ad1e143ae03894b862e8976890"},
{file = "pytest-6.2.4.tar.gz", hash = "sha256:50bcad0a0b9c5a72c8e4e7c9855a3ad496ca6a881a3641b4260605450772c54b"},
]
python-engineio = [
{file = "python-engineio-4.0.1.tar.gz", hash = "sha256:bb575c1a3512b4b5d4706f3071d5cc36e592459e99a47d9a4b7faabeba941377"},
{file = "python_engineio-4.0.1-py2.py3-none-any.whl", hash = "sha256:759ec99d91b3d36b29596124c77ba7c063c7ab97685d318fb23a166d9a4b9187"},
{file = "python-engineio-4.1.0.tar.gz", hash = "sha256:21e1bcc62f5573a4bb1c805e69915c5a4c5aa953005dde6c2f707c24554c1020"},
{file = "python_engineio-4.1.0-py2.py3-none-any.whl", hash = "sha256:c0216b0f9584d6dd632dfd4e2b624d2cf5e97a55443a467f52b928b7e3e08998"},
]
python-socketio = [
{file = "python-socketio-5.1.0.tar.gz", hash = "sha256:338cc29abb6f3ca14c88f1f8d05ed27c690df4648f62062b299f92625bbf7093"},
{file = "python_socketio-5.1.0-py2.py3-none-any.whl", hash = "sha256:8a7ed43bfdbbb266eb8a661a0c9648dc94bcd9689566ae3ee08bf98eca8987af"},
{file = "python-socketio-5.2.1.tar.gz", hash = "sha256:356a8a480fa316295b439d63a5f35a7a59fe65cee1ae35dee28e87d00e5aead6"},
{file = "python_socketio-5.2.1-py2.py3-none-any.whl", hash = "sha256:8db0653e49389e609aa1048bdbc49da9b8d8ecdcf54e3c1e4c9cc37402cfdaef"},
]
requests = [
{file = "requests-2.25.1-py2.py3-none-any.whl", hash = "sha256:c210084e36a42ae6b9219e00e48287def368a26d03a048ddad7bfee44f75871e"},
{file = "requests-2.25.1.tar.gz", hash = "sha256:27973dd4a904a4f13b263a19c866c13b92a39ed1c964655f025f3f8d3d75b804"},
]
six = [
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
{file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
{file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
]
stem = [
{file = "stem-1.8.0.tar.gz", hash = "sha256:a0b48ea6224e95f22aa34c0bc3415f0eb4667ddeae3dfb5e32a6920c185568c2"},
@ -759,9 +758,9 @@ toml = [
{file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"},
]
typing-extensions = [
{file = "typing_extensions-3.7.4.3-py2-none-any.whl", hash = "sha256:dafc7639cde7f1b6e1acc0f457842a83e722ccca8eef5270af2d74792619a89f"},
{file = "typing_extensions-3.7.4.3-py3-none-any.whl", hash = "sha256:7cb407020f00f7bfc3cb3e7881628838e69d8f3fcab2f64742a5e76b2f841918"},
{file = "typing_extensions-3.7.4.3.tar.gz", hash = "sha256:99d4073b617d30288f569d3f13d2bd7548c3a7e4c8de87db09a9d29bb3a4a60c"},
{file = "typing_extensions-3.10.0.0-py2-none-any.whl", hash = "sha256:0ac0f89795dd19de6b97debb0c6af1c70987fd80a2d62d1958f7e56fcc31b497"},
{file = "typing_extensions-3.10.0.0-py3-none-any.whl", hash = "sha256:779383f6086d90c99ae41cf0ff39aac8a7937a9283ce0a414e5dd782f4c94a84"},
{file = "typing_extensions-3.10.0.0.tar.gz", hash = "sha256:50b6f157849174217d0656f99dc82fe932884fb250826c18350e159ec6cdf342"},
]
unidecode = [
{file = "Unidecode-1.2.0-py2.py3-none-any.whl", hash = "sha256:12435ef2fc4cdfd9cf1035a1db7e98b6b047fe591892e81f34e94959591fad00"},

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "onionshare_cli"
version = "2.3.1"
version = "2.3.2"
description = "OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service."
authors = ["Micah Lee <micah@micahflee.com>"]
license = "GPLv3+"
@ -30,6 +30,7 @@ urllib3 = "*"
eventlet = "*"
setuptools = "*"
pynacl = "^1.4.0"
colorama = "^0.4.4"
[tool.poetry.dev-dependencies]
pytest = "*"

View File

@ -20,12 +20,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import setuptools
version = "2.3.1"
version = "2.3.2"
setuptools.setup(
name="onionshare-cli",
version=version,
description="OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service.",
description=(
"OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, "
"making it accessible as a Tor onion service, and generating an unguessable web address so others can "
"download files from you, or upload files to you. It does _not_ require setting up a separate server or "
"using a third party file-sharing service."
),
author="Micah Lee",
author_email="micah@micahflee.com",
maintainer="Micah Lee",

View File

@ -1,11 +1,4 @@
import sys
# Force tests to look for resources in the source code tree
sys.onionshare_dev_mode = True
# Let OnionShare know the tests are running, to avoid colliding with settings files
sys.onionshare_test_mode = True
import os
import shutil
import tempfile
@ -14,6 +7,11 @@ import pytest
from onionshare_cli import common, web
# Force tests to look for resources in the source code tree
sys.onionshare_dev_mode = True
# Let OnionShare know the tests are running, to avoid colliding with settings files
sys.onionshare_test_mode = True
# The temporary directory for CLI tests
test_temp_dir = None
@ -45,7 +43,7 @@ def temp_dir():
@pytest.fixture
def temp_dir_1024(temp_dir):
""" Create a temporary directory that has a single file of a
"""Create a temporary directory that has a single file of a
particular size (1024 bytes).
"""
@ -56,10 +54,9 @@ def temp_dir_1024(temp_dir):
return new_temp_dir
# pytest > 2.9 only needs @pytest.fixture
@pytest.yield_fixture
@pytest.fixture
def temp_dir_1024_delete(temp_dir):
""" Create a temporary directory that has a single file of a
"""Create a temporary directory that has a single file of a
particular size (1024 bytes). The temporary directory (including
the file inside) will be deleted after fixture usage.
"""
@ -73,15 +70,14 @@ def temp_dir_1024_delete(temp_dir):
@pytest.fixture
def temp_file_1024(temp_dir):
""" Create a temporary file of a particular size (1024 bytes). """
"""Create a temporary file of a particular size (1024 bytes)."""
with tempfile.NamedTemporaryFile(delete=False, dir=temp_dir) as tmp_file:
tmp_file.write(b"*" * 1024)
return tmp_file.name
# pytest > 2.9 only needs @pytest.fixture
@pytest.yield_fixture
@pytest.fixture
def temp_file_1024_delete(temp_dir):
"""
Create a temporary file of a particular size (1024 bytes).
@ -95,8 +91,7 @@ def temp_file_1024_delete(temp_dir):
yield tmp_file.name
# pytest > 2.9 only needs @pytest.fixture
@pytest.yield_fixture(scope="session")
@pytest.fixture(scope="session")
def custom_zw():
zw = web.share_mode.ZipWriter(
common.Common(),
@ -108,8 +103,7 @@ def custom_zw():
os.remove(zw.zip_filename)
# pytest > 2.9 only needs @pytest.fixture
@pytest.yield_fixture(scope="session")
@pytest.fixture(scope="session")
def default_zw():
zw = web.share_mode.ZipWriter(common.Common())
yield zw
@ -117,7 +111,7 @@ def default_zw():
tmp_dir = os.path.dirname(zw.zip_filename)
try:
shutil.rmtree(tmp_dir, ignore_errors=True)
except:
except Exception:
pass
@ -189,10 +183,3 @@ def time_strftime(monkeypatch):
@pytest.fixture
def common_obj():
return common.Common()
@pytest.fixture
def settings_obj(sys_onionshare_dev_mode, platform_linux):
_common = common.Common()
_common.version = "DUMMY_VERSION_1.2.3"
return settings.Settings(_common)

View File

@ -36,7 +36,6 @@ class TestOnionShare:
def test_init(self, onionshare_obj):
assert onionshare_obj.hidserv_dir is None
assert onionshare_obj.onion_host is None
assert onionshare_obj.cleanup_filenames == []
assert onionshare_obj.local_only is False
def test_start_onion_service(self, onionshare_obj, mode_settings_obj):
@ -48,11 +47,3 @@ class TestOnionShare:
onionshare_obj.local_only = True
onionshare_obj.start_onion_service("share", mode_settings_obj)
assert onionshare_obj.onion_host == "127.0.0.1:{}".format(onionshare_obj.port)
def test_cleanup(self, onionshare_obj, temp_dir_1024, temp_file_1024):
onionshare_obj.cleanup_filenames = [temp_dir_1024, temp_file_1024]
onionshare_obj.cleanup()
assert os.path.exists(temp_dir_1024) is False
assert os.path.exists(temp_dir_1024) is False
assert onionshare_obj.cleanup_filenames == []

View File

@ -131,7 +131,7 @@ class TestGetAvailablePort:
((random.randint(1024, 1500), random.randint(1800, 2048)) for _ in range(50)),
)
def test_returns_an_open_port(self, common_obj, port_min, port_max):
""" get_available_port() should return an open port within the range """
"""get_available_port() should return an open port within the range"""
port = common_obj.get_available_port(port_min, port_max)
assert port_min <= port <= port_max
@ -191,7 +191,9 @@ class TestGetTorPaths:
@pytest.mark.skipif(sys.platform != "win32", reason="requires Windows")
def test_get_tor_paths_windows(self, platform_windows, common_obj, sys_frozen):
base_path = os.path.join(
os.path.dirname(os.path.dirname(common_obj.get_resource_path(""))), "tor"
os.path.dirname(os.path.dirname(common_obj.get_resource_path(""))),
"resources",
"tor",
)
tor_path = os.path.join(os.path.join(base_path, "Tor"), "tor.exe")
obfs4proxy_file_path = os.path.join(

View File

@ -7,6 +7,8 @@ import time
import zipfile
import tempfile
import base64
import shutil
import sys
from io import BytesIO
import pytest
@ -42,13 +44,14 @@ RANDOM_STR_REGEX = re.compile(r"^[a-z2-7]+$")
def web_obj(temp_dir, common_obj, mode, num_files=0):
""" Creates a Web object, in either share mode or receive mode, ready for testing """
"""Creates a Web object, in either share mode or receive mode, ready for testing"""
common_obj.settings = Settings(common_obj)
mode_settings = ModeSettings(common_obj)
web = Web(common_obj, False, mode_settings, mode)
web.generate_password()
web.running = True
web.cleanup_filenames == []
web.app.testing = True
# Share mode
@ -100,7 +103,7 @@ class TestWeb:
web = web_obj(temp_dir, common_obj, "share", 3)
web.settings.set("share", "autostop_sharing", True)
assert web.running == True
assert web.running is True
with web.app.test_client() as c:
# Download the first time
@ -112,7 +115,7 @@ class TestWeb:
or res.mimetype == "application/x-zip-compressed"
)
assert web.running == False
assert web.running is False
def test_share_mode_autostop_sharing_off(
self, temp_dir, common_obj, temp_file_1024
@ -120,7 +123,7 @@ class TestWeb:
web = web_obj(temp_dir, common_obj, "share", 3)
web.settings.set("share", "autostop_sharing", False)
assert web.running == True
assert web.running is True
with web.app.test_client() as c:
# Download the first time
@ -131,7 +134,7 @@ class TestWeb:
res.mimetype == "application/zip"
or res.mimetype == "application/x-zip-compressed"
)
assert web.running == True
assert web.running is True
def test_receive_mode(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
@ -183,7 +186,135 @@ class TestWeb:
assert res.status_code == 200
assert webhook_url == "http://127.0.0.1:1337/example"
assert webhook_data == "1 file uploaded to OnionShare"
assert webhook_data == "1 file submitted to OnionShare"
def test_receive_mode_message_no_files(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
data_dir = os.path.join(temp_dir, "OnionShare")
os.makedirs(data_dir, exist_ok=True)
web.settings.set("receive", "data_dir", data_dir)
with web.app.test_client() as c:
res = c.post(
"/upload-ajax",
buffered=True,
content_type="multipart/form-data",
data={"text": "you know just sending an anonymous message"},
headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
assert b"Message submitted" in content
# ~/OnionShare should have a folder for the date
filenames = os.listdir(data_dir)
assert len(filenames) == 1
data_dir_date = os.path.join(data_dir, filenames[0])
# The date folder should have a single message txt file, no folders
filenames = os.listdir(data_dir_date)
assert len(filenames) == 1
assert filenames[0].endswith("-message.txt")
shutil.rmtree(data_dir)
def test_receive_mode_message_and_files(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
data_dir = os.path.join(temp_dir, "OnionShare")
os.makedirs(data_dir, exist_ok=True)
web.settings.set("receive", "data_dir", data_dir)
with web.app.test_client() as c:
res = c.post(
"/upload-ajax",
buffered=True,
content_type="multipart/form-data",
data={
"file[]": (BytesIO(b"THIS IS A TEST FILE"), "new_york.jpg"),
"text": "you know just sending an anonymous message",
},
headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
assert b"Message submitted, uploaded new_york.jpg" in content
# Date folder should have a time folder with new_york.jpg, and a text message file
data_dir_date = os.path.join(data_dir, os.listdir(data_dir)[0])
filenames = os.listdir(data_dir_date)
assert len(filenames) == 2
time_str = filenames[0][0:6]
assert time_str in filenames
assert f"{time_str}-message.txt" in filenames
data_dir_time = os.path.join(data_dir_date, time_str)
assert os.path.isdir(data_dir_time)
assert os.path.exists(os.path.join(data_dir_time, "new_york.jpg"))
shutil.rmtree(data_dir)
def test_receive_mode_files_no_message(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
data_dir = os.path.join(temp_dir, "OnionShare")
os.makedirs(data_dir, exist_ok=True)
web.settings.set("receive", "data_dir", data_dir)
with web.app.test_client() as c:
res = c.post(
"/upload-ajax",
buffered=True,
content_type="multipart/form-data",
data={"file[]": (BytesIO(b"THIS IS A TEST FILE"), "new_york.jpg")},
headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
assert b"Uploaded new_york.jpg" in content
# Date folder should have just a time folder with new_york.jpg
data_dir_date = os.path.join(data_dir, os.listdir(data_dir)[0])
filenames = os.listdir(data_dir_date)
assert len(filenames) == 1
time_str = filenames[0][0:6]
assert time_str in filenames
assert f"{time_str}-message.txt" not in filenames
data_dir_time = os.path.join(data_dir_date, time_str)
assert os.path.isdir(data_dir_time)
assert os.path.exists(os.path.join(data_dir_time, "new_york.jpg"))
shutil.rmtree(data_dir)
def test_receive_mode_no_message_no_files(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
data_dir = os.path.join(temp_dir, "OnionShare")
os.makedirs(data_dir, exist_ok=True)
web.settings.set("receive", "data_dir", data_dir)
with web.app.test_client() as c:
res = c.post(
"/upload-ajax",
buffered=True,
content_type="multipart/form-data",
data={},
headers=self._make_auth_headers(web.password),
)
content = res.get_data()
assert res.status_code == 200
assert b"Nothing submitted" in content
# Date folder should be empty
data_dir_date = os.path.join(data_dir, os.listdir(data_dir)[0])
filenames = os.listdir(data_dir_date)
assert len(filenames) == 0
shutil.rmtree(data_dir)
def test_public_mode_on(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "receive")
@ -192,7 +323,7 @@ class TestWeb:
with web.app.test_client() as c:
# Loading / should work without auth
res = c.get("/")
data1 = res.get_data()
res.get_data()
assert res.status_code == 200
def test_public_mode_off(self, temp_dir, common_obj):
@ -215,6 +346,16 @@ class TestWeb:
res.get_data()
assert res.status_code == 200
def test_cleanup(self, common_obj, temp_dir_1024, temp_file_1024):
web = web_obj(temp_dir_1024, common_obj, "share", 3)
web.cleanup_filenames = [temp_dir_1024, temp_file_1024]
web.cleanup()
assert os.path.exists(temp_file_1024) is False
assert os.path.exists(temp_dir_1024) is False
assert web.cleanup_filenames == []
def _make_auth_headers(self, password):
auth = base64.b64encode(b"onionshare:" + password.encode()).decode()
h = Headers()
@ -486,6 +627,7 @@ class TestRangeRequests:
h.add("Authorization", "Basic " + auth)
return h
@pytest.mark.skipif(sys.platform != "Linux", reason="requires Linux")
@check_unsupported("curl", ["--version"])
def test_curl(self, temp_dir, tmpdir, common_obj):
web = web_obj(temp_dir, common_obj, "share", 3)
@ -510,6 +652,7 @@ class TestRangeRequests:
]
)
@pytest.mark.skipif(sys.platform != "Linux", reason="requires Linux")
@check_unsupported("wget", ["--version"])
def test_wget(self, temp_dir, tmpdir, common_obj):
web = web_obj(temp_dir, common_obj, "share", 3)
@ -533,6 +676,7 @@ class TestRangeRequests:
]
)
@pytest.mark.skipif(sys.platform != "Linux", reason="requires Linux")
@check_unsupported("http", ["--version"])
def test_httpie(self, temp_dir, common_obj):
web = web_obj(temp_dir, common_obj, "share", 3)

View File

@ -1,7 +1,4 @@
import pytest
import subprocess
from tempfile import NamedTemporaryFile
from werkzeug.exceptions import RequestedRangeNotSatisfiable
from onionshare_cli.web.share_mode import parse_range_header
@ -9,24 +6,24 @@ from onionshare_cli.web.share_mode import parse_range_header
VALID_RANGES = [
(None, 500, [(0, 499)]),
('bytes=0', 500, [(0, 499)]),
('bytes=100', 500, [(100, 499)]),
('bytes=100-', 500, [(100, 499)]), # not in the RFC, but how curl sends
('bytes=0-99', 500, [(0, 99)]),
('bytes=0-599', 500, [(0, 499)]),
('bytes=0-0', 500, [(0, 0)]),
('bytes=-100', 500, [(400, 499)]),
('bytes=0-99,100-199', 500, [(0, 199)]),
('bytes=0-100,100-199', 500, [(0, 199)]),
('bytes=0-99,101-199', 500, [(0, 99), (101, 199)]),
('bytes=0-199,100-299', 500, [(0, 299)]),
('bytes=0-99,200-299', 500, [(0, 99), (200, 299)]),
("bytes=0", 500, [(0, 499)]),
("bytes=100", 500, [(100, 499)]),
("bytes=100-", 500, [(100, 499)]), # not in the RFC, but how curl sends
("bytes=0-99", 500, [(0, 99)]),
("bytes=0-599", 500, [(0, 499)]),
("bytes=0-0", 500, [(0, 0)]),
("bytes=-100", 500, [(400, 499)]),
("bytes=0-99,100-199", 500, [(0, 199)]),
("bytes=0-100,100-199", 500, [(0, 199)]),
("bytes=0-99,101-199", 500, [(0, 99), (101, 199)]),
("bytes=0-199,100-299", 500, [(0, 299)]),
("bytes=0-99,200-299", 500, [(0, 99), (200, 299)]),
]
INVALID_RANGES = [
'bytes=200-100',
'bytes=0-100,300-200',
"bytes=200-100",
"bytes=0-100,300-200",
]
@ -38,4 +35,4 @@ def test_parse_ranges():
for invalid in INVALID_RANGES:
with pytest.raises(RequestedRangeNotSatisfiable):
parse_range_header(invalid, 500)
parse_range_header(invalid, 500)

View File

@ -43,4 +43,4 @@ def main():
if __name__ == "__main__":
main()
main()

View File

@ -211,7 +211,7 @@ def main():
]
print(f"○ Created unsigned installer: {msi_filename}")
print(f"○ Signing installer")
print("○ Signing installer")
run(
[
"signtool.exe",

View File

@ -1,7 +1,7 @@
[tool.briefcase]
project_name = "OnionShare"
bundle = "org.onionshare"
version = "2.3.1"
version = "2.3.2.dev1"
url = "https://onionshare.org"
license = "GPLv3"
author = 'Micah Lee'
@ -13,7 +13,7 @@ description = "Securely and anonymously share files, host websites, and chat wit
icon = "src/onionshare/resources/onionshare"
sources = ['src/onionshare']
requires = [
"./onionshare_cli-2.3.1-py3-none-any.whl",
"./onionshare_cli-2.3.2-py3-none-any.whl",
"pyside2==5.15.1",
"qrcode"
]

View File

@ -24,7 +24,6 @@ This script downloads a pre-built tor binary to bundle with OnionShare.
In order to avoid a Mac gnupg dependency, I manually verify the signature
and hard-code the sha256 hash.
"""
import inspect
import os
import sys
@ -35,10 +34,10 @@ import requests
def main():
dmg_url = "https://archive.torproject.org/tor-package-archive/torbrowser/10.0.10/TorBrowser-10.0.10-osx64_en-US.dmg"
dmg_filename = "TorBrowser-10.0.10-osx64_en-US.dmg"
dmg_url = "https://archive.torproject.org/tor-package-archive/torbrowser/10.0.16/TorBrowser-10.0.16-osx64_en-US.dmg"
dmg_filename = "TorBrowser-10.0.16-osx64_en-US.dmg"
expected_dmg_sha256 = (
"7ed73e94ccdfab76b8d96ddbac7828d3a7c77dd73b54c34e55666f3b6274d12a"
"95bf37d642bd05e9ae4337c5ab9706990bbd98cc885e25ee8ae81b07c7653f0a"
)
# Build paths

View File

@ -23,7 +23,6 @@ This script downloads a pre-built tor binary to bundle with OnionShare.
In order to avoid a Windows gnupg dependency, I manually verify the signature
and hard-code the sha256 hash.
"""
import inspect
import os
import sys
@ -34,10 +33,10 @@ import requests
def main():
exe_url = "https://archive.torproject.org/tor-package-archive/torbrowser/10.0.10/torbrowser-install-10.0.10_en-US.exe"
exe_filename = "torbrowser-install-10.0.10_en-US.exe"
exe_url = "https://archive.torproject.org/tor-package-archive/torbrowser/10.0.16/torbrowser-install-10.0.16_en-US.exe"
exe_filename = "torbrowser-install-10.0.16_en-US.exe"
expected_exe_sha256 = (
"6cbd14a7232e4ae7f2718d9b7f377e1a7bb96506da21f1ac6f689a22fc5e53fe"
"1f93d756b4aee1b2df7d85c8d58b626b0d38d89c974c0a02f324ff51f5b23ee1"
)
# Build paths
root_path = os.path.dirname(
@ -75,7 +74,7 @@ def main():
"e",
"-y",
exe_path,
"Browser\TorBrowser\Tor",
"Browser\\TorBrowser\\Tor",
"-o%s" % os.path.join(working_path, "Tor"),
]
).wait()
@ -85,7 +84,7 @@ def main():
"e",
"-y",
exe_path,
"Browser\TorBrowser\Data\Tor\geoip*",
"Browser\\TorBrowser\\Data\\Tor\\geoip*",
"-o%s" % os.path.join(working_path, "Data"),
]
).wait()

View File

@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import division
import os
import sys
import platform
import argparse
import signal
import json

View File

@ -353,6 +353,10 @@ class GuiCommon:
color: #666666;
font-size: 11px;
}""",
"receive_message_button": """
QPushButton {
padding: 5px 10px;
}""",
# Settings dialog
"settings_version": """
QLabel {

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@ -276,7 +276,7 @@
"gui_receive_flatpak_data_dir": "যেহেতু অনিওনশেয়ার ফ্ল্যাটপ্যাক দিয়ে ইন্সটল করেছো, তাই তোমাকে ~/OnionShare এ ফাইল সংরক্ষণ করতে হবে।",
"gui_rendezvous_cleanup": "তোমার ফাইলগুলি সফলভাবে স্থানান্তরিত হয়েছে তা নিশ্চিত হয়ে টর সার্কিট বন্ধের অপেক্ষা করা হচ্ছে।\n\nএটি কয়েক মিনিট সময় নিতে পারে।",
"gui_open_folder_error": "xdg-open দিয়ে ফোল্ডার খুলতে ব্যর্থ হয়েছে। ফাইলটি এখানে: {}",
"gui_chat_url_description": "এই পেঁয়াজশেয়ার ঠিকানা দিয়ে <b>যে কেউ</b> <b>টর ব্রাউজার</b>: <img src='{}' /> ব্যবহার করে এই <b>চ্যাট রুমটিতে যোগ দিতে পারে</b>",
"gui_chat_url_description": "এই অনিওনশেয়ার ঠিকানা দিয়ে <b>যে কেউ</b> <b>টর ব্রাউজার</b>: <img src='{}' /> ব্যবহার করে এই <b>চ্যাট রুমটিতে যোগ দিতে পারে</b>",
"error_port_not_available": "অনিয়নশায়ার পোর্ট নেই",
"gui_rendezvous_cleanup_quit_early": "তাড়াতাড়ি বন্ধ করো",
"gui_main_page_chat_button": "চ্যাটিং শুরু করো",

View File

@ -175,6 +175,8 @@
"mode_settings_share_autostop_sharing_checkbox": "Stop sharing after files have been sent (uncheck to allow downloading individual files)",
"mode_settings_receive_data_dir_label": "Save files to",
"mode_settings_receive_data_dir_browse_button": "Browse",
"mode_settings_receive_disable_text_checkbox": "Disable submitting text",
"mode_settings_receive_disable_files_checkbox": "Disable uploading files",
"mode_settings_receive_webhook_url_checkbox": "Use notification webhook",
"mode_settings_website_disable_csp_checkbox": "Don't send Content Security Policy header (allows your website to use third-party resources)",
"gui_all_modes_transfer_finished_range": "Transferred {} - {}",
@ -193,5 +195,7 @@
"settings_error_bundled_tor_broken": "OnionShare could not connect to Tor:\n{}",
"gui_rendezvous_cleanup": "Waiting for Tor circuits to close to be sure your files have successfully transferred.\n\nThis might take a few minutes.",
"gui_rendezvous_cleanup_quit_early": "Quit Early",
"error_port_not_available": "OnionShare port not available"
"error_port_not_available": "OnionShare port not available",
"history_receive_read_message_button": "Read Message",
"error_tor_protocol_error": "There was an error with Tor: {}"
}

View File

@ -10,7 +10,7 @@
"not_a_readable_file": "{0:s} bukan berkas yang bisa dibaca.",
"no_available_port": "Tidak dapat menemukan porta yang tersedia untuk memulai layanan onion",
"other_page_loaded": "Alamat dimuat",
"close_on_autostop_timer": "",
"close_on_autostop_timer": "Berhenti karena timer berhenti otomatis habis",
"closing_automatically": "Terhenti karena transfer telah tuntas",
"timeout_download_still_running": "",
"large_filesize": "Peringatan: Mengirim dalam jumlah besar dapat memakan waktu berjam-jam",
@ -31,7 +31,7 @@
"help_verbose": "Catat kesalahan OnionShare ke stdout, dan kesalahan web ke disk",
"help_filename": "Daftar berkas atau folder untuk dibagikan",
"help_config": "",
"gui_drag_and_drop": "Seret dan lepas berkas dan folder\nuntuk mulai berbagi",
"gui_drag_and_drop": "Seret dan lepas berkas dan folder untuk mulai berbagi",
"gui_add": "Tambahkan",
"gui_delete": "Hapus",
"gui_choose_items": "Pilih",
@ -59,7 +59,7 @@
"gui_receive_quit_warning": "Anda sedang dalam proses menerima berkas. Apakah Anda yakin ingin menghentikan OnionShare?",
"gui_quit_warning_quit": "Keluar",
"gui_quit_warning_dont_quit": "Batal",
"error_rate_limit": "",
"error_rate_limit": "Seseorang berusaha berulang kali untuk menebak kata sandi Anda, jadi OnionShare telah menghentikan server. Mulailah berbagi lagi dan kirim penerima alamat baru untuk dibagikan.",
"zip_progress_bar_format": "Mengompresi: %p%",
"error_stealth_not_supported": "Untuk menggunakan otorisasi klien, Anda perlu setidaknya Tor 0.2.9.1-alpha (atau Tor Browser 6.5) dan python3-stem 1.5.0.",
"error_ephemeral_not_supported": "OnionShare memerlukan setidaknya Tor 0.2.7.1 dan python3-stem 1.4.0.",
@ -75,10 +75,10 @@
"gui_settings_sharing_label": "Pengaturan berbagi",
"gui_settings_close_after_first_download_option": "Berhenti berbagi setelah berkas telah terkirim",
"gui_settings_connection_type_label": "Bagaimana seharusnya OnionShare terhubung ke Tor?",
"gui_settings_connection_type_bundled_option": "",
"gui_settings_connection_type_bundled_option": "Gunakan versi Tor yang terintegrasi dengan OnionShare",
"gui_settings_connection_type_automatic_option": "Mencoba konfigurasi otomatis dengan Tor Browser",
"gui_settings_connection_type_control_port_option": "Menghubungkan menggunakan porta kontrol",
"gui_settings_connection_type_socket_file_option": "",
"gui_settings_connection_type_socket_file_option": "Hubungkan menggunakan file socket",
"gui_settings_connection_type_test_button": "Menguji sambungan ke Tor",
"gui_settings_control_port_label": "Port kontrol",
"gui_settings_socket_file_label": "Berkas soket",
@ -87,49 +87,49 @@
"gui_settings_authenticate_no_auth_option": "Tidak ada otentikasi, atau otentikasi kuki",
"gui_settings_authenticate_password_option": "Sandi",
"gui_settings_password_label": "Sandi",
"gui_settings_tor_bridges": "",
"gui_settings_tor_bridges_no_bridges_radio_option": "",
"gui_settings_tor_bridges_obfs4_radio_option": "",
"gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "",
"gui_settings_tor_bridges_meek_lite_azure_radio_option": "",
"gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "",
"gui_settings_meek_lite_expensive_warning": "",
"gui_settings_tor_bridges_custom_radio_option": "",
"gui_settings_tor_bridges_custom_label": "",
"gui_settings_tor_bridges_invalid": "",
"gui_settings_tor_bridges": "Dukungan Tor bridge",
"gui_settings_tor_bridges_no_bridges_radio_option": "Jangan gunakan bridges",
"gui_settings_tor_bridges_obfs4_radio_option": "Gunakan obfs4 pluggable transports bawaan",
"gui_settings_tor_bridges_obfs4_radio_option_no_obfs4proxy": "Gunakan obfs4 pluggable transports bawaan (memerlukan obfs4proxy)",
"gui_settings_tor_bridges_meek_lite_azure_radio_option": "Gunakan meek_lite (Azure) pluggable transports bawaan",
"gui_settings_tor_bridges_meek_lite_azure_radio_option_no_obfs4proxy": "Gunakan meek_lite (Azure) pluggable transports bawaan (memerlukan obfs4proxy)",
"gui_settings_meek_lite_expensive_warning": "Peringatan: meek_lite sangat mahal untuk dijalankan oleh Tor Project. <br><br>Gunakan hanya jika tidak dapat terhubung ke Tor secara langsung, melalui obfs4 transports,, atau bridge normal lainnya.",
"gui_settings_tor_bridges_custom_radio_option": "Gunakan bridge kustom",
"gui_settings_tor_bridges_custom_label": "Anda bisa mendapatkan bridge dari <a href=\"https://bridges.torproject.org/options\"> https://bridges.torproject.org </a>",
"gui_settings_tor_bridges_invalid": "Tak satu pun dari bridge yang Anda tambahkan bekerja.\nPeriksa kembali atau tambahkan yang lain.",
"gui_settings_button_save": "Simpan",
"gui_settings_button_cancel": "Batal",
"gui_settings_button_help": "",
"gui_settings_button_help": "Bantuan",
"gui_settings_autostop_timer_checkbox": "",
"gui_settings_autostop_timer": "",
"settings_error_unknown": "",
"settings_error_automatic": "",
"settings_error_socket_port": "",
"settings_error_socket_file": "",
"settings_error_auth": "",
"settings_error_missing_password": "",
"settings_error_unreadable_cookie_file": "",
"settings_error_unknown": "Tidak dapat tersambung ke pengontrol Tor karena pengaturan Anda tidak masuk akal.",
"settings_error_automatic": "Tidak dapat terhubung ke pengontrol Tor. Apakah Tor Browser (unduh di torproject.org) berjalan di latar belakang?",
"settings_error_socket_port": "Tidak dapat tersambung ke pengontrol Tor di {}:{}.",
"settings_error_socket_file": "Tidak dapat tersambung ke pengontrol Tor menggunakan file soket {}.",
"settings_error_auth": "Tersambung ke {}:{}, tetapi tidak bisa mengautentikasi. Mungkin ini bukan pengontrol Tor?",
"settings_error_missing_password": "Terhubung ke pengontrol Tor, tetapi memerlukan kata sandi untuk mengotentikasi.",
"settings_error_unreadable_cookie_file": "Terhubung ke pengontrol Tor, tetapi kata sandi mungkin salah, atau pengguna Anda tidak diizinkan untuk membaca file kuki.",
"settings_error_bundled_tor_not_supported": "",
"settings_error_bundled_tor_timeout": "",
"settings_error_bundled_tor_broken": "",
"settings_test_success": "",
"settings_test_success": "Terhubung ke pengontrol Tor.\n\nVersi tor: {}\nMendukung layanan ephemeral onion: {}.\nMendukung otentikasi klien: {}.\nMendukung alamat .onion generasi berikutnya: {}.",
"error_tor_protocol_error": "",
"error_tor_protocol_error_unknown": "",
"error_invalid_private_key": "",
"connecting_to_tor": "",
"update_available": "",
"update_error_check_error": "",
"update_error_invalid_latest_version": "",
"update_not_available": "",
"gui_tor_connection_ask": "",
"connecting_to_tor": "Menghubungkan ke jaringan Tor",
"update_available": "OnionShare Baru tersedia. <a href='{}'>klik di sini</a> untuk mendapatkannya. <br><br>Anda menggunakan {} dan yang terbaru adalah {}.",
"update_error_check_error": "Tidak dapat memeriksa versi baru: Mungkin Anda tidak terhubung ke Tor, atau situs web OnionShare sedang down?",
"update_error_invalid_latest_version": "Tidak dapat memeriksa versi baru: Situs web OnionShare mengatakan bahwa versi terbaru adalah '{}' yang tidak dapat dikenali…",
"update_not_available": "Anda menjalankan OnionShare terbaru.",
"gui_tor_connection_ask": "Buka pengaturan untuk memilah koneksi ke Tor?",
"gui_tor_connection_ask_open_settings": "Ya",
"gui_tor_connection_ask_quit": "Keluar",
"gui_tor_connection_error_settings": "",
"gui_tor_connection_canceled": "",
"gui_tor_connection_lost": "",
"gui_tor_connection_error_settings": "Coba ubah cara OnionShare terhubung ke jaringan Tor di pengaturan.",
"gui_tor_connection_canceled": "Tidak dapat terhubung ke Tor.\n\nPastikan Anda terhubung ke Internet, kemudian buka kembali OnionShare dan atur koneksinya ke Tor.",
"gui_tor_connection_lost": "Terputus dari Tor.",
"gui_server_started_after_autostop_timer": "",
"gui_server_autostop_timer_expired": "",
"share_via_onionshare": "",
"share_via_onionshare": "Bagikan via OnionShare",
"gui_use_legacy_v2_onions_checkbox": "",
"gui_save_private_key_checkbox": "",
"gui_share_url_description": "",
@ -138,16 +138,16 @@
"gui_url_label_stay_open": "",
"gui_url_label_onetime": "",
"gui_url_label_onetime_and_persistent": "",
"gui_status_indicator_share_stopped": "",
"gui_status_indicator_share_working": "",
"gui_status_indicator_share_started": "",
"gui_status_indicator_receive_stopped": "",
"gui_status_indicator_receive_working": "",
"gui_status_indicator_receive_started": "",
"gui_file_info": "",
"gui_file_info_single": "",
"history_in_progress_tooltip": "",
"history_completed_tooltip": "",
"gui_status_indicator_share_stopped": "Siap untuk berbagi",
"gui_status_indicator_share_working": "Memulai…",
"gui_status_indicator_share_started": "Berbagi",
"gui_status_indicator_receive_stopped": "Siap untuk menerima",
"gui_status_indicator_receive_working": "Memulai…",
"gui_status_indicator_receive_started": "Menerima",
"gui_file_info": "{} file, {}",
"gui_file_info_single": "{} file, {}",
"history_in_progress_tooltip": "{} sedang berlangsung",
"history_completed_tooltip": "{} selesai",
"info_in_progress_uploads_tooltip": "",
"info_completed_uploads_tooltip": "",
"error_cannot_create_downloads_dir": "",
@ -165,7 +165,7 @@
"gui_settings_public_mode_checkbox": "",
"systray_close_server_title": "",
"systray_close_server_message": "",
"systray_page_loaded_title": "",
"systray_page_loaded_title": "Halaman dimuat",
"systray_download_page_loaded_message": "",
"systray_upload_page_loaded_message": "",
"gui_uploads": "",
@ -176,13 +176,85 @@
"gui_upload_finished": "",
"gui_download_in_progress": "",
"gui_open_folder_error_nautilus": "",
"gui_settings_language_label": "",
"gui_settings_language_changed_notice": "",
"gui_settings_language_label": "Bahasa",
"gui_settings_language_changed_notice": "Mulai ulang OnionShare untuk menerapkan bahasa baru.",
"gui_add_files": "Tambahkan berkas",
"gui_add_folder": "Tambahkan Folder",
"gui_settings_onion_label": "Pengaturan Onion",
"incorrect_password": "Password salah",
"gui_waiting_to_start": "Dijadwalkan akan dimulai pada {}. Klik untuk membatalkan.",
"gui_start_server_autostart_timer_tooltip": "Timer mulai otomatis berakhir pada {}",
"gui_stop_server_autostop_timer_tooltip": "Timer berhenti otomatis berakhir pada {}"
"gui_stop_server_autostop_timer_tooltip": "Timer berhenti otomatis berakhir pada {}",
"gui_new_tab_chat_button": "Mengobrol secara Anonim",
"gui_new_tab_website_button": "Host sebuah situs web",
"gui_main_page_share_button": "Mulai Berbagi",
"gui_main_page_website_button": "Mulai Hosting",
"gui_main_page_receive_button": "Mulai Menerima",
"gui_close_tab_warning_cancel": "Batal",
"gui_close_tab_warning_title": "Anda yakin?",
"gui_tab_name_chat": "Obrolan",
"gui_tab_name_website": "Situs web",
"gui_tab_name_receive": "Menerima",
"gui_tab_name_share": "Berbagi",
"gui_main_page_chat_button": "Mulai Obrolan",
"gui_quit_warning_title": "Anda yakin?",
"gui_receive_flatpak_data_dir": "Karena Anda menginstal OnionShare menggunakan Flatpak, Anda harus menyimpan file ke folder di ~/OnionShare.",
"mode_settings_website_disable_csp_checkbox": "Jangan kirim header Kebijakan Keamanan Konten (memungkinkan situs web Anda menggunakan sumber daya pihak ketiga)",
"gui_open_folder_error": "Gagal membuka folder dengan xdg-open. File ada di sini: {}",
"gui_status_indicator_share_scheduled": "Dijadwalkan…",
"error_cannot_create_data_dir": "Tidak dapat membuat folder data OnionShare: {}",
"history_requests_tooltip": "{} permintaan web",
"gui_status_indicator_receive_scheduled": "Dijadwalkan…",
"systray_page_loaded_message": "Alamat OnionShare dimuat",
"gui_all_modes_transfer_canceled": "Dibatalkan {}",
"gui_all_modes_transfer_canceled_range": "Dibatalkan {} - {}",
"gui_all_modes_transfer_finished": "Ditransfer {}",
"gui_all_modes_transfer_finished_range": "Ditransfer {} - {}",
"mode_settings_receive_data_dir_browse_button": "Telusur",
"mode_settings_receive_data_dir_label": "Simpan file ke",
"mode_settings_share_autostop_sharing_checkbox": "Berhenti berbagi setelah file dikirim (hapus centang untuk memperbolehkan mengunduh file individual)",
"mode_settings_client_auth_checkbox": "Gunakan otorisasi klien",
"mode_settings_legacy_checkbox": "Gunakan alamat legacy (layanan onion v2, tidak disarankan)",
"mode_settings_autostop_timer_checkbox": "Hentikan layanan onion pada waktu yang dijadwalkan",
"mode_settings_autostart_timer_checkbox": "Mulai layanan onion pada waktu yang dijadwalkan",
"mode_settings_public_checkbox": "Jangan gunakan kata sandi",
"mode_settings_persistent_checkbox": "Simpan tab ini, dan secara otomatis membukanya saat saya membuka OnionShare",
"mode_settings_advanced_toggle_hide": "Sembunyikan pengaturan lanjut",
"mode_settings_advanced_toggle_show": "Tampilkan pengaturan lanjut",
"gui_quit_warning_cancel": "Batal",
"gui_new_tab_receive_button": "Terima File",
"gui_new_tab_share_button": "Bagikan file",
"gui_new_tab_tooltip": "Buka tab baru",
"gui_new_tab": "Tab Baru",
"seconds_first_letter": "d",
"minutes_first_letter": "m",
"hours_first_letter": "j",
"days_first_letter": "h",
"gui_receive_mode_autostop_timer_waiting": "Menunggu untuk menyelesaikan penerimaan",
"gui_receive_mode_no_files": "Belum Ada File yang Diterima",
"gui_website_mode_no_files": "Belum Ada Situs Web yang Dibagikan",
"gui_share_mode_autostop_timer_waiting": "Menunggu untuk menyelesaikan pengiriman",
"gui_share_mode_no_files": "Belum Ada File yang Dikirim",
"gui_all_modes_progress_eta": "{0:s}, ETA: {1:s}, %p%",
"gui_all_modes_progress_starting": "{0:s}, %p% (menghitung)",
"gui_all_modes_progress_complete": "%p%, {0:s} berlalu.",
"gui_all_modes_transfer_started": "Dimulai {}",
"gui_all_modes_clear_history": "Bersihkan Semua",
"gui_all_modes_history": "Riwayat",
"systray_receive_started_message": "Seseorang mengirim file kepada Anda",
"systray_receive_started_title": "Menerima Dimulai",
"systray_share_canceled_message": "Seseorang membatalkan menerima file Anda",
"systray_share_canceled_title": "Berbagi Dibatalkan",
"systray_share_completed_message": "Selesai mengirim file",
"systray_share_completed_title": "Berbagi Selesai",
"systray_share_started_message": "Mulai mengirim file ke seseorang",
"systray_share_started_title": "Berbagi dimulai",
"gui_color_mode_changed_notice": "Mulai ulang OnionShare agar mode warna baru diterapkan.",
"gui_qr_code_dialog_title": "Kode QR OnionShare",
"gui_show_url_qr_code": "Tampilkan kode QR",
"error_port_not_available": "Port OnionShare tidak tersedia",
"gui_chat_stop_server": "Hentikan server obrolan",
"gui_chat_start_server": "Mulai server obrolan",
"gui_file_selection_remove_all": "Hapus Semua",
"gui_remove": "Hapus"
}

View File

@ -18,7 +18,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from PySide2 import QtCore, QtWidgets, QtGui
from PySide2 import QtCore, QtWidgets
from onionshare_cli.common import AutoStopTimer
@ -387,10 +387,10 @@ class Mode(QtWidgets.QWidget):
if self.server_status.status != ServerStatus.STATUS_STOPPED:
try:
self.web.stop(self.app.port)
except:
except Exception:
# Probably we had no port to begin with (Onion service didn't start)
pass
self.app.cleanup()
self.web.cleanup()
self.stop_server_custom()
@ -455,12 +455,24 @@ class Mode(QtWidgets.QWidget):
"""
pass
def handle_request_upload_includes_message(self, event):
"""
Handle REQUEST_UPLOAD_INCLUDES_MESSAGE event.
"""
pass
def handle_request_upload_file_renamed(self, event):
"""
Handle REQUEST_UPLOAD_FILE_RENAMED event.
"""
pass
def handle_request_upload_message(self, event):
"""
Handle REQUEST_UPLOAD_MESSAGE event.
"""
pass
def handle_request_upload_set_dir(self, event):
"""
Handle REQUEST_UPLOAD_SET_DIR event.

View File

@ -18,14 +18,8 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import os
import random
import string
from PySide2 import QtCore, QtWidgets, QtGui
from onionshare_cli.onion import *
from onionshare_cli.common import Common
from onionshare_cli.web import Web
from .. import Mode

View File

@ -253,7 +253,7 @@ class ReceiveHistoryItemFile(QtWidgets.QWidget):
try:
# If nautilus is available, open it
subprocess.Popen(["xdg-open", self.dir])
except:
except Exception:
Alert(
self.common,
strings._("gui_open_folder_error").format(abs_filename),
@ -268,6 +268,60 @@ class ReceiveHistoryItemFile(QtWidgets.QWidget):
subprocess.Popen(["explorer", f"/select,{abs_filename}"])
class ReceiveHistoryItemMessage(QtWidgets.QWidget):
def __init__(
self,
common,
):
super(ReceiveHistoryItemMessage, self).__init__()
self.common = common
self.filename = None
# Read message button
message_pixmap = QtGui.QPixmap.fromImage(
QtGui.QImage(GuiCommon.get_resource_path("images/open_message.png"))
)
message_icon = QtGui.QIcon(message_pixmap)
self.message_button = QtWidgets.QPushButton(
strings._("history_receive_read_message_button")
)
self.message_button.setStyleSheet(self.common.gui.css["receive_message_button"])
self.message_button.clicked.connect(self.open_message)
self.message_button.setIcon(message_icon)
self.message_button.setIconSize(message_pixmap.rect().size())
# Layouts
layout = QtWidgets.QHBoxLayout()
layout.addWidget(self.message_button)
layout.addStretch()
self.setLayout(layout)
self.hide()
def set_filename(self, new_filename):
self.filename = new_filename
self.show()
def open_message(self):
"""
Open the message in the operating system's default text editor
"""
self.common.log("ReceiveHistoryItemMessage", "open_message", self.filename)
# Linux
if self.common.platform == "Linux" or self.common.platform == "BSD":
# If nautilus is available, open it
subprocess.Popen(["xdg-open", self.filename])
# macOS
elif self.common.platform == "Darwin":
subprocess.call(["open", self.filename])
# Windows
elif self.common.platform == "Windows":
subprocess.Popen(["notepad", self.filename])
class ReceiveHistoryItem(HistoryItem):
def __init__(self, common, id, content_length):
super(ReceiveHistoryItem, self).__init__()
@ -277,6 +331,12 @@ class ReceiveHistoryItem(HistoryItem):
self.started = datetime.now()
self.status = HistoryItem.STATUS_STARTED
self.common.log(
"ReceiveHistoryItem",
"__init__",
f"id={self.id} content_length={self.content_length}",
)
# Label
self.label = QtWidgets.QLabel(
strings._("gui_all_modes_transfer_started").format(
@ -295,6 +355,9 @@ class ReceiveHistoryItem(HistoryItem):
self.common.gui.css["downloads_uploads_progress_bar"]
)
# The message widget, if a message was included
self.message = ReceiveHistoryItemMessage(self.common)
# This layout contains file widgets
self.files_layout = QtWidgets.QVBoxLayout()
self.files_layout.setContentsMargins(0, 0, 0, 0)
@ -305,6 +368,7 @@ class ReceiveHistoryItem(HistoryItem):
# Layout
layout = QtWidgets.QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.message)
layout.addWidget(self.progress_bar)
layout.addWidget(files_widget)
layout.addStretch()
@ -313,6 +377,9 @@ class ReceiveHistoryItem(HistoryItem):
# We're also making a dictionary of file widgets, to make them easier to access
self.files = {}
def includes_message(self, message_filename):
self.message.set_filename(message_filename)
def update(self, data):
"""
Using the progress from Web, update the progress bar and file size labels
@ -560,6 +627,13 @@ class HistoryItemList(QtWidgets.QScrollArea):
if id in self.items:
self.items[id].cancel()
def includes_message(self, id, message_filename):
"""
Show message button for receive mode
"""
if id in self.items:
self.items[id].includes_message(message_filename)
def reset(self):
"""
Reset all items, emptying the list. Override this method.
@ -653,7 +727,7 @@ class History(QtWidgets.QWidget):
"""
Add a new item.
"""
self.common.log("History", "add", f"id: {id}, item: {item}")
self.common.log("History", "add", f"id: {id}")
# Hide empty, show not empty
self.empty.hide()
@ -674,6 +748,12 @@ class History(QtWidgets.QWidget):
"""
self.item_list.cancel(id)
def includes_message(self, id, message_filename):
"""
Show the message button
"""
self.item_list.includes_message(id, message_filename)
def reset(self):
"""
Reset all items.

View File

@ -201,7 +201,7 @@ class ModeSettingsWidget(QtWidgets.QWidget):
self.tab.change_title.emit(
self.tab.tab_id, strings._("gui_tab_name_chat")
)
elif self.tab_mode == None:
elif self.tab_mode is None:
pass
else:
title = self.title_lineedit.text()

View File

@ -78,6 +78,25 @@ class ReceiveMode(Mode):
data_dir_layout.addWidget(data_dir_button)
self.mode_settings_widget.mode_specific_layout.addLayout(data_dir_layout)
# Disable text or files
self.disable_text_checkbox = self.settings.get("receive", "disable_files")
self.disable_text_checkbox = QtWidgets.QCheckBox()
self.disable_text_checkbox.clicked.connect(self.disable_text_checkbox_clicked)
self.disable_text_checkbox.setText(
strings._("mode_settings_receive_disable_text_checkbox")
)
self.disable_files_checkbox = self.settings.get("receive", "disable_files")
self.disable_files_checkbox = QtWidgets.QCheckBox()
self.disable_files_checkbox.clicked.connect(self.disable_files_checkbox_clicked)
self.disable_files_checkbox.setText(
strings._("mode_settings_receive_disable_files_checkbox")
)
disable_layout = QtWidgets.QHBoxLayout()
disable_layout.addWidget(self.disable_text_checkbox)
disable_layout.addWidget(self.disable_files_checkbox)
disable_layout.addStretch()
self.mode_settings_widget.mode_specific_layout.addLayout(disable_layout)
# Webhook URL
webhook_url = self.settings.get("receive", "webhook_url")
self.webhook_url_checkbox = QtWidgets.QCheckBox()
@ -217,6 +236,16 @@ class ReceiveMode(Mode):
self.data_dir_lineedit.setText(selected_dir)
self.settings.set("receive", "data_dir", selected_dir)
def disable_text_checkbox_clicked(self):
self.settings.set(
"receive", "disable_text", self.disable_text_checkbox.isChecked()
)
def disable_files_checkbox_clicked(self):
self.settings.set(
"receive", "disable_files", self.disable_files_checkbox.isChecked()
)
def webhook_url_checkbox_clicked(self):
if self.webhook_url_checkbox.isChecked():
if self.settings.get("receive", "webhook_url"):
@ -312,8 +341,11 @@ class ReceiveMode(Mode):
Handle REQUEST_STARTED event.
"""
item = ReceiveHistoryItem(
self.common, event["data"]["id"], event["data"]["content_length"]
self.common,
event["data"]["id"],
event["data"]["content_length"],
)
self.history.add(event["data"]["id"], item)
self.toggle_history.update_indicator(True)
self.history.in_progress_count += 1
@ -333,6 +365,12 @@ class ReceiveMode(Mode):
{"action": "progress", "progress": event["data"]["progress"]},
)
def handle_request_upload_includes_message(self, event):
"""
Handle REQUEST_UPLOAD_INCLUDES_MESSAGE event.
"""
self.history.includes_message(event["data"]["id"], event["data"]["filename"])
def handle_request_upload_file_renamed(self, event):
"""
Handle REQUEST_UPLOAD_FILE_RENAMED event.

View File

@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import os
from PySide2 import QtCore, QtWidgets, QtGui
from onionshare_cli.onion import *
from onionshare_cli.common import Common
from onionshare_cli.web import Web
@ -30,7 +29,7 @@ from .. import Mode
from ..file_selection import FileSelection
from ..history import History, ToggleHistory, ShareHistoryItem
from .... import strings
from ....widgets import Alert, MinimumWidthWidget
from ....widgets import MinimumWidthWidget
from ....gui_common import GuiCommon

View File

@ -36,7 +36,7 @@ class CompressThread(QtCore.QThread):
# prepare files to share
def set_processed_size(self, x):
if self.mode._zip_progress_bar != None:
if self.mode._zip_progress_bar is not None:
self.mode._zip_progress_bar.update_processed_size_signal.emit(x)
def run(self):
@ -47,9 +47,6 @@ class CompressThread(QtCore.QThread):
self.mode.filenames, processed_size_callback=self.set_processed_size
)
self.success.emit()
self.mode.app.cleanup_filenames += (
self.mode.web.share_mode.cleanup_filenames
)
except OSError as e:
self.error.emit(e.strerror)

View File

@ -19,12 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
import os
import random
import string
from PySide2 import QtCore, QtWidgets, QtGui
from onionshare_cli.onion import *
from onionshare_cli.common import Common
from onionshare_cli.web import Web
@ -32,7 +29,7 @@ from .. import Mode
from ..file_selection import FileSelection
from ..history import History, ToggleHistory
from .... import strings
from ....widgets import Alert, MinimumWidthWidget
from ....widgets import MinimumWidthWidget
from ....gui_common import GuiCommon

View File

@ -161,7 +161,7 @@ class ServerStatus(QtWidgets.QWidget):
self.url.setText(wrapped_onion_url)
else:
self.url.setText(self.get_url())
except:
except Exception:
pass
def show_url(self):

View File

@ -540,6 +540,9 @@ class Tab(QtWidgets.QWidget):
elif event["type"] == Web.REQUEST_CANCELED:
mode.handle_request_canceled(event)
elif event["type"] == Web.REQUEST_UPLOAD_INCLUDES_MESSAGE:
mode.handle_request_upload_includes_message(event)
elif event["type"] == Web.REQUEST_UPLOAD_FILE_RENAMED:
mode.handle_request_upload_file_renamed(event)
@ -665,7 +668,7 @@ class Tab(QtWidgets.QWidget):
if self.close_dialog.clickedButton() == self.close_dialog.accept_button:
self.common.log("Tab", "close_tab", "close, closing tab")
self.get_mode().stop_server()
self.app.cleanup()
self.get_mode().web.cleanup()
return True
# Cancel
else:
@ -678,4 +681,4 @@ class Tab(QtWidgets.QWidget):
self.get_mode().web.stop(self.get_mode().app.port)
self.get_mode().web_thread.quit()
self.get_mode().web_thread.wait()
self.app.cleanup()
self.get_mode().web.cleanup()

View File

@ -252,7 +252,7 @@ class EventHandlerThread(QtCore.QThread):
"EventHandler", "run", f"invalid event type: {obj}"
)
except:
except Exception:
pass
if self.should_quit:

View File

@ -166,7 +166,7 @@ class TorConnectionThread(QtCore.QThread):
else:
self.canceled_connecting_to_tor.emit()
except BundledTorCanceled as e:
except BundledTorCanceled:
self.common.log(
"TorConnectionThread", "run", "caught exception: BundledTorCanceled"
)

View File

@ -19,7 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
from PySide2 import QtCore
import datetime, re
import datetime
import re
import socks
from distutils.version import LooseVersion as Version

View File

@ -24,6 +24,6 @@
<update_contact>micah@micahflee.com</update_contact>
<content_rating type="oars-1.1" />
<releases>
<release type="development" date="2021-02-22" version="2.3.1" />
<release type="development" date="2021-05-04" version="2.3.2" />
</releases>
</component>

View File

@ -25,7 +25,12 @@ version = "2.3.1"
setuptools.setup(
name="onionshare",
version=version,
description="OnionShare lets you securely and anonymously send and receive files. It works by starting a web server, making it accessible as a Tor onion service, and generating an unguessable web address so others can download files from you, or upload files to you. It does _not_ require setting up a separate server or using a third party file-sharing service.",
description=(
"OnionShare lets you securely and anonymously send and receive files. It works by starting a web "
"server, making it accessible as a Tor onion service, and generating an unguessable web address so "
"others can download files from you, or upload files to you. It does _not_ require setting up a "
"separate server or using a third party file-sharing service."
),
author="Micah Lee",
author_email="micah@micahflee.com",
maintainer="Micah Lee",

View File

@ -1,20 +1,21 @@
import sys
# Force tests to look for resources in the source code tree
sys.onionshare_dev_mode = True
# Let OnionShare know the tests are running, to avoid colliding with settings files
sys.onionshare_test_mode = True
import os
import shutil
import tempfile
from datetime import datetime, timedelta
import pytest
from PySide2 import QtTest
from onionshare_cli import common, web, settings
# Force tests to look for resources in the source code tree
sys.onionshare_dev_mode = True
# Let OnionShare know the tests are running, to avoid colliding with settings files
sys.onionshare_test_mode = True
@staticmethod
def qWait(t, qtapp):
@ -36,9 +37,6 @@ sys.path.insert(
),
)
from onionshare_cli import common, web, settings
# The temporary directory for CLI tests
test_temp_dir = None
@ -69,7 +67,7 @@ def temp_dir():
@pytest.fixture
def temp_dir_1024(temp_dir):
""" Create a temporary directory that has a single file of a
"""Create a temporary directory that has a single file of a
particular size (1024 bytes).
"""
@ -83,7 +81,7 @@ def temp_dir_1024(temp_dir):
# pytest > 2.9 only needs @pytest.fixture
@pytest.yield_fixture
def temp_dir_1024_delete(temp_dir):
""" Create a temporary directory that has a single file of a
"""Create a temporary directory that has a single file of a
particular size (1024 bytes). The temporary directory (including
the file inside) will be deleted after fixture usage.
"""
@ -97,7 +95,7 @@ def temp_dir_1024_delete(temp_dir):
@pytest.fixture
def temp_file_1024(temp_dir):
""" Create a temporary file of a particular size (1024 bytes). """
"""Create a temporary file of a particular size (1024 bytes)."""
with tempfile.NamedTemporaryFile(delete=False, dir=temp_dir) as tmp_file:
tmp_file.write(b"*" * 1024)
@ -141,7 +139,7 @@ def default_zw():
tmp_dir = os.path.dirname(zw.zip_filename)
try:
shutil.rmtree(tmp_dir, ignore_errors=True)
except:
except Exception:
pass

View File

@ -48,15 +48,15 @@ class TestReceive(GuiBaseTest):
QtTest.QTest.qWait(1000, self.gui.qtapp)
# Make sure the file is within the last 10 seconds worth of fileames
# Make sure the file is within the last 10 seconds worth of filenames
exists = False
now = datetime.now()
for _ in range(10):
date_dir = now.strftime("%Y-%m-%d")
if identical_files_at_once:
time_dir = now.strftime("%H.%M.%S-1")
time_dir = now.strftime("%H%M%S-1")
else:
time_dir = now.strftime("%H.%M.%S")
time_dir = now.strftime("%H%M%S")
receive_mode_dir = os.path.join(
tab.settings.get("receive", "data_dir"), date_dir, time_dir
)
@ -93,6 +93,47 @@ class TestReceive(GuiBaseTest):
QtCore.QTimer.singleShot(1000, accept_dialog)
self.assertTrue("Error uploading, please inform the OnionShare user" in r.text)
def submit_message(self, tab, message):
"""Test that we can submit a message"""
# Wait 2 seconds to make sure the filename, based on timestamp, isn't accidentally reused
QtTest.QTest.qWait(2000, self.gui.qtapp)
url = f"http://127.0.0.1:{tab.app.port}/upload"
if tab.settings.get("general", "public"):
requests.post(url, data={"text": message})
else:
requests.post(
url,
data={"text": message},
auth=requests.auth.HTTPBasicAuth(
"onionshare", tab.get_mode().web.password
),
)
QtTest.QTest.qWait(1000, self.gui.qtapp)
# Make sure the file is within the last 10 seconds worth of filenames
exists = False
now = datetime.now()
for _ in range(10):
date_dir = now.strftime("%Y-%m-%d")
time_dir = now.strftime("%H%M%S")
expected_filename = os.path.join(
tab.settings.get("receive", "data_dir"),
date_dir,
f"{time_dir}-message.txt",
)
if os.path.exists(expected_filename):
with open(expected_filename) as f:
assert f.read() == message
exists = True
break
now = now - timedelta(seconds=1)
self.assertTrue(exists)
def try_without_auth_in_non_public_mode(self, tab):
r = requests.post(f"http://127.0.0.1:{tab.app.port}/upload")
self.assertEqual(r.status_code, 401)
@ -115,10 +156,9 @@ class TestReceive(GuiBaseTest):
self.have_copy_url_button(tab)
self.have_show_qr_code_button(tab)
self.server_status_indicator_says_started(tab)
self.web_page(tab, "Select the files you want to send, then click")
def run_all_receive_mode_tests(self, tab):
"""Upload files in receive mode and stop the share"""
"""Submit files and messages in receive mode and stop the share"""
self.run_all_receive_mode_setup_tests(tab)
if not tab.settings.get("general", "public"):
self.try_without_auth_in_non_public_mode(tab)
@ -131,9 +171,11 @@ class TestReceive(GuiBaseTest):
self.counter_incremented(tab, 3)
self.upload_file(tab, self.tmpfile_test2, "test2.txt")
self.counter_incremented(tab, 4)
self.submit_message(tab, "onionshare is an interesting piece of software")
self.counter_incremented(tab, 5)
# Test uploading the same file twice at the same time, and make sure no collisions
self.upload_file(tab, self.tmpfile_test, "test.txt", True)
self.counter_incremented(tab, 6)
self.counter_incremented(tab, 7)
self.history_indicator(tab, "2")
self.server_is_stopped(tab)
self.web_server_is_stopped(tab)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -56,78 +56,90 @@ msgstr ""
msgid "To turn off the password for any tab, just check the \"Don't use a password\" box before starting the server. Then the server will be public and won't have a password."
msgstr ""
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid "By default, when people load an OnionShare service in Tor Browser they see the default title for the type of service. For example, the default title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid "If you want to choose a custom title, set the \"Custom title\" setting before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr ""
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid "OnionShare supports scheduling exactly when a service should start and stop. Before starting a server, click \"Show advanced settings\" in its tab and then check the boxes next to either \"Start onion service at scheduled time\", \"Stop onion service at scheduled time\", or both, and set the respective desired dates and times."
msgstr ""
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid "If you scheduled a service to start in the future, when you click the \"Start sharing\" button you will see a timer counting down until it starts. If you scheduled it to stop in the future, after it's started you will see a timer counting down to when it will stop automatically."
msgstr ""
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid "**Scheduling an OnionShare service to automatically start can be used as a dead man's switch**, where your service will be made public at a given time in the future if anything happens to you. If nothing happens to you, you can cancel the service before it's scheduled to start."
msgstr ""
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid "**Scheduling an OnionShare service to automatically stop can be useful to limit exposure**, like if you want to share secret documents while making sure they're not available on the Internet for more than a few days."
msgstr ""
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr ""
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid "In addition to its graphical interface, OnionShare has a command-line interface."
msgstr ""
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid "You can install just the command-line version of OnionShare using ``pip3``::"
msgstr ""
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid "Note that you will also need the ``tor`` package installed. In macOS, install it with: ``brew install tor``"
msgstr ""
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr ""
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid "If you installed OnionShare using the Linux Snapcraft package, you can also just run ``onionshare.cli`` to access the command-line interface version."
msgstr ""
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr ""
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid "You can browse the command-line documentation by running ``onionshare --help``::"
msgstr ""
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr ""
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid "OnionShare uses v3 Tor onion services by default. These are modern onion addresses that have 56 characters, for example::"
msgstr ""
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid "OnionShare still has support for v2 onion addresses, the old type of onion addresses that have 16 characters, for example::"
msgstr ""
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid "OnionShare calls v2 onion addresses \"legacy addresses\", and they are not recommended, as v3 onion addresses are more secure."
msgstr ""
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid "To use legacy addresses, before starting a server click \"Show advanced settings\" from its tab and check the \"Use a legacy address (v2 onion service, not recommended)\" box. In legacy mode you can optionally turn on Tor client authentication. Once you start a server in legacy mode you cannot remove legacy mode in that tab. Instead you must start a separate service in a separate tab."
msgstr ""
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid "Tor Project plans to `completely deprecate v2 onion services <https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, 2021, and legacy onion services will be removed from OnionShare before then."
msgstr ""

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -53,7 +53,7 @@ msgid "You can use OnionShare to send files and folders to people securely and a
msgstr ""
#: ../../source/features.rst:27
#: ../../source/features.rst:93
#: ../../source/features.rst:104
msgid "After you add files, you'll see some settings. Make sure you choose the setting you're interested in before you start sharing."
msgstr ""
@ -78,149 +78,165 @@ msgid "That person then must load the address in Tor Browser. After logging in w
msgstr ""
#: ../../source/features.rst:47
msgid "Receive Files"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid "You can use OnionShare to let people anonymously upload files directly to your computer, essentially turning it into an anonymous dropbox. Open a \"Receive tab\", choose where you want to save the files and other settings, and then click \"Start Receive Mode\"."
msgid "You can use OnionShare to let people anonymously submit files and messages directly to your computer, essentially turning it into an anonymous dropbox. Open a receive tab and choose the settings that you want."
msgstr ""
#: ../../source/features.rst:54
msgid "This starts the OnionShare service. Anyone loading this address in their Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid "You can check \"Disable submitting text\" if want to only allow file uploads, and you can check \"Disable uploading files\" if you want to only allow submitting text messages, like for an anonymous contact form."
msgstr ""
#: ../../source/features.rst:58
msgid "You can check \"Use notification webhook\" and then choose a webhook URL if you want to be notified when someone submits files or messages to your OnionShare service. If you use this feature, OnionShare will make an HTTP POST request to this URL whenever someone submits files or messages. For example, if you want to get an encrypted text messaging on the messaging app `Keybase <https://keybase.io/>`_, you can start a conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type ``!webhook create onionshare-alerts``, and it will respond with a URL. Use that as the notification webhook URL. If someone uploads a file to your receive mode service, @webhookbot will send you a message on Keybase letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid "When you are ready, click \"Start Receive Mode\". This starts the OnionShare service. Anyone loading this address in their Tor Browser will be able to submit files and messages which get uploaded to your computer."
msgstr ""
#: ../../source/features.rst:67
msgid "You can also click the down \"↓\" icon in the top-right corner to show the history and progress of people sending files to you."
msgstr ""
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
msgstr ""
#: ../../source/features.rst:64
msgid "When someone uploads files to your receive service, by default they get saved to a folder called ``OnionShare`` in the home folder on your computer, automatically organized into separate subfolders based on the time that the files get uploaded."
msgstr ""
#: ../../source/features.rst:66
msgid "Setting up an OnionShare receiving service is useful for journalists and others needing to securely accept documents from anonymous sources. When used in this way, OnionShare is sort of like a lightweight, simpler, not quite as secure version of `SecureDrop <https://securedrop.org/>`_, the whistleblower submission system."
msgstr ""
#: ../../source/features.rst:69
msgid "Use at your own risk"
msgstr ""
#: ../../source/features.rst:71
msgid "Just like with malicious e-mail attachments, it's possible someone could try to attack your computer by uploading a malicious file to your OnionShare service. OnionShare does not add any safety mechanisms to protect your system from malicious files."
msgid "Here is what it looks like for someone sending you files and messages."
msgstr ""
#: ../../source/features.rst:73
msgid "If you receive an Office document or a PDF through OnionShare, you can convert these documents into PDFs that are safe to open using `Dangerzone <https://dangerzone.rocks/>`_. You can also protect yourself when opening untrusted documents by opening them in `Tails <https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ disposableVM."
msgid "When someone submits files or messages to your receive service, by default they get saved to a folder called ``OnionShare`` in the home folder on your computer, automatically organized into separate subfolders based on the time that the files get uploaded."
msgstr ""
#: ../../source/features.rst:76
msgid "Tips for running a receive service"
#: ../../source/features.rst:75
msgid "Setting up an OnionShare receiving service is useful for journalists and others needing to securely accept documents from anonymous sources. When used in this way, OnionShare is sort of like a lightweight, simpler, not quite as secure version of `SecureDrop <https://securedrop.org/>`_, the whistleblower submission system."
msgstr ""
#: ../../source/features.rst:78
msgid "If you want to host your own anonymous dropbox using OnionShare, it's recommended you do so on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis."
msgid "Use at your own risk"
msgstr ""
#: ../../source/features.rst:80
msgid "If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`)."
msgid "Just like with malicious e-mail attachments, it's possible someone could try to attack your computer by uploading a malicious file to your OnionShare service. OnionShare does not add any safety mechanisms to protect your system from malicious files."
msgstr ""
#: ../../source/features.rst:83
msgid "Host a Website"
#: ../../source/features.rst:82
msgid "If you receive an Office document or a PDF through OnionShare, you can convert these documents into PDFs that are safe to open using `Dangerzone <https://dangerzone.rocks/>`_. You can also protect yourself when opening untrusted documents by opening them in `Tails <https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ disposableVM."
msgstr ""
#: ../../source/features.rst:85
msgid "To host a static HTML website with OnionShare, open a website tab, drag the files and folders that make up the static content there, and click \"Start sharing\" when you are ready."
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr ""
#: ../../source/features.rst:89
msgid "If you add an ``index.html`` file, it will render when someone loads your website. You should also include any other HTML files, CSS files, JavaScript files, and images that make up the website. (Note that OnionShare only supports hosting *static* websites. It can't host websites that execute code or use databases. So you can't for example use WordPress.)"
msgid "If you want to host your own anonymous dropbox using OnionShare, it's recommended you do so on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis."
msgstr ""
#: ../../source/features.rst:91
msgid "If you don't have an ``index.html`` file, it will show a directory listing instead, and people loading it can look through the files and download them."
msgid "If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`). It's also a good idea to give it a custom title (see :ref:`custom_titles`)."
msgstr ""
#: ../../source/features.rst:98
msgid "Content Security Policy"
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr ""
#: ../../source/features.rst:96
msgid "To host a static HTML website with OnionShare, open a website tab, drag the files and folders that make up the static content there, and click \"Start sharing\" when you are ready."
msgstr ""
#: ../../source/features.rst:100
msgid "By default OnionShare helps secure your website by setting a strict `Content Security Police <https://en.wikipedia.org/wiki/Content_Security_Policy>`_ header. However, this prevents third-party content from loading inside the web page."
msgid "If you add an ``index.html`` file, it will render when someone loads your website. You should also include any other HTML files, CSS files, JavaScript files, and images that make up the website. (Note that OnionShare only supports hosting *static* websites. It can't host websites that execute code or use databases. So you can't for example use WordPress.)"
msgstr ""
#: ../../source/features.rst:102
msgid "If you want to load content from third-party websites, like assets or JavaScript libraries from CDNs, check the \"Don't send Content Security Policy header (allows your website to use third-party resources)\" box before starting the service."
msgid "If you don't have an ``index.html`` file, it will show a directory listing instead, and people loading it can look through the files and download them."
msgstr ""
#: ../../source/features.rst:105
msgid "Tips for running a website service"
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr ""
#: ../../source/features.rst:107
msgid "If you want to host a long-term website using OnionShare (meaning not something to quickly show someone something), it's recommended you do it on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis. Save the tab (see :ref:`save_tabs`) so you can resume the website with the same address if you close OnionShare and re-open it later."
msgstr ""
#: ../../source/features.rst:110
msgid "If your website is intended for the public, you should run it as a public service (see :ref:`turn_off_passwords`)."
#: ../../source/features.rst:111
msgid "By default OnionShare helps secure your website by setting a strict `Content Security Police <https://en.wikipedia.org/wiki/Content_Security_Policy>`_ header. However, this prevents third-party content from loading inside the web page."
msgstr ""
#: ../../source/features.rst:113
msgid "Chat Anonymously"
msgid "If you want to load content from third-party websites, like assets or JavaScript libraries from CDNs, check the \"Don't send Content Security Policy header (allows your website to use third-party resources)\" box before starting the service."
msgstr ""
#: ../../source/features.rst:115
msgid "You can use OnionShare to set up a private, secure chat room that doesn't log anything. Just open a chat tab and click \"Start chat server\"."
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr ""
#: ../../source/features.rst:119
msgid "After you start the server, copy the OnionShare address and send it to the people you want in the anonymous chat room. If it's important to limit exactly who can join, use an encrypted messaging app to send out the OnionShare address."
#: ../../source/features.rst:118
msgid "If you want to host a long-term website using OnionShare (meaning not something to quickly show someone something), it's recommended you do it on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis. Save the tab (see :ref:`save_tabs`) so you can resume the website with the same address if you close OnionShare and re-open it later."
msgstr ""
#: ../../source/features.rst:121
msgid "If your website is intended for the public, you should run it as a public service (see :ref:`turn_off_passwords`)."
msgstr ""
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr ""
#: ../../source/features.rst:126
msgid "You can use OnionShare to set up a private, secure chat room that doesn't log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
#: ../../source/features.rst:130
msgid "After you start the server, copy the OnionShare address and send it to the people you want in the anonymous chat room. If it's important to limit exactly who can join, use an encrypted messaging app to send out the OnionShare address."
msgstr ""
#: ../../source/features.rst:135
msgid "People can join the chat room by loading its OnionShare address in Tor Browser. The chat room requires JavasScript, so everyone who wants to participate must have their Tor Browser security level set to \"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid "When someone joins the chat room they get assigned a random name. They can change their name by typing a new name in the box in the left panel and pressing ↵. Since the chat history isn't saved anywhere, it doesn't get displayed at all, even if others were already chatting in the room."
msgstr ""
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid "In an OnionShare chat room, everyone is anonymous. Anyone can change their name to anything, and there is no way to confirm anyone's identity."
msgstr ""
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid "However, if you create an OnionShare chat room and securely send the address only to a small group of trusted friends using encrypted messages, you can be reasonably confident the people joining the chat room are your friends."
msgstr ""
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr ""
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid "If you need to already be using an encrypted messaging app, what's the point of an OnionShare chat room to begin with? It leaves less traces."
msgstr ""
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid "If you for example send a message to a Signal group, a copy of your message ends up on each device (the devices, and computers if they set up Signal Desktop) of each member of the group. Even if disappearing messages is turned on, it's hard to confirm all copies of the messages are actually deleted from all devices, and from any other places (like notifications databases) they may have been saved to. OnionShare chat rooms don't store any messages anywhere, so the problem is reduced to a minimum."
msgstr ""
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid "OnionShare chat rooms can also be useful for people wanting to chat anonymously and securely with someone without needing to create any accounts. For example, a source can send an OnionShare address to a journalist using a disposable e-mail address, and then wait for the journalist to join the chat room, all without compromosing their anonymity."
msgstr ""
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr ""
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid "Because OnionShare relies on Tor onion services, connections between the Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When someone posts a message to an OnionShare chat room, they send it to the server through the E2EE onion connection, which then sends it to all other members of the chat room using WebSockets, through their E2EE onion connections."
msgstr ""
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid "OnionShare doesn't implement any chat encryption on its own. It relies on the Tor onion service's encryption instead."
msgstr ""

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

View File

@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Project-Id-Version: OnionShare 2.3.2\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 14:18-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 136 KiB

View File

@ -34,6 +34,15 @@ If you don't do this, someone can force your server to stop just by making 20 wr
To turn off the password for any tab, just check the "Don't use a password" box before starting the server. Then the server will be public and won't have a password.
.. _custom_titles:
Custom Titles
-------------
By default, when people load an OnionShare service in Tor Browser they see the default title for the type of service. For example, the default title of a chat service is "OnionShare Chat".
If you want to choose a custom title, set the "Custom title" setting before starting a server.
Scheduled Times
---------------
@ -75,37 +84,37 @@ Usage
You can browse the command-line documentation by running ``onionshare --help``::
$ onionshare-cli --help
OnionShare 2.3 | https://onionshare.org/
@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ___ _
@@@@@@ @@@@@@@@@@@@@ / _ \ (_)
@@@@ @ @@@@@@@@@@@ | | | |_ __ _ ___ _ __
@@@@@@@@ @@@@@@@@@@ | | | | '_ \| |/ _ \| '_ \
@@@@@@@@@@@@ @@@@@@@@@@ \ \_/ / | | | | (_) | | | |
@@@@@@@@@@@@@@@@ @@@@@@@@@ \___/|_| |_|_|\___/|_| |_|
@@@@@@@@@ @@@@@@@@@@@@@@@@ _____ _
@@@@@@@@@@ @@@@@@@@@@@@ / ___| |
@@@@@@@@@@ @@@@@@@@ \ `--.| |__ __ _ _ __ ___
@@@@@@@@@@@ @ @@@@ `--. \ '_ \ / _` | '__/ _ \
@@@@@@@@@@@@@ @@@@@@ /\__/ / | | | (_| | | | __/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \____/|_| |_|\__,_|_| \___|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@
usage: onionshare-cli [-h] [--receive] [--website] [--chat] [--local-only] [--connect-timeout SECONDS] [--config FILENAME] [--persistent FILENAME]
[--public] [--auto-start-timer SECONDS] [--auto-stop-timer SECONDS] [--legacy] [--client-auth] [--autostop-sharing]
[--data-dir data_dir] [--disable_csp] [-v]
[filename [filename ...]]
╭───────────────────────────────────────────╮
* ▄▄█████▄▄ *
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
* ▀██▄ ▄█▄▄ *
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.3.2 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
usage: onionshare-cli [-h] [--receive] [--website] [--chat] [--local-only] [--connect-timeout SECONDS] [--config FILENAME]
[--persistent FILENAME] [--title TITLE] [--public] [--auto-start-timer SECONDS]
[--auto-stop-timer SECONDS] [--legacy] [--client-auth] [--no-autostop-sharing] [--data-dir data_dir]
[--webhook-url webhook_url] [--disable-text] [--disable-files] [--disable_csp] [-v]
[filename ...]
positional arguments:
filename List of files or folders to share
optional arguments:
-h, --help show this help message and exit
--receive Receive files
@ -116,6 +125,7 @@ You can browse the command-line documentation by running ``onionshare --help``::
Give up connecting to Tor after a given amount of seconds (default: 120)
--config FILENAME Filename of custom global settings
--persistent FILENAME Filename of persistent session
--title TITLE Set a title
--public Don't use a password
--auto-start-timer SECONDS
Start onion service at scheduled time (N seconds from now)
@ -123,9 +133,14 @@ You can browse the command-line documentation by running ``onionshare --help``::
Stop onion service at schedule time (N seconds from now)
--legacy Use legacy address (v2 onion service, not recommended)
--client-auth Use client authorization (requires --legacy)
--autostop-sharing Share files: Stop sharing after files have been sent
--no-autostop-sharing Share files: Continue sharing after files have been sent (default is to stop sharing)
--data-dir data_dir Receive files: Save files received to this directory
--disable_csp Publish website: Disable Content Security Policy header (allows your website to use third-party resources)
--webhook-url webhook_url
Receive files: URL to receive webhook notifications
--disable-text Receive files: Disable receiving text messages
--disable-files Receive files: Disable receiving files
--disable_csp Publish website: Disable Content Security Policy header (allows your website to use third-party
resources)
-v, --verbose Log OnionShare errors to stdout, and web errors to disk
Legacy Addresses

View File

@ -1,8 +1,6 @@
project = "OnionShare"
author = copyright = "Micah Lee, et al."
version = release = "2.3.1"
version = release = "2.3.2"
extensions = ["sphinx_rtd_theme"]
templates_path = ["_templates"]
@ -18,7 +16,7 @@ languages = [
("Українська", "uk"), # Ukranian
]
versions = ["2.3", "2.3.1"]
versions = ["2.3", "2.3.1", "2.3.2"]
html_theme = "sphinx_rtd_theme"
html_logo = "_static/logo.png"

View File

@ -43,25 +43,34 @@ That person then must load the address in Tor Browser. After logging in with the
.. image:: _static/screenshots/share-torbrowser.png
Receive Files
-------------
Receive Files and Messages
--------------------------
You can use OnionShare to let people anonymously upload files directly to your computer, essentially turning it into an anonymous dropbox.
Open a "Receive tab", choose where you want to save the files and other settings, and then click "Start Receive Mode".
You can use OnionShare to let people anonymously submit files and messages directly to your computer, essentially turning it into an anonymous dropbox.
Open a receive tab and choose the settings that you want.
.. image:: _static/screenshots/receive.png
This starts the OnionShare service. Anyone loading this address in their Tor Browser will be able to upload files to your computer.
You can browse for a folder to save messages and files that get submitted.
You can check "Disable submitting text" if want to only allow file uploads, and you can check "Disable uploading files" if you want to only allow submitting text messages, like for an anonymous contact form.
You can check "Use notification webhook" and then choose a webhook URL if you want to be notified when someone submits files or messages to your OnionShare service.
If you use this feature, OnionShare will make an HTTP POST request to this URL whenever someone submits files or messages.
For example, if you want to get an encrypted text messaging on the messaging app `Keybase <https://keybase.io/>`_, you can start a conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type ``!webhook create onionshare-alerts``, and it will respond with a URL. Use that as the notification webhook URL.
If someone uploads a file to your receive mode service, @webhookbot will send you a message on Keybase letting you know as soon as it happens.
When you are ready, click "Start Receive Mode". This starts the OnionShare service. Anyone loading this address in their Tor Browser will be able to submit files and messages which get uploaded to your computer.
.. image:: _static/screenshots/receive-sharing.png
You can also click the down "↓" icon in the top-right corner to show the history and progress of people sending files to you.
Here is what it looks like for someone sending you files.
Here is what it looks like for someone sending you files and messages.
.. image:: _static/screenshots/receive-torbrowser.png
When someone uploads files to your receive service, by default they get saved to a folder called ``OnionShare`` in the home folder on your computer, automatically organized into separate subfolders based on the time that the files get uploaded.
When someone submits files or messages to your receive service, by default they get saved to a folder called ``OnionShare`` in the home folder on your computer, automatically organized into separate subfolders based on the time that the files get uploaded.
Setting up an OnionShare receiving service is useful for journalists and others needing to securely accept documents from anonymous sources. When used in this way, OnionShare is sort of like a lightweight, simpler, not quite as secure version of `SecureDrop <https://securedrop.org/>`_, the whistleblower submission system.
@ -72,12 +81,14 @@ Just like with malicious e-mail attachments, it's possible someone could try to
If you receive an Office document or a PDF through OnionShare, you can convert these documents into PDFs that are safe to open using `Dangerzone <https://dangerzone.rocks/>`_. You can also protect yourself when opening untrusted documents by opening them in `Tails <https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ disposableVM.
However, it is always safe to open text messages sent through OnionShare.
Tips for running a receive service
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you want to host your own anonymous dropbox using OnionShare, it's recommended you do so on a separate, dedicated computer always powered on and connected to the Internet, and not on the one you use on a regular basis.
If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`).
If you intend to put the OnionShare address on your website or social media profiles, save the tab (see :ref:`save_tabs`) and run it as a public service (see :ref:`turn_off_passwords`). It's also a good idea to give it a custom title (see :ref:`custom_titles`).
Host a Website
--------------

View File

@ -0,0 +1,30 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) Micah Lee, et al.
# This file is distributed under the same license as the OnionShare package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-02-22 13:40-0800\n"
"PO-Revision-Date: 2021-04-24 23:31+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: none\n"
"Language: bn\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 4.7-dev\n"
#: ../../source/index.rst:2
msgid "OnionShare's documentation"
msgstr "অনিওনশেয়ারের নির্দেশিকা"
#: ../../source/index.rst:6
msgid "OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor network."
msgstr ""
"অনিওনশেয়ার একটি মুক্ত উৎসবিশিষ্ট যন্ত্র, যা তোমাকে নিরাপদে ও গোপনীয়ভাবে ফাইল "
"ভাগ করা, ওয়েবসাইট উপস্থাপন, বন্ধুদের সাথে টর নেটওয়ার্কের সাথে কথা বলতে সাহায্"
"য করে।"

View File

@ -0,0 +1,63 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) Micah Lee, et al.
# This file is distributed under the same license as the OnionShare package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2021-02-22 13:40-0800\n"
"PO-Revision-Date: 2021-04-24 23:31+0000\n"
"Last-Translator: Oymate <dhruboadittya96@gmail.com>\n"
"Language-Team: none\n"
"Language: bn\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 4.7-dev\n"
#: ../../source/security.rst:2
msgid "Security Design"
msgstr "নিরাপত্তা নকশা"
#: ../../source/security.rst:4
msgid "Read :ref:`how_it_works` first to get a handle on how OnionShare works."
msgstr ""
#: ../../source/security.rst:6
msgid "Like all software, OnionShare may contain bugs or vulnerabilities."
msgstr ""
#: ../../source/security.rst:9
msgid "What OnionShare protects against"
msgstr ""
#: ../../source/security.rst:11
msgid "**Third parties don't have access to anything that happens in OnionShare.** Using OnionShare means hosting services directly on your computer. When sharing files with OnionShare, they are not uploaded to any server. If you make an OnionShare chat room, your computer acts as a server for that too. This avoids the traditional model of having to trust the computers of others."
msgstr ""
#: ../../source/security.rst:13
msgid "**Network eavesdroppers can't spy on anything that happens in OnionShare in transit.** The connection between the Tor onion service and Tor Browser is end-to-end encrypted. This means network attackers can't eavesdrop on anything except encrypted Tor traffic. Even if an eavesdropper is a malicious rendezvous node used to connect the Tor Browser with OnionShare's onion service, the traffic is encrypted using the onion service's private key."
msgstr ""
#: ../../source/security.rst:15
msgid "**Anonymity of OnionShare users are protected by Tor.** OnionShare and Tor Browser protect the anonymity of the users. As long as the OnionShare user anonymously communicates the OnionShare address with the Tor Browser users, the Tor Browser users and eavesdroppers can't learn the identity of the OnionShare user."
msgstr ""
#: ../../source/security.rst:17
msgid "**If an attacker learns about the onion service, it still can't access anything.** Prior attacks against the Tor network to enumerate onion services allowed the attacker to discover private .onion addresses. If an attack discovers a private OnionShare address, a password will be prevent them from accessing it (unless the OnionShare user chooses to turn it off and make it public). The password is generated by choosing two random words from a list of 6800 words, making 6800², or about 46 million possible passwords. Only 20 wrong guesses can be made before OnionShare stops the server, preventing brute force attacks against the password."
msgstr ""
#: ../../source/security.rst:20
msgid "What OnionShare doesn't protect against"
msgstr ""
#: ../../source/security.rst:22
msgid "**Communicating the OnionShare address might not be secure.** Communicating the OnionShare address to people is the responsibility of the OnionShare user. If sent insecurely (such as through an email message monitored by an attacker), an eavesdropper can tell that OnionShare is being used. If the eavesdropper loads the address in Tor Browser while the service is still up, they can access it. To avoid this, the address must be communicateed securely, via encrypted text message (probably with disappearing messages enabled), encrypted email, or in person. This isn't necessary when using OnionShare for something that isn't secret."
msgstr ""
#: ../../source/security.rst:24
msgid "**Communicating the OnionShare address might not be anonymous.** Extra precautions must be taken to ensure the OnionShare address is communicated anonymously. A new email or chat account, only accessed over Tor, can be used to share the address. This isn't necessary unless anonymity is a goal."
msgstr ""

View File

@ -0,0 +1,142 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) Micah Lee, et al.
# This file is distributed under the same license as the OnionShare package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-22 13:40-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: bn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../source/tor.rst:2
msgid "Connecting to Tor"
msgstr ""
#: ../../source/tor.rst:4
msgid "Pick a way to connect OnionShare to Tor by clicking the \"⚙\" icon in the bottom right of the OnionShare window to get to its settings."
msgstr ""
#: ../../source/tor.rst:9
msgid "Use the ``tor`` bundled with OnionShare"
msgstr ""
#: ../../source/tor.rst:11
msgid "This is the default, simplest and most reliable way that OnionShare connects to Tor. For this reason, it's recommended for most users."
msgstr ""
#: ../../source/tor.rst:14
msgid "When you open OnionShare, it launches an already configured ``tor`` process in the background for OnionShare to use. It doesn't interfere with other ``tor`` processes on your computer, so you can use the Tor Browser or the system ``tor`` on their own."
msgstr ""
#: ../../source/tor.rst:18
msgid "Attempt auto-configuration with Tor Browser"
msgstr ""
#: ../../source/tor.rst:20
msgid "If you have `downloaded the Tor Browser <https://www.torproject.org>`_ and don't want two ``tor`` processes running, you can use the ``tor`` process from the Tor Browser. Keep in mind you need to keep Tor Browser open in the background while you're using OnionShare for this to work."
msgstr ""
#: ../../source/tor.rst:24
msgid "Using a system ``tor`` in Windows"
msgstr ""
#: ../../source/tor.rst:26
msgid "This is fairly advanced. You'll need to know how edit plaintext files and do stuff as an administrator."
msgstr ""
#: ../../source/tor.rst:28
msgid "Download the Tor Windows Expert Bundle `from <https://www.torproject.org/download/tor/>`_. Extract the compressed file and copy the extracted folder to ``C:\\Program Files (x86)\\`` Rename the extracted folder with ``Data`` and ``Tor`` in it to ``tor-win32``."
msgstr ""
#: ../../source/tor.rst:32
msgid "Make up a control port password. (Using 7 words in a sequence like ``comprised stumble rummage work avenging construct volatile`` is a good idea for a password.) Now open a command prompt (``cmd``) as an administrator, and use ``tor.exe --hash-password`` to generate a hash of your password. For example::"
msgstr ""
#: ../../source/tor.rst:39
msgid "The hashed password output is displayed after some warnings (which you can ignore). In the case of the above example, it is ``16:00322E903D96DE986058BB9ABDA91E010D7A863768635AC38E213FDBEF``."
msgstr ""
#: ../../source/tor.rst:41
msgid "Now create a new text file at ``C:\\Program Files (x86)\\tor-win32\\torrc`` and put your hashed password output in it, replacing the ``HashedControlPassword`` with the one you just generated::"
msgstr ""
#: ../../source/tor.rst:46
msgid "In your administrator command prompt, install ``tor`` as a service using the appropriate ``torrc`` file you just created (as described in `<https://2019.www.torproject.org/docs/faq.html.en#NTService>`_). Like this::"
msgstr ""
#: ../../source/tor.rst:50
msgid "You are now running a system ``tor`` process in Windows!"
msgstr ""
#: ../../source/tor.rst:52
msgid "Open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using control port\", and set \"Control port\" to ``127.0.0.1`` and \"Port\" to ``9051``. Under \"Tor authentication settings\" choose \"Password\" and set the password to the control port password you picked above. Click the \"Test Connection to Tor\" button. If all goes well, you should see \"Connected to the Tor controller\"."
msgstr ""
#: ../../source/tor.rst:61
msgid "Using a system ``tor`` in macOS"
msgstr ""
#: ../../source/tor.rst:63
msgid "First, install `Homebrew <https://brew.sh/>`_ if you don't already have it, and then install Tor::"
msgstr ""
#: ../../source/tor.rst:67
msgid "Now configure Tor to allow connections from OnionShare::"
msgstr ""
#: ../../source/tor.rst:74
msgid "And start the system Tor service::"
msgstr ""
#: ../../source/tor.rst:78
msgid "Open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using socket file\", and set the socket file to be ``/usr/local/var/run/tor/control.socket``. Under \"Tor authentication settings\" choose \"No authentication, or cookie authentication\". Click the \"Test Connection to Tor\" button."
msgstr ""
#: ../../source/tor.rst:84
#: ../../source/tor.rst:104
msgid "If all goes well, you should see \"Connected to the Tor controller\"."
msgstr ""
#: ../../source/tor.rst:87
msgid "Using a system ``tor`` in Linux"
msgstr ""
#: ../../source/tor.rst:89
msgid "First, install the ``tor`` package. If you're using Debian, Ubuntu, or a similar Linux distro, It is recommended to use the Tor Project's `official repository <https://support.torproject.org/apt/tor-deb-repo/>`_."
msgstr ""
#: ../../source/tor.rst:91
msgid "Next, add your user to the group that runs the ``tor`` process (in the case of Debian and Ubuntu, ``debian-tor``) and configure OnionShare to connect to your system ``tor``'s control socket file."
msgstr ""
#: ../../source/tor.rst:93
msgid "Add your user to the ``debian-tor`` group by running this command (replace ``username`` with your actual username)::"
msgstr ""
#: ../../source/tor.rst:97
msgid "Reboot your computer. After it boots up again, open OnionShare and click the \"⚙\" icon in it. Under \"How should OnionShare connect to Tor?\" choose \"Connect using socket file\". Set the socket file to be ``/var/run/tor/control``. Under \"Tor authentication settings\" choose \"No authentication, or cookie authentication\". Click the \"Test Connection to Tor\" button."
msgstr ""
#: ../../source/tor.rst:107
msgid "Using Tor bridges"
msgstr ""
#: ../../source/tor.rst:109
msgid "If your access to the Internet is censored, you can configure OnionShare to connect to the Tor network using `Tor bridges <https://2019.www.torproject.org/docs/bridges.html.en>`_. If OnionShare connects to Tor without one, you don't need to use a bridge."
msgstr ""
#: ../../source/tor.rst:111
msgid "To configure bridges, click the \"⚙\" icon in OnionShare."
msgstr ""
#: ../../source/tor.rst:113
msgid "You can use the built-in obfs4 pluggable transports, the built-in meek_lite (Azure) pluggable transports, or custom bridges, which you can obtain from Tor's `BridgeDB <https://bridges.torproject.org/>`_. If you need to use a bridge, try the built-in obfs4 ones first."
msgstr ""

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: mv87 <mv87@dismail.de>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
"Language-Team: de <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -35,11 +34,12 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"In OnionShare ist standardmäßig alels nur temporär. Wenn du einen OnionShare-"
"Reiter schließt, existiert seine Adresse nicht mehr kann nicht nochmals "
"verwendet werden. Manchmal soll ein OnionShare-Service aber dauerhaft sein. "
"Das ist hilfreich, wenn du eine Webseite unter derselben OnionShare-Adresse "
"hosten möchtest, auch wenn du deinen Rechner neustartest."
"In OnionShare ist standardmäßig alels nur temporär. Wenn du einen "
"OnionShare-Reiter schließt, existiert seine Adresse nicht mehr kann nicht"
" nochmals verwendet werden. Manchmal soll ein OnionShare-Service aber "
"dauerhaft sein. Das ist hilfreich, wenn du eine Webseite unter derselben "
"OnionShare-Adresse hosten möchtest, auch wenn du deinen Rechner "
"neustartest."
#: ../../source/advanced.rst:13
msgid ""
@ -47,8 +47,8 @@ msgid ""
"open it when I open OnionShare\" box before starting the server. When a "
"tab is saved a purple pin icon appears to the left of its server status."
msgstr ""
"Um einen beliebigen Reiter dauerhaft zu machen, setze den Haken bei "
"Speichere diesen Reiter und öffne ihn automatisch, wenn ich OnionShare "
"Um einen beliebigen Reiter dauerhaft zu machen, setze den Haken bei "
"Speichere diesen Reiter und öffne ihn automatisch, wenn ich OnionShare "
"starte“, bevor du den Dienst startest. So gespeicherte Tabs erhalten ein "
"purpurfarbenen Stecknadelsymbol links dem Status des Dienstes."
@ -60,8 +60,8 @@ msgid ""
msgstr ""
"Wenn du OnionShare beendest und dann wieder öffnest, werden deine "
"gespeicherten Reiter wieder geöffnet. Du musst dann zwar jeden Dienst "
"manuell starten, aber wenn du dies tust, starten die Dienste mit derselben "
"OnionShare-Adresse und mit demselben Passwort wie zuvor."
"manuell starten, aber wenn du dies tust, starten die Dienste mit "
"derselben OnionShare-Adresse und mit demselben Passwort wie zuvor."
#: ../../source/advanced.rst:21
msgid ""
@ -83,11 +83,11 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"Standardmäßig sind alle OnionShare-Dienste mit dem Nutzernamen ``onionshare``"
" und einem zufällig erzeugten Passwort geschützt. Falls jemand 20 falsche "
"Versuche beim Erraten des Passworts macht, wird dein OnionShare-Service "
"automatisch gestoppt, um eine Bruteforce-Attacke auf den Dienst zu "
"verhindern."
"Standardmäßig sind alle OnionShare-Dienste mit dem Nutzernamen "
"``onionshare`` und einem zufällig erzeugten Passwort geschützt. Falls "
"jemand 20 falsche Versuche beim Erraten des Passworts macht, wird dein "
"OnionShare-Service automatisch gestoppt, um eine Bruteforce-Attacke auf "
"den Dienst zu verhindern."
#: ../../source/advanced.rst:31
msgid ""
@ -98,13 +98,13 @@ msgid ""
"can force your server to stop just by making 20 wrong guesses of your "
"password, even if they know the correct password."
msgstr ""
"Manchmal könntest du wollen, dass dein OnionShare-Service der Öffentlichkeit "
"zugänglich ist; dies ist beispielsweise der Fall, wenn du einen OnionShare-"
"Empfangsdienst einrichten möchtest, über den dir die Öffentlichkeit sicher "
"und anonym Dateien schicken können. In diesem Fall wäre es besser, das "
"Passwort komplett zu deaktivieren. Wenn du dies nicht tust, könnte jemand "
"deinen Dienst anhalten, wenn er 20 mal das Passwort falsch eingibt, selbst "
"wenn er das richtige Passwort kennt."
"Manchmal könntest du wollen, dass dein OnionShare-Service der "
"Öffentlichkeit zugänglich ist; dies ist beispielsweise der Fall, wenn du "
"einen OnionShare-Empfangsdienst einrichten möchtest, über den dir die "
"Öffentlichkeit sicher und anonym Dateien schicken können. In diesem Fall "
"wäre es besser, das Passwort komplett zu deaktivieren. Wenn du dies nicht"
" tust, könnte jemand deinen Dienst anhalten, wenn er 20 mal das Passwort "
"falsch eingibt, selbst wenn er das richtige Passwort kennt."
#: ../../source/advanced.rst:35
msgid ""
@ -116,11 +116,28 @@ msgstr ""
"Haken bei „Kein Passwort verwenden“, bevor du den Dienst startest. Der "
"Dienst wird dann öffentlich sein und kein Passwort erfordern."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Geplante Zeiten"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -128,26 +145,26 @@ msgid ""
"scheduled time\", \"Stop onion service at scheduled time\", or both, and "
"set the respective desired dates and times."
msgstr ""
"OnionShare erlaubt eine genaue Zeitsteuerung, wann ein Dienst starten und "
"stoppen soll. Bevor du den Dienst startest, klicke im jeweiligen Reiter auf „"
"Erweiterte Einstellungen anzeigen“ und setze die Haken bei „Onion-Dienst zu "
"einem festgelegten Zeitpunkt starten“, „Onion-Dienst zu einem festgelegten "
"Zeitpunkt stoppen“ oder bei beiden, und lege das jeweilig gewünschte Datum "
"samt Uhrzeit fest."
"OnionShare erlaubt eine genaue Zeitsteuerung, wann ein Dienst starten und"
" stoppen soll. Bevor du den Dienst startest, klicke im jeweiligen Reiter "
"auf „Erweiterte Einstellungen anzeigen“ und setze die Haken bei „Onion-"
"Dienst zu einem festgelegten Zeitpunkt starten“, „Onion-Dienst zu einem "
"festgelegten Zeitpunkt stoppen“ oder bei beiden, und lege das jeweilig "
"gewünschte Datum samt Uhrzeit fest."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
"starts. If you scheduled it to stop in the future, after it's started you"
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Wenn einer geplanter Dienst in der Zukunft starten soll, siehst du nach dem "
"Klick auf den Start-Button einen Timer, der bis zum Start abläuft. Wenn "
"einer geplanter Dienst in der Zukunft stoppen soll, siehst du nach dem Start "
"einen Timer, der bis zum Stopp abläuft."
"Wenn einer geplanter Dienst in der Zukunft starten soll, siehst du nach "
"dem Klick auf den Start-Button einen Timer, der bis zum Start abläuft. "
"Wenn einer geplanter Dienst in der Zukunft stoppen soll, siehst du nach "
"dem Start einen Timer, der bis zum Stopp abläuft."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
@ -160,7 +177,7 @@ msgstr ""
"Falls dir nichts zustößt, kannst du den Dienst deaktvieren, bevor er "
"gemäß Zeitsteuerung starten würde."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
@ -168,16 +185,16 @@ msgid ""
"days."
msgstr ""
"**Der automatische, zeigesteuerte Stopp eines OnionShare-Dienstes kann "
"sinnvoll sein, um den Dienst nicht mehr als nötig einem Zugriff von außen "
"auszusetzen**; beispielsweise, wenn du geheime Dokumente freigeben möchtest "
"und diese nicht länger als für ein paar Tage über das Internet zugänglich "
"sein sollen."
"sinnvoll sein, um den Dienst nicht mehr als nötig einem Zugriff von außen"
" auszusetzen**; beispielsweise, wenn du geheime Dokumente freigeben "
"möchtest und diese nicht länger als für ein paar Tage über das Internet "
"zugänglich sein sollen."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Kommandozeilen-Schnittstelle"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
@ -185,7 +202,7 @@ msgstr ""
"Zusätzlich zur grafischen Oberfläche verfügt OnionShare auch über eine "
"Kommandozeilen-Schnittstelle."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
@ -193,7 +210,7 @@ msgstr ""
"Du kannst eine Kommandozeilen-Version von OnionShare mit ``pip3`` "
"installieren::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
@ -201,11 +218,11 @@ msgstr ""
"Beachte, dass du auch hierfür das ``tor``-Paket installiert haben musst. "
"Unter macOS kannst du dieses mit ``brew install tor`` installieren"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Führe es dann wiefolgt aus::"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
@ -215,11 +232,11 @@ msgstr ""
"kannst du ``onionshare.cli`` ausführen, um zur Kommandozeilen-Version zu "
"gelangen."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Benutzung"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
@ -227,11 +244,11 @@ msgstr ""
"Die Dokumentation zur Kommandozeile kann über den Befehl ``onionshare "
"--help`` abgerufen werden::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Veraltetes Adressformat"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
@ -239,24 +256,24 @@ msgstr ""
"OnionShare nutzt standardmäßig Tor-OnionDienste der Version 3. Dies sind "
"moderne .onion-Adressen von 56 Zeichen Länge, z.B.::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
msgstr ""
"OnionShare unterstützt immer noch .onion-Adressen der Version 2, die alte "
"Version von .onion-Adressen mit 16 Zeichen Länge, z.B.::"
"OnionShare unterstützt immer noch .onion-Adressen der Version 2, die alte"
" Version von .onion-Adressen mit 16 Zeichen Länge, z.B.::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
"OnionShare bezeichnet .onion-Adressen der Version 2 als „veraltetes "
"Adressformat“. Adressen der Version 3 sind sicherer, und eine Nutzung der "
"veralteten Adressen wird nicht empfohlen."
"Adressformat“. Adressen der Version 3 sind sicherer, und eine Nutzung der"
" veralteten Adressen wird nicht empfohlen."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -269,20 +286,20 @@ msgstr ""
"entsprechenden Dienstes in seinem Reiter auf „Erweiterte Einstellungen "
"anzeigen“; setze dort den Haken bei „Benutze ein veraltetes Adressformat "
"(Onion-Dienste-Adressformat v2, nicht empfohlen)“. In diesem veralteten "
"Modus kannst du die Client-Authorisierung aktivieren. Sobald ein Dienst in "
"dem veralteten Modus gestartet wurde, kann man dies in dem entsprechenden "
"Reiter nicht rückgängig machen; stattdessen müsstest du einen separaten "
"Dienst in einem eigenem Reiter starten."
"Modus kannst du die Client-Authorisierung aktivieren. Sobald ein Dienst "
"in dem veralteten Modus gestartet wurde, kann man dies in dem "
"entsprechenden Reiter nicht rückgängig machen; stattdessen müsstest du "
"einen separaten Dienst in einem eigenem Reiter starten."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
"2021, and legacy onion services will be removed from OnionShare before "
"then."
msgstr ""
"Das Tor-Projekt plant, .onion-Dienste der Version 2 zum 15. Oktober 2021 `"
"vollständig zu entfernen <https://blog.torproject.org/v2-deprecation-"
"Das Tor-Projekt plant, .onion-Dienste der Version 2 zum 15. Oktober 2021 "
"`vollständig zu entfernen <https://blog.torproject.org/v2-deprecation-"
"timeline>`_, und die Unterstützung für diese Dienste wird davor aus "
"OnionShare entfernt werden."
@ -396,3 +413,4 @@ msgstr ""
#~ "Windows aufsetzen (siehe "
#~ ":ref:`starting_development`) und dann Folgendes "
#~ "auf der Befehlszeile ausführen::"

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:43-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: mv87 <mv87@dismail.de>\n"
"Language-Team: de <LL@li.org>\n"
"Language: de\n"
"Language-Team: de <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -29,8 +28,8 @@ msgid ""
"other people as `Tor <https://www.torproject.org/>`_ `onion services "
"<https://community.torproject.org/onion-services/>`_."
msgstr ""
"OnionShare startet Webserver lokal auf deinem Rechner und macht sie anderen "
"Leuten als `Tor <https://www.torproject.org/>`_ `Onion-"
"OnionShare startet Webserver lokal auf deinem Rechner und macht sie "
"anderen Leuten als `Tor <https://www.torproject.org/>`_ `Onion-"
"Dienste<https://community.torproject.org/onion-services/>`_ zugänglich."
#: ../../source/features.rst:8
@ -49,11 +48,11 @@ msgid ""
"something less secure like unencrypted e-mail, depending on your `threat "
"model <https://ssd.eff.org/module/your-security-plan>`_."
msgstr ""
"Du musst diese URL über einen sicheren Kommunikationskanal deiner Wahl mit "
"anderen teilen, beispielsweise über eine verschlüsselte Chatnachricht, oder "
"über einen weniger sicheren Weg wie zum Beispiel einerTwitter- oder Facebook-"
"Nachricht, abhängig von deiner persönlichen `Bedrohungsanalyse <https://ssd."
"eff.org/en/module/your-security-plan>`_."
"Du musst diese URL über einen sicheren Kommunikationskanal deiner Wahl "
"mit anderen teilen, beispielsweise über eine verschlüsselte "
"Chatnachricht, oder über einen weniger sicheren Weg wie zum Beispiel "
"einerTwitter- oder Facebook-Nachricht, abhängig von deiner persönlichen "
"`Bedrohungsanalyse <https://ssd.eff.org/en/module/your-security-plan>`_."
#: ../../source/features.rst:14
msgid ""
@ -71,10 +70,10 @@ msgid ""
"until your laptop is unsuspended and on the Internet again. OnionShare "
"works best when working with people in real-time."
msgstr ""
"Wenn du OnionShare auf deinem Laptop laufen lässt, um jemandem Dateien zu "
"schicken, und du den Laptop in den Ruhemodus versetzt, ehe die Dateien "
"gesendet wurden, wird der Dienst so lange nicht erreichbar sein, bis dein "
"Laptop wieder läuft und mit dem Internet verbunden ist. OnionShare "
"Wenn du OnionShare auf deinem Laptop laufen lässt, um jemandem Dateien zu"
" schicken, und du den Laptop in den Ruhemodus versetzt, ehe die Dateien "
"gesendet wurden, wird der Dienst so lange nicht erreichbar sein, bis dein"
" Laptop wieder läuft und mit dem Internet verbunden ist. OnionShare "
"funktioniert am besten, wenn du in Echtzeit mit den Leuten in Verbindung "
"stehst."
@ -86,8 +85,8 @@ msgid ""
"Tor onion services too, it also protects your anonymity. See the "
":doc:`security design </security>` for more info."
msgstr ""
"Weil dein eigener Rechner der Webserver ist, *hat kein Dritter Zugriff auf "
"das, was ihr mit OnionShare tut*, nicht einmal die Entwickler von "
"Weil dein eigener Rechner der Webserver ist, *hat kein Dritter Zugriff "
"auf das, was ihr mit OnionShare tut*, nicht einmal die Entwickler von "
"OnionShare. Es ist vollständig geheim. Und weil OnionShare auch auf Tors "
"Onion-Diensten basiert, schützt es auch deine Anonymität. Für weitere "
"Informationen siehe :doc:`security design </security>`."
@ -102,18 +101,19 @@ msgid ""
"anonymously. Open a share tab, drag in the files and folders you wish to "
"share, and click \"Start sharing\"."
msgstr ""
"Du kannst OnionShare dazu verwenden, um Dateien und Ordner sicher und anonym "
"an andere Leute zu schicken. Öffne einfach einen Freigabe-Reiter, ziehe die "
"freizugebenden Dateien und Ordner dort hinein und klicke auf „Freigabe "
"starten“."
"Du kannst OnionShare dazu verwenden, um Dateien und Ordner sicher und "
"anonym an andere Leute zu schicken. Öffne einfach einen Freigabe-Reiter, "
"ziehe die freizugebenden Dateien und Ordner dort hinein und klicke auf "
"„Freigabe starten“."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
"Nachdem du Dateien hinzugefügt hast, werden dir Einstellungsmöglichkeiten "
"angezeigt. Wähle die passenden Einstellungen, bevor du die Freigabe startest."
"Nachdem du Dateien hinzugefügt hast, werden dir Einstellungsmöglichkeiten"
" angezeigt. Wähle die passenden Einstellungen, bevor du die Freigabe "
"startest."
#: ../../source/features.rst:31
msgid ""
@ -123,11 +123,11 @@ msgid ""
" files have been sent (uncheck to allow downloading individual files)\" "
"box."
msgstr ""
"Sobald jemand deine Dateien vollständig heruntergeladen hat, wird OnionShare "
"den Dienst automatisch starten und die Webseite vom Internet nehmen. Um "
"mehreren Leuten das Herunterladen zu ermöglichen, entferne den Haken bei „"
"Dateifreigabe beenden, sobald alle Dateien versendet wurden (abwählen, um "
"das Herunterladen einzelner Dateien zu erlauben)“."
"Sobald jemand deine Dateien vollständig heruntergeladen hat, wird "
"OnionShare den Dienst automatisch starten und die Webseite vom Internet "
"nehmen. Um mehreren Leuten das Herunterladen zu ermöglichen, entferne den"
" Haken bei „Dateifreigabe beenden, sobald alle Dateien versendet wurden "
"(abwählen, um das Herunterladen einzelner Dateien zu erlauben)“."
#: ../../source/features.rst:34
msgid ""
@ -135,8 +135,8 @@ msgid ""
"individual files you share rather than a single compressed version of all"
" the files."
msgstr ""
"Wenn du diesen Haken entfernst, können Leute außerdem die Dateien einzeln "
"herunterladen (anstelle einer einzigen komprimierten Datei, die alle "
"Wenn du diesen Haken entfernst, können Leute außerdem die Dateien einzeln"
" herunterladen (anstelle einer einzigen komprimierten Datei, die alle "
"Einzeldateien enthält)."
#: ../../source/features.rst:36
@ -146,11 +146,12 @@ msgid ""
" website down. You can also click the \"↑\" icon in the top-right corner "
"to show the history and progress of people downloading files from you."
msgstr ""
"Wenn du bereit zum Freigeben bist, klicke auf den „Freigabe starten”-Button. "
"Du kannst jederzeit auf “„Freigabe beenden” klicken oder OnionShare beenden, "
"um die Webseite augenblicklich vom Internet zu nehmen. Du kannst außerdem "
"auf den „Nach oben”-Pfeil in der oberen rechten Ecke klicken, um dir den "
"Verlauf und den Fortschritt der Downloads anzeigen zu lassen."
"Wenn du bereit zum Freigeben bist, klicke auf den „Freigabe "
"starten”-Button. Du kannst jederzeit auf “„Freigabe beenden” klicken oder"
" OnionShare beenden, um die Webseite augenblicklich vom Internet zu "
"nehmen. Du kannst außerdem auf den „Nach oben”-Pfeil in der oberen "
"rechten Ecke klicken, um dir den Verlauf und den Fortschritt der "
"Downloads anzeigen zu lassen."
#: ../../source/features.rst:40
msgid ""
@ -159,10 +160,10 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Jetzt, wo du eine OnionShare-Freigabe hast, kopiere die Adresse und schicke "
"sie der Person, die die Dateien empfangen soll. Falls die Dateien sicher "
"bleiben sollen oder die Person sonstwie einer Gefahr ausgesetzt ist, nutze "
"einen verschlüsselten Messenger."
"Jetzt, wo du eine OnionShare-Freigabe hast, kopiere die Adresse und "
"schicke sie der Person, die die Dateien empfangen soll. Falls die Dateien"
" sicher bleiben sollen oder die Person sonstwie einer Gefahr ausgesetzt "
"ist, nutze einen verschlüsselten Messenger."
#: ../../source/features.rst:42
msgid ""
@ -171,38 +172,59 @@ msgid ""
"downloaded directly from your computer by clicking the \"Download Files\""
" link in the corner."
msgstr ""
"Diese Person muss nun die Adresse mit dem Tor Browser öffnen. Nachdem sie "
"sich mit dem zufällig erzeugten Passwort eingeloggt hat, das in der Adresse "
"enthalten ist, kann sie die Dateien direkt von deinem Rechner über den „"
"Dateien herunterladen”-Link in der Ecke herunterladen."
"Diese Person muss nun die Adresse mit dem Tor Browser öffnen. Nachdem sie"
" sich mit dem zufällig erzeugten Passwort eingeloggt hat, das in der "
"Adresse enthalten ist, kann sie die Dateien direkt von deinem Rechner "
"über den „Dateien herunterladen”-Link in der Ecke herunterladen."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Dateien empfangen"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"Du kannst OnionShare dazu benutzen, um anderen Personen das anonyme "
"Hochladen von Dateien direkt auf deinen Rechner zu ermöglichen; hierdurch "
"wird dein Rechner sozusagen zu einem anonymen Briefkasten. Öffne einen „"
"Dateien Empfangen”-Reiter, wähle einen Speicherpfad und andere "
"Einstellungen, und klicke dann auf „Empfangsmodus starten”."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Damit wird der OnionShare-Service gestartet. Jeder der diese Adresse mit dem "
"Tor Browser öffnet, kann Dateien auf deinen Rechner hochladen."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
@ -210,23 +232,20 @@ msgstr ""
"klicken, um dir den Verlauf und den Fortschritt der Uploads auf deinen "
"rechner anzeigen zu lassen."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "So sieht es aus, wenn jemand Dateien bei dir hochlädt."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"Wenn jemand Dateien auf deinen Dienst im Empfangsmodus hochlädt, werden "
"diese standardmäßig in einem Ordner namens ``OnionShare`` in deinem "
"Benutzerverzeichnis abgelegt; die Dateien werden automatisch in Unterordner "
"aufgeteilt, abhängig vom Hochladedatum."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -235,28 +254,29 @@ msgid ""
"whistleblower submission system."
msgstr ""
"Ein solcher OnionShare-Empfangsdienst ist besonders für Journalisten und "
"andere interessant, die Dokumente von anonymen Quellen erhalten. So genutzt, "
"ist OnionShare sozusagen eine leichtgewichtige, einfachere und nicht ganz so "
"sichere Variante von `SecureDrop <https://securedrop.org/>`_, einem "
"Einsendesystem für Whistleblower."
"andere interessant, die Dokumente von anonymen Quellen erhalten. So "
"genutzt, ist OnionShare sozusagen eine leichtgewichtige, einfachere und "
"nicht ganz so sichere Variante von `SecureDrop "
"<https://securedrop.org/>`_, einem Einsendesystem für Whistleblower."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Nutzung auf eigene Gefahr"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
"OnionShare service. OnionShare does not add any safety mechanisms to "
"protect your system from malicious files."
msgstr ""
"Ähnlich wie bei bösartigen E-Mail-Anhängen kann es sein, dass jemand deinen "
"Rechner anzugreifen versucht, indem er eine bösartige Datei auf deinen "
"OnionShare-Dienst hochlädt. OnionShare bringt keine Sicherheitsmechanismen "
"mit, um dein System vor bösartigen Dateien zu schützen."
"Ähnlich wie bei bösartigen E-Mail-Anhängen kann es sein, dass jemand "
"deinen Rechner anzugreifen versucht, indem er eine bösartige Datei auf "
"deinen OnionShare-Dienst hochlädt. OnionShare bringt keine "
"Sicherheitsmechanismen mit, um dein System vor bösartigen Dateien zu "
"schützen."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -265,44 +285,51 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"Wenn du ein Office- oder PDF-Dokument über OnionShare erhältst, kannst du "
"diese in sichere PDF-Dateien überführen, indem du `Dangerzone "
"<https://dangerzone.rocks/>`_ nutzt. Du kannst dich auch schützen, indem du "
"nicht vertrauenswürdige Dokumente in `Tails <https://tails.boum.org/>`_ oder "
"in einer `Qubes <https://qubes-os.org/>`_-Wegwerf-VM öffnest."
"Wenn du ein Office- oder PDF-Dokument über OnionShare erhältst, kannst du"
" diese in sichere PDF-Dateien überführen, indem du `Dangerzone "
"<https://dangerzone.rocks/>`_ nutzt. Du kannst dich auch schützen, indem "
"du nicht vertrauenswürdige Dokumente in `Tails "
"<https://tails.boum.org/>`_ oder in einer `Qubes <https://qubes-"
"os.org/>`_-Wegwerf-VM öffnest."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Tipps für einen OnionShare-Empfangsdienst"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
" and connected to the Internet, and not on the one you use on a regular "
"basis."
msgstr ""
"Wenn du deinen eigenen anonymen Briefkasten per OnionShare betreiben willst, "
"solltest du dies auf einem separaten, eigens dafür eingerichteten Rechner "
"tun, der immer läuft und mit dem Internet verbunden ist; nicht mit dem, den "
"du sonst regelmäßig benutzt."
"Wenn du deinen eigenen anonymen Briefkasten per OnionShare betreiben "
"willst, solltest du dies auf einem separaten, eigens dafür eingerichteten"
" Rechner tun, der immer läuft und mit dem Internet verbunden ist; nicht "
"mit dem, den du sonst regelmäßig benutzt."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"Falls du deine OnionShare-Adresse auf deiner Webseite oder auf deinen "
"Profilen in den sozialen Medien verbreiten möchtest, solltest du den Reiter "
"speichern (siehe :ref:`save_tabs`) und den Dienst als öffentlichen Dienst "
"betreiben (siehe :ref:`disable password`)."
"Profilen in den sozialen Medien verbreiten möchtest, solltest du den "
"Reiter speichern (siehe :ref:`save_tabs`) und den Dienst als öffentlichen"
" Dienst betreiben (siehe :ref:`disable password`)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Eine Webseite hosten"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
@ -312,7 +339,7 @@ msgstr ""
"Webseiten-Reiter, ziehe die Dateien und Ordner hinein, aus denen die "
"statische Webseite besteht, und klicke auf „Webseite veröffentlichen\"."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -322,13 +349,13 @@ msgid ""
" WordPress.)"
msgstr ""
"Wenn du eine ``index.html``-Datei hinzufügst, wird sie beim Öffnen der "
"Webseite dargestellt. Du solltest auch alle anderen HTML-Dateien sowie CSS- "
"und JavaScript-Dateien und Bilder mit einbeziehen, aus denen die Webseite "
"besteht. (Beachte, dass OnionShare nur *statische* Webseiten hosten kann. Es "
"kann keine Webseiten hosten, die Code ausführen oder auf Datenbanken "
"zugreifen. So kann man z.B. WordPress nicht verwenden.)"
"Webseite dargestellt. Du solltest auch alle anderen HTML-Dateien sowie "
"CSS- und JavaScript-Dateien und Bilder mit einbeziehen, aus denen die "
"Webseite besteht. (Beachte, dass OnionShare nur *statische* Webseiten "
"hosten kann. Es kann keine Webseiten hosten, die Code ausführen oder auf "
"Datenbanken zugreifen. So kann man z.B. WordPress nicht verwenden.)"
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
@ -338,11 +365,11 @@ msgstr ""
"Verzeichnisstruktur angezeigt; beim Aufruf können Personen die Dateien "
"durchsehen und herunterladen."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "Content-Security-Policy"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -350,13 +377,13 @@ msgid ""
"However, this prevents third-party content from loading inside the web "
"page."
msgstr ""
"Standardmäßig wird OnionShare beim Absichern deiner Webseite helfen, indem "
"es einen strikten `Content-Security-Policy <https://en.wikipedia.org/wiki/"
"Content_Security_Policy>`_-Header setzt. Allerdings wird hierdurch "
"verhindert, dass Inhalte von Drittanbietern innerhalb der Webseite geladen "
"werden."
"Standardmäßig wird OnionShare beim Absichern deiner Webseite helfen, "
"indem es einen strikten `Content-Security-Policy "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_-Header setzt. "
"Allerdings wird hierdurch verhindert, dass Inhalte von Drittanbietern "
"innerhalb der Webseite geladen werden."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
@ -365,15 +392,15 @@ msgid ""
msgstr ""
"Falls du auch Inhalte von Drittanbieter-Webseiten laden willst, wie z.B. "
"Inhalte oder JavaScript-Bibliotheken von CDNs, musst du einen Haken bei "
"„Content-Security-Policy-Header deaktivieren (ermöglicht es, Ressourcen von "
"Drittanbietern auf deiner Onion-Webseite einzubinden)“ setzen, bevor du den "
"Dienst startest."
"„Content-Security-Policy-Header deaktivieren (ermöglicht es, Ressourcen "
"von Drittanbietern auf deiner Onion-Webseite einzubinden)“ setzen, bevor "
"du den Dienst startest."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Tipps zum Betreiben eines Webseiten-Dienstes"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -382,15 +409,16 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"Falls du eine Webseite längerfristig über OnionShare anbieten (und nicht nur "
"kurz jemandem etwas zeigen) möchtest, solltest du dies auf einem separaten, "
"eigens dafür eingerichteten Rechner tun, der immer läuft und mit dem "
"Internet verbunden ist; nicht mit dem, den du sonst regelmäßig benutzt. "
"Außerdem solltest du den Reiter speichern (see :ref:`save_tabs`), so dass du "
"die Webseite mit derselben Adresse weiterbetreiben kannst, falls du "
"OnionShare schließt und später wieder öffnest."
"Falls du eine Webseite längerfristig über OnionShare anbieten (und nicht "
"nur kurz jemandem etwas zeigen) möchtest, solltest du dies auf einem "
"separaten, eigens dafür eingerichteten Rechner tun, der immer läuft und "
"mit dem Internet verbunden ist; nicht mit dem, den du sonst regelmäßig "
"benutzt. Außerdem solltest du den Reiter speichern (see "
":ref:`save_tabs`), so dass du die Webseite mit derselben Adresse "
"weiterbetreiben kannst, falls du OnionShare schließt und später wieder "
"öffnest."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
@ -398,11 +426,11 @@ msgstr ""
"Falls du die Webseite öffentlich betreiben wilst, solltest du sie als "
"öffentlichen Dienst hosten (see :ref:`disable_passwords`)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Anonym chatten"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
@ -411,19 +439,20 @@ msgstr ""
"aufsetzen, der nichts aufzeichnet. Öffne einfach einen Chat-Reiter und "
"klicke auf „Chat starten“."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
"Nachdem du den Dienst gestartest hast, kopiere die OnionShare-Adresse und "
"schicke sie den Leuten, die du in dem anonymen Chatroom gerne hättest. Falls "
"es wichtig ist, den Teilnehmerkreis strikt zu beschränken, solltest du einen "
"verschlüsselten Messenger zum Teilen der OnionShare-Adresse verwenden."
"Nachdem du den Dienst gestartest hast, kopiere die OnionShare-Adresse und"
" schicke sie den Leuten, die du in dem anonymen Chatroom gerne hättest. "
"Falls es wichtig ist, den Teilnehmerkreis strikt zu beschränken, solltest"
" du einen verschlüsselten Messenger zum Teilen der OnionShare-Adresse "
"verwenden."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -431,11 +460,11 @@ msgid ""
"\"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
"Man kann dem Chatroom beitreten, indem man die OnionShare-Adresse im Tor "
"Browser aufruft. Der Chatroom setzt JavaScript voraus, d.h. jeder Teilnehmer "
"muss im Tor Browser seinen Sicherheitslevel auf „Standard“ oder „Safer“ ("
"anstelle von Safest) setzen."
"Browser aufruft. Der Chatroom setzt JavaScript voraus, d.h. jeder "
"Teilnehmer muss im Tor Browser seinen Sicherheitslevel auf „Standard“ "
"oder „Safer“ (anstelle von Safest) setzen."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
@ -448,7 +477,7 @@ msgstr ""
"Chatverlauf wird nicht angezeigt, selbst wenn andere bereits zuvor im "
"Chatroot gechattet hatten, da der Chatverlauf nirgendwo gespeichert wird."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
@ -456,7 +485,7 @@ msgstr ""
"In einem OnionShare-Chatroom ist jeder anonym. Jeder kann seinen Namen "
"beliebig ändern und die Identität der Nutzer kann nicht überprüft werden."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
@ -464,15 +493,15 @@ msgid ""
"room are your friends."
msgstr ""
"Allerdings kannst du dir einigermaßen sicher sein, dass die Leute im "
"Chatroom auch wirklich deine Freunde sind, wenn du die OnionShare-Adresse "
"nur an eine kleine Anzahl vertrauenswürdiger Freunde über einen "
"Chatroom auch wirklich deine Freunde sind, wenn du die OnionShare-Adresse"
" nur an eine kleine Anzahl vertrauenswürdiger Freunde über einen "
"verschlüsselten Kanal geschickt hast."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "Wozu soll das gut sein?"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
@ -481,7 +510,7 @@ msgstr ""
"verschlüsselten Messenger benutzen solltest? Sie hinterlassen weniger "
"Spuren."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -492,16 +521,17 @@ msgid ""
"rooms don't store any messages anywhere, so the problem is reduced to a "
"minimum."
msgstr ""
"Wenn du beispielsweise eine Nachricht an eine Gruppe in „Signal“ sendest, "
"landet eine Kopie deiner Nachricht auf jedem Gerät (den Geräten und "
"Wenn du beispielsweise eine Nachricht an eine Gruppe in „Signal“ sendest,"
" landet eine Kopie deiner Nachricht auf jedem Gerät (den Geräten und "
"Computern, falls auch Signal Desktop verwendet wird). Selbst wenn "
"verschwindende Nachrichten aktiviert ist, lässt sich kaum mit Sicherheit "
"sagen, dass alle Kopieren von allen Geräten entfernt wurden, und ggfs. auch "
"von anderen Orten, an denen Kopien gelandet sein können (z.B. in einer "
"Benachrichtigungs-Datenbank). OnionShare-Chatrooms speichern nirgendwo "
"Nachrichten, so dass dieses Problem auf ein Minimum reduziert ist."
"sagen, dass alle Kopieren von allen Geräten entfernt wurden, und ggfs. "
"auch von anderen Orten, an denen Kopien gelandet sein können (z.B. in "
"einer Benachrichtigungs-Datenbank). OnionShare-Chatrooms speichern "
"nirgendwo Nachrichten, so dass dieses Problem auf ein Minimum reduziert "
"ist."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -511,17 +541,17 @@ msgid ""
"anonymity."
msgstr ""
"OnionShare-Chatrooms können außerdem für einander unbekannte Personen "
"nützlich sein, die sicher untereinander chatten wollen, ohne Benutzerkonten "
"zu erstellen. Beispielsweise könnte eine Quelle einem Journalisten über eine "
"Wegwerf-E-Mail-Adresse eine OnionShare-Adresse schicken und dann warten, bis "
"der Journalist den Chatroom betritt; all dies, ohne die Anonymität zu "
"gefährden."
"nützlich sein, die sicher untereinander chatten wollen, ohne "
"Benutzerkonten zu erstellen. Beispielsweise könnte eine Quelle einem "
"Journalisten über eine Wegwerf-E-Mail-Adresse eine OnionShare-Adresse "
"schicken und dann warten, bis der Journalist den Chatroom betritt; all "
"dies, ohne die Anonymität zu gefährden."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "Wie funktioniert die Verschlüsselung?"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -531,13 +561,14 @@ msgid ""
" connections."
msgstr ""
"Weil OnionShare auf Tors Onion-Dienste aufbaut, sind alle Verbindungen "
"zwischen Tor Browser und OnionShare Ende zu Ende verschlüsselt (E2EE). Wenn "
"jemand eine Nachricht in einem OnionShare-Chatroom absetzt, wird diese durch "
"die E2EE-Onion-Verbindung an den Chatserver gesendet, welcher sie dann "
"wiederum an alle anderen Mitglieder des Chatrooms über sog. WebSockets "
"weiterschickt, wiederum durch deren eigene E2EE-Onion-Verbindungen."
"zwischen Tor Browser und OnionShare Ende zu Ende verschlüsselt (E2EE). "
"Wenn jemand eine Nachricht in einem OnionShare-Chatroom absetzt, wird "
"diese durch die E2EE-Onion-Verbindung an den Chatserver gesendet, welcher"
" sie dann wiederum an alle anderen Mitglieder des Chatrooms über sog. "
"WebSockets weiterschickt, wiederum durch deren eigene E2EE-Onion-"
"Verbindungen."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -749,3 +780,55 @@ msgstr ""
#~ "OnionShare-Chatrooms speichern nirgendwo "
#~ "Nachrichten, so dass es hier kein "
#~ "vergleichbares Problem gibt."
#~ msgid "Receive Files"
#~ msgstr "Dateien empfangen"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "Du kannst OnionShare dazu benutzen, um"
#~ " anderen Personen das anonyme Hochladen "
#~ "von Dateien direkt auf deinen Rechner"
#~ " zu ermöglichen; hierdurch wird dein "
#~ "Rechner sozusagen zu einem anonymen "
#~ "Briefkasten. Öffne einen „Dateien "
#~ "Empfangen”-Reiter, wähle einen Speicherpfad "
#~ "und andere Einstellungen, und klicke "
#~ "dann auf „Empfangsmodus starten”."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Damit wird der OnionShare-Service "
#~ "gestartet. Jeder der diese Adresse mit"
#~ " dem Tor Browser öffnet, kann Dateien"
#~ " auf deinen Rechner hochladen."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "Wenn jemand Dateien auf deinen Dienst"
#~ " im Empfangsmodus hochlädt, werden diese"
#~ " standardmäßig in einem Ordner namens "
#~ "``OnionShare`` in deinem Benutzerverzeichnis "
#~ "abgelegt; die Dateien werden automatisch "
#~ "in Unterordner aufgeteilt, abhängig vom "
#~ "Hochladedatum."

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-12-01 17:29+0000\n"
"Last-Translator: george k <norhorn@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: el\n"
"Language-Team: el <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -35,12 +34,12 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"Από προεπιλογή, τα πάντα στο OnionShare είναι προσωρινά. Εάν κλείσετε μια "
"καρτέλα OnionShare, η διεύθυνσή της δεν θα υπάρχει πλέον και δεν μπορεί να "
"χρησιμοποιηθεί ξανά. Μερικές φορές ίσως χρειαστείτε μια ποιο μόνιμη υπηρεσία "
"OnionShare. Είναι χρήσιμο εάν θέλετε να φιλοξενήσετε έναν ιστότοπο που θα "
"είναι διαθέσιμος στην ίδια διεύθυνση OnionShare ακόμα και αν κάνετε "
"επανεκκίνηση του υπολογιστή σας."
"Από προεπιλογή, τα πάντα στο OnionShare είναι προσωρινά. Εάν κλείσετε μια"
" καρτέλα OnionShare, η διεύθυνσή της δεν θα υπάρχει πλέον και δεν μπορεί "
"να χρησιμοποιηθεί ξανά. Μερικές φορές ίσως χρειαστείτε μια ποιο μόνιμη "
"υπηρεσία OnionShare. Είναι χρήσιμο εάν θέλετε να φιλοξενήσετε έναν "
"ιστότοπο που θα είναι διαθέσιμος στην ίδια διεύθυνση OnionShare ακόμα και"
" αν κάνετε επανεκκίνηση του υπολογιστή σας."
#: ../../source/advanced.rst:13
msgid ""
@ -48,8 +47,8 @@ msgid ""
"open it when I open OnionShare\" box before starting the server. When a "
"tab is saved a purple pin icon appears to the left of its server status."
msgstr ""
"Για να διατηρήσετε οποιαδήποτε καρτέλα, επιλέξτε το \"Αποθήκευση αυτής της "
"καρτέλας και αυτόματη έναρξη με το OnionShare\" πριν ξεκινήσετε τον "
"Για να διατηρήσετε οποιαδήποτε καρτέλα, επιλέξτε το \"Αποθήκευση αυτής "
"της καρτέλας και αυτόματη έναρξη με το OnionShare\" πριν ξεκινήσετε τον "
"διακομιστή. Όταν αποθηκεύεται μια καρτέλα, εμφανίζεται ένα μώβ εικονίδιο "
"καρφίτσωσης στα αριστερά της κατάστασης του διακομιστή."
@ -60,8 +59,8 @@ msgid ""
" they will start with the same OnionShare address and password."
msgstr ""
"Όταν κάνετε έξοδο από το OnionShare και άνοιγμα ξανά, οι αποθηκευμένες "
"καρτέλες σας θα ξεκινήσουν ανοιχτές. Θα πρέπει να εκκινήσετε χειροκίνητα την "
"κάθε υπηρεσία, αλλά θα ξεκινήσουν με την ίδια διεύθυνση και κωδικό "
"καρτέλες σας θα ξεκινήσουν ανοιχτές. Θα πρέπει να εκκινήσετε χειροκίνητα "
"την κάθε υπηρεσία, αλλά θα ξεκινήσουν με την ίδια διεύθυνση και κωδικό "
"OnionShare."
#: ../../source/advanced.rst:21
@ -69,9 +68,9 @@ msgid ""
"If you save a tab, a copy of that tab's onion service secret key will be "
"stored on your computer with your OnionShare settings."
msgstr ""
"Εάν αποθηκεύσετε μια καρτέλα, ένα αντίγραφο κλειδιού της υπηρεσίας onion της "
"καρτέλας, θα αποθηκευτεί στον υπολογιστή σύμφωνα με τις ρυθμίσεις του "
"OnionShare."
"Εάν αποθηκεύσετε μια καρτέλα, ένα αντίγραφο κλειδιού της υπηρεσίας onion "
"της καρτέλας, θα αποθηκευτεί στον υπολογιστή σύμφωνα με τις ρυθμίσεις του"
" OnionShare."
#: ../../source/advanced.rst:26
msgid "Turn Off Passwords"
@ -84,10 +83,10 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"Από προεπιλογή, οι υπηρεσίες OnionShare προστατεύονται με το όνομα χρήστη "
"``onionshare`` και έναν τυχαίο κωδικό πρόσβασης. Με τη χρήση 20 λανθασμένων "
"προσπαθειών, η υπηρεσία onion διακόπτεται αυτόματα για να αποφευχθεί μια "
"επίθεση brute force κατά της υπηρεσίας OnionShare."
"Από προεπιλογή, οι υπηρεσίες OnionShare προστατεύονται με το όνομα χρήστη"
" ``onionshare`` και έναν τυχαίο κωδικό πρόσβασης. Με τη χρήση 20 "
"λανθασμένων προσπαθειών, η υπηρεσία onion διακόπτεται αυτόματα για να "
"αποφευχθεί μια επίθεση brute force κατά της υπηρεσίας OnionShare."
#: ../../source/advanced.rst:31
msgid ""
@ -101,10 +100,10 @@ msgstr ""
"Μερικές φορές μπορεί να θέλετε η υπηρεσία OnionShare να είναι δημόσια "
"προσβάσιμη, ή να ρυθμίσετε την υπηρεσία λήψης OnionShare ώστε να μπορεί "
"κάποιος να σας στέλνει με ασφάλεια και ανώνυμα αρχεία. Σε αυτήν την "
"περίπτωση, είναι καλύτερα να απενεργοποιήσετε εντελώς τον κωδικό πρόσβασης. "
"Εάν δεν το κάνετε αυτό, κάποιος μπορεί να αναγκάσει τον διακομιστή σας να "
"σταματήσει απλά κάνοντας 20 λανθασμένες δοκιμές για τον κωδικό πρόσβασής "
"σας, ακόμη και αν γνωρίζουν τον σωστό."
"περίπτωση, είναι καλύτερα να απενεργοποιήσετε εντελώς τον κωδικό "
"πρόσβασης. Εάν δεν το κάνετε αυτό, κάποιος μπορεί να αναγκάσει τον "
"διακομιστή σας να σταματήσει απλά κάνοντας 20 λανθασμένες δοκιμές για τον"
" κωδικό πρόσβασής σας, ακόμη και αν γνωρίζουν τον σωστό."
#: ../../source/advanced.rst:35
msgid ""
@ -112,15 +111,32 @@ msgid ""
"password\" box before starting the server. Then the server will be public"
" and won't have a password."
msgstr ""
"Για απενεργοποίηση των κωδικών πρόσβασης των καρτελών, επιλέξτε το \"Χωρίς "
"χρήση κωδικού πρόσβασης\" πρίν την έναρξη του διακομιστή. Τότε ο διακομιστής "
"θα είναι δημόσιος χωρίς κωδικό πρόσβασης."
"Για απενεργοποίηση των κωδικών πρόσβασης των καρτελών, επιλέξτε το "
"\"Χωρίς χρήση κωδικού πρόσβασης\" πρίν την έναρξη του διακομιστή. Τότε ο "
"διακομιστής θα είναι δημόσιος χωρίς κωδικό πρόσβασης."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Προγραμματισμένες ώρες"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -128,53 +144,53 @@ msgid ""
"scheduled time\", \"Stop onion service at scheduled time\", or both, and "
"set the respective desired dates and times."
msgstr ""
"Το OnionShare υποστηρίζει την προγραμματισμένη έναρξη και διακοπή υπηρεσιών "
"του. Πρίν την έναρξη του διακομιστή, κάντε κλικ στο \"Εμφάνιση προχωρημένων "
"ρυθμίσεων\" της καρτέλας και επιλέξτε το \"Προγραμματισμένη εκκίνηση\", "
"\"Προγραμματισμένος τερματισμός\" ή και τα δύο, ρυθμίζοντας ημερομηνία και "
"ώρα αντίστοιχα."
"Το OnionShare υποστηρίζει την προγραμματισμένη έναρξη και διακοπή "
"υπηρεσιών του. Πρίν την έναρξη του διακομιστή, κάντε κλικ στο \"Εμφάνιση "
"προχωρημένων ρυθμίσεων\" της καρτέλας και επιλέξτε το \"Προγραμματισμένη "
"εκκίνηση\", \"Προγραμματισμένος τερματισμός\" ή και τα δύο, ρυθμίζοντας "
"ημερομηνία και ώρα αντίστοιχα."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
"starts. If you scheduled it to stop in the future, after it's started you"
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Εάν προγραμματίσατε την εκκίνηση της υπηρεσίας, όταν κάνετε κλικ στο κουμπί "
"\"Εκκίνηση διαμοιρασμού\" θα δείτε την εμφάνιση ενός χρονόμετρου. Εάν "
"προγραμματίσατε τερματισμό υπηρεσιών, θα δείτε ένα χρονόμετρο με αντίστροφη "
"μέτρηση έως τη λήξη."
"Εάν προγραμματίσατε την εκκίνηση της υπηρεσίας, όταν κάνετε κλικ στο "
"κουμπί \"Εκκίνηση διαμοιρασμού\" θα δείτε την εμφάνιση ενός χρονόμετρου. "
"Εάν προγραμματίσατε τερματισμό υπηρεσιών, θα δείτε ένα χρονόμετρο με "
"αντίστροφη μέτρηση έως τη λήξη."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
"time in the future if anything happens to you. If nothing happens to you,"
" you can cancel the service before it's scheduled to start."
msgstr ""
"**Ο προγραμματισμός ενεργοποίησης της υπηρεσίας διαμοιρασμού του OnionShare "
"μπορεί να χρησιμοποιηθεί σε περίπτωση ανάγκης** όπου θα γίνει δηλαδή η "
"ενεργοποίηση διαμοιρασμού αρχείων σας σε χρόνο που θα ορίσετε σε περίπτωση "
"που σας συμβεί κάτι. Εάν δεν σας συμβεί τίποτα μπορείτε να ακυρώσετε την "
"υπηρεσία πριν αυτή ξεκινήσει."
"**Ο προγραμματισμός ενεργοποίησης της υπηρεσίας διαμοιρασμού του "
"OnionShare μπορεί να χρησιμοποιηθεί σε περίπτωση ανάγκης** όπου θα γίνει "
"δηλαδή η ενεργοποίηση διαμοιρασμού αρχείων σας σε χρόνο που θα ορίσετε σε"
" περίπτωση που σας συμβεί κάτι. Εάν δεν σας συμβεί τίποτα μπορείτε να "
"ακυρώσετε την υπηρεσία πριν αυτή ξεκινήσει."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
"making sure they're not available on the Internet for more than a few "
"days."
msgstr ""
"**Η προγραμματισμένη διακοπή της υπηρεσίας διαμοιρασμού OnionShare, είναι "
"χρήσιμη για τον περιορισμό της έκθεσής σας**, όπως εάν επιθυμείτε τον "
"**Η προγραμματισμένη διακοπή της υπηρεσίας διαμοιρασμού OnionShare, είναι"
" χρήσιμη για τον περιορισμό της έκθεσής σας**, όπως εάν επιθυμείτε τον "
"διαμοιρασμό κρυφών αρχείων στο Διαδίκτυο για συγκεκριμένο χρόνο."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Περιβάλλον γραμμής εντολών"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
@ -182,7 +198,7 @@ msgstr ""
"Σε μια εναλλακτική του γραφικού περιβάλοντος, το OnionShare διαθέτει "
"λειτουργία με γραμμή εντολών."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
@ -190,45 +206,45 @@ msgstr ""
"Μπορείτε να εγκαταστήσετε την έκδοση με γραμμή εντολών του OnionShare με "
"χρήση του ``pip3``::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
msgstr ""
"Υπενθυμίζεται ότι πάντοτε χρειάζεται η εγκατάσταση των πακέτων του ``tor``. "
"Σε macOS, εγκαταστήστε το με: ``brew install tor``"
"Υπενθυμίζεται ότι πάντοτε χρειάζεται η εγκατάσταση των πακέτων του "
"``tor``. Σε macOS, εγκαταστήστε το με: ``brew install tor``"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Και εκτελέστε όπως:"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
"version."
msgstr ""
"Εάν κάνετε εγκατάσταση του OnionShare με χρήση πακέτου του Linux Snapcraft, "
"εκτελέστε την εντολή ``onionshare.cli`` για πρόσβαση στο περιβάλλον γραμμής "
"εντολών."
"Εάν κάνετε εγκατάσταση του OnionShare με χρήση πακέτου του Linux "
"Snapcraft, εκτελέστε την εντολή ``onionshare.cli`` για πρόσβαση στο "
"περιβάλλον γραμμής εντολών."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Χρήση"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
msgstr ""
"Μπορείτε να περιηγηθείτε στην τεκμηρίωση της γραμμής εντολών με ``onionshare "
"--help``::"
"Μπορείτε να περιηγηθείτε στην τεκμηρίωση της γραμμής εντολών με "
"``onionshare --help``::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Διευθύνσεις παλαιού τύπου"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
@ -236,7 +252,7 @@ msgstr ""
"Το OnionShare χρησιμοποιεί απο προεπιλογή υπηρεσίες onion Tor v3. Τη "
"μοντέρνα εκδοχή διευθύνσεων 56 χαρακτήρων, για παράδειγμα::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
@ -244,15 +260,15 @@ msgstr ""
"Το OnionShare υποστηρίζει ακόμη τις διευθύνσεις onion v2, παλαιού τύπου "
"διευθύνσεις των 16 χαρακτήρων, για παράδειγμα::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
"Το OnionShare αποκαλεί τις διευθύνσεις onion v2 \"παλαιές διευθύνσεις\" και "
"δεν τις προτείνει, καθώς οι διευθύνσεις onion v3 είναι ποιο ασφαλείς."
"Το OnionShare αποκαλεί τις διευθύνσεις onion v2 \"παλαιές διευθύνσεις\" "
"και δεν τις προτείνει, καθώς οι διευθύνσεις onion v3 είναι ποιο ασφαλείς."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -261,23 +277,23 @@ msgid ""
"cannot remove legacy mode in that tab. Instead you must start a separate "
"service in a separate tab."
msgstr ""
"Για χρήση των παλαιών διευθύνσεων, πριν την έναρξη του διακομιστή κάντε κλικ "
"\"Εμφάνιση προχωρημένων ρυθμίσεων\" από την καρτέλα του και επιλέξτε το "
"\"Χρήση παλαιών διευθύνσεων (υπηρεσία onion v2, μη προτεινόμενη)\". Σε "
"παλαιή κατάσταση μπορείτε να ενεργοποιήσετε την αυθεντικοποίηση πελάτη. Μετά "
"την έναρξη του διακομιστή, δεν μπορείτε να αφαιρέσετε την παλαιά κατάσταση. "
"Θα πρέπει να εκκινήσετε νέα υπηρεσία σε νέα καρτέλα."
"Για χρήση των παλαιών διευθύνσεων, πριν την έναρξη του διακομιστή κάντε "
"κλικ \"Εμφάνιση προχωρημένων ρυθμίσεων\" από την καρτέλα του και επιλέξτε"
" το \"Χρήση παλαιών διευθύνσεων (υπηρεσία onion v2, μη προτεινόμενη)\". "
"Σε παλαιή κατάσταση μπορείτε να ενεργοποιήσετε την αυθεντικοποίηση "
"πελάτη. Μετά την έναρξη του διακομιστή, δεν μπορείτε να αφαιρέσετε την "
"παλαιά κατάσταση. Θα πρέπει να εκκινήσετε νέα υπηρεσία σε νέα καρτέλα."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
"2021, and legacy onion services will be removed from OnionShare before "
"then."
msgstr ""
"Το Tor Project σχεδιάζει την `πλήρη απενεργοποίηση των υπηρεσιών onion v2 "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ στις 15 Οκτωβρίου "
"2021 και την αφαίρεση των παλαιών onion υπηρεσιών νωρίτερα."
"Το Tor Project σχεδιάζει την `πλήρη απενεργοποίηση των υπηρεσιών onion v2"
" <https://blog.torproject.org/v2-deprecation-timeline>`_ στις 15 "
"Οκτωβρίου 2021 και την αφαίρεση των παλαιών onion υπηρεσιών νωρίτερα."
#~ msgid "Make a symbolic link to the OnionShare command line binary line this::"
#~ msgstr ""
@ -477,3 +493,4 @@ msgstr ""
#~ " services will soon be removed from"
#~ " OnionShare as well."
#~ msgstr ""

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:43-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-12-02 19:29+0000\n"
"Last-Translator: george k <norhorn@gmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: el\n"
"Language-Team: el <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -38,8 +37,9 @@ msgid ""
"By default, OnionShare web addresses are protected with a random "
"password. A typical OnionShare address might look something like this::"
msgstr ""
"Από προεπιλογή, οι διευθύνσεις ιστού του OnionShare προστατεύονται με ένα "
"τυχαίο κωδικό πρόσβασης. Μια τυπική διεύθυνση OnionShare μοιάζει κάπως έτσι::"
"Από προεπιλογή, οι διευθύνσεις ιστού του OnionShare προστατεύονται με ένα"
" τυχαίο κωδικό πρόσβασης. Μια τυπική διεύθυνση OnionShare μοιάζει κάπως "
"έτσι::"
#: ../../source/features.rst:12
msgid ""
@ -51,17 +51,17 @@ msgstr ""
"Είστε υπεύθυνοι για την ασφαλή κοινή χρήση της διεύθυνσης URL "
"χρησιμοποιώντας ένα κανάλι επικοινωνίας της επιλογής σας, όπως με ένα "
"κρυπτογραφημένο μήνυμα ή χρησιμοποιώντας κάτι λιγότερο ασφαλές, όπως μη "
"κρυπτογραφημένο email, ανάλογα με το `μοντέλο απειλής σας <https://ssd.eff."
"org/module/your-security-plan>`_."
"κρυπτογραφημένο email, ανάλογα με το `μοντέλο απειλής σας "
"<https://ssd.eff.org/module/your-security-plan>`_."
#: ../../source/features.rst:14
msgid ""
"The people you send the URL to then copy and paste it into their `Tor "
"Browser <https://www.torproject.org/>`_ to access the OnionShare service."
msgstr ""
"Οι αποδέκτες της διεύθυνσης URL πρέπει να την αντιγράψουν στο `Tor Browser "
"<https://www.torproject.org/>`_ για να αποκτήσουν πρόσβαση στην υπηρεσία "
"OnionShare."
"Οι αποδέκτες της διεύθυνσης URL πρέπει να την αντιγράψουν στο `Tor "
"Browser <https://www.torproject.org/>`_ για να αποκτήσουν πρόσβαση στην "
"υπηρεσία OnionShare."
#: ../../source/features.rst:16
msgid ""
@ -70,11 +70,11 @@ msgid ""
"until your laptop is unsuspended and on the Internet again. OnionShare "
"works best when working with people in real-time."
msgstr ""
"Εάν εκτελέσετε Το OnionShare στο laptop σας για να στείλετε αρχεία και τεθεί "
"σε αναστολή πριν την ολοκλήρωση της μεταφοράς, η υπηρεσία δεν θα είναι "
"διαθέσιμη έως ότου ο φορητός υπολογιστής σας συνδεθεί ξανά στο Διαδίκτυο. Το "
"OnionShare λειτουργεί καλύτερα όταν λειτουργεί με τους ανθρώπους σε "
"πραγματικό χρόνο."
"Εάν εκτελέσετε Το OnionShare στο laptop σας για να στείλετε αρχεία και "
"τεθεί σε αναστολή πριν την ολοκλήρωση της μεταφοράς, η υπηρεσία δεν θα "
"είναι διαθέσιμη έως ότου ο φορητός υπολογιστής σας συνδεθεί ξανά στο "
"Διαδίκτυο. Το OnionShare λειτουργεί καλύτερα όταν λειτουργεί με τους "
"ανθρώπους σε πραγματικό χρόνο."
#: ../../source/features.rst:18
msgid ""
@ -85,8 +85,8 @@ msgid ""
":doc:`security design </security>` for more info."
msgstr ""
"Επειδή ο υπολογιστής σας είναι ο διακομιστής ιστού, *κανένας τρίτος δεν "
"μπορεί να έχει πρόσβαση σε οτιδήποτε συμβαίνει στο OnionShare*, ούτε καν οι "
"προγραμματιστές του OnionShare. Είναι εντελώς ιδιωτικό. Και επειδή το "
"μπορεί να έχει πρόσβαση σε οτιδήποτε συμβαίνει στο OnionShare*, ούτε καν "
"οι προγραμματιστές του OnionShare. Είναι εντελώς ιδιωτικό. Και επειδή το "
"OnionShare βασίζεται σε υπηρεσίες Tor, προστατεύει και την ανωνυμία σας. "
"Δείτε για περισσότερες πληροφορίες :doc:`σχεδίαση ασφαλείας </security>`."
@ -101,17 +101,18 @@ msgid ""
"share, and click \"Start sharing\"."
msgstr ""
"Μπορείτε να χρησιμοποιήσετε το OnionShare για να στείλετε αρχεία και "
"φακέλους σε άτομα με ασφάλεια και ανώνυμα. Ανοίξτε τη καρτέλα διαμοιρασμός "
"αρχείων, μεταφέρετε και αποθέστε αρχεία και φακέλους που θέλετε να "
"μοιραστείτε και κάντε κλικ στην επιλογή \"Εκκίνηση διαμοιρασμού\"."
"φακέλους σε άτομα με ασφάλεια και ανώνυμα. Ανοίξτε τη καρτέλα "
"διαμοιρασμός αρχείων, μεταφέρετε και αποθέστε αρχεία και φακέλους που "
"θέλετε να μοιραστείτε και κάντε κλικ στην επιλογή \"Εκκίνηση "
"διαμοιρασμού\"."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
"Μετά την προσθήκη αρχείων, σιγουρευτείτε ότι επιλέξατε τις σωστές ρυθμίσεις "
"πριν την έναρξη του διαμοιρασμού."
"Μετά την προσθήκη αρχείων, σιγουρευτείτε ότι επιλέξατε τις σωστές "
"ρυθμίσεις πριν την έναρξη του διαμοιρασμού."
#: ../../source/features.rst:31
msgid ""
@ -121,11 +122,11 @@ msgid ""
" files have been sent (uncheck to allow downloading individual files)\" "
"box."
msgstr ""
"Με την ολοκλήρωση αποστολής των αρχείων σας, το OnionShare σταματά αυτόματα "
"τον διακομιστή, αφαιρώντας την ιστοσελίδα από το Διαδίκτυο. Για να "
"επιτρέψετε τη λήψη απο περισσότερους χρήστες, αποεπιλέξτε το \"Τερματισμός "
"διαμοιρασμού με την ολοκλήρωση αποστολής (αποεπιλέξτε ώστε να επιτρέπεται η "
"λήψη μεμονωμένων αρχείων)\"."
"Με την ολοκλήρωση αποστολής των αρχείων σας, το OnionShare σταματά "
"αυτόματα τον διακομιστή, αφαιρώντας την ιστοσελίδα από το Διαδίκτυο. Για "
"να επιτρέψετε τη λήψη απο περισσότερους χρήστες, αποεπιλέξτε το "
"\"Τερματισμός διαμοιρασμού με την ολοκλήρωση αποστολής (αποεπιλέξτε ώστε "
"να επιτρέπεται η λήψη μεμονωμένων αρχείων)\"."
#: ../../source/features.rst:34
msgid ""
@ -134,7 +135,8 @@ msgid ""
" the files."
msgstr ""
"Επίσης, με την κατάργηση της επιλογής, μπορεί να πραγματοποιηθεί λήψη "
"μεμονωμένων αρχείων και όχι μόνο της συμπιεσμένης έκδοσης όλων των αρχείων."
"μεμονωμένων αρχείων και όχι μόνο της συμπιεσμένης έκδοσης όλων των "
"αρχείων."
#: ../../source/features.rst:36
msgid ""
@ -143,10 +145,11 @@ msgid ""
" website down. You can also click the \"↑\" icon in the top-right corner "
"to show the history and progress of people downloading files from you."
msgstr ""
"Όταν είστε έτοιμοι, κάντε κλικ στο κουμπί \"Έναρξη διαμοιρασμού\". Πάντοτε "
"μπορείτε να κάνετε κλικ στο \"Διακοπή διαμοιρασμού\" ή να κάνετε έξοδο από "
"το OnionShare, με τον άμεσο τερματισμό της ιστοσελίδας. Μπορείτε επίσης να "
"δείτε το ιστορικό και την πρόοδο λήψεων με κλικ στο εικονίδιο \"↑\"."
"Όταν είστε έτοιμοι, κάντε κλικ στο κουμπί \"Έναρξη διαμοιρασμού\". "
"Πάντοτε μπορείτε να κάνετε κλικ στο \"Διακοπή διαμοιρασμού\" ή να κάνετε "
"έξοδο από το OnionShare, με τον άμεσο τερματισμό της ιστοσελίδας. "
"Μπορείτε επίσης να δείτε το ιστορικό και την πρόοδο λήψεων με κλικ στο "
"εικονίδιο \"↑\"."
#: ../../source/features.rst:40
msgid ""
@ -155,9 +158,10 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Τώρα που αποκτήσατε το OnionShare, αντιγράψτε και στείλτε τη διεύθυνση λήψης "
"των αρχείων σας. Εάν χρειάζεστε περισσότερη ασφάλεια ή ο αποδέκτης δεν είναι "
"έμπιστος, χρησιμοποιήστε εφαρμογή αποστολής κρυπτογραφημένου μηνύματος."
"Τώρα που αποκτήσατε το OnionShare, αντιγράψτε και στείλτε τη διεύθυνση "
"λήψης των αρχείων σας. Εάν χρειάζεστε περισσότερη ασφάλεια ή ο αποδέκτης "
"δεν είναι έμπιστος, χρησιμοποιήστε εφαρμογή αποστολής κρυπτογραφημένου "
"μηνύματος."
#: ../../source/features.rst:42
msgid ""
@ -166,59 +170,78 @@ msgid ""
"downloaded directly from your computer by clicking the \"Download Files\""
" link in the corner."
msgstr ""
"Ο αποδέκτης θα πρέπει να αντιγράψει τη διεύθυνση στο Tor Browser. Μετά τη "
"σύνδεση με τον τυχαίο κωδικό πρόσβασης, τα αρχεία μπορούν να ληφθούν "
"Ο αποδέκτης θα πρέπει να αντιγράψει τη διεύθυνση στο Tor Browser. Μετά τη"
" σύνδεση με τον τυχαίο κωδικό πρόσβασης, τα αρχεία μπορούν να ληφθούν "
"απευθείας από τον υπολογιστή σας με κλικ στον σύνδεσμο \"Λήψη αρχείων\"."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Λήψη αρχείων"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"Μπορείτε να χρησιμοποιήσετε το OnionShare για να επιτρέψετε σε άλλους την "
"αποστολή αρχείων στον υπολογιστή σας, μετατρέποντάς τον σε ένα ανώνυμο "
"dropbox. Ανοίξτε μία \"Καρτέλα λήψης\", επιλέξτε τη διαδρομή αποθήκευσης "
"αρχείων και κάντε κλικ στο \"Εκκίνηση κατάστασης λήψης\"."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Αυτό θα ξεκινήσει την υπηρεσία του OnionShare. Οποιοσδήποτε προσθέσει τη "
"διεύθυνση στο Tor Browser του, θα μπορεί να ανεβάσει αρχεία στον υπολογιστή "
"σας."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
"Μπορείτε επίσης κάνοντας κλικ στο εικονίδιο \"↓\" από την επάνω αριστερή "
"γωνία, να δείτε το ιστορικό και την πρόοδο των αρχείων που σας στέλνουν."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "Δείτε παρακάτω πως εμφανίζονται τα αρχεία που σας στέλνουν."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"Μόλις κάποιος προσθέσει αρχεία στην υπηρεσία λήψεώς σας, απο προεπιλογή θα "
"αποθηκευτούν στο φάκελο ``OnionShare`` στον αρχικό φάκελο του υπολογιστή "
"σας, με αυτόματο διαχωρισμό και οργάνωση σύμφωνα με το χρόνο προσθήκης."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -226,17 +249,18 @@ msgid ""
"quite as secure version of `SecureDrop <https://securedrop.org/>`_, the "
"whistleblower submission system."
msgstr ""
"Η ρύθμιση μιας υπηρεσίας λήψεως OnionShare είναι χρήσιμη σε δημοσιογράφους "
"και λοιπούς που χρειάζονται την ασφαλή ανταλλαγή εγγράφων από ανώνυμες "
"πηγές. Όταν χρησιμοποιείται με αυτόν τον τρόπο, το OnionShare μοιάζει με μια "
"ελαφριά, απλούστερη και όχι τόσο ασφαλή έκδοση του `SecureDrop "
"<https://securedrop.org/>`_, το σύστημα υποβολής καταγγελλιών."
"Η ρύθμιση μιας υπηρεσίας λήψεως OnionShare είναι χρήσιμη σε "
"δημοσιογράφους και λοιπούς που χρειάζονται την ασφαλή ανταλλαγή εγγράφων "
"από ανώνυμες πηγές. Όταν χρησιμοποιείται με αυτόν τον τρόπο, το "
"OnionShare μοιάζει με μια ελαφριά, απλούστερη και όχι τόσο ασφαλή έκδοση "
"του `SecureDrop <https://securedrop.org/>`_, το σύστημα υποβολής "
"καταγγελλιών."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Χρησιμοποιήστε το με δική σας ευθύνη"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
@ -244,11 +268,12 @@ msgid ""
"protect your system from malicious files."
msgstr ""
"Όπως και με τα κακόβουλα συνημμένα e-mail, είναι πιθανό κάποιος να "
"προσπαθήσει να επιτεθεί στον υπολογιστή σας ανεβάζοντας ένα κακόβουλο αρχείο "
"στην υπηρεσία του OnionShare σας. Το OnionShare δεν διαθέτει μηχανισμούς "
"ασφαλείας για την προστασία του συστήματός σας από κακόβουλα αρχεία."
"προσπαθήσει να επιτεθεί στον υπολογιστή σας ανεβάζοντας ένα κακόβουλο "
"αρχείο στην υπηρεσία του OnionShare σας. Το OnionShare δεν διαθέτει "
"μηχανισμούς ασφαλείας για την προστασία του συστήματός σας από κακόβουλα "
"αρχεία."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -257,54 +282,61 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"Εάν λάβετε ένα έγγραφο του Office ή ένα PDF μέσω του OnionShare, μπορείτε να "
"μετατρέψετε αυτά τα έγγραφα σε PDFs που είναι ασφαλή για άνοιγμα με το `"
"Dangerzone <https://dangerzone.rocks/>`_. Μπορείτε επίσης να προστατευτείτε "
"ανοίγοντας μη έμπιστα αρχεία με το `Tails <https://tails.boum.org/>`_ ή στο `"
"Qubes <https://qubes-os.org/>`_."
"Εάν λάβετε ένα έγγραφο του Office ή ένα PDF μέσω του OnionShare, μπορείτε"
" να μετατρέψετε αυτά τα έγγραφα σε PDFs που είναι ασφαλή για άνοιγμα με "
"το `Dangerzone <https://dangerzone.rocks/>`_. Μπορείτε επίσης να "
"προστατευτείτε ανοίγοντας μη έμπιστα αρχεία με το `Tails "
"<https://tails.boum.org/>`_ ή στο `Qubes <https://qubes-os.org/>`_."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Συμβουλές για τη λειτουργία υπηρεσίας λήψης"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
" and connected to the Internet, and not on the one you use on a regular "
"basis."
msgstr ""
"Εάν θέλετε να φιλοξενήσετε το δικό σας ανώνυμο dropbox χρησιμοποιώντας το "
"OnionShare, συνιστάται να το κάνετε σε έναν ξεχωριστό, μεμονωμένο υπολογιστή "
"που είναι πάντα ενεργοποιημένος και συνδεδεμένος στο Διαδίκτυο και όχι σε "
"αυτόν που χρησιμοποιείτε σε τακτική βάση."
"Εάν θέλετε να φιλοξενήσετε το δικό σας ανώνυμο dropbox χρησιμοποιώντας το"
" OnionShare, συνιστάται να το κάνετε σε έναν ξεχωριστό, μεμονωμένο "
"υπολογιστή που είναι πάντα ενεργοποιημένος και συνδεδεμένος στο Διαδίκτυο"
" και όχι σε αυτόν που χρησιμοποιείτε σε τακτική βάση."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"Εάν σκοπεύετε να δημοσιεύσετε τη διεύθυνση OnionShare στην ιστοσελίδα ή στα "
"προφίλ κοινωνικών μέσων σας, αποθηκεύστε την καρτέλα (δείτε :ref:`save_tabs`)"
" και εκτελέστε ως δημόσια υπηρεσία (δείτε :ref:`turn_off_passwords`)."
"Εάν σκοπεύετε να δημοσιεύσετε τη διεύθυνση OnionShare στην ιστοσελίδα ή "
"στα προφίλ κοινωνικών μέσων σας, αποθηκεύστε την καρτέλα (δείτε "
":ref:`save_tabs`) και εκτελέστε ως δημόσια υπηρεσία (δείτε "
":ref:`turn_off_passwords`)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Φιλοξενήστε μια ιστοσελίδα"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
"\"Start sharing\" when you are ready."
msgstr ""
"Για να φιλοξενήσετε μια στατική HTML ιστοσελίδα με το OnionShare, ανοίξτε "
"μια καρτέλα ιστοσελίδας, σύρετε τα αρχεία και τους φακέλους που αποτελούν το "
"στατικό περιεχόμενο και κάντε κλικ στο \"Εκκίνηση διαμοιρασμού\" όταν είστε "
"έτοιμοι."
"Για να φιλοξενήσετε μια στατική HTML ιστοσελίδα με το OnionShare, ανοίξτε"
" μια καρτέλα ιστοσελίδας, σύρετε τα αρχεία και τους φακέλους που "
"αποτελούν το στατικό περιεχόμενο και κάντε κλικ στο \"Εκκίνηση "
"διαμοιρασμού\" όταν είστε έτοιμοι."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -313,28 +345,28 @@ msgid ""
"websites that execute code or use databases. So you can't for example use"
" WordPress.)"
msgstr ""
"Εάν προσθέσετε αρχείο ``index.html``, θα φορτώνεται με κάθε επίσκεψη στον "
"ιστότοπό σας. Θα πρέπει επίσης να συμπεριλάβετε και άλλα αρχεία HTML, αρχεία "
"CSS, αρχεία JavaScript και εικόνες που θα αποτελούν την ιστοσελίδα. ("
"Σημειώστε ότι το OnionShare υποστηρίζει μόνο φιλοξενία *στατικών* "
"ιστοσελίδων. Δεν μπορεί να φιλοξενήσει ιστότοπους που εκτελούν κώδικα ή "
"χρησιμοποιούν βάσεις δεδομένων. Επομένως, δεν μπορείτε, για παράδειγμα, να "
"χρησιμοποιήσετε το WordPress)."
"Εάν προσθέσετε αρχείο ``index.html``, θα φορτώνεται με κάθε επίσκεψη στον"
" ιστότοπό σας. Θα πρέπει επίσης να συμπεριλάβετε και άλλα αρχεία HTML, "
"αρχεία CSS, αρχεία JavaScript και εικόνες που θα αποτελούν την "
"ιστοσελίδα. (Σημειώστε ότι το OnionShare υποστηρίζει μόνο φιλοξενία "
"*στατικών* ιστοσελίδων. Δεν μπορεί να φιλοξενήσει ιστότοπους που εκτελούν"
" κώδικα ή χρησιμοποιούν βάσεις δεδομένων. Επομένως, δεν μπορείτε, για "
"παράδειγμα, να χρησιμοποιήσετε το WordPress)."
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
"download them."
msgstr ""
"Εάν δεν διαθέτετε αρχείο ``index.html``, θα εμφανιστεί μια λίστα καταλόγου "
"οπού θα μπορεί να γίνει η λήψη τους."
"Εάν δεν διαθέτετε αρχείο ``index.html``, θα εμφανιστεί μια λίστα "
"καταλόγου οπού θα μπορεί να γίνει η λήψη τους."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "Περιεχόμε πολιτικής ασφαλείας"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -343,27 +375,27 @@ msgid ""
"page."
msgstr ""
"Από προεπιλογή το OnionShare σας βοηθά στην ασφάλιση της ιστοσελίδας "
"ορίζοντας την επικεφαλίδα `Περιεχόμενο πολιτικής ασφαλείας <https://en."
"wikipedia.org/wiki/Content_Security_Policy>`_. Ωστόσο, αυτό εμποδίζει τη "
"φόρτωση περιεχομένου τρίτων εντός της ιστοσελίδας."
"ορίζοντας την επικεφαλίδα `Περιεχόμενο πολιτικής ασφαλείας "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_. Ωστόσο, αυτό "
"εμποδίζει τη φόρτωση περιεχομένου τρίτων εντός της ιστοσελίδας."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
"Policy header (allows your website to use third-party resources)\" box "
"before starting the service."
msgstr ""
"Εάν θέλετε να φορτώσετε περιεχόμενο από ιστότοπους τρίτων, όπως στοιχεία ή "
"βιβλιοθήκες JavaScript από CDN, επιλέξτε το πλαίσιο \"Μην στέλνετε την "
"κεφαλίδα Πολιτικής ασφάλειας περιεχομένου (επιτρέπει στην ιστοσελίδα σας να "
"χρησιμοποιεί πόρους τρίτων)\" πριν την εκκίνηση της υπηρεσία."
"Εάν θέλετε να φορτώσετε περιεχόμενο από ιστότοπους τρίτων, όπως στοιχεία "
"ή βιβλιοθήκες JavaScript από CDN, επιλέξτε το πλαίσιο \"Μην στέλνετε την "
"κεφαλίδα Πολιτικής ασφάλειας περιεχομένου (επιτρέπει στην ιστοσελίδα σας "
"να χρησιμοποιεί πόρους τρίτων)\" πριν την εκκίνηση της υπηρεσία."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Συμβουλές για εκτέλεση μιας υπηρεσίας ιστοσελίδας"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -372,14 +404,15 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"Εάν θέλετε να φιλοξενήσετε μια μακροσκελή ιστοσελίδα με το OnionShare (που "
"σημαίνει πως χρειάζεται χρόνος για περιήγηση), συνιστάται να το κάνετε σε "
"έναν ξεχωριστό, αυτόνομο υπολογιστή που είναι πάντα ενεργοποιημένος και "
"συνδεδεμένος στο Διαδίκτυο και όχι σε αυτόν που χρησιμοποιείτε σε τακτική "
"βάση. Αποθηκεύστε την καρτέλα (δείτε: :ref:`save_tabs`) ώστε να μπορείτε να "
"την ξανανοίξετε με την ίδια διεύθυνση εάν κλείσετε το OnionShare."
"Εάν θέλετε να φιλοξενήσετε μια μακροσκελή ιστοσελίδα με το OnionShare "
"(που σημαίνει πως χρειάζεται χρόνος για περιήγηση), συνιστάται να το "
"κάνετε σε έναν ξεχωριστό, αυτόνομο υπολογιστή που είναι πάντα "
"ενεργοποιημένος και συνδεδεμένος στο Διαδίκτυο και όχι σε αυτόν που "
"χρησιμοποιείτε σε τακτική βάση. Αποθηκεύστε την καρτέλα (δείτε: "
":ref:`save_tabs`) ώστε να μπορείτε να την ξανανοίξετε με την ίδια "
"διεύθυνση εάν κλείσετε το OnionShare."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
@ -387,20 +420,20 @@ msgstr ""
"Εάν η ιστοσελίδα σας προορίζεται για δημόσια χρήση, πρέπει να δηλωθεί ως "
"δημόσια υπηρεσία (δείτε :ref:`turn_off_passwords`)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Συνομιλήστε ανώνυμα"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
"Χρησιμοποιήστε το OnionShare για να ρυθμίσετε ένα ιδιωτικό, ασφαλές δωμάτιο "
"συνομιλίας που δεν καταγράφει τίποτα. Απλός ανοίξτε μια καρτέλα συνομιλίας "
"και κάντε κλικ \"Έναρξη διακομιστή συνομιλίας\"."
"Χρησιμοποιήστε το OnionShare για να ρυθμίσετε ένα ιδιωτικό, ασφαλές "
"δωμάτιο συνομιλίας που δεν καταγράφει τίποτα. Απλός ανοίξτε μια καρτέλα "
"συνομιλίας και κάντε κλικ \"Έναρξη διακομιστή συνομιλίας\"."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
@ -408,11 +441,11 @@ msgid ""
"the OnionShare address."
msgstr ""
"Μετά την εκκίνηση του διακομιστή, αντιγράψτε τη διεύθυνση OnionShare και "
"στείλτε την στα άτομα που θέλετε από ανώνυμο δωμάτιο συνομιλίας. Εάν είναι "
"σημαντικό να περιορίσετε ποιος μπορεί να συμμετάσχει, χρησιμοποιήστε μια "
"κρυπτογραφημένη εφαρμογή ανταλλαγής μηνυμάτων."
"στείλτε την στα άτομα που θέλετε από ανώνυμο δωμάτιο συνομιλίας. Εάν "
"είναι σημαντικό να περιορίσετε ποιος μπορεί να συμμετάσχει, "
"χρησιμοποιήστε μια κρυπτογραφημένη εφαρμογή ανταλλαγής μηνυμάτων."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -420,23 +453,25 @@ msgid ""
"\"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
"Οι χρήστες μπορούν να συμμετέχουν στο δωμάτιο επικοινωνίας με χρήση της "
"διεύθυνσης OnionShare με τον Tor Browser. Το δωμάτιο συνομιλίας απαιτεί τη "
"χρήση JavasScript, έτσι οι συμμετέχοντες θα πρέπει να ρυθμίσουν την ασφάλεια "
"του Tor Browser σε \"Βασικό\" ή \"Ασφαλέστερο\" εκτός από \"Ασφαλέστατο\"."
"διεύθυνσης OnionShare με τον Tor Browser. Το δωμάτιο συνομιλίας απαιτεί "
"τη χρήση JavasScript, έτσι οι συμμετέχοντες θα πρέπει να ρυθμίσουν την "
"ασφάλεια του Tor Browser σε \"Βασικό\" ή \"Ασφαλέστερο\" εκτός από "
"\"Ασφαλέστατο\"."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
"and pressing ↵. Since the chat history isn't saved anywhere, it doesn't "
"get displayed at all, even if others were already chatting in the room."
msgstr ""
"Με την είσοδο σε δωμάτιο συνομιλίας, αποδίδεται ένα τυχαίο όνομα. Μπορούν να "
"γίνει αλλαγή ονόματος πληκτρολογώντας ένα νέο στο πλαίσιο αριστερά και "
"πατώντας ↵. Δεδομένου ότι το ιστορικό συνομιλιών δεν αποθηκεύεται πουθενά, "
"δεν εμφανίζεται καθόλου ακόμα κι αν βρίσκεται συζήτηση σε εξέλιξη."
"Με την είσοδο σε δωμάτιο συνομιλίας, αποδίδεται ένα τυχαίο όνομα. Μπορούν"
" να γίνει αλλαγή ονόματος πληκτρολογώντας ένα νέο στο πλαίσιο αριστερά "
"και πατώντας ↵. Δεδομένου ότι το ιστορικό συνομιλιών δεν αποθηκεύεται "
"πουθενά, δεν εμφανίζεται καθόλου ακόμα κι αν βρίσκεται συζήτηση σε "
"εξέλιξη."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
@ -445,7 +480,7 @@ msgstr ""
"μπορεί να αλλάξει το όνομά του και δεν υπάρχει τρόπος επιβεβαίωσης της "
"ταυτότητάς του."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
@ -454,22 +489,24 @@ msgid ""
msgstr ""
"Ωστόσο, με τη δημιουργία δωματίου συνομιλίας OnionShare και αποστολή με "
"ασφάλεια της διεύθυνση μόνο σε μια μικρή ομάδα αξιόπιστων φίλων "
"χρησιμοποιώντας κρυπτογραφημένα μηνύματα, μπορείτε να είστε αρκετά σίγουροι "
"ότι τα άτομα που συμμετέχουν στην αίθουσα συνομιλίας είναι φίλοι σας."
"χρησιμοποιώντας κρυπτογραφημένα μηνύματα, μπορείτε να είστε αρκετά "
"σίγουροι ότι τα άτομα που συμμετέχουν στην αίθουσα συνομιλίας είναι φίλοι"
" σας."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "Πού χρησιμεύει;"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
msgstr ""
"Εάν χρησιμοποιείτε ήδη μια κρυπτογραφημένη εφαρμογή ανταλλαγής μηνυμάτων, "
"δεν υπάρχει λόγος του δωματίου συνομιλίας OnionShare; Αφήνει λιγότερα ίχνη."
"Εάν χρησιμοποιείτε ήδη μια κρυπτογραφημένη εφαρμογή ανταλλαγής μηνυμάτων,"
" δεν υπάρχει λόγος του δωματίου συνομιλίας OnionShare; Αφήνει λιγότερα "
"ίχνη."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -480,15 +517,16 @@ msgid ""
"rooms don't store any messages anywhere, so the problem is reduced to a "
"minimum."
msgstr ""
"Εάν, για παράδειγμα, στείλετε ένα μήνυμα σε μια ομάδα Signal, ένα αντίγραφο "
"του μηνύματός σας καταλήγει σε κάθε συσκευή, κάθε μέλους της ομάδας. Ακόμα "
"κι αν η ενεργοποιηθεί η διαγραφή μηνυμάτων, είναι δύσκολο να επιβεβαιωθεί "
"ότι όλα τα μηνύματα έχουν πραγματικά διαγραφεί από όλες τις συσκευές και από "
"οποιαδήποτε άλλη τοποθεσία (όπως βάσεις δεδομένων ειδοποιήσεων) στα οποία "
"ενδέχεται να έχουν αποθηκευτεί. Τα δωμάτια συνομιλίας OnionShare δεν "
"αποθηκεύουν μηνύματα πουθενά, οπότε το πρόβλημα μειώνεται στο ελάχιστο."
"Εάν, για παράδειγμα, στείλετε ένα μήνυμα σε μια ομάδα Signal, ένα "
"αντίγραφο του μηνύματός σας καταλήγει σε κάθε συσκευή, κάθε μέλους της "
"ομάδας. Ακόμα κι αν η ενεργοποιηθεί η διαγραφή μηνυμάτων, είναι δύσκολο "
"να επιβεβαιωθεί ότι όλα τα μηνύματα έχουν πραγματικά διαγραφεί από όλες "
"τις συσκευές και από οποιαδήποτε άλλη τοποθεσία (όπως βάσεις δεδομένων "
"ειδοποιήσεων) στα οποία ενδέχεται να έχουν αποθηκευτεί. Τα δωμάτια "
"συνομιλίας OnionShare δεν αποθηκεύουν μηνύματα πουθενά, οπότε το πρόβλημα"
" μειώνεται στο ελάχιστο."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -497,18 +535,18 @@ msgid ""
"journalist to join the chat room, all without compromosing their "
"anonymity."
msgstr ""
"Τα δωμάτια συνομιλίας OnionShare είναι επίσης χρήσιμα για άτομα που θέλουν "
"να συνομιλήσουν ανώνυμα και με ασφάλεια χωρίς να χρειάζεται να δημιουργήσουν "
"λογαριασμό. Για παράδειγμα, μια πηγή μπορεί να στείλει μια διεύθυνση "
"OnionShare σε έναν δημοσιογράφο χρησιμοποιώντας μια διεύθυνση e-mail μιας "
"χρήσης και στη συνέχεια, να περιμένει τον δημοσιογράφο να συμμετάσχει στο "
"δωμάτιο συνομιλίας, χωρίς να διακυβεύεται η ανωνυμία του."
"Τα δωμάτια συνομιλίας OnionShare είναι επίσης χρήσιμα για άτομα που "
"θέλουν να συνομιλήσουν ανώνυμα και με ασφάλεια χωρίς να χρειάζεται να "
"δημιουργήσουν λογαριασμό. Για παράδειγμα, μια πηγή μπορεί να στείλει μια "
"διεύθυνση OnionShare σε έναν δημοσιογράφο χρησιμοποιώντας μια διεύθυνση "
"e-mail μιας χρήσης και στη συνέχεια, να περιμένει τον δημοσιογράφο να "
"συμμετάσχει στο δωμάτιο συνομιλίας, χωρίς να διακυβεύεται η ανωνυμία του."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "Πως λειτουργεί η κρυπτογράφηση;"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -518,13 +556,13 @@ msgid ""
" connections."
msgstr ""
"Επειδή το OnionShare βασίζεται σε υπηρεσίες onion του Tor, οι συνδέσεις "
"μεταξύ του Tor Browser και του OnionShare είναι κρυπτογραφημένες από άκρο σε "
"άκρο (E2EE). Όταν κάποιος δημοσιεύει ένα μήνυμα σε ένα δωμάτιο συνομιλίας, "
"το στέλνει στο διακομιστή μέσω της σύνδεσης onion E2EE, η οποία στη συνέχεια "
"το στέλνει σε όλα τα μέλη της συνομιλίας χρησιμοποιώντας WebSockets, μέσω "
"των συνδέσεων onion E2EE."
"μεταξύ του Tor Browser και του OnionShare είναι κρυπτογραφημένες από άκρο"
" σε άκρο (E2EE). Όταν κάποιος δημοσιεύει ένα μήνυμα σε ένα δωμάτιο "
"συνομιλίας, το στέλνει στο διακομιστή μέσω της σύνδεσης onion E2EE, η "
"οποία στη συνέχεια το στέλνει σε όλα τα μέλη της συνομιλίας "
"χρησιμοποιώντας WebSockets, μέσω των συνδέσεων onion E2EE."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -919,3 +957,54 @@ msgstr ""
#~ "WebSockets, through their E2EE onion "
#~ "connections."
#~ msgstr ""
#~ msgid "Receive Files"
#~ msgstr "Λήψη αρχείων"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "Μπορείτε να χρησιμοποιήσετε το OnionShare "
#~ "για να επιτρέψετε σε άλλους την "
#~ "αποστολή αρχείων στον υπολογιστή σας, "
#~ "μετατρέποντάς τον σε ένα ανώνυμο "
#~ "dropbox. Ανοίξτε μία \"Καρτέλα λήψης\", "
#~ "επιλέξτε τη διαδρομή αποθήκευσης αρχείων "
#~ "και κάντε κλικ στο \"Εκκίνηση κατάστασης"
#~ " λήψης\"."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Αυτό θα ξεκινήσει την υπηρεσία του "
#~ "OnionShare. Οποιοσδήποτε προσθέσει τη "
#~ "διεύθυνση στο Tor Browser του, θα "
#~ "μπορεί να ανεβάσει αρχεία στον "
#~ "υπολογιστή σας."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "Μόλις κάποιος προσθέσει αρχεία στην "
#~ "υπηρεσία λήψεώς σας, απο προεπιλογή θα"
#~ " αποθηκευτούν στο φάκελο ``OnionShare`` "
#~ "στον αρχικό φάκελο του υπολογιστή σας,"
#~ " με αυτόματο διαχωρισμό και οργάνωση "
#~ "σύμφωνα με το χρόνο προσθήκης."

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -83,11 +83,28 @@ msgid ""
" and won't have a password."
msgstr ""
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr ""
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -96,7 +113,7 @@ msgid ""
"set the respective desired dates and times."
msgstr ""
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
@ -104,7 +121,7 @@ msgid ""
" will see a timer counting down to when it will stop automatically."
msgstr ""
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
@ -112,7 +129,7 @@ msgid ""
" you can cancel the service before it's scheduled to start."
msgstr ""
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
@ -120,72 +137,72 @@ msgid ""
"days."
msgstr ""
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr ""
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
msgstr ""
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
msgstr ""
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
msgstr ""
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr ""
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
"version."
msgstr ""
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr ""
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
msgstr ""
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr ""
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
msgstr ""
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
msgstr ""
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -195,7 +212,7 @@ msgid ""
"service in a separate tab."
msgstr ""
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-11-15 14:43-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -76,7 +76,7 @@ msgid ""
"share, and click \"Start sharing\"."
msgstr ""
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
@ -123,42 +123,70 @@ msgid ""
msgstr ""
#: ../../source/features.rst:47
msgid "Receive Files"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
#: ../../source/features.rst:54
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
msgid "Here is what it looks like for someone sending you files and messages."
msgstr ""
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -167,11 +195,11 @@ msgid ""
"whistleblower submission system."
msgstr ""
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr ""
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
@ -179,7 +207,7 @@ msgid ""
"protect your system from malicious files."
msgstr ""
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -189,11 +217,15 @@ msgid ""
"disposableVM."
msgstr ""
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr ""
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
@ -201,25 +233,26 @@ msgid ""
"basis."
msgstr ""
#: ../../source/features.rst:80
#: ../../source/features.rst:91
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr ""
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
"\"Start sharing\" when you are ready."
msgstr ""
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -229,18 +262,18 @@ msgid ""
" WordPress.)"
msgstr ""
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
"download them."
msgstr ""
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr ""
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -249,7 +282,7 @@ msgid ""
"page."
msgstr ""
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
@ -257,11 +290,11 @@ msgid ""
"before starting the service."
msgstr ""
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr ""
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -271,23 +304,23 @@ msgid ""
"address if you close OnionShare and re-open it later."
msgstr ""
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
msgstr ""
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr ""
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
@ -295,7 +328,7 @@ msgid ""
"the OnionShare address."
msgstr ""
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -303,7 +336,7 @@ msgid ""
"\"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
@ -311,13 +344,13 @@ msgid ""
"get displayed at all, even if others were already chatting in the room."
msgstr ""
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
msgstr ""
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
@ -325,17 +358,17 @@ msgid ""
"room are your friends."
msgstr ""
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr ""
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
msgstr ""
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -347,7 +380,7 @@ msgid ""
"minimum."
msgstr ""
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -357,11 +390,11 @@ msgid ""
"anonymity."
msgstr ""
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr ""
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -371,7 +404,7 @@ msgid ""
" connections."
msgstr ""
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -765,3 +798,46 @@ msgstr ""
#~ "connections."
#~ msgstr ""
#~ msgid "Receive Files"
#~ msgstr ""
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ msgid "Here is what it looks like for someone sending you files."
#~ msgstr ""
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ msgid ""
#~ "If you intend to put the "
#~ "OnionShare address on your website or"
#~ " social media profiles, save the tab"
#~ " (see :ref:`save_tabs`) and run it as"
#~ " a public service (see "
#~ ":ref:`turn_off_passwords`)."
#~ msgstr ""

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-12-04 23:29+0000\n"
"Last-Translator: Zuhualime Akoochimoya <zakooch@protonmail.ch>\n"
"Language-Team: none\n"
"Language: es\n"
"Language-Team: none\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -35,11 +34,12 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"En forma predeterminada, todo en OnionShare es temporario. Si cierras una "
"pestaña OnionShare, su dirección ya no existe, y no puede ser usada de "
"nuevo. A veces, podrías querer que un servicio OnionShare sea persistente. "
"Esto es útil si quieres alojar un sitio web que esté disponible desde la "
"misma dirección OnionShare, aún si reinicias tu computadora."
"En forma predeterminada, todo en OnionShare es temporario. Si cierras una"
" pestaña OnionShare, su dirección ya no existe, y no puede ser usada de "
"nuevo. A veces, podrías querer que un servicio OnionShare sea "
"persistente. Esto es útil si quieres alojar un sitio web que esté "
"disponible desde la misma dirección OnionShare, aún si reinicias tu "
"computadora."
#: ../../source/advanced.rst:13
msgid ""
@ -58,10 +58,10 @@ msgid ""
"start opened. You'll have to manually start each service, but when you do"
" they will start with the same OnionShare address and password."
msgstr ""
"Cuando sales de OnionShare y lo vuelves a abrir, tus pestañas guardadas se "
"iniciarán abiertas. Tendrás que arrancar cada servicio manualmente, pero "
"cuando lo hagas, se iniciarán con la misma dirección OnionShare, y con la "
"misma contraseña."
"Cuando sales de OnionShare y lo vuelves a abrir, tus pestañas guardadas "
"se iniciarán abiertas. Tendrás que arrancar cada servicio manualmente, "
"pero cuando lo hagas, se iniciarán con la misma dirección OnionShare, y "
"con la misma contraseña."
#: ../../source/advanced.rst:21
msgid ""
@ -83,11 +83,11 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"Por defecto, todos los servicios OnionShare están protegidos con el nombre "
"de usuario ``onionshare`` y una contraseña generada al azar. Si alguien "
"intenta adivinarla 20 veces erróneamente, tu servicio onion es detenido en "
"forma automática para prevenir un ataque por fuerza bruta en contra del "
"mismo."
"Por defecto, todos los servicios OnionShare están protegidos con el "
"nombre de usuario ``onionshare`` y una contraseña generada al azar. Si "
"alguien intenta adivinarla 20 veces erróneamente, tu servicio onion es "
"detenido en forma automática para prevenir un ataque por fuerza bruta en "
"contra del mismo."
#: ../../source/advanced.rst:31
msgid ""
@ -98,12 +98,12 @@ msgid ""
"can force your server to stop just by making 20 wrong guesses of your "
"password, even if they know the correct password."
msgstr ""
"A veces, podrías querer que tu servicio OnionShare sea accesible al público, "
"por ejemplo si quisieras un servicio OnionShare de recepción para que el "
"público pueda enviarte archivos segura y anónimamente. En esta caso, es "
"mejor deshabilitar del todo la contraseña. Si no lo haces, alguien puede "
"forzar a tu servidor para que se detenga efectuando solo 20 suposiciones "
"erróneas de tu contraseña, aún si conocen la correcta."
"A veces, podrías querer que tu servicio OnionShare sea accesible al "
"público, por ejemplo si quisieras un servicio OnionShare de recepción "
"para que el público pueda enviarte archivos segura y anónimamente. En "
"esta caso, es mejor deshabilitar del todo la contraseña. Si no lo haces, "
"alguien puede forzar a tu servidor para que se detenga efectuando solo 20"
" suposiciones erróneas de tu contraseña, aún si conocen la correcta."
#: ../../source/advanced.rst:35
msgid ""
@ -112,14 +112,31 @@ msgid ""
" and won't have a password."
msgstr ""
"Para deshabilitar la contraseña para cualquier pestaña, solo marca la "
"casilla \"No usar una contraseña\" antes de iniciar el servidor. Entonces "
"será público y no tendrá contraseña."
"casilla \"No usar una contraseña\" antes de iniciar el servidor. Entonces"
" será público y no tendrá contraseña."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Tiempos programados"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -128,26 +145,26 @@ msgid ""
"set the respective desired dates and times."
msgstr ""
"OnionShare soporta la programación exacta de cuándo un servicio debería "
"arrancar y detenerse. Antes de iniciar un servidor, haz clic en \"Mostrar "
"ajustes avanzados\" en su pestaña, y luego marca las casillas próximas a "
"\"Iniciar el servicio onion en el tiempo programado\", \"Detener el servicio "
"onion en el tiempo programado\", o ambas, y establece las fechas y horas "
"deseadas."
"arrancar y detenerse. Antes de iniciar un servidor, haz clic en \"Mostrar"
" ajustes avanzados\" en su pestaña, y luego marca las casillas próximas a"
" \"Iniciar el servicio onion en el tiempo programado\", \"Detener el "
"servicio onion en el tiempo programado\", o ambas, y establece las fechas"
" y horas deseadas."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
"starts. If you scheduled it to stop in the future, after it's started you"
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Si programaste un servicio para arrancar en el futuro, cuando hagas clic en "
"el botón \"Empezar a compartir\", verás un temporizador contando "
"regresivamente hasta el arranque. Si lo hiciste para detenerse en el futuro, "
"luego que sea arrancado verás un temporizador contando regresivamente hasta "
"el momento en que se detendrá automáticamente."
"Si programaste un servicio para arrancar en el futuro, cuando hagas clic "
"en el botón \"Empezar a compartir\", verás un temporizador contando "
"regresivamente hasta el arranque. Si lo hiciste para detenerse en el "
"futuro, luego que sea arrancado verás un temporizador contando "
"regresivamente hasta el momento en que se detendrá automáticamente."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
@ -159,30 +176,29 @@ msgstr ""
"público en un momento dado en el futuro si te pasa algo. Si no te pasa "
"nada, puedes cancelarlo antes de su inicio programado."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
"making sure they're not available on the Internet for more than a few "
"days."
msgstr ""
"**Programar un servicio OnionShare para detenerse automáticamente puede ser "
"útil para limitar la exposición**, como cuando quieras compartir documentos "
"secretos mientras te aseguras que no estarán disponibles en Internet por más "
"de unos pocos días."
"**Programar un servicio OnionShare para detenerse automáticamente puede "
"ser útil para limitar la exposición**, como cuando quieras compartir "
"documentos secretos mientras te aseguras que no estarán disponibles en "
"Internet por más de unos pocos días."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Interfaz de línea de comando"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
msgstr ""
"Además de su interfaz gráfico, OnionShare tiene una de línea de comando."
msgstr "Además de su interfaz gráfico, OnionShare tiene una de línea de comando."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
@ -190,7 +206,7 @@ msgstr ""
"Puedes instalar la versión de línea de comando de OnionShare usando "
"``pip3``::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
@ -198,37 +214,37 @@ msgstr ""
"Ten en cuenta que también necesitarás el paquete ``tor`` instalado. En "
"macOS, instálalo con: ``brew install tor``"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Luego, ejecútalo así::"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
"version."
msgstr ""
"Si instalaste OnionShare usando el paquete Snapcraft de Linux, también "
"puedes ejecutar ``onionshare.cli`` para acceder a la versión de interfaz de "
"línea de comando."
"puedes ejecutar ``onionshare.cli`` para acceder a la versión de interfaz "
"de línea de comando."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Uso"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
msgstr ""
"Puedes navegar la documentación de línea de comando ejecutando ``onionshare "
"--help``::"
"Puedes navegar la documentación de línea de comando ejecutando "
"``onionshare --help``::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Direcciones antiguas"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
@ -236,7 +252,7 @@ msgstr ""
"OnionShare usa servicios onion Tor v3 por defecto. Estas son direcciones "
"onion modernas que tienen 56 caracteres, por ejemplo::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
@ -244,16 +260,16 @@ msgstr ""
"OnionShare aún tiene soporte para direcciones onion v2, el viejo tipo de "
"direcciones onion que tienen 16 caracteres, por ejemplo::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
"OnionShare llama a las direcciones onion v2 \"direcciones antiguas\", las "
"cuales no están recomendadas, ya que las direcciones onion v3 son más "
"OnionShare llama a las direcciones onion v2 \"direcciones antiguas\", las"
" cuales no están recomendadas, ya que las direcciones onion v3 son más "
"seguras."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -263,13 +279,13 @@ msgid ""
"service in a separate tab."
msgstr ""
"Para usar direcciones antiguas, antes de iniciar un servidor haz clic en "
"\"Mostrar ajustes avanzados\" en su pestaña, y marca la casilla \"Usar una "
"dirección antigua (servicio onion v2, no recomendado)\". En el modo antiguo, "
"puedes habilitar opcionalmente la autenticación de cliente Tor. Una vez que "
"inicias un servidor en modo antiguo no puedes cambiarlo en esa pestaña. En "
"vez, debes arrancar un servicio separado en otra pestaña."
"\"Mostrar ajustes avanzados\" en su pestaña, y marca la casilla \"Usar "
"una dirección antigua (servicio onion v2, no recomendado)\". En el modo "
"antiguo, puedes habilitar opcionalmente la autenticación de cliente Tor. "
"Una vez que inicias un servidor en modo antiguo no puedes cambiarlo en "
"esa pestaña. En vez, debes arrancar un servicio separado en otra pestaña."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
@ -277,9 +293,9 @@ msgid ""
"then."
msgstr ""
"El Tor Project planea `descontinuar completamente los servicios onion v2 "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ el 15 de octubre de "
"2021, y los servicios onion antiguos serán removidos de OnionShare antes de "
"esa fecha."
"<https://blog.torproject.org/v2-deprecation-timeline>`_ el 15 de octubre "
"de 2021, y los servicios onion antiguos serán removidos de OnionShare "
"antes de esa fecha."
#~ msgid ""
#~ "By default, everything in OnionShare is"
@ -399,3 +415,4 @@ msgstr ""
#~ "desarrollo (mira :ref:`starting_development`), y "
#~ "luego ejecutar esto en una ventana "
#~ "de línea de comando::"

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-12-06 00:29+0000\n"
"Last-Translator: Zuhualime Akoochimoya <zakooch@protonmail.ch>\n"
"Language-Team: none\n"
"Language: es\n"
"Language-Team: none\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -30,8 +29,9 @@ msgid ""
"<https://community.torproject.org/onion-services/>`_."
msgstr ""
"Mediante servidores web iniciados localmente en tu computadora, y hechos "
"accesibles a otras personas como `servicios onion <https://community."
"torproject.org/onion-services/>`_`Tor <https://www.torproject.org/>`_ ."
"accesibles a otras personas como `servicios onion "
"<https://community.torproject.org/onion-services/>`_`Tor "
"<https://www.torproject.org/>`_ ."
#: ../../source/features.rst:8
msgid ""
@ -49,20 +49,20 @@ msgid ""
"something less secure like unencrypted e-mail, depending on your `threat "
"model <https://ssd.eff.org/module/your-security-plan>`_."
msgstr ""
"Tu eres responsable por compartir en forma segura ese URL, usando un canal "
"de comunicación de tu elección, como un mensaje cifrado en una charla, o "
"usando algo menos seguro, como un correo electrónico no cifrado, dependiendo "
"de tu `modelo de amenaza <https://ssd.eff.org/en/module/your-security-"
"plan>`_."
"Tu eres responsable por compartir en forma segura ese URL, usando un "
"canal de comunicación de tu elección, como un mensaje cifrado en una "
"charla, o usando algo menos seguro, como un correo electrónico no "
"cifrado, dependiendo de tu `modelo de amenaza "
"<https://ssd.eff.org/en/module/your-security-plan>`_."
#: ../../source/features.rst:14
msgid ""
"The people you send the URL to then copy and paste it into their `Tor "
"Browser <https://www.torproject.org/>`_ to access the OnionShare service."
msgstr ""
"Las personas a quienes les envías el URL deben copiarlo y pegarlo dentro del "
"`Navegador Tor <https://www.torproject.org/>`_ para acceder al servicio "
"OnionShare."
"Las personas a quienes les envías el URL deben copiarlo y pegarlo dentro "
"del `Navegador Tor <https://www.torproject.org/>`_ para acceder al "
"servicio OnionShare."
#: ../../source/features.rst:16
msgid ""
@ -71,10 +71,11 @@ msgid ""
"until your laptop is unsuspended and on the Internet again. OnionShare "
"works best when working with people in real-time."
msgstr ""
"Si ejecutas OnionShare en tu portátil para enviarle archivos a alguien, y "
"antes de que sean enviados es suspendida, el servicio no estará disponible "
"hasta que tu portátil deje de estarlo, y se conecte de nuevo a Internet. "
"OnionShare funciona mejor cuando se trabaja con personas en tiempo real."
"Si ejecutas OnionShare en tu portátil para enviarle archivos a alguien, y"
" antes de que sean enviados es suspendida, el servicio no estará "
"disponible hasta que tu portátil deje de estarlo, y se conecte de nuevo a"
" Internet. OnionShare funciona mejor cuando se trabaja con personas en "
"tiempo real."
#: ../../source/features.rst:18
msgid ""
@ -84,11 +85,11 @@ msgid ""
"Tor onion services too, it also protects your anonymity. See the "
":doc:`security design </security>` for more info."
msgstr ""
"Como tu propia computadora es el servidor web, *ningún tercero puede acceder "
"a nada de lo que pasa en OnionShare*, ni siquiera sus desarrolladores. Es "
"completamente privado. Y como OnionShare también está basado en los "
"servicios onion de Tor, también protege tu anonimato. Mira el :doc:`diseño "
"de seguridad </security>` para más información."
"Como tu propia computadora es el servidor web, *ningún tercero puede "
"acceder a nada de lo que pasa en OnionShare*, ni siquiera sus "
"desarrolladores. Es completamente privado. Y como OnionShare también está"
" basado en los servicios onion de Tor, también protege tu anonimato. Mira"
" el :doc:`diseño de seguridad </security>` para más información."
#: ../../source/features.rst:21
msgid "Share Files"
@ -105,14 +106,14 @@ msgstr ""
"hacia ella los archivos y carpetas que deseas compartir, y haz clic en "
"\"Iniciar compartición\"."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
"Después de que agregas archivos, verás algunas configuraciones. Asegúrate de "
"elegir primero los ajustes en los que estás interesado antes de empezar a "
"compartir."
"Después de que agregas archivos, verás algunas configuraciones. Asegúrate"
" de elegir primero los ajustes en los que estás interesado antes de "
"empezar a compartir."
#: ../../source/features.rst:31
msgid ""
@ -123,10 +124,10 @@ msgid ""
"box."
msgstr ""
"Tan pronto como alguien termine de descargar tus archivos, OnionShare "
"detendrá automáticamente al servidor, removiendo al sitio web de Internet. "
"Para permitirle descargarlos a múltiples personas, desmarca la casilla "
"\"Detener compartición después de que los archivos han sido enviados ("
"desmarca para permitir la descarga de archivos individuales)\"."
"detendrá automáticamente al servidor, removiendo al sitio web de "
"Internet. Para permitirle descargarlos a múltiples personas, desmarca la "
"casilla \"Detener compartición después de que los archivos han sido "
"enviados (desmarca para permitir la descarga de archivos individuales)\"."
#: ../../source/features.rst:34
msgid ""
@ -134,9 +135,9 @@ msgid ""
"individual files you share rather than a single compressed version of all"
" the files."
msgstr ""
"Además, si desmarcas esta casilla, las personas serán capaces de descargar "
"los archivos individuales que compartas, en vez de una única versión "
"comprimida de todos ellos."
"Además, si desmarcas esta casilla, las personas serán capaces de "
"descargar los archivos individuales que compartas, en vez de una única "
"versión comprimida de todos ellos."
#: ../../source/features.rst:36
msgid ""
@ -147,8 +148,8 @@ msgid ""
msgstr ""
"Cuando estés listo para compartir, haz clic en el botón \"Iniciar "
"compartición\". Siempre puedes hacer clic en \"Detener compartición\", o "
"salir de OnionShare, para hacer caer al sitio web inmediatamente. También "
"puedes hacer clic en el ícono \"↑\" en la esquina superior derecha para "
"salir de OnionShare, para hacer caer al sitio web inmediatamente. También"
" puedes hacer clic en el ícono \"↑\" en la esquina superior derecha para "
"mostrar el historial y el progreso de las personas que están descargando "
"archivos."
@ -159,10 +160,10 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Ahora que tienes un OnionShare, copia la dirección y envíasela a la persona "
"que quieres que reciba los archivos. Si necesitan permanecer seguros, o si "
"la persona está expuesta a cualquier otro peligro, usa una aplicación de "
"mensajería cifrada."
"Ahora que tienes un OnionShare, copia la dirección y envíasela a la "
"persona que quieres que reciba los archivos. Si necesitan permanecer "
"seguros, o si la persona está expuesta a cualquier otro peligro, usa una "
"aplicación de mensajería cifrada."
#: ../../source/features.rst:42
msgid ""
@ -171,61 +172,81 @@ msgid ""
"downloaded directly from your computer by clicking the \"Download Files\""
" link in the corner."
msgstr ""
"Esa persona debe cargar luego la dirección en el Navegador Tor. Después de "
"iniciar sesión con la contraseña aleatoria incluída en la dirección web, "
"serán capaces de descargar los archivos directamente desde tu computadora "
"haciendo clic en el vínculo \"Descargar Archivos\" en la esquina."
"Esa persona debe cargar luego la dirección en el Navegador Tor. Después "
"de iniciar sesión con la contraseña aleatoria incluída en la dirección "
"web, serán capaces de descargar los archivos directamente desde tu "
"computadora haciendo clic en el vínculo \"Descargar Archivos\" en la "
"esquina."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Recibir Archivos"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"Puedes usar OnionShare para permitir a las personas la subida anónima de "
"archivos directamente a tu computadora, convirtiéndola esencialmente en un "
"buzón anónimo. Abre una pestaña de recepción, elige dónde quieres que los "
"archivos sean descargados y otros ajustes, y luego haz clic en \"Iniciar "
"Modo de Recepción\"."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Esto iniciará al servicio OnionShare. Cualquiera que cargue esta dirección "
"en el Navegador Tor será capaz de subir archivos a tu computadora."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
"También puedes hacer clic en el ícono \"↓\" en la esquina superior derecha "
"para mostrar el historial y el progreso de las personas enviándote archivos."
"También puedes hacer clic en el ícono \"↓\" en la esquina superior "
"derecha para mostrar el historial y el progreso de las personas "
"enviándote archivos."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "He aquí como luce cuando alguien está enviándote archivos."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"Cuando alguien sube archivos a tu servicio de recepción, son guardados por "
"defecto en una carpeta llamada ``OnionShare``, en tu carpeta personal en la "
"computadora, y automáticamente organizados en subcarpetas separadas, "
"basándose en la hora en que los archivos son subidos."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -233,29 +254,30 @@ msgid ""
"quite as secure version of `SecureDrop <https://securedrop.org/>`_, the "
"whistleblower submission system."
msgstr ""
"Establecer un servicio de recepción OnionShare es útil para periodistas y "
"otros que necesiten aceptar documentos en forma segura desde fuentes "
"Establecer un servicio de recepción OnionShare es útil para periodistas y"
" otros que necesiten aceptar documentos en forma segura desde fuentes "
"anónimas. Cuando es usado de esta manera, OnionShare es una especie de "
"versión liviana, más simple y no tan segura de `SecureDrop "
"<https://securedrop.org/>`_, el sistema de envíos para informantes."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Úsalo a tu propio riesgo"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
"OnionShare service. OnionShare does not add any safety mechanisms to "
"protect your system from malicious files."
msgstr ""
"De la misma manera que con adjuntos maliciosos en correos electrónicos, es "
"posible que alguien pudiera intentar atacar tu computadora subiendo un "
"archivo malicioso a tu servicio OnionShare, el cual no añade ningún "
"mecanismo de seguridad para proteger tu sistema contra archivos maliciosos."
"De la misma manera que con adjuntos maliciosos en correos electrónicos, "
"es posible que alguien pudiera intentar atacar tu computadora subiendo un"
" archivo malicioso a tu servicio OnionShare, el cual no añade ningún "
"mecanismo de seguridad para proteger tu sistema contra archivos "
"maliciosos."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -264,53 +286,62 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"Si recibes un documento de Office o un PDF a través de OnionShare, puedes "
"convertirlos en PDFs que son seguros para abrir usando `Dangerzone "
"<https://dangerzone.rocks/>`_. También puedes protegerte al abrir documentos "
"no confiables haciéndolo en `Tails <https://tails.boum.org/>`_, o en una "
"máquina virtual descartable`Qubes <https://qubes-os.org/>`_."
"Si recibes un documento de Office o un PDF a través de OnionShare, puedes"
" convertirlos en PDFs que son seguros para abrir usando `Dangerzone "
"<https://dangerzone.rocks/>`_. También puedes protegerte al abrir "
"documentos no confiables haciéndolo en `Tails "
"<https://tails.boum.org/>`_, o en una máquina virtual descartable`Qubes "
"<https://qubes-os.org/>`_."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Consejos para correr un servicio de recepción"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
" and connected to the Internet, and not on the one you use on a regular "
"basis."
msgstr ""
"Si quieres alojar tu propio buzón anónimo usando OnionShare, es recomendado "
"que lo hagas en una computadora dedicada y separada, que siempre esté "
"encendida y conectada a Internet, y no en la que usas regularmente."
"Si quieres alojar tu propio buzón anónimo usando OnionShare, es "
"recomendado que lo hagas en una computadora dedicada y separada, que "
"siempre esté encendida y conectada a Internet, y no en la que usas "
"regularmente."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"Si tu intención es publicitar la dirección OnionShare en tu sitio web o tus "
"perfiles de redes sociales, entonces deberías guardar la pestaña (mira "
":ref:`save_tabs`) y correrla como servicio público (mira "
"Si tu intención es publicitar la dirección OnionShare en tu sitio web o "
"tus perfiles de redes sociales, entonces deberías guardar la pestaña "
"(mira :ref:`save_tabs`) y correrla como servicio público (mira "
":ref:`turn_off_passwords`)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Aloja un Sitio Web"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
"\"Start sharing\" when you are ready."
msgstr ""
"Para alojar un sitio web con HTML estático con OnionShare, abre una pestaña "
"de sitio web, arrastra los archivos y carpetas que constituyen el sitio web "
"estático, y haz clic cuando estés listo en \"Iniciar compartición\"."
"Para alojar un sitio web con HTML estático con OnionShare, abre una "
"pestaña de sitio web, arrastra los archivos y carpetas que constituyen el"
" sitio web estático, y haz clic cuando estés listo en \"Iniciar "
"compartición\"."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -326,7 +357,7 @@ msgstr ""
"*estáticos*, y no puede hacerlo con aquellos que ejecutan código o usan "
"bases de datos. Por lo que, por ejemplo, no puedes usar WordPress.)"
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
@ -336,11 +367,11 @@ msgstr ""
"directorio, y las personas que lo carguen podrán mirar a través de los "
"archivos y descargarlos."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "Política de Seguridad de Contenido"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -348,28 +379,30 @@ msgid ""
"However, this prevents third-party content from loading inside the web "
"page."
msgstr ""
"Por defecto, OnionShare te ayudará a asegurar tu sitio web estableciendo un "
"encabezado de `Política de Seguridad de Contenido <https://en.wikipedia.org/"
"wiki/Content_Security_Policy>`_ estricto. Sin embargo, esto evitará que el "
"contenido de terceros sea cargado dentro de la página web."
"Por defecto, OnionShare te ayudará a asegurar tu sitio web estableciendo "
"un encabezado de `Política de Seguridad de Contenido "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_ estricto. Sin "
"embargo, esto evitará que el contenido de terceros sea cargado dentro de "
"la página web."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
"Policy header (allows your website to use third-party resources)\" box "
"before starting the service."
msgstr ""
"Si quieres cargar contenido desde sitios web de terceros, como recursoss o "
"bibliotecas JavaScript desde CDNs, entonces debes marcar la casilla "
"\"Deshabilitar el encabezado de Política de Seguridad de Contenido (permite "
"a tu sitio web usar recursos de terceros)\" antes de iniciar el servicio."
"Si quieres cargar contenido desde sitios web de terceros, como recursoss "
"o bibliotecas JavaScript desde CDNs, entonces debes marcar la casilla "
"\"Deshabilitar el encabezado de Política de Seguridad de Contenido "
"(permite a tu sitio web usar recursos de terceros)\" antes de iniciar el "
"servicio."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Consejos para correr un servicio de sitio web"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -378,47 +411,48 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"Si quieres alojar un sitio web a largo plazo usando OnionShare (que no sea "
"solo para mostrarle algo a alguien rápidamente), es recomendado que lo hagas "
"en una computadora separada y dedicada, que siempre esté encendida y "
"conectada a Internet, y no en la que usas regularmente. Guarda la pestaña ("
"mira :ref:`save_tabs`) con el fin de que puedas reanudar al sitio web con la "
"misma dirección, si cierras OnionShare y lo vuelves a iniciar más tarde."
"Si quieres alojar un sitio web a largo plazo usando OnionShare (que no "
"sea solo para mostrarle algo a alguien rápidamente), es recomendado que "
"lo hagas en una computadora separada y dedicada, que siempre esté "
"encendida y conectada a Internet, y no en la que usas regularmente. "
"Guarda la pestaña (mira :ref:`save_tabs`) con el fin de que puedas "
"reanudar al sitio web con la misma dirección, si cierras OnionShare y lo "
"vuelves a iniciar más tarde."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
msgstr ""
"Si planeas que tu sitio web sea visto por el público, deberías ejecutarlo "
"como servicio público (see :ref:`turn_off_passwords`)."
"Si planeas que tu sitio web sea visto por el público, deberías ejecutarlo"
" como servicio público (see :ref:`turn_off_passwords`)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Chat Anónimo"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
"Puedes usar OnionShare para establecer un cuarto de chat completamente "
"anónimo y seguro, que no registra nada. Solo abre una pestaña de chat y haz "
"clic en \"Iniciar servidor de chat\"."
"anónimo y seguro, que no registra nada. Solo abre una pestaña de chat y "
"haz clic en \"Iniciar servidor de chat\"."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
"Después de iniciar el servidor, copie la dirección de OnionShare y envíela a "
"las personas que desee en la sala de chat anónima. Si es importante limitar "
"exactamente quién puede unirse, use una aplicación de mensajería encriptada "
"para enviar la dirección de OnionShare."
"Después de iniciar el servidor, copie la dirección de OnionShare y "
"envíela a las personas que desee en la sala de chat anónima. Si es "
"importante limitar exactamente quién puede unirse, use una aplicación de "
"mensajería encriptada para enviar la dirección de OnionShare."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -426,24 +460,24 @@ msgid ""
"\"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
"Las personas pueden unirse al cuarto de chat cargando su dirección "
"OnionShare en el Navegador Tor. El cuarto de chat requiere JavasScript, por "
"lo que todo aquel que quiera participar debe ajustar su nivel de seguridad a "
"'Estándar' o 'Más Seguro' en vez de a 'El Más Seguro'."
"OnionShare en el Navegador Tor. El cuarto de chat requiere JavasScript, "
"por lo que todo aquel que quiera participar debe ajustar su nivel de "
"seguridad a 'Estándar' o 'Más Seguro' en vez de a 'El Más Seguro'."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
"and pressing ↵. Since the chat history isn't saved anywhere, it doesn't "
"get displayed at all, even if others were already chatting in the room."
msgstr ""
"Cuando alguien se une al cuarto de chat, se le asigna un nombre aleatorio. "
"Puede cambiarlo tipeando un nombre nuevo en la casilla en el panel izquierdo "
"y presionando ↵. Ningún historial de chat será mostrado en absoluto, aún si "
"otros ya estaban chateando en el cuarto, porque ese historial no es guardado "
"en ningún lado."
"Cuando alguien se une al cuarto de chat, se le asigna un nombre "
"aleatorio. Puede cambiarlo tipeando un nombre nuevo en la casilla en el "
"panel izquierdo y presionando ↵. Ningún historial de chat será mostrado "
"en absoluto, aún si otros ya estaban chateando en el cuarto, porque ese "
"historial no es guardado en ningún lado."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
@ -452,23 +486,23 @@ msgstr ""
"cambiar su nombre a cualquier cosa, y no hay manera de confirmar la "
"identidad de nadie."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
"messages, you can be reasonably confident the people joining the chat "
"room are your friends."
msgstr ""
"Sin embargo, si creas un cuarto de chat OnionShare, y envías la dirección en "
"forma segura solamente a un grupo pequeño de amigos confiables usando "
"mensajes cifrados, entonces puedes estar razonablemente seguro que las "
"Sin embargo, si creas un cuarto de chat OnionShare, y envías la dirección"
" en forma segura solamente a un grupo pequeño de amigos confiables usando"
" mensajes cifrados, entonces puedes estar razonablemente seguro que las "
"personas que se unan a él son tus amigos."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "¿Cómo es que esto es útil?"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
@ -477,7 +511,7 @@ msgstr ""
"cifrada, ¿cuál es el punto de un cuarto de chat OnionShare? Deja menos "
"rastros."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -488,16 +522,17 @@ msgid ""
"rooms don't store any messages anywhere, so the problem is reduced to a "
"minimum."
msgstr ""
"Si, por ejemplo, envías un mensaje a un grupo de Signal, una copia del mismo "
"termina en cada dispositivo (los dispositivos, y las computadoras si "
"configuran Signal Desktop) de cada miembro del grupo. Incluso si los "
"mensajes que desaparecen están activados, es difícil confirmar que todas las "
"copias de los mismos se hayan eliminado de todos los dispositivos y de "
"cualquier otro lugar (como las bases de datos de notificaciones) en los que "
"se hayan guardado. Los cuartos de chat de OnionShare no almacenan ningún "
"mensaje en ningún lugar, por lo que el problema se reduce al mínimo."
"Si, por ejemplo, envías un mensaje a un grupo de Signal, una copia del "
"mismo termina en cada dispositivo (los dispositivos, y las computadoras "
"si configuran Signal Desktop) de cada miembro del grupo. Incluso si los "
"mensajes que desaparecen están activados, es difícil confirmar que todas "
"las copias de los mismos se hayan eliminado de todos los dispositivos y "
"de cualquier otro lugar (como las bases de datos de notificaciones) en "
"los que se hayan guardado. Los cuartos de chat de OnionShare no almacenan"
" ningún mensaje en ningún lugar, por lo que el problema se reduce al "
"mínimo."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -507,17 +542,17 @@ msgid ""
"anonymity."
msgstr ""
"Los cuartos de chat OnionShare también pueden ser útiles para personas "
"anónimas que quieran charlar en forma segura con alguien sin necesitar crear "
"alguna cuenta. Por ejemplo, una fuente puede enviar una dirección OnionShare "
"a un periodista usando una dirección de correo electrónico descartable, y "
"luego esperar a que el periodista se una al cuarto de chat, todo eso sin "
"comprometer su anonimato."
"anónimas que quieran charlar en forma segura con alguien sin necesitar "
"crear alguna cuenta. Por ejemplo, una fuente puede enviar una dirección "
"OnionShare a un periodista usando una dirección de correo electrónico "
"descartable, y luego esperar a que el periodista se una al cuarto de "
"chat, todo eso sin comprometer su anonimato."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "¿Cómo funciona el cifrado?"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -529,11 +564,11 @@ msgstr ""
"Como OnionShare se respalda en los servicios onion de Tor, todas las "
"conexiones entre el Navegador Tor y OnionShare son cifradas de extremo a "
"extremo (E2EE). Cuando alguien publica un mensaje a un cuarto de chat "
"OnionShare, lo envía al servidor a través de la conexión onion E2EE, la cual "
"lo envía luego a todos los otros miembros del cuarto de chat usando "
"OnionShare, lo envía al servidor a través de la conexión onion E2EE, la "
"cual lo envía luego a todos los otros miembros del cuarto de chat usando "
"WebSockets, a través de sus conexiones onion E2EE."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -745,3 +780,56 @@ msgstr ""
#~ "cuartos de chat OnionShare no almacenan"
#~ " ningún mensaje en ningún lado, por"
#~ " lo que esto no es un problema."
#~ msgid "Receive Files"
#~ msgstr "Recibir Archivos"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "Puedes usar OnionShare para permitir a"
#~ " las personas la subida anónima de"
#~ " archivos directamente a tu computadora,"
#~ " convirtiéndola esencialmente en un buzón"
#~ " anónimo. Abre una pestaña de "
#~ "recepción, elige dónde quieres que los"
#~ " archivos sean descargados y otros "
#~ "ajustes, y luego haz clic en "
#~ "\"Iniciar Modo de Recepción\"."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Esto iniciará al servicio OnionShare. "
#~ "Cualquiera que cargue esta dirección en"
#~ " el Navegador Tor será capaz de "
#~ "subir archivos a tu computadora."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "Cuando alguien sube archivos a tu "
#~ "servicio de recepción, son guardados por"
#~ " defecto en una carpeta llamada "
#~ "``OnionShare``, en tu carpeta personal "
#~ "en la computadora, y automáticamente "
#~ "organizados en subcarpetas separadas, "
#~ "basándose en la hora en que los"
#~ " archivos son subidos."

View File

@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2021-03-30 16:26+0000\n"
"Last-Translator: Alexander Tarasenko <alexound.login@gmail.com>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
"Language-Team: ru <LL@li.org>\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"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 4.6-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -36,11 +35,11 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"В OnionShare по умолчанию каждый элемент - временный. При закрытии вкладки "
"её адрес исчезает и не может быть больше использован. Время от времени может "
"потребоваться сделать тот или иной сервис OnionShare доступным на постоянной "
"основе, например, разместить сайт у которого будет один и тот же адрес даже "
"после перезагрузки компьютера."
"В OnionShare по умолчанию каждый элемент - временный. При закрытии "
"вкладки её адрес исчезает и не может быть больше использован. Время от "
"времени может потребоваться сделать тот или иной сервис OnionShare "
"доступным на постоянной основе, например, разместить сайт у которого "
"будет один и тот же адрес даже после перезагрузки компьютера."
#: ../../source/advanced.rst:13
msgid ""
@ -50,8 +49,8 @@ msgid ""
msgstr ""
"Чтобы сделать любую вкладку постоянной, отметье пункт \"Сохранить эту "
"вкладку, и открывать ее автоматически при открытии OnionShare\" перед "
"запуском сервера. При сохранении вкладки появится иконка сиреневого цвета с "
"изображением булавки слева от статуса сервера."
"запуском сервера. При сохранении вкладки появится иконка сиреневого цвета"
" с изображением булавки слева от статуса сервера."
#: ../../source/advanced.rst:18
msgid ""
@ -59,17 +58,18 @@ msgid ""
"start opened. You'll have to manually start each service, but when you do"
" they will start with the same OnionShare address and password."
msgstr ""
"Теперь, при завершении работы с OnionShare и повторном запуске, сохранённые "
"вкладки открываются автоматически. Сервис на каждой вкладке нужно запустить "
"вручную, но при этом адрес и пароль OnionShare остаются прежние."
"Теперь, при завершении работы с OnionShare и повторном запуске, "
"сохранённые вкладки открываются автоматически. Сервис на каждой вкладке "
"нужно запустить вручную, но при этом адрес и пароль OnionShare остаются "
"прежние."
#: ../../source/advanced.rst:21
msgid ""
"If you save a tab, a copy of that tab's onion service secret key will be "
"stored on your computer with your OnionShare settings."
msgstr ""
"При сохранении вкладки копия ключа onions сервиса также будет сохранена на "
"компьютере вместе с настройками OnionShare."
"При сохранении вкладки копия ключа onions сервиса также будет сохранена "
"на компьютере вместе с настройками OnionShare."
#: ../../source/advanced.rst:26
msgid "Turn Off Passwords"
@ -82,10 +82,11 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"По умолчанию, все сервисы OnionShare защищены при помощи имени пользователя "
"``onionshare`` и произвольно-сгенерированного пароля. При совершении более "
"20-ти попыток доступа с неверным паролем, сервис автоматически "
"останавливается, чтобы предотвратить 'brute-force' атаку на сервис."
"По умолчанию, все сервисы OnionShare защищены при помощи имени "
"пользователя ``onionshare`` и произвольно-сгенерированного пароля. При "
"совершении более 20-ти попыток доступа с неверным паролем, сервис "
"автоматически останавливается, чтобы предотвратить 'brute-force' атаку на"
" сервис."
#: ../../source/advanced.rst:31
msgid ""
@ -109,15 +110,32 @@ msgid ""
"password\" box before starting the server. Then the server will be public"
" and won't have a password."
msgstr ""
"Чтобы отключить использование пароля для любой вкладки, отметьте пункт \"Не "
"использовать пароль\" перед запуском сервера. В этом случае сервер "
"Чтобы отключить использование пароля для любой вкладки, отметьте пункт "
"\"Не использовать пароль\" перед запуском сервера. В этом случае сервер "
"становится общедоступным и проверка пароля не осуществляется."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Планирование времени"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -126,12 +144,13 @@ msgid ""
"set the respective desired dates and times."
msgstr ""
"OnionShare поддерживает возможность точного планирования, когда сервис "
"должен запуститься или остановиться. Перед запуском сервера, нажмите на его "
"вкладке кнопку \"Показать дополнительные настройки\", отметьте нужные пункты:"
" \"Запустить сервис onion в назначенное время\", \"Остановить сервис onion в "
"назначенное время\", и укажите нужную дату и время для каждого пункта."
"должен запуститься или остановиться. Перед запуском сервера, нажмите на "
"его вкладке кнопку \"Показать дополнительные настройки\", отметьте нужные"
" пункты: \"Запустить сервис onion в назначенное время\", \"Остановить "
"сервис onion в назначенное время\", и укажите нужную дату и время для "
"каждого пункта."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
@ -139,11 +158,11 @@ msgid ""
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Если запуск сервиса был запланирован на будущее, то при нажатии кнопки "
"\"Сделать доступным для скачивания\" появится таймер обратного отсчёта до "
"запуска сервиса. Если была запланирована остановка сервиса, то после нажатия "
"кнопки появится таймер обратного отсчёта до отстановки сервиса."
"\"Сделать доступным для скачивания\" появится таймер обратного отсчёта до"
" запуска сервиса. Если была запланирована остановка сервиса, то после "
"нажатия кнопки появится таймер обратного отсчёта до отстановки сервиса."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
@ -151,12 +170,12 @@ msgid ""
" you can cancel the service before it's scheduled to start."
msgstr ""
"**Запланированный автоматический запуск сервиса OnionShare может быть "
"использован как 'переключатель мертвеца'\". ** В этом случае сервис окажется "
"общедоступен в указанное время, в случае если с отправителем что-то "
"произойдёт. Если угроза исчезнет, отправитель сможет остановить таймер до "
"автоматического запуска."
"использован как 'переключатель мертвеца'\". ** В этом случае сервис "
"окажется общедоступен в указанное время, в случае если с отправителем "
"что-то произойдёт. Если угроза исчезнет, отправитель сможет остановить "
"таймер до автоматического запуска."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
@ -166,42 +185,43 @@ msgstr ""
"**Запланированная автоматическая остановка сервиса OnionShare может быть "
"использована, чтобы ограничить время огласки\". ** Например может "
"потребоваться сделать доступными для скачивания секретные документы на "
"определённый период времени, чтобы они были доступны пользователям в сети "
"Интернет всего несколько дней."
"определённый период времени, чтобы они были доступны пользователям в сети"
" Интернет всего несколько дней."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Интерфейс командной строки"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
msgstr ""
"В дополнение к графическому интерфейсу, у OnionShare присутствует поддержка "
"интерфейса командной строки."
"В дополнение к графическому интерфейсу, у OnionShare присутствует "
"поддержка интерфейса командной строки."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
msgstr ""
"Отдельно установить консольную версию OnionShare можно при помощи ``pip3``::"
"Отдельно установить консольную версию OnionShare можно при помощи "
"``pip3``::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
msgstr ""
"Для работы консольной версии также необходимо установить пакет ``tor``. Для "
"установки пакета в операционной системе macOS выполните команду: ``brew "
"install tor``"
"Для работы консольной версии также необходимо установить пакет ``tor``. "
"Для установки пакета в операционной системе macOS выполните команду: "
"``brew install tor``"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Затем произведите запуск следующим образом::"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
@ -210,11 +230,11 @@ msgstr ""
"Если установка OnionShare была произведена при помощи Linux Snapcraft, "
"запустить консольную версию можно при помощи команды: ``onionshare.cli``."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Использование"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
@ -222,11 +242,11 @@ msgstr ""
"Чтобы просмотреть документацию консольной версии OnionShare запустите "
"команду: ``onionshare --help``::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Устаревшие Адреса"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
@ -234,23 +254,23 @@ msgstr ""
"OnionShare по умолчанию исользует v3 Tor сервисов onion. Это современные "
"onion адреса, состоящие из 56 символов например::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
msgstr ""
"OnionShare всё ещё поддерживает адреса v2 Tor onion сервисов, состоящие из "
"16 символов, например::"
"OnionShare всё ещё поддерживает адреса v2 Tor onion сервисов, состоящие "
"из 16 символов, например::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
"OnionShare обозначает v2 onion адреса как \"устаревшие\" и не рекомендует их "
"использование, поскольку v3 onion адреса более безопасны."
"OnionShare обозначает v2 onion адреса как \"устаревшие\" и не рекомендует"
" их использование, поскольку v3 onion адреса более безопасны."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -259,14 +279,14 @@ msgid ""
"cannot remove legacy mode in that tab. Instead you must start a separate "
"service in a separate tab."
msgstr ""
"Для использования устаревших адресов, перед запуском сервера на его вкладке "
"нужно нажать кнопку \"Показать рассширенные настройки\" и отметить пункт "
"\"Использовать устаревшую версию адресов (версия 2 сервиса Тор, не "
"рукомендуем)\". В \"устаревшем\" режиме возможно включить аутентификацию "
"клента Tor. Отключить \"устаревший\" режим сервера для вкладки невозможно, "
"необходимо перезапустить сервис в новой вкладке."
"Для использования устаревших адресов, перед запуском сервера на его "
"вкладке нужно нажать кнопку \"Показать рассширенные настройки\" и "
"отметить пункт \"Использовать устаревшую версию адресов (версия 2 сервиса"
" Тор, не рукомендуем)\". В \"устаревшем\" режиме возможно включить "
"аутентификацию клента Tor. Отключить \"устаревший\" режим сервера для "
"вкладки невозможно, необходимо перезапустить сервис в новой вкладке."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
@ -473,3 +493,4 @@ msgstr ""
#~ " services will soon be removed from"
#~ " OnionShare as well."
#~ msgstr ""

View File

@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2021-03-30 16:26+0000\n"
"Last-Translator: Alexander Tarasenko <alexound.login@gmail.com>\n"
"Language-Team: ru <LL@li.org>\n"
"Language: ru\n"
"Language-Team: ru <LL@li.org>\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"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 4.6-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -31,8 +30,9 @@ msgid ""
"<https://community.torproject.org/onion-services/>`_."
msgstr ""
"OnionShare запускает службы локально на компьютере пользователя и затем "
"делает их доступными другим людям при помощи`Tor <https://www.torproject.org/"
">`_ `onion сервисов <https://community.torproject.org/onion-services/>`_."
"делает их доступными другим людям при помощи`Tor "
"<https://www.torproject.org/>`_ `onion сервисов "
"<https://community.torproject.org/onion-services/>`_."
#: ../../source/features.rst:8
msgid ""
@ -50,18 +50,18 @@ msgid ""
"model <https://ssd.eff.org/module/your-security-plan>`_."
msgstr ""
"Безопасность передачи этого адреса зависит от пользователя OnionShare. "
"Исходя из `модели угрозы <https://ssd.eff.org/module/your-security-plan>`_, "
"можно использовать либо приложение для обмена зашифрованными сообщениями, "
"либо сервис электронной почты без шифрования."
"Исходя из `модели угрозы <https://ssd.eff.org/module/your-security-"
"plan>`_, можно использовать либо приложение для обмена зашифрованными "
"сообщениями, либо сервис электронной почты без шифрования."
#: ../../source/features.rst:14
msgid ""
"The people you send the URL to then copy and paste it into their `Tor "
"Browser <https://www.torproject.org/>`_ to access the OnionShare service."
msgstr ""
"Чтобы получить доступ к сервисам OnionShare, получатели веб-адреса должны "
"скопировать и вставить его в адресную строку `Tor Browser <https://www."
"torproject.org/>`_."
"Чтобы получить доступ к сервисам OnionShare, получатели веб-адреса должны"
" скопировать и вставить его в адресную строку `Tor Browser "
"<https://www.torproject.org/>`_."
#: ../../source/features.rst:16
msgid ""
@ -70,12 +70,12 @@ msgid ""
"until your laptop is unsuspended and on the Internet again. OnionShare "
"works best when working with people in real-time."
msgstr ""
"Если запуск OnionShare производится на ноутбуке и используется для отправки "
"файлов, то, в случае перехода операционной системы в \"спящий режим\", "
"сервис OnionShare будет недоступен до тех пор, пока у ноутбука не будет "
"восстановлено соединение с сетью Internet. Рекомендуется использовать "
"OnionShare для взаимодействия с другими людьми в режиме \"реального времени\""
"."
"Если запуск OnionShare производится на ноутбуке и используется для "
"отправки файлов, то, в случае перехода операционной системы в \"спящий "
"режим\", сервис OnionShare будет недоступен до тех пор, пока у ноутбука "
"не будет восстановлено соединение с сетью Internet. Рекомендуется "
"использовать OnionShare для взаимодействия с другими людьми в режиме "
"\"реального времени\"."
#: ../../source/features.rst:18
msgid ""
@ -85,12 +85,12 @@ msgid ""
"Tor onion services too, it also protects your anonymity. See the "
":doc:`security design </security>` for more info."
msgstr ""
"Поскольку комьютер пользователя является одновременно веб-сервером, *никакие "
"третьи лица не имеют доступа к внутренним процессам OnionShare*, включая "
"разработчиков. Приложение полностью приватно. И, поскольку работа OnionShare "
"основана на использовании onion сервисов сети Tor, он также защищает "
"анонимность пользователя. Дополнительную информацию можно найти :здесь:`"
"Обеспечение безопасности </security>`."
"Поскольку комьютер пользователя является одновременно веб-сервером, "
"*никакие третьи лица не имеют доступа к внутренним процессам OnionShare*,"
" включая разработчиков. Приложение полностью приватно. И, поскольку "
"работа OnionShare основана на использовании onion сервисов сети Tor, он "
"также защищает анонимность пользователя. Дополнительную информацию можно "
"найти :здесь:`Обеспечение безопасности </security>`."
#: ../../source/features.rst:21
msgid "Share Files"
@ -103,18 +103,18 @@ msgid ""
"share, and click \"Start sharing\"."
msgstr ""
"OnionShare позволяет анонимно и безопасно отправлять файлы и директории "
"другим людями. Для этого нужно открыть вкладку \"Отправить\", \"перетащить\" "
"в приложение файлы и директории, которые нужно отправить и нажать кнопку "
"\"Сделать доступным для скачивания\"."
"другим людями. Для этого нужно открыть вкладку \"Отправить\", "
"\"перетащить\" в приложение файлы и директории, которые нужно отправить и"
" нажать кнопку \"Сделать доступным для скачивания\"."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
"После добавления файлов в OnionShare отобразятся некоторые настройки. "
"Убедитесь, что используете только интересующие Вас настройки перед началом "
"отправки."
"Убедитесь, что используете только интересующие Вас настройки перед "
"началом отправки."
#: ../../source/features.rst:31
msgid ""
@ -126,9 +126,9 @@ msgid ""
msgstr ""
"Как только завершится первая загрузка файлов, OnionShare автоматически "
"остановит сервер и удалит веб-сайт из сети Internet. Чтобы разрешить "
"нескольким людями загружать Ваши файлы, снимите флажок с настройки \"Закрыть "
"доступ к файлам после их отправки (отмените чтобы разрешить скачивание "
"отдельных файлов)\"."
"нескольким людями загружать Ваши файлы, снимите флажок с настройки "
"\"Закрыть доступ к файлам после их отправки (отмените чтобы разрешить "
"скачивание отдельных файлов)\"."
#: ../../source/features.rst:34
msgid ""
@ -148,9 +148,9 @@ msgid ""
msgstr ""
"Если готово к отправкк, нужно нажать кнопку \"Сделать доступным для "
"скачивания\". В экстренных случаях всегда есть возможность нажть кнопку "
"\"Отменить доступ к скачиванию\" или выйти из OnionShare чтобы немедленно "
"отключить сайт. Для просмотра истории раздач и прогресса текущих раздач, "
"нажмите кнопку \"↑\" в правом верхнем углу приложения."
"\"Отменить доступ к скачиванию\" или выйти из OnionShare чтобы немедленно"
" отключить сайт. Для просмотра истории раздач и прогресса текущих раздач,"
" нажмите кнопку \"↑\" в правом верхнем углу приложения."
#: ../../source/features.rst:40
msgid ""
@ -159,10 +159,11 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Теперь, когда отображается адрес сервиса OnionShare, его нужно скопировать и "
"отправить получателю файлов. Если файлы должны оставаться в безопасности или "
"получатель по той или иной причине находится под угрозой, для передачи "
"адреса используйте приложение для обмена зашифроваными сообщениями."
"Теперь, когда отображается адрес сервиса OnionShare, его нужно "
"скопировать и отправить получателю файлов. Если файлы должны оставаться в"
" безопасности или получатель по той или иной причине находится под "
"угрозой, для передачи адреса используйте приложение для обмена "
"зашифроваными сообщениями."
#: ../../source/features.rst:42
msgid ""
@ -171,61 +172,79 @@ msgid ""
"downloaded directly from your computer by clicking the \"Download Files\""
" link in the corner."
msgstr ""
"Получателю нужно перейти по полученному веб-адресу при помощи Tor Browser'а. "
"После того, как получатель пройдёт авторизацию при помощи пароля, "
"включённого в адрес сервиса OnionShare, он сможет загрузить файлы прямо на "
"свой компьютер, нажав на ссылку \"Загрузить Файлы\"."
"Получателю нужно перейти по полученному веб-адресу при помощи Tor "
"Browser'а. После того, как получатель пройдёт авторизацию при помощи "
"пароля, включённого в адрес сервиса OnionShare, он сможет загрузить файлы"
" прямо на свой компьютер, нажав на ссылку \"Загрузить Файлы\"."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Получение файлов"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"Возможно использование OnionShare в качестве анонимного почтового ящика, "
"чтобы другие люди загружали файлы на компьютер получателя, сохраняя при этом "
"анонимность. Для этого нужно открыть вкладку \"Получение\", выбрать "
"директорию для сохранения файлов, произвести некоторые настройки и затем "
"нажать на кнопку \"Включить режим получения\"."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Это запустит сервис OnionShare. Любой, у кого есть веб-адрес данного сервиса "
"сможет загрузить файлы на компьютер получателя при помощи Tor Browser."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
"Для просмотра истории получения и прогресса текущих загрузок, нажмите кнопку "
"\"↓\" в правом верхнем углу."
"Для просмотра истории получения и прогресса текущих загрузок, нажмите "
"кнопку \"↓\" в правом верхнем углу."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "Примерно так выглядит OnionShare когда кто-то вам отправляет файлы."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"При использовании сервиса получения, по умолчанию файлы сохраняются в "
"директорию ``OnionShare`` в \"домашней\" директории комьютера пользователя. "
"Эта директория автоматически создаёт поддиректории в зависимости от времени "
"загрузки."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -234,26 +253,26 @@ msgid ""
"whistleblower submission system."
msgstr ""
"Использование OnionShare в качестве сервиса получения файлов может быть "
"полезным, например, для журналистов, в случае если нужно безопасно получить "
"документы от анонимного источника."
"полезным, например, для журналистов, в случае если нужно безопасно "
"получить документы от анонимного источника."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Возможные риски"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
"OnionShare service. OnionShare does not add any safety mechanisms to "
"protect your system from malicious files."
msgstr ""
"Как и вредоносные приложения к письмам электронной почты, файлы загружаемые "
"на Ваш компьютер при помощи OnionShare могут быть использованы для атаки. "
"OnionShare не содержит какого-либо защитного механизма операционной системы "
"от вредоносных файлов."
"Как и вредоносные приложения к письмам электронной почты, файлы "
"загружаемые на Ваш компьютер при помощи OnionShare могут быть "
"использованы для атаки. OnionShare не содержит какого-либо защитного "
"механизма операционной системы от вредоносных файлов."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -262,45 +281,51 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"Если при помощи OnionShare был получен документ Office или PDF, его можно "
"преобразовать в определённый формат PDF и, затем, безопасно открыть при "
"помощи `Dangerzone <https://dangerzone.rocks/>`_. Так же, в качестве защиты "
"при работе с подозрительными документами, можно ииспользовать ОС `Tails "
"<https://tails.boum.org/>`_ или внутри одноразовой виртуальной машины ОС `"
"Qubes <https://qubes-os.org/>`_."
"Если при помощи OnionShare был получен документ Office или PDF, его можно"
" преобразовать в определённый формат PDF и, затем, безопасно открыть при "
"помощи `Dangerzone <https://dangerzone.rocks/>`_. Так же, в качестве "
"защиты при работе с подозрительными документами, можно ииспользовать ОС "
"`Tails <https://tails.boum.org/>`_ или внутри одноразовой виртуальной "
"машины ОС `Qubes <https://qubes-os.org/>`_."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Советы для использования сервиса приёма файлов"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
" and connected to the Internet, and not on the one you use on a regular "
"basis."
msgstr ""
"Если нужно разместить свой собственный анонимный почтовый язщик для приёма "
"документов, рекомендуется сделать это при помощи отдельного компьютера, "
"постоянно подключённого к сети питания, который не используется для обычной "
"работы."
"Если нужно разместить свой собственный анонимный почтовый язщик для "
"приёма документов, рекомендуется сделать это при помощи отдельного "
"компьютера, постоянно подключённого к сети питания, который не "
"используется для обычной работы."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"Если планируется разместить адрес сервиса OnionShare на своём веб-сайте или "
"в социальных сетях, рекомендуется сохранить вкладку (подробнее "
"Если планируется разместить адрес сервиса OnionShare на своём веб-сайте "
"или в социальных сетях, рекомендуется сохранить вкладку (подробнее "
":ref:`save_tabs`) и сделать сервис общедоступным (подробнее "
":ref:`turn_off_passwords`)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Размещение Вебсайта"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
@ -308,10 +333,10 @@ msgid ""
msgstr ""
"Чтобы разместить статический HTML сайт при помощи OnionShare, нужно "
"соответствующую вкладку, перетащить файлы и директории со статическим "
"содержимым и, когда всё будет готово, нажать кнопку \"Сделать доступным для "
"скачивания\"."
"содержимым и, когда всё будет готово, нажать кнопку \"Сделать доступным "
"для скачивания\"."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -320,14 +345,15 @@ msgid ""
"websites that execute code or use databases. So you can't for example use"
" WordPress.)"
msgstr ""
"Если добавить во вкладку файл ``index.html``, то он отобразится как вебсайт, "
"когда кто-то перейдёт по веб-адресу сервиса OnionShare. Также следует "
"приложить все прочие HTML, CSS JavaScript файлы и изображения из которых "
"состоит вебсайт. (Обратите внимание, что OnionShare поддерживает создание "
"только *статических* файлов и не может быть использован для размещения веб-"
"приложений или сайтов, использующих базы данных (например, WordPress).)"
"Если добавить во вкладку файл ``index.html``, то он отобразится как "
"вебсайт, когда кто-то перейдёт по веб-адресу сервиса OnionShare. Также "
"следует приложить все прочие HTML, CSS JavaScript файлы и изображения из "
"которых состоит вебсайт. (Обратите внимание, что OnionShare поддерживает "
"создание только *статических* файлов и не может быть использован для "
"размещения веб-приложений или сайтов, использующих базы данных (например,"
" WordPress).)"
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
@ -337,11 +363,11 @@ msgstr ""
"отобразится список директорий и файлов, которые можно просмотреть и/или "
"загрузить."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "Политика безопасности контента"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -350,28 +376,29 @@ msgid ""
"page."
msgstr ""
"По умолчанию OnionShare помогает обезопасить вебсайт пользователя, "
"устанавливая строгую `Политикаубезопасности контента <https://en.wikipedia."
"org/wiki/Content_Security_Policy>`_ . Тем не менее, это исключает "
"возможность загрузки и использования на веб-странице контента из сторонних "
"источников."
"устанавливая строгую `Политикаубезопасности контента "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_ . Тем не менее,"
" это исключает возможность загрузки и использования на веб-странице "
"контента из сторонних источников."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
"Policy header (allows your website to use third-party resources)\" box "
"before starting the service."
msgstr ""
"Если требуется загрузить и использовать содержимое из сторонних иточников, "
"например активы или библиотеки JavaScript из CDN, то нужно установить флажок "
"\"Не отправлять заголовок политики безопасности контента\" перед запуском "
"сервиса. Это позволит вебсайту использовать сторонние источники содержимого."
"Если требуется загрузить и использовать содержимое из сторонних "
"иточников, например активы или библиотеки JavaScript из CDN, то нужно "
"установить флажок \"Не отправлять заголовок политики безопасности "
"контента\" перед запуском сервиса. Это позволит вебсайту использовать "
"сторонние источники содержимого."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Советы по использованию сервсиа размещения вебсайтов"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -380,15 +407,15 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"Чтобы разместить сайт при помощи OnionShare на длительный срок (то есть, не "
"для быстрой демонстрации чего-то кому-то), рекомендуется сделать это при "
"помощи отдельного компьютера, постоянно подключённого к сети питания и "
"Интернету, который не используется для обычной работы. Также, нужно "
"Чтобы разместить сайт при помощи OnionShare на длительный срок (то есть, "
"не для быстрой демонстрации чего-то кому-то), рекомендуется сделать это "
"при помощи отдельного компьютера, постоянно подключённого к сети питания "
"и Интернету, который не используется для обычной работы. Также, нужно "
"сохранить вкладку (подробнее :ref:`save_tabs`), чтобы в дальнейшем можно "
"было восстановить доступ к вебсайту с тем же самым адресом, в случае "
"закрытия и повторного запуска OnionShare."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
@ -396,32 +423,32 @@ msgstr ""
"Если планируется сделать сайт общедоступным, рекомендуется отключить "
"проверку паролей (подробнее :ref:`turn_off_passwords`)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Анонимный чат"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
"Возможно использование OnionShare в качестве приватного и безопасного чата, "
"который не хранит какие-либо логи. Для этого, нужно открыть вкладку чата и "
"нажать кнопку \"Запустить сервер чата\"."
"Возможно использование OnionShare в качестве приватного и безопасного "
"чата, который не хранит какие-либо логи. Для этого, нужно открыть вкладку"
" чата и нажать кнопку \"Запустить сервер чата\"."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
"После запуска сервера, нужно скопировать адрес OnionShare и отправить людям, "
"с которыми планируется анонимная переписка. Если нужно ввести ограничить "
"круг участников, используйте для рассылки адреса OnionShare приложение для "
"обмена зашифрованными сообщениями."
"После запуска сервера, нужно скопировать адрес OnionShare и отправить "
"людям, с которыми планируется анонимная переписка. Если нужно ввести "
"ограничить круг участников, используйте для рассылки адреса OnionShare "
"приложение для обмена зашифрованными сообщениями."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -430,22 +457,23 @@ msgid ""
msgstr ""
"Участники могут присодиниться к чату при помощи адреса OnionShare и Tor "
"Browser. Для функционирования чата нужен JavaScript, так что каждому "
"предполагаемому участнику необходимо выставить уровень безопасности \"Обычный"
"\" или \"Высокий\", вместо \"Высший\"."
"предполагаемому участнику необходимо выставить уровень безопасности "
"\"Обычный\" или \"Высокий\", вместо \"Высший\"."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
"and pressing ↵. Since the chat history isn't saved anywhere, it doesn't "
"get displayed at all, even if others were already chatting in the room."
msgstr ""
"Когда в чате появляется новый участник, ему присваивается случайное имя. В "
"дальнейшем это имя может быть изменено форме на левой панели: нужно ввести "
"новое имя и нажать ↵. Поскольку никакая история переписки не сохраняется, "
"это имя нигде не отбражается, даже если в чате уже были участники."
"Когда в чате появляется новый участник, ему присваивается случайное имя. "
"В дальнейшем это имя может быть изменено форме на левой панели: нужно "
"ввести новое имя и нажать ↵. Поскольку никакая история переписки не "
"сохраняется, это имя нигде не отбражается, даже если в чате уже были "
"участники."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
@ -454,7 +482,7 @@ msgstr ""
"изменить своё имя и нет никакого способа определить/подтвердить личность "
"такого участника."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
@ -463,21 +491,22 @@ msgid ""
msgstr ""
"Тем не менее, если при создании чата в OnionShare вдрес будет разослан "
"только небольшой группе проверенных друзей при помощи зашифрованных "
"сообщений, можно быть достаточно уверенным, что в чате присутствуют друзья."
"сообщений, можно быть достаточно уверенным, что в чате присутствуют "
"друзья."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "Насколько это полезно?"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
msgstr ""
"Какая может быть польза от чата OnionShare при наличии приложений для обмена "
"зашифрованными сообщениями? OnionShare оставляет меньше следов."
"Какая может быть польза от чата OnionShare при наличии приложений для "
"обмена зашифрованными сообщениями? OnionShare оставляет меньше следов."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -488,16 +517,16 @@ msgid ""
"rooms don't store any messages anywhere, so the problem is reduced to a "
"minimum."
msgstr ""
"Например, если отправить групповое сообщение при помощи мессенджера Signal, "
"копия сообщения появится на всех устройствах (включая компьютеры, на которых "
"установлен Signal Desktop) каждого из участников группы. Даже если включены "
"\"исчезающие сообщения\", достаточно трудно убедиться, что все копии "
"сообщения были в действительности удалены со всех устройств и каких-либо "
"других мест (например, центров уведомлений), куда они могли быть сохранены. "
"OnionShare не хранит какие-либо сообщения, так что описанная проблема "
"сведена к минимуму."
"Например, если отправить групповое сообщение при помощи мессенджера "
"Signal, копия сообщения появится на всех устройствах (включая компьютеры,"
" на которых установлен Signal Desktop) каждого из участников группы. Даже"
" если включены \"исчезающие сообщения\", достаточно трудно убедиться, что"
" все копии сообщения были в действительности удалены со всех устройств и "
"каких-либо других мест (например, центров уведомлений), куда они могли "
"быть сохранены. OnionShare не хранит какие-либо сообщения, так что "
"описанная проблема сведена к минимуму."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -507,17 +536,17 @@ msgid ""
"anonymity."
msgstr ""
"OnionShare также может быть полезен для людей, которым нужна анонимная и "
"безопасная переписка без создания каких-либо учётных записей. Например, с "
"журналистом может связаться 'источник': прислать адрес OnionShare при помощи "
"временного адреса электронной почты и затем подождать пока журналист, "
"присоединится к чату. При таком сценарии источник не подвергает опасности "
"свою анонимность."
"безопасная переписка без создания каких-либо учётных записей. Например, с"
" журналистом может связаться 'источник': прислать адрес OnionShare при "
"помощи временного адреса электронной почты и затем подождать пока "
"журналист, присоединится к чату. При таком сценарии источник не "
"подвергает опасности свою анонимность."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "Как работает шифрование?"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -526,13 +555,13 @@ msgid ""
"other members of the chat room using WebSockets, through their E2EE onion"
" connections."
msgstr ""
"Работа OnionShare обеспечивается onion сервисами сети Tor, все соединения "
"между Tor Browser и OnionShare зашифровны сквозным шифрованием (E2EE). При "
"отправке в чат OnionShare, сообщение передаётся на сервер через E2EE onion "
"соединение. Далее, сообщение рассылается всем участникам чата при помощи "
"WebSockets, также при использовании E2EE и onion соединений."
"Работа OnionShare обеспечивается onion сервисами сети Tor, все соединения"
" между Tor Browser и OnionShare зашифровны сквозным шифрованием (E2EE). "
"При отправке в чат OnionShare, сообщение передаётся на сервер через E2EE "
"onion соединение. Далее, сообщение рассылается всем участникам чата при "
"помощи WebSockets, также при использовании E2EE и onion соединений."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -915,3 +944,54 @@ msgstr ""
#~ "WebSockets, through their E2EE onion "
#~ "connections."
#~ msgstr ""
#~ msgid "Receive Files"
#~ msgstr "Получение файлов"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "Возможно использование OnionShare в качестве"
#~ " анонимного почтового ящика, чтобы другие"
#~ " люди загружали файлы на компьютер "
#~ "получателя, сохраняя при этом анонимность. "
#~ "Для этого нужно открыть вкладку "
#~ "\"Получение\", выбрать директорию для "
#~ "сохранения файлов, произвести некоторые "
#~ "настройки и затем нажать на кнопку "
#~ "\"Включить режим получения\"."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Это запустит сервис OnionShare. Любой, у"
#~ " кого есть веб-адрес данного сервиса "
#~ "сможет загрузить файлы на компьютер "
#~ "получателя при помощи Tor Browser."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "При использовании сервиса получения, по "
#~ "умолчанию файлы сохраняются в директорию "
#~ "``OnionShare`` в \"домашней\" директории "
#~ "комьютера пользователя. Эта директория "
#~ "автоматически создаёт поддиректории в "
#~ "зависимости от времени загрузки."

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2021-01-09 15:33+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: tr\n"
"Language-Team: tr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -35,11 +34,12 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"OnionShare'deki her şey öntanımlı olarak geçicidir. Bir OnionShare sekmesini "
"kapatırsanız, adresi artık mevcut değildir ve tekrar kullanılamaz. Bazen bir "
"OnionShare hizmetinin kalıcı olmasını isteyebilirsiniz. Bilgisayarınızı "
"yeniden başlatsanız bile, aynı OnionShare adresinden kullanılabilen bir web "
"sitesini barındırmak istiyorsanız bu kullanışlıdır."
"OnionShare'deki her şey öntanımlı olarak geçicidir. Bir OnionShare "
"sekmesini kapatırsanız, adresi artık mevcut değildir ve tekrar "
"kullanılamaz. Bazen bir OnionShare hizmetinin kalıcı olmasını "
"isteyebilirsiniz. Bilgisayarınızı yeniden başlatsanız bile, aynı "
"OnionShare adresinden kullanılabilen bir web sitesini barındırmak "
"istiyorsanız bu kullanışlıdır."
#: ../../source/advanced.rst:13
msgid ""
@ -47,10 +47,10 @@ msgid ""
"open it when I open OnionShare\" box before starting the server. When a "
"tab is saved a purple pin icon appears to the left of its server status."
msgstr ""
"Herhangi bir sekmeyi kalıcı hale getirmek için, sunucuyu başlatmadan önce "
"\"Bu sekmeyi kaydet ve OnionShare'i açtığımda otomatik olarak aç\" kutusunu "
"işaretleyin. Bir sekme kaydedildiğinde, sunucu durumunun solunda mor bir "
"iğne simgesi görünür."
"Herhangi bir sekmeyi kalıcı hale getirmek için, sunucuyu başlatmadan önce"
" \"Bu sekmeyi kaydet ve OnionShare'i açtığımda otomatik olarak aç\" "
"kutusunu işaretleyin. Bir sekme kaydedildiğinde, sunucu durumunun solunda"
" mor bir iğne simgesi görünür."
#: ../../source/advanced.rst:18
msgid ""
@ -58,17 +58,18 @@ msgid ""
"start opened. You'll have to manually start each service, but when you do"
" they will start with the same OnionShare address and password."
msgstr ""
"OnionShare'den çıkıp tekrar açtığınızda, kaydedilmiş sekmeleriniz ılmaya "
"başlayacaktır. Her hizmeti elle başlatmanız gerekecektir, ancak bunu "
"yaptığınızda aynı OnionShare adresi ve parolasıyla başlayacaklardır."
"OnionShare'den çıkıp tekrar açtığınızda, kaydedilmiş sekmeleriniz "
"ılmaya başlayacaktır. Her hizmeti elle başlatmanız gerekecektir, ancak "
"bunu yaptığınızda aynı OnionShare adresi ve parolasıyla başlayacaklardır."
#: ../../source/advanced.rst:21
msgid ""
"If you save a tab, a copy of that tab's onion service secret key will be "
"stored on your computer with your OnionShare settings."
msgstr ""
"Bir sekmeyi kaydederseniz, bu sekmenin onion hizmeti gizli anahtarının bir "
"kopyası, OnionShare ayarlarınızla birlikte bilgisayarınızda saklanacaktır."
"Bir sekmeyi kaydederseniz, bu sekmenin onion hizmeti gizli anahtarının "
"bir kopyası, OnionShare ayarlarınızla birlikte bilgisayarınızda "
"saklanacaktır."
#: ../../source/advanced.rst:26
msgid "Turn Off Passwords"
@ -81,10 +82,10 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"Öntanımlı olarak, tüm OnionShare hizmetleri, ``onionshare`` kullanıcı adı ve "
"rastgele oluşturulan bir parola ile korunur. Birisi parola için 20 yanlış "
"tahmin yaparsa, OnionShare hizmetine karşı bir kaba kuvvet saldırısını "
"önlemek için onion hizmetiniz otomatik olarak durdurulur."
"Öntanımlı olarak, tüm OnionShare hizmetleri, ``onionshare`` kullanıcı adı"
" ve rastgele oluşturulan bir parola ile korunur. Birisi parola için 20 "
"yanlış tahmin yaparsa, OnionShare hizmetine karşı bir kaba kuvvet "
"saldırısını önlemek için onion hizmetiniz otomatik olarak durdurulur."
#: ../../source/advanced.rst:31
msgid ""
@ -95,12 +96,12 @@ msgid ""
"can force your server to stop just by making 20 wrong guesses of your "
"password, even if they know the correct password."
msgstr ""
"Bazen, örneğin bir OnionShare alma hizmeti kurmak istediğinizde, insanların "
"size güvenli ve anonim olarak dosya gönderebilmesi için OnionShare "
"hizmetinizin herkes tarafından erişilebilir olmasını isteyebilirsiniz. Bu "
"durumda parolayı tamamen devre dışı bırakmak daha iyidir. Bunu yapmazsanız, "
"birisi doğru parolayı bilse bile parolanız hakkında 20 yanlış tahmin yaparak "
"sunucunuzu durmaya zorlayabilir."
"Bazen, örneğin bir OnionShare alma hizmeti kurmak istediğinizde, "
"insanların size güvenli ve anonim olarak dosya gönderebilmesi için "
"OnionShare hizmetinizin herkes tarafından erişilebilir olmasını "
"isteyebilirsiniz. Bu durumda parolayı tamamen devre dışı bırakmak daha "
"iyidir. Bunu yapmazsanız, birisi doğru parolayı bilse bile parolanız "
"hakkında 20 yanlış tahmin yaparak sunucunuzu durmaya zorlayabilir."
#: ../../source/advanced.rst:35
msgid ""
@ -108,15 +109,32 @@ msgid ""
"password\" box before starting the server. Then the server will be public"
" and won't have a password."
msgstr ""
"Herhangi bir sekmenin parolasını kapatmak için, sunucuyu başlatmadan önce "
"\"Parola kullanma\" kutusunu işaretlemeniz yeterlidir. Daha sonra sunucu "
"herkese açık olacak ve bir parolası olmayacaktır."
"Herhangi bir sekmenin parolasını kapatmak için, sunucuyu başlatmadan önce"
" \"Parola kullanma\" kutusunu işaretlemeniz yeterlidir. Daha sonra sunucu"
" herkese açık olacak ve bir parolası olmayacaktır."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Zamanlanan Saatler"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -124,55 +142,56 @@ msgid ""
"scheduled time\", \"Stop onion service at scheduled time\", or both, and "
"set the respective desired dates and times."
msgstr ""
"OnionShare, bir hizmetin tam olarak ne zaman başlaması ve durması gerektiği "
"zamanlamayı destekler. Bir sunucuyu başlatmadan önce, onun sekmesinde "
"\"Gelişmiş ayarları göster\" düğmesine tıklayın ve ardından \"Onion "
"hizmetini zamanlanan saatte başlat\", \"Onion hizmetini zamanlanan saatte "
"durdur\" veya her ikisinin yanındaki kutuları işaretleyin ve istenen "
"tarihleri ve saatleri ayarlayın."
"OnionShare, bir hizmetin tam olarak ne zaman başlaması ve durması "
"gerektiği zamanlamayı destekler. Bir sunucuyu başlatmadan önce, onun "
"sekmesinde \"Gelişmiş ayarları göster\" düğmesine tıklayın ve ardından "
"\"Onion hizmetini zamanlanan saatte başlat\", \"Onion hizmetini "
"zamanlanan saatte durdur\" veya her ikisinin yanındaki kutuları "
"işaretleyin ve istenen tarihleri ve saatleri ayarlayın."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
"starts. If you scheduled it to stop in the future, after it's started you"
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Bir hizmeti gelecekte başlaması için zamanladıysanız, \"Paylaşmaya başla\" "
"düğmesine tıkladığınızda, başlayana kadar geri sayım yapan bir zamanlayıcı "
"göreceksiniz. Gelecekte durması için zamanladıysanız, başladıktan sonra "
"otomatik olarak duracağı zamana kadar geri sayan bir zamanlayıcı "
"göreceksiniz."
"Bir hizmeti gelecekte başlaması için zamanladıysanız, \"Paylaşmaya "
"başla\" düğmesine tıkladığınızda, başlayana kadar geri sayım yapan bir "
"zamanlayıcı göreceksiniz. Gelecekte durması için zamanladıysanız, "
"başladıktan sonra otomatik olarak duracağı zamana kadar geri sayan bir "
"zamanlayıcı göreceksiniz."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
"time in the future if anything happens to you. If nothing happens to you,"
" you can cancel the service before it's scheduled to start."
msgstr ""
"**Bir OnionShare hizmetini otomatik olarak başlayacak şekilde zamanlamak, "
"ölü adam anahtarı olarak kullanılabilir**, bu şekilde size bir şey olursa, "
"hizmetiniz gelecekte belirli bir zamanda herkese açık duruma getirilecektir. "
"Size bir şey olmazsa, hizmetin başlama zamanından önce iptal edebilirsiniz."
"**Bir OnionShare hizmetini otomatik olarak başlayacak şekilde zamanlamak,"
" ölü adam anahtarı olarak kullanılabilir**, bu şekilde size bir şey "
"olursa, hizmetiniz gelecekte belirli bir zamanda herkese açık duruma "
"getirilecektir. Size bir şey olmazsa, hizmetin başlama zamanından önce "
"iptal edebilirsiniz."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
"making sure they're not available on the Internet for more than a few "
"days."
msgstr ""
"**Bir OnionShare hizmetini otomatik olarak durdurulacak şekilde zamanlamak, "
"maruz kalmayı sınırlandırmak için kullanışlı olabilir**, örneğin gizli "
"belgeleri birkaç günden daha uzun süre internette bulunmadıklarından emin "
"olacak şekilde paylaşmak isterseniz."
"**Bir OnionShare hizmetini otomatik olarak durdurulacak şekilde "
"zamanlamak, maruz kalmayı sınırlandırmak için kullanışlı olabilir**, "
"örneğin gizli belgeleri birkaç günden daha uzun süre internette "
"bulunmadıklarından emin olacak şekilde paylaşmak isterseniz."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Komut Satırı Arayüzü"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
@ -180,7 +199,7 @@ msgstr ""
"Grafiksel arayüzüne ek olarak, OnionShare bir komut satırı arayüzüne "
"sahiptir."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
@ -188,53 +207,53 @@ msgstr ""
"OnionShare'in yalnızca komut satırı sürümünü ``pip3`` kullanarak "
"kurabilirsiniz::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
msgstr ""
"Ayrıca ``tor`` paketinin kurulu olması gerekeceğini unutmayın. macOS için şu "
"komutla kurun: ``brew install tor``"
"Ayrıca ``tor`` paketinin kurulu olması gerekeceğini unutmayın. macOS için"
" şu komutla kurun: ``brew install tor``"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Sonra şu şekilde çalıştırın::"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
"version."
msgstr ""
"OnionShare'i Linux Snapcraft paketini kullanarak kurduysanız, komut satırı "
"arayüzü sürümüne erişmek için ``onionshare.cli`` komutunu "
"OnionShare'i Linux Snapcraft paketini kullanarak kurduysanız, komut "
"satırı arayüzü sürümüne erişmek için ``onionshare.cli`` komutunu "
"çalıştırabilirsiniz."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Kullanım"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
msgstr ""
"``onionshare --help`` komutunu çalıştırarak komut satırı belgelendirmesine "
"göz atabilirsiniz::"
"``onionshare --help`` komutunu çalıştırarak komut satırı "
"belgelendirmesine göz atabilirsiniz::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Eski Adresler"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
msgstr ""
"OnionShare, öntanımlı olarak v3 Tor onion hizmetlerini kullanır. Bunlar, 56 "
"karakter içeren modern onion adresleridir, örneğin::"
"OnionShare, öntanımlı olarak v3 Tor onion hizmetlerini kullanır. Bunlar, "
"56 karakter içeren modern onion adresleridir, örneğin::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
@ -242,15 +261,15 @@ msgstr ""
"OnionShare, v2 onion adreslerini, yani 16 karakter içeren eski tür onion "
"adreslerini hala desteklemektedir, örneğin::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
msgstr ""
"OnionShare, v2 onion adreslerini \"eski adresler\" olarak adlandırır ve v3 "
"onion adresleri daha güvenli olduğu için bunlar tavsiye edilmez."
"OnionShare, v2 onion adreslerini \"eski adresler\" olarak adlandırır ve "
"v3 onion adresleri daha güvenli olduğu için bunlar tavsiye edilmez."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -259,14 +278,15 @@ msgid ""
"cannot remove legacy mode in that tab. Instead you must start a separate "
"service in a separate tab."
msgstr ""
"Eski adresleri kullanmak için, bir sunucuyu başlatmadan önce onun sekmesinde "
"\"Gelişmiş ayarları göster\" düğmesine tıklayın ve \"Eski bir adres kullan ("
"v2 onion hizmeti, tavsiye edilmez)\" kutusunu işaretleyin. Eski modda isteğe "
"bağlı olarak Tor istemci kimlik doğrulamasını açabilirsiniz. Eski modda bir "
"sunucu başlattığınızda, o sekmede eski modu kaldıramazsınız. Bunun yerine, "
"ayrı bir sekmede ayrı bir hizmet başlatmalısınız."
"Eski adresleri kullanmak için, bir sunucuyu başlatmadan önce onun "
"sekmesinde \"Gelişmiş ayarları göster\" düğmesine tıklayın ve \"Eski bir "
"adres kullan (v2 onion hizmeti, tavsiye edilmez)\" kutusunu işaretleyin. "
"Eski modda isteğe bağlı olarak Tor istemci kimlik doğrulamasını "
"açabilirsiniz. Eski modda bir sunucu başlattığınızda, o sekmede eski modu"
" kaldıramazsınız. Bunun yerine, ayrı bir sekmede ayrı bir hizmet "
"başlatmalısınız."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
@ -476,3 +496,4 @@ msgstr ""
#~ " services will soon be removed from"
#~ " OnionShare as well."
#~ msgstr ""

View File

@ -7,16 +7,15 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2021-01-10 16:32+0000\n"
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: tr\n"
"Language-Team: tr <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=n != 1\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 4.4.1-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -29,17 +28,18 @@ msgid ""
"other people as `Tor <https://www.torproject.org/>`_ `onion services "
"<https://community.torproject.org/onion-services/>`_."
msgstr ""
"Web sunucuları bilgisayarınızda yerel olarak başlatılır ve `Tor <https://www."
"torproject.org/>`_ `onion hizmetleri <https://community.torproject.org/"
"onion-services/>`_ olarak diğer kişilerin erişimine açılır."
"Web sunucuları bilgisayarınızda yerel olarak başlatılır ve `Tor "
"<https://www.torproject.org/>`_ `onion hizmetleri "
"<https://community.torproject.org/onion-services/>`_ olarak diğer "
"kişilerin erişimine açılır."
#: ../../source/features.rst:8
msgid ""
"By default, OnionShare web addresses are protected with a random "
"password. A typical OnionShare address might look something like this::"
msgstr ""
"Öntanımlı olarak, OnionShare web adresleri rastgele bir parola ile korunur. "
"Tipik bir OnionShare adresi aşağıdaki gibi görünebilir::"
"Öntanımlı olarak, OnionShare web adresleri rastgele bir parola ile "
"korunur. Tipik bir OnionShare adresi aşağıdaki gibi görünebilir::"
#: ../../source/features.rst:12
msgid ""
@ -48,10 +48,10 @@ msgid ""
"something less secure like unencrypted e-mail, depending on your `threat "
"model <https://ssd.eff.org/module/your-security-plan>`_."
msgstr ""
"`Tehdit modelinize <https://ssd.eff.org/module/your-security-plan>`_ bağlı "
"olarak, bu URL'yi şifrelenmiş bir sohbet mesajı gibi seçtiğiniz bir iletişim "
"kanalını veya şifrelenmemiş e-posta gibi daha az güvenli bir şeyi kullanarak "
"güvenli bir şekilde paylaşmaktan sorumlusunuz."
"`Tehdit modelinize <https://ssd.eff.org/module/your-security-plan>`_ "
"bağlı olarak, bu URL'yi şifrelenmiş bir sohbet mesajı gibi seçtiğiniz bir"
" iletişim kanalını veya şifrelenmemiş e-posta gibi daha az güvenli bir "
"şeyi kullanarak güvenli bir şekilde paylaşmaktan sorumlusunuz."
#: ../../source/features.rst:14
msgid ""
@ -69,10 +69,10 @@ msgid ""
"works best when working with people in real-time."
msgstr ""
"Birine dosya göndermek için dizüstü bilgisayarınızda OnionShare "
"çalıştırırsanız ve dosyalar gönderilmeden önce onu askıya alırsanız, dizüstü "
"bilgisayarınız devam ettirilip tekrar internete bağlanana kadar hizmet "
"kullanılamayacaktır. OnionShare, insanlarla gerçek zamanlı olarak çalışırken "
"en iyi şekilde çalışır."
"çalıştırırsanız ve dosyalar gönderilmeden önce onu askıya alırsanız, "
"dizüstü bilgisayarınız devam ettirilip tekrar internete bağlanana kadar "
"hizmet kullanılamayacaktır. OnionShare, insanlarla gerçek zamanlı olarak "
"çalışırken en iyi şekilde çalışır."
#: ../../source/features.rst:18
msgid ""
@ -82,8 +82,8 @@ msgid ""
"Tor onion services too, it also protects your anonymity. See the "
":doc:`security design </security>` for more info."
msgstr ""
"Kendi bilgisayarınız web sunucusu olduğu için, *OnionShare'de gerçekleşen "
"şeylere hiçbir üçüncü taraf erişemez*, OnionShare geliştiricileri bile. "
"Kendi bilgisayarınız web sunucusu olduğu için, *OnionShare'de gerçekleşen"
" şeylere hiçbir üçüncü taraf erişemez*, OnionShare geliştiricileri bile. "
"Tamamen özeldir. Ve OnionShare, Tor onion hizmetlerine de dayandığından, "
"anonimliğinizi de korur. Daha fazla bilgi için :doc:`güvenlik tasarımına "
"</security>` bakın."
@ -100,16 +100,16 @@ msgid ""
msgstr ""
"OnionShare'i, dosyaları ve klasörleri insanlara güvenli ve anonim olarak "
"göndermek için kullanabilirsiniz. Bir paylaşma sekmesi açın, paylaşmak "
"istediğiniz dosya ve klasörleri sürükleyin ve \"Paylaşmaya başla\" düğmesine "
"tıklayın."
"istediğiniz dosya ve klasörleri sürükleyin ve \"Paylaşmaya başla\" "
"düğmesine tıklayın."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
msgstr ""
"Dosyaları ekledikten sonra bazı ayarlar göreceksiniz. Paylaşmaya başlamadan "
"önce istediğiniz ayarı seçtiğinizden emin olun."
"Dosyaları ekledikten sonra bazı ayarlar göreceksiniz. Paylaşmaya "
"başlamadan önce istediğiniz ayarı seçtiğinizden emin olun."
#: ../../source/features.rst:31
msgid ""
@ -120,10 +120,10 @@ msgid ""
"box."
msgstr ""
"Birisi dosyalarınızı indirmeyi bitirir bitirmez, OnionShare sunucuyu "
"otomatik olarak durduracak ve web sitesini internetten kaldıracaktır. Birden "
"çok kişinin bunları indirmesine izin vermek için, \"Dosyalar gönderildikten "
"sonra paylaşmayı durdur (dosyaların tek tek indirilmesine izin vermek için "
"işareti kaldırın)\" kutusunun işaretini kaldırın."
"otomatik olarak durduracak ve web sitesini internetten kaldıracaktır. "
"Birden çok kişinin bunları indirmesine izin vermek için, \"Dosyalar "
"gönderildikten sonra paylaşmayı durdur (dosyaların tek tek indirilmesine "
"izin vermek için işareti kaldırın)\" kutusunun işaretini kaldırın."
#: ../../source/features.rst:34
msgid ""
@ -131,8 +131,9 @@ msgid ""
"individual files you share rather than a single compressed version of all"
" the files."
msgstr ""
"Ayrıca, bu kutunun işaretini kaldırırsanız, kişiler tüm dosyaların tek bir "
"sıkıştırılmış çeşidi yerine paylaştığınız dosyaları tek tek indirebilirler."
"Ayrıca, bu kutunun işaretini kaldırırsanız, kişiler tüm dosyaların tek "
"bir sıkıştırılmış çeşidi yerine paylaştığınız dosyaları tek tek "
"indirebilirler."
#: ../../source/features.rst:36
msgid ""
@ -143,9 +144,9 @@ msgid ""
msgstr ""
"Paylaşmaya hazır olduğunuzda, \"Paylaşmaya başla\" düğmesine tıklayın. "
"İstediğiniz zaman \"Paylaşmayı durdur\" düğmesine tıklayarak veya "
"OnionShare'den çıkarak web sitesini anında kapatabilirsiniz. Ayrıca, sizden "
"dosya indiren kişilerin geçmişini ve ilerlemesini göstermek için sağ üst "
"köşedeki \"↑\" simgesine tıklayabilirsiniz."
"OnionShare'den çıkarak web sitesini anında kapatabilirsiniz. Ayrıca, "
"sizden dosya indiren kişilerin geçmişini ve ilerlemesini göstermek için "
"sağ üst köşedeki \"↑\" simgesine tıklayabilirsiniz."
#: ../../source/features.rst:40
msgid ""
@ -154,10 +155,10 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Artık bir OnionShare'e sahip olduğunuza göre, adresi kopyalayın ve dosyaları "
"almasını istediğiniz kişiye gönderin. Dosyaların güvende kalması gerekiyorsa "
"veya kişi başka bir şekilde tehlikeye maruz kalırsa, şifreli bir mesajlaşma "
"uygulaması kullanın."
"Artık bir OnionShare'e sahip olduğunuza göre, adresi kopyalayın ve "
"dosyaları almasını istediğiniz kişiye gönderin. Dosyaların güvende "
"kalması gerekiyorsa veya kişi başka bir şekilde tehlikeye maruz kalırsa, "
"şifreli bir mesajlaşma uygulaması kullanın."
#: ../../source/features.rst:42
msgid ""
@ -166,60 +167,79 @@ msgid ""
"downloaded directly from your computer by clicking the \"Download Files\""
" link in the corner."
msgstr ""
"Bu kişi daha sonra adresi Tor Browser'da açmalıdır. Web adresinde bulunan "
"rastgele parola ile oturum açtıktan sonra, köşedeki \"Dosyaları İndir\" "
"bağlantısına tıklayarak dosyalar doğrudan bilgisayarınızdan indirilebilir."
"Bu kişi daha sonra adresi Tor Browser'da açmalıdır. Web adresinde bulunan"
" rastgele parola ile oturum açtıktan sonra, köşedeki \"Dosyaları İndir\" "
"bağlantısına tıklayarak dosyalar doğrudan bilgisayarınızdan "
"indirilebilir."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Dosya Alın"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"OnionShare'i, kullanıcıların dosyaları anonim olarak doğrudan "
"bilgisayarınıza yüklemesine, bir anlamda onu anonim bir depolama alanına "
"dönüştürmesine izin vermek için kullanabilirsiniz. Bir \"Alma sekmesi\" "
"açın, dosyaları nereye kaydetmek istediğinizi ve diğer ayarları seçin ve "
"ardından \"Alma Modunu Başlat\" düğmesine tıklayın."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Bu, OnionShare hizmetini başlatır. Bu adresi Tor Browser'da açan herkes, "
"bilgisayarınıza dosya yükleyebilir."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
"Ayrıca, size dosya gönderen kişilerin geçmişini ve ilerlemesini göstermek "
"için sağ üst köşedeki \"↑\" simgesine tıklayabilirsiniz."
"Ayrıca, size dosya gönderen kişilerin geçmişini ve ilerlemesini göstermek"
" için sağ üst köşedeki \"↑\" simgesine tıklayabilirsiniz."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "Size dosya gönderen birisi için şu şekilde görünür."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"Bir kişi alma hizmetinize dosyalar yüklediğinde, öntanımlı olarak "
"bilgisayarınızdaki ev klasöründe ``OnionShare`` adlı bir klasöre kaydedilir "
"ve dosyaların yüklenme zamanına göre otomatik olarak ayrı alt klasörler "
"halinde düzenlenir."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -227,29 +247,29 @@ msgid ""
"quite as secure version of `SecureDrop <https://securedrop.org/>`_, the "
"whistleblower submission system."
msgstr ""
"Bir OnionShare alma hizmeti kurmak, gazeteciler ve anonim kaynaklardan gelen "
"belgeleri güvenli bir şekilde kabul etmesi gereken diğer kişiler için "
"kullanışlıdır. Bu şekilde kullanıldığında, OnionShare hafif, daha basit, "
"onun kadar güvenli olmayan bir muhbir teslimat sistemi `SecureDrop "
"<https://securedrop.org/>`_ çeşidi gibidir."
"Bir OnionShare alma hizmeti kurmak, gazeteciler ve anonim kaynaklardan "
"gelen belgeleri güvenli bir şekilde kabul etmesi gereken diğer kişiler "
"için kullanışlıdır. Bu şekilde kullanıldığında, OnionShare hafif, daha "
"basit, onun kadar güvenli olmayan bir muhbir teslimat sistemi `SecureDrop"
" <https://securedrop.org/>`_ çeşidi gibidir."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Sorumluluk size aittir"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
"OnionShare service. OnionShare does not add any safety mechanisms to "
"protect your system from malicious files."
msgstr ""
"Kötü niyetli e-posta eklerinde olduğu gibi, birisinin OnionShare hizmetinize "
"kötü amaçlı bir dosya yükleyerek bilgisayarınıza saldırmaya çalışması "
"mümkündür. OnionShare, sisteminizi kötü amaçlı dosyalardan korumak için "
"herhangi bir güvenlik mekanizması eklemez."
"Kötü niyetli e-posta eklerinde olduğu gibi, birisinin OnionShare "
"hizmetinize kötü amaçlı bir dosya yükleyerek bilgisayarınıza saldırmaya "
"çalışması mümkündür. OnionShare, sisteminizi kötü amaçlı dosyalardan "
"korumak için herhangi bir güvenlik mekanizması eklemez."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -258,18 +278,22 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"OnionShare aracılığıyla bir Office belgesi veya PDF dosyası alırsanız, bu "
"belgeleri `Dangerzone <https://dangerzone.rocks/>`_ kullanarakılmaları "
"güvenli PDF dosyalarına dönüştürebilirsiniz. Ayrıca, güvenilmeyen belgeleri "
"açarken onları tek kullanımlık `Tails <https://tails.boum.org/>`_ veya `"
"Qubes <https://qubes-os.org/>`_ sanal makinelerinde açarak kendinizi "
"koruyabilirsiniz."
"OnionShare aracılığıyla bir Office belgesi veya PDF dosyası alırsanız, bu"
" belgeleri `Dangerzone <https://dangerzone.rocks/>`_ kullanarak "
"ılmaları güvenli PDF dosyalarına dönüştürebilirsiniz. Ayrıca, "
"güvenilmeyen belgeleri açarken onları tek kullanımlık `Tails "
"<https://tails.boum.org/>`_ veya `Qubes <https://qubes-os.org/>`_ sanal "
"makinelerinde açarak kendinizi koruyabilirsiniz."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Alma hizmeti çalıştırma ipuçları"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
@ -278,35 +302,37 @@ msgid ""
msgstr ""
"OnionShare kullanarak kendi anonim depolama alanınızı barındırmak "
"istiyorsanız, bunu düzenli olarak kullandığınız bilgisayarda değil, her "
"zaman açık ve internete bağlı ayrı, özel bir bilgisayarda yapmanız tavsiye "
"edilir."
"zaman açık ve internete bağlı ayrı, özel bir bilgisayarda yapmanız "
"tavsiye edilir."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"OnionShare adresini web sitenize veya sosyal medya profillerinize koymayı "
"düşünüyorsanız, sekmeyi kaydedin (:ref:`save_tabs` bölümüne bakın) ve "
"OnionShare adresini web sitenize veya sosyal medya profillerinize koymayı"
" düşünüyorsanız, sekmeyi kaydedin (:ref:`save_tabs` bölümüne bakın) ve "
"herkese açık bir hizmet olarak çalıştırın (:ref:`turn_off_passwords` "
"bölümüne bakın)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Web Sitesi Barındırın"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
"\"Start sharing\" when you are ready."
msgstr ""
"OnionShare ile statik bir HTML web sitesi barındırmak için bir web sitesi "
"sekmesi açın, statik içeriği oluşturan dosya ve klasörleri oraya sürükleyin "
"ve hazır olduğunuzda \"Paylaşmaya başla\" düğmesine tıklayın."
"OnionShare ile statik bir HTML web sitesi barındırmak için bir web sitesi"
" sekmesi açın, statik içeriği oluşturan dosya ve klasörleri oraya "
"sürükleyin ve hazır olduğunuzda \"Paylaşmaya başla\" düğmesine tıklayın."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -315,14 +341,14 @@ msgid ""
"websites that execute code or use databases. So you can't for example use"
" WordPress.)"
msgstr ""
"Bir ``index.html`` dosyası eklerseniz, birisi web sitenizi yüklediğinde o "
"gösterilecektir. Web sitesini oluşturan diğer HTML, CSS, JavaScript "
"dosyalarını ve resimleri de eklemelisiniz. (OnionShare'in yalnızca *statik* "
"web sitelerini barındırmayı desteklediğini unutmayın. Kod çalıştıran veya "
"veri tabanları kullanan web sitelerini barındıramaz. Yani, örneğin WordPress "
"kullanamazsınız.)"
"Bir ``index.html`` dosyası eklerseniz, birisi web sitenizi yüklediğinde o"
" gösterilecektir. Web sitesini oluşturan diğer HTML, CSS, JavaScript "
"dosyalarını ve resimleri de eklemelisiniz. (OnionShare'in yalnızca "
"*statik* web sitelerini barındırmayı desteklediğini unutmayın. Kod "
"çalıştıran veya veri tabanları kullanan web sitelerini barındıramaz. "
"Yani, örneğin WordPress kullanamazsınız.)"
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
@ -331,11 +357,11 @@ msgstr ""
"Bir ``index.html`` dosyanız yoksa, onun yerine bir dizin listesi "
"gösterilecek ve onu yükleyen kişiler dosyalara göz atıp indirebilecektir."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "İçerik Güvenliği Politikası"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -345,10 +371,10 @@ msgid ""
msgstr ""
"OnionShare, öntanımlı olarak katı bir `İçerik Güvenliği Politikası "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_ başlığı "
"ayarlayarak web sitenizin güvenliğini sağlamaya yardımcı olur. Ancak bu, web "
"sayfasında üçüncü taraf içeriğinin yüklenmesini engeller."
"ayarlayarak web sitenizin güvenliğini sağlamaya yardımcı olur. Ancak bu, "
"web sayfasında üçüncü taraf içeriğinin yüklenmesini engeller."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
@ -356,15 +382,15 @@ msgid ""
"before starting the service."
msgstr ""
"CDN'lerden varlıklar veya JavaScript kütüphaneleri gibi üçüncü taraf web "
"sitelerinden içerik yüklemek istiyorsanız, hizmeti başlatmadan önce \"İçerik "
"Güvenliği Politikası başlığı gönderme (web sitenizin üçüncü taraf "
"kaynaklarını kullanmasına izin verir)\" kutusunu işaretleyin."
"sitelerinden içerik yüklemek istiyorsanız, hizmeti başlatmadan önce "
"\"İçerik Güvenliği Politikası başlığı gönderme (web sitenizin üçüncü "
"taraf kaynaklarını kullanmasına izin verir)\" kutusunu işaretleyin."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Web sitesi hizmeti çalıştırma ipuçları"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -373,14 +399,14 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"OnionShare kullanarak (birine hızlı bir şekilde bir şey göstermek yerine) "
"uzun vadeli bir web sitesi barındırmak istiyorsanız, bunu düzenli olarak "
"kullandığınız bilgisayarda değil, her zaman açık ve internete bağlı ayrı, "
"özel bir bilgisayarda yapmanız tavsiye edilir. OnionShare'i kapatıp ve daha "
"sonra yeniden açmanız halinde web sitesini aynı adresle devam ettirebilmek "
"için sekmeyi kaydedin (:ref:`save_tabs` bölümüne bakın)."
"OnionShare kullanarak (birine hızlı bir şekilde bir şey göstermek yerine)"
" uzun vadeli bir web sitesi barındırmak istiyorsanız, bunu düzenli olarak"
" kullandığınız bilgisayarda değil, her zaman açık ve internete bağlı "
"ayrı, özel bir bilgisayarda yapmanız tavsiye edilir. OnionShare'i kapatıp"
" ve daha sonra yeniden açmanız halinde web sitesini aynı adresle devam "
"ettirebilmek için sekmeyi kaydedin (:ref:`save_tabs` bölümüne bakın)."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
@ -388,32 +414,32 @@ msgstr ""
"Web siteniz herkesin kullanımına yönelikse, onu herkese açık bir hizmet "
"olarak çalıştırmalısınız (:ref:`turn_off_passwords` bölümüne bakın)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Anonim Olarak Sohbet Edin"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
"Hiçbir şey kaydetmeyen özel, güvenli bir sohbet odası kurmak için OnionShare "
"kullanabilirsiniz. Bir sohbet sekmesi açın ve \"Sohbet sunucusu başlat\" "
"düğmesine tıklayın."
"Hiçbir şey kaydetmeyen özel, güvenli bir sohbet odası kurmak için "
"OnionShare kullanabilirsiniz. Bir sohbet sekmesi açın ve \"Sohbet "
"sunucusu başlat\" düğmesine tıklayın."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
"Sunucuyu başlattıktan sonra, OnionShare adresini kopyalayın ve anonim sohbet "
"odasında olmasını istediğiniz kişilere gönderin. Tam olarak kimlerin "
"katılabileceğini sınırlamak önemliyse, OnionShare adresini göndermek için "
"şifreli bir mesajlaşma uygulaması kullanın."
"Sunucuyu başlattıktan sonra, OnionShare adresini kopyalayın ve anonim "
"sohbet odasında olmasını istediğiniz kişilere gönderin. Tam olarak "
"kimlerin katılabileceğini sınırlamak önemliyse, OnionShare adresini "
"göndermek için şifreli bir mesajlaşma uygulaması kullanın."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
@ -422,10 +448,10 @@ msgid ""
msgstr ""
"İnsanlar OnionShare adresini Tor Browser'da açarak sohbet odasına "
"katılabilirler. Sohbet odası JavasScript gerektirir, bu nedenle katılmak "
"isteyenler Tor Browser güvenlik düzeyini \"En Güvenli\" yerine \"Standart\" "
"veya \"Daha Güvenli\" olarak ayarlamalıdır."
"isteyenler Tor Browser güvenlik düzeyini \"En Güvenli\" yerine "
"\"Standart\" veya \"Daha Güvenli\" olarak ayarlamalıdır."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
@ -433,36 +459,36 @@ msgid ""
"get displayed at all, even if others were already chatting in the room."
msgstr ""
"Birisi sohbet odasına katıldığında rastgele bir ad alır. Sol paneldeki "
"kutuya yeni bir ad yazıp ↵ tuşuna basarak adlarını değiştirebilirler. Sohbet "
"geçmişi herhangi bir yere kaydedilmediğinden, başkaları odada sohbet ediyor "
"olsa bile bu hiç görüntülenmez."
"kutuya yeni bir ad yazıp ↵ tuşuna basarak adlarını değiştirebilirler. "
"Sohbet geçmişi herhangi bir yere kaydedilmediğinden, başkaları odada "
"sohbet ediyor olsa bile bu hiç görüntülenmez."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
msgstr ""
"Bir OnionShare sohbet odasında herkes anonimdir. Herkes adını herhangi bir "
"şeyle değiştirebilir ve herhangi birinin kimliğini doğrulamanın bir yolu "
"yoktur."
"Bir OnionShare sohbet odasında herkes anonimdir. Herkes adını herhangi "
"bir şeyle değiştirebilir ve herhangi birinin kimliğini doğrulamanın bir "
"yolu yoktur."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
"messages, you can be reasonably confident the people joining the chat "
"room are your friends."
msgstr ""
"Ancak, bir OnionShare sohbet odası oluşturur ve adresi şifrelenmiş mesajlar "
"kullanarak güvenli bir şekilde yalnızca küçük bir güvenilir arkadaş grubuna "
"gönderirseniz, sohbet odasına katılan kişilerin arkadaşlarınız olduğundan "
"hemen hemen emin olabilirsiniz."
"Ancak, bir OnionShare sohbet odası oluşturur ve adresi şifrelenmiş "
"mesajlar kullanarak güvenli bir şekilde yalnızca küçük bir güvenilir "
"arkadaş grubuna gönderirseniz, sohbet odasına katılan kişilerin "
"arkadaşlarınız olduğundan hemen hemen emin olabilirsiniz."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "Bunun ne faydası var?"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
@ -470,7 +496,7 @@ msgstr ""
"Zaten şifrelenmiş bir mesajlaşma uygulaması kullanmanız gerekiyorsa, "
"OnionShare sohbet odasından başlamanın ne anlamı var? Daha az iz bırakır."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -481,15 +507,15 @@ msgid ""
"rooms don't store any messages anywhere, so the problem is reduced to a "
"minimum."
msgstr ""
"Örneğin bir Signal grubuna bir mesaj gönderirseniz, mesajınızın bir kopyası "
"grubun her üyesinin her aygıtında (aygıtlar ve Signal Masaüstünü kurdularsa "
"bilgisayarlar) bulunur. Kaybolan mesajlar açık olsa bile, mesajların tüm "
"kopyalarının tüm aygıtlardan ve kaydedilmiş olabilecekleri diğer yerlerden ("
"bildirim veri tabanları gibi) gerçekten silindiğini doğrulamak zordur. "
"OnionShare sohbet odaları mesajları hiçbir yerde depolamadığından sorun en "
"aza indirilir."
"Örneğin bir Signal grubuna bir mesaj gönderirseniz, mesajınızın bir "
"kopyası grubun her üyesinin her aygıtında (aygıtlar ve Signal Masaüstünü "
"kurdularsa bilgisayarlar) bulunur. Kaybolan mesajlar açık olsa bile, "
"mesajların tüm kopyalarının tüm aygıtlardan ve kaydedilmiş olabilecekleri"
" diğer yerlerden (bildirim veri tabanları gibi) gerçekten silindiğini "
"doğrulamak zordur. OnionShare sohbet odaları mesajları hiçbir yerde "
"depolamadığından sorun en aza indirilir."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -499,17 +525,17 @@ msgid ""
"anonymity."
msgstr ""
"OnionShare sohbet odaları, herhangi bir hesap oluşturmaya gerek kalmadan "
"biriyle anonim ve güvenli bir şekilde sohbet etmek isteyen kişiler için de "
"kullanışlı olabilir. Örneğin, bir kaynak tek kullanımlık bir e-posta "
"biriyle anonim ve güvenli bir şekilde sohbet etmek isteyen kişiler için "
"de kullanışlı olabilir. Örneğin, bir kaynak tek kullanımlık bir e-posta "
"adresini kullanarak bir gazeteciye OnionShare adresini gönderebilir ve "
"ardından anonimliklerinden ödün vermeden gazetecinin sohbet odasına "
"katılmasını bekleyebilir."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "Şifreleme nasıl çalışır?"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -518,14 +544,14 @@ msgid ""
"other members of the chat room using WebSockets, through their E2EE onion"
" connections."
msgstr ""
"OnionShare, Tor onion hizmetlerine dayandığından, Tor Browser ve OnionShare "
"arasındaki bağlantıların tümü uçtan uca şifrelenmiştir (E2EE). Birisi bir "
"OnionShare sohbet odasına bir mesaj gönderdiğinde, bunu E2EE onion "
"bağlantısı üzerinden sunucuya gönderir ve ardından sunucu bunu WebSockets "
"kullanarak E2EE onion bağlantıları aracılığıyla sohbet odasının diğer tüm "
"üyelerine gönderir."
"OnionShare, Tor onion hizmetlerine dayandığından, Tor Browser ve "
"OnionShare arasındaki bağlantıların tümü uçtan uca şifrelenmiştir (E2EE)."
" Birisi bir OnionShare sohbet odasına bir mesaj gönderdiğinde, bunu E2EE "
"onion bağlantısı üzerinden sunucuya gönderir ve ardından sunucu bunu "
"WebSockets kullanarak E2EE onion bağlantıları aracılığıyla sohbet "
"odasının diğer tüm üyelerine gönderir."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -920,3 +946,52 @@ msgstr ""
#~ "WebSockets, through their E2EE onion "
#~ "connections."
#~ msgstr ""
#~ msgid "Receive Files"
#~ msgstr "Dosya Alın"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "OnionShare'i, kullanıcıların dosyaları anonim "
#~ "olarak doğrudan bilgisayarınıza yüklemesine, "
#~ "bir anlamda onu anonim bir depolama "
#~ "alanına dönüştürmesine izin vermek için "
#~ "kullanabilirsiniz. Bir \"Alma sekmesi\" açın,"
#~ " dosyaları nereye kaydetmek istediğinizi ve"
#~ " diğer ayarları seçin ve ardından "
#~ "\"Alma Modunu Başlat\" düğmesine tıklayın."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Bu, OnionShare hizmetini başlatır. Bu "
#~ "adresi Tor Browser'da açan herkes, "
#~ "bilgisayarınıza dosya yükleyebilir."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "Bir kişi alma hizmetinize dosyalar "
#~ "yüklediğinde, öntanımlı olarak bilgisayarınızdaki"
#~ " ev klasöründe ``OnionShare`` adlı bir "
#~ "klasöre kaydedilir ve dosyaların yüklenme "
#~ "zamanına göre otomatik olarak ayrı alt"
#~ " klasörler halinde düzenlenir."

View File

@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
"Language-Team: none\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/advanced.rst:2
@ -36,11 +35,11 @@ msgid ""
"useful if you want to host a website available from the same OnionShare "
"address even if you reboot your computer."
msgstr ""
"Усе в OnionShare типово є тимчасовим. Якщо закрити вкладку OnionShare, її "
"адреса більше не існуватиме й її більше не можна використовувати. Іноді вам "
"може знадобитися, щоб служба OnionShare була постійною. Це корисно, якщо ви "
"хочете розмістити вебсайт, доступний з тієї ж адреси OnionShare, навіть якщо "
"ви перезапустите свій комп’ютер."
"Усе в OnionShare типово є тимчасовим. Якщо закрити вкладку OnionShare, її"
" адреса більше не існуватиме й її більше не можна використовувати. Іноді "
"вам може знадобитися, щоб служба OnionShare була постійною. Це корисно, "
"якщо ви хочете розмістити вебсайт, доступний з тієї ж адреси OnionShare, "
"навіть якщо ви перезапустите свій комп’ютер."
#: ../../source/advanced.rst:13
msgid ""
@ -61,8 +60,8 @@ msgid ""
msgstr ""
"Коли ви вийдете з OnionShare, а потім знову відкриєте його, збережені "
"вкладки почнуть відкриватися. Вам доведеться власноруч запускати кожну "
"службу, але коли ви це зробите, вони запустяться з тієї ж адреси OnionShare "
"і з тим же паролем."
"службу, але коли ви це зробите, вони запустяться з тієї ж адреси "
"OnionShare і з тим же паролем."
#: ../../source/advanced.rst:21
msgid ""
@ -83,10 +82,10 @@ msgid ""
"wrong guesses at the password, your onion service is automatically "
"stopped to prevent a brute force attack against the OnionShare service."
msgstr ""
"Типово всі служби OnionShare захищені іменем користувача ``onionshare`` і "
"випадково створеним паролем. Якщо хтось вводить пароль неправильно 20 разів, "
"ваша служба onion автоматично зупинениться, щоб запобігти грубій спробі "
"зламу служби OnionShare."
"Типово всі служби OnionShare захищені іменем користувача ``onionshare`` і"
" випадково створеним паролем. Якщо хтось вводить пароль неправильно 20 "
"разів, ваша служба onion автоматично зупинениться, щоб запобігти грубій "
"спробі зламу служби OnionShare."
#: ../../source/advanced.rst:31
msgid ""
@ -98,11 +97,11 @@ msgid ""
"password, even if they know the correct password."
msgstr ""
"Іноді вам може знадобитися, щоб ваша служба OnionShare була "
"загальнодоступною, наприклад, якщо ви хочете налаштувати службу отримання "
"OnionShare, щоб інші могли безпечно та анонімно надсилати вам файли. У цьому "
"випадку краще взагалі вимкнути пароль. Якщо ви цього не зробите, хтось може "
"змусити ваш сервер зупинитися, просто зробивши 20 неправильних спроб "
"введення паролю, навіть якщо вони знають правильний пароль."
"загальнодоступною, наприклад, якщо ви хочете налаштувати службу отримання"
" OnionShare, щоб інші могли безпечно та анонімно надсилати вам файли. У "
"цьому випадку краще взагалі вимкнути пароль. Якщо ви цього не зробите, "
"хтось може змусити ваш сервер зупинитися, просто зробивши 20 неправильних"
" спроб введення паролю, навіть якщо вони знають правильний пароль."
#: ../../source/advanced.rst:35
msgid ""
@ -114,11 +113,28 @@ msgstr ""
"використовувати пароль» перед запуском сервера. Тоді сервер буде "
"загальнодоступним і не матиме пароля."
#: ../../source/advanced.rst:38
#: ../../source/advanced.rst:40
msgid "Custom Titles"
msgstr ""
#: ../../source/advanced.rst:42
msgid ""
"By default, when people load an OnionShare service in Tor Browser they "
"see the default title for the type of service. For example, the default "
"title of a chat service is \"OnionShare Chat\"."
msgstr ""
#: ../../source/advanced.rst:44
msgid ""
"If you want to choose a custom title, set the \"Custom title\" setting "
"before starting a server."
msgstr ""
#: ../../source/advanced.rst:47
msgid "Scheduled Times"
msgstr "Запланований час"
#: ../../source/advanced.rst:40
#: ../../source/advanced.rst:49
msgid ""
"OnionShare supports scheduling exactly when a service should start and "
"stop. Before starting a server, click \"Show advanced settings\" in its "
@ -128,23 +144,24 @@ msgid ""
msgstr ""
"OnionShare підтримує планування, коли саме служба повинна запускатися та "
"зупинятися. Перш ніж запускати сервер, натисніть «Показати розширені "
"налаштування» на його вкладці, а потім позначте «Запускати службу onion у "
"запланований час», «Зупинити службу onion у запланований час» або обидва і "
"встановіть бажані дати та час."
"налаштування» на його вкладці, а потім позначте «Запускати службу onion у"
" запланований час», «Зупинити службу onion у запланований час» або обидва"
" і встановіть бажані дати та час."
#: ../../source/advanced.rst:43
#: ../../source/advanced.rst:52
msgid ""
"If you scheduled a service to start in the future, when you click the "
"\"Start sharing\" button you will see a timer counting down until it "
"starts. If you scheduled it to stop in the future, after it's started you"
" will see a timer counting down to when it will stop automatically."
msgstr ""
"Якщо ви запланували запуск послуги в майбутньому, після натискання кнопки «"
"Почати надсилання» ви побачите таймер зі зворотним відліком до початку "
"запуску. Якщо ви запланували його зупинку в майбутньому, після його запуску "
"ви побачите таймер з відліком часу, коли його буде автоматично зупинено."
"Якщо ви запланували запуск послуги в майбутньому, після натискання кнопки"
" «Почати надсилання» ви побачите таймер зі зворотним відліком до початку "
"запуску. Якщо ви запланували його зупинку в майбутньому, після його "
"запуску ви побачите таймер з відліком часу, коли його буде автоматично "
"зупинено."
#: ../../source/advanced.rst:46
#: ../../source/advanced.rst:55
msgid ""
"**Scheduling an OnionShare service to automatically start can be used as "
"a dead man's switch**, where your service will be made public at a given "
@ -156,29 +173,29 @@ msgstr ""
"певний час у майбутньому, якщо з вами щось станеться. Якщо з вами нічого "
"не відбувається, ви можете вимкнути службу до запланованого запуску."
#: ../../source/advanced.rst:51
#: ../../source/advanced.rst:60
msgid ""
"**Scheduling an OnionShare service to automatically stop can be useful to"
" limit exposure**, like if you want to share secret documents while "
"making sure they're not available on the Internet for more than a few "
"days."
msgstr ""
"**Планування автоматичної зупинки служби OnionShare може бути корисним для "
"обмеження надсилання**, наприклад, якщо ви хочете поділитися таємними "
"документами й буди певними, що вони не доступні в Інтернеті впродовж більше "
"кількох днів."
"**Планування автоматичної зупинки служби OnionShare може бути корисним "
"для обмеження надсилання**, наприклад, якщо ви хочете поділитися таємними"
" документами й буди певними, що вони не доступні в Інтернеті впродовж "
"більше кількох днів."
#: ../../source/advanced.rst:56
#: ../../source/advanced.rst:65
msgid "Command-line Interface"
msgstr "Інтерфейс командного рядка"
#: ../../source/advanced.rst:58
#: ../../source/advanced.rst:67
msgid ""
"In addition to its graphical interface, OnionShare has a command-line "
"interface."
msgstr "Окрім графічного інтерфейсу, OnionShare має інтерфейс командного рядка."
#: ../../source/advanced.rst:60
#: ../../source/advanced.rst:69
msgid ""
"You can install just the command-line version of OnionShare using "
"``pip3``::"
@ -186,7 +203,7 @@ msgstr ""
"Ви можете встановити версію для командного рядка OnionShare лише "
"використовуючи ``pip3``::"
#: ../../source/advanced.rst:64
#: ../../source/advanced.rst:73
msgid ""
"Note that you will also need the ``tor`` package installed. In macOS, "
"install it with: ``brew install tor``"
@ -194,37 +211,37 @@ msgstr ""
"Зауважте, що вам також знадобиться встановлений пакунок ``tor``. У macOS "
"встановіть його за допомогою: ``brew install tor``"
#: ../../source/advanced.rst:66
#: ../../source/advanced.rst:75
msgid "Then run it like this::"
msgstr "Потім запустіть його так::"
#: ../../source/advanced.rst:70
#: ../../source/advanced.rst:79
msgid ""
"If you installed OnionShare using the Linux Snapcraft package, you can "
"also just run ``onionshare.cli`` to access the command-line interface "
"version."
msgstr ""
"Якщо ви встановили OnionShare за допомогою пакунка Linux Snapcraft, ви "
"можете просто запустити ``onionshare.cli`` для доступу до версії інтерфейсу "
"командного рядка."
"можете просто запустити ``onionshare.cli`` для доступу до версії "
"інтерфейсу командного рядка."
#: ../../source/advanced.rst:73
#: ../../source/advanced.rst:82
msgid "Usage"
msgstr "Користування"
#: ../../source/advanced.rst:75
#: ../../source/advanced.rst:84
msgid ""
"You can browse the command-line documentation by running ``onionshare "
"--help``::"
msgstr ""
"Ви можете переглянути документацію командного рядка, запустивши ``onionshare "
"--help``::"
"Ви можете переглянути документацію командного рядка, запустивши "
"``onionshare --help``::"
#: ../../source/advanced.rst:132
#: ../../source/advanced.rst:147
msgid "Legacy Addresses"
msgstr "Застарілі адреси"
#: ../../source/advanced.rst:134
#: ../../source/advanced.rst:149
msgid ""
"OnionShare uses v3 Tor onion services by default. These are modern onion "
"addresses that have 56 characters, for example::"
@ -232,15 +249,15 @@ msgstr ""
"Типово, OnionShare використовує служби onion Tor v3. Це сучасні адреси "
"onion, що мають 56 символів, наприклад::"
#: ../../source/advanced.rst:139
#: ../../source/advanced.rst:154
msgid ""
"OnionShare still has support for v2 onion addresses, the old type of "
"onion addresses that have 16 characters, for example::"
msgstr ""
"OnionShare досі підтримує адреси onion v2, старий тип адрес onion, які мають "
"16 символів, наприклад::"
"OnionShare досі підтримує адреси onion v2, старий тип адрес onion, які "
"мають 16 символів, наприклад::"
#: ../../source/advanced.rst:143
#: ../../source/advanced.rst:158
msgid ""
"OnionShare calls v2 onion addresses \"legacy addresses\", and they are "
"not recommended, as v3 onion addresses are more secure."
@ -248,7 +265,7 @@ msgstr ""
"OnionShare називає адреси onion v2 «застарілими адресами» і вони не "
"рекомендовані, оскільки адреси onion v3 безпечніші."
#: ../../source/advanced.rst:145
#: ../../source/advanced.rst:160
msgid ""
"To use legacy addresses, before starting a server click \"Show advanced "
"settings\" from its tab and check the \"Use a legacy address (v2 onion "
@ -261,20 +278,21 @@ msgstr ""
"розширені налаштування» на його вкладці та позначте «Користуватися "
"застарілою адресою (служба onion v2, не рекомендовано)». У застарілому "
"режимі ви можете додатково ввімкнути автентифікацію клієнта Tor. Після "
"запуску сервера у застарілому режимі ви не зможете вилучити застарілий режим "
"у цій вкладці. Натомість ви повинні запустити окрему службу в окремій "
"вкладці."
"запуску сервера у застарілому режимі ви не зможете вилучити застарілий "
"режим у цій вкладці. Натомість ви повинні запустити окрему службу в "
"окремій вкладці."
#: ../../source/advanced.rst:150
#: ../../source/advanced.rst:165
msgid ""
"Tor Project plans to `completely deprecate v2 onion services "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ on October 15, "
"2021, and legacy onion services will be removed from OnionShare before "
"then."
msgstr ""
"Проєкт Tor планує `повністю припинити роботу службами onion v2 <https://blog."
"torproject.org/v2-deprecation-timeline>`_ 15 жовтня 2021 р. і застарілі "
"служби onion також буде вилучено з OnionShare незадовго до цього часу."
"Проєкт Tor планує `повністю припинити роботу службами onion v2 "
"<https://blog.torproject.org/v2-deprecation-timeline>`_ 15 жовтня 2021 р."
" і застарілі служби onion також буде вилучено з OnionShare незадовго до "
"цього часу."
#~ msgid ""
#~ "By default, everything in OnionShare is"
@ -389,3 +407,4 @@ msgstr ""
#~ " розробки Windows (подробиці "
#~ ":ref:`starting_development`), а потім запустити "
#~ "його в командному рядку::"

View File

@ -7,17 +7,16 @@ msgid ""
msgstr ""
"Project-Id-Version: OnionShare 2.3\n"
"Report-Msgid-Bugs-To: onionshare-dev@lists.riseup.net\n"
"POT-Creation-Date: 2020-11-15 14:42-0800\n"
"POT-Creation-Date: 2021-05-03 21:48-0700\n"
"PO-Revision-Date: 2020-11-17 10:28+0000\n"
"Last-Translator: Ihor Hordiichuk <igor_ck@outlook.com>\n"
"Language-Team: none\n"
"Language: uk\n"
"Language-Team: none\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"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"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 4.4-dev\n"
"Generated-By: Babel 2.9.0\n"
#: ../../source/features.rst:4
@ -30,9 +29,9 @@ msgid ""
"other people as `Tor <https://www.torproject.org/>`_ `onion services "
"<https://community.torproject.org/onion-services/>`_."
msgstr ""
"Вебсервери локально запускаються на вашому комп’ютері та стають доступними "
"для інших людей як `Tor <https://www.torproject.org/>`_ `onion служби "
"<https://community.torproject.org/onion-services/>`_."
"Вебсервери локально запускаються на вашому комп’ютері та стають "
оступними для інших людей як `Tor <https://www.torproject.org/>`_ `onion"
" служби <https://community.torproject.org/onion-services/>`_."
#: ../../source/features.rst:8
msgid ""
@ -50,19 +49,19 @@ msgid ""
"model <https://ssd.eff.org/module/your-security-plan>`_."
msgstr ""
"Ви відповідальні за безпечний доступ до цієї URL-адреси за допомогою "
"вибраного вами каналу зв'язку, як-от у зашифрованому повідомленні чату, або "
"за використання менш захищеного повідомлення, як от незашифрований "
"електронний лист, залежно від вашої `моделі загрози <https://ssd.eff.org/en/"
"module/your-security-plan>`_."
"вибраного вами каналу зв'язку, як-от у зашифрованому повідомленні чату, "
"або за використання менш захищеного повідомлення, як от незашифрований "
"електронний лист, залежно від вашої `моделі загрози "
"<https://ssd.eff.org/en/module/your-security-plan>`_."
#: ../../source/features.rst:14
msgid ""
"The people you send the URL to then copy and paste it into their `Tor "
"Browser <https://www.torproject.org/>`_ to access the OnionShare service."
msgstr ""
"Люди, яким ви надсилаєте URL-адресу, повинні копіювати та вставити її до `"
"Tor Browser <https://www.torproject.org/>`_, щоб отримати доступ до служби "
"OnionShare."
"Люди, яким ви надсилаєте URL-адресу, повинні копіювати та вставити її до "
"`Tor Browser <https://www.torproject.org/>`_, щоб отримати доступ до "
"служби OnionShare."
#: ../../source/features.rst:16
msgid ""
@ -72,9 +71,10 @@ msgid ""
"works best when working with people in real-time."
msgstr ""
"Якщо ви запустили OnionShare на ноутбуці, щоб надіслати комусь файли, а "
"потім зупинити його роботу перед надсиланням файлів, служба буде недоступна, "
"доки роботу ноутбука не буде поновлено і знову з'явиться в Інтернеті. "
"OnionShare найкраще працює під час роботи з людьми в режимі реального часу."
"потім зупинити його роботу перед надсиланням файлів, служба буде "
"недоступна, доки роботу ноутбука не буде поновлено і знову з'явиться в "
"Інтернеті. OnionShare найкраще працює під час роботи з людьми в режимі "
"реального часу."
#: ../../source/features.rst:18
msgid ""
@ -86,9 +86,9 @@ msgid ""
msgstr ""
"Оскільки ваш власний комп'ютер є вебсервером, *ніхто сторонній не може "
"отримати доступ до будь-чого, що відбувається в OnionShare*, навіть "
"розробники OnionShare. Це цілком приватно. Оскільки OnionShare теж базується "
"на onion службах Tor, вашу анонімність також захищено. Докладніше про це у "
"статті :doc:`про побудову безпеки </security>`."
"розробники OnionShare. Це цілком приватно. Оскільки OnionShare теж "
"базується на onion службах Tor, вашу анонімність також захищено. "
"Докладніше про це у статті :doc:`про побудову безпеки </security>`."
#: ../../source/features.rst:21
msgid "Share Files"
@ -101,10 +101,11 @@ msgid ""
"share, and click \"Start sharing\"."
msgstr ""
"Ви можете використовувати OnionShare, щоб безпечно та анонімно надсилати "
"файли та теки людям. Просто відкрийте вкладку спільного доступу, перетягніть "
"файли та теки, якими хочете поділитися і натисніть \"Почати надсилання\"."
"файли та теки людям. Просто відкрийте вкладку спільного доступу, "
"перетягніть файли та теки, якими хочете поділитися і натисніть \"Почати "
"надсилання\"."
#: ../../source/features.rst:27 ../../source/features.rst:93
#: ../../source/features.rst:27 ../../source/features.rst:104
msgid ""
"After you add files, you'll see some settings. Make sure you choose the "
"setting you're interested in before you start sharing."
@ -120,10 +121,10 @@ msgid ""
" files have been sent (uncheck to allow downloading individual files)\" "
"box."
msgstr ""
"Як тільки хтось завершив завантажувати ваші файли, OnionShare автоматично "
"зупиняє сервер, вилучивши вебсайт з Інтернету. Якщо ви хочете дозволити "
"кільком людям завантажувати ці файли, приберіть позначку біля пункту «"
"Закрити доступ, коли файли надіслано (приберіть позначку, щоб дозволити "
"Як тільки хтось завершив завантажувати ваші файли, OnionShare автоматично"
" зупиняє сервер, вилучивши вебсайт з Інтернету. Якщо ви хочете дозволити "
"кільком людям завантажувати ці файли, приберіть позначку біля пункту "
"«Закрити доступ, коли файли надіслано (приберіть позначку, щоб дозволити "
"завантаження окремих файлів)»."
#: ../../source/features.rst:34
@ -132,8 +133,8 @@ msgid ""
"individual files you share rather than a single compressed version of all"
" the files."
msgstr ""
"Також, якщо прибрати цю позначку, користувачі зможуть завантажувати окремі "
"файли, які ви надсилаєте, а не одну стиснуту версію всіх файлів."
"Також, якщо прибрати цю позначку, користувачі зможуть завантажувати "
"окремі файли, які ви надсилаєте, а не одну стиснуту версію всіх файлів."
#: ../../source/features.rst:36
msgid ""
@ -142,10 +143,11 @@ msgid ""
" website down. You can also click the \"↑\" icon in the top-right corner "
"to show the history and progress of people downloading files from you."
msgstr ""
"Коли ви будете готові поділитися, натисніть кнопку \"Почати надсилання\". Ви "
"завжди можете натиснути \"Зупинити надсилання\" або вийти з OnionShare, щоб "
"негайно вимкнути вебсайт. Ви також можете натиснути піктограму «↑» у "
"верхньому правому куті, щоб побачити журнал та поступ надсилання файлів."
"Коли ви будете готові поділитися, натисніть кнопку \"Почати надсилання\"."
" Ви завжди можете натиснути \"Зупинити надсилання\" або вийти з "
"OnionShare, щоб негайно вимкнути вебсайт. Ви також можете натиснути "
"піктограму «↑» у верхньому правому куті, щоб побачити журнал та поступ "
"надсилання файлів."
#: ../../source/features.rst:40
msgid ""
@ -154,8 +156,8 @@ msgid ""
"or the person is otherwise exposed to danger, use an encrypted messaging "
"app."
msgstr ""
"Тепер, коли у вас є OnionShare, копіюйте адресу та надішліть людині, якій ви "
"хочете надіслати файли. Якщо файли повинні бути захищеними або особа "
"Тепер, коли у вас є OnionShare, копіюйте адресу та надішліть людині, якій"
" ви хочете надіслати файли. Якщо файли повинні бути захищеними або особа "
"піддається небезпеці, скористайтеся застосунком зашифрованих повідомлень."
#: ../../source/features.rst:42
@ -167,59 +169,77 @@ msgid ""
msgstr ""
"Потім ця особа повинна завантажити адресу в Tor Browser. Після входу за "
"випадковим паролем, який міститься у вебадресі, вони зможуть завантажити "
"файли безпосередньо з вашого комп’ютера, натиснувши посилання «Завантажити "
"файли» в кутку."
"файли безпосередньо з вашого комп’ютера, натиснувши посилання "
"«Завантажити файли» в кутку."
#: ../../source/features.rst:47
msgid "Receive Files"
msgstr "Отримання файлів"
msgid "Receive Files and Messages"
msgstr ""
#: ../../source/features.rst:49
msgid ""
"You can use OnionShare to let people anonymously upload files directly to"
" your computer, essentially turning it into an anonymous dropbox. Open a "
"\"Receive tab\", choose where you want to save the files and other "
"settings, and then click \"Start Receive Mode\"."
"You can use OnionShare to let people anonymously submit files and "
"messages directly to your computer, essentially turning it into an "
"anonymous dropbox. Open a receive tab and choose the settings that you "
"want."
msgstr ""
"Ви можете користуватися OnionShare, щоб дозволити людям анонімно "
"завантажувати файли безпосередньо на ваш комп’ютер, по суті, перетворивши "
"його на анонімну скриньку. Відкрийте вкладку «Отримання», виберіть, куди "
"потрібно завантажувати файли, та інші параметри, а потім натисніть «"
"Запустити режим отримання»."
#: ../../source/features.rst:54
msgid ""
"This starts the OnionShare service. Anyone loading this address in their "
"Tor Browser will be able to upload files to your computer."
msgid "You can browse for a folder to save messages and files that get submitted."
msgstr ""
#: ../../source/features.rst:56
msgid ""
"You can check \"Disable submitting text\" if want to only allow file "
"uploads, and you can check \"Disable uploading files\" if you want to "
"only allow submitting text messages, like for an anonymous contact form."
msgstr ""
"Запуститься служба OnionShare. Будь-хто, хто завантажить цю адресу в Tor "
"Browser, зможе завантажувати файли на ваш комп’ютер."
#: ../../source/features.rst:58
msgid ""
"You can check \"Use notification webhook\" and then choose a webhook URL "
"if you want to be notified when someone submits files or messages to your"
" OnionShare service. If you use this feature, OnionShare will make an "
"HTTP POST request to this URL whenever someone submits files or messages."
" For example, if you want to get an encrypted text messaging on the "
"messaging app `Keybase <https://keybase.io/>`_, you can start a "
"conversation with `@webhookbot <https://keybase.io/webhookbot>`_, type "
"``!webhook create onionshare-alerts``, and it will respond with a URL. "
"Use that as the notification webhook URL. If someone uploads a file to "
"your receive mode service, @webhookbot will send you a message on Keybase"
" letting you know as soon as it happens."
msgstr ""
#: ../../source/features.rst:63
msgid ""
"When you are ready, click \"Start Receive Mode\". This starts the "
"OnionShare service. Anyone loading this address in their Tor Browser will"
" be able to submit files and messages which get uploaded to your "
"computer."
msgstr ""
#: ../../source/features.rst:67
msgid ""
"You can also click the down \"↓\" icon in the top-right corner to show "
"the history and progress of people sending files to you."
msgstr ""
"Також можна клацнути піктограму «↓» у верхньому правому куті, щоб побачити "
"журнал і перебіг надсилання файлів."
"Також можна клацнути піктограму «↓» у верхньому правому куті, щоб "
"побачити журнал і перебіг надсилання файлів."
#: ../../source/features.rst:60
msgid "Here is what it looks like for someone sending you files."
#: ../../source/features.rst:69
#, fuzzy
msgid "Here is what it looks like for someone sending you files and messages."
msgstr "Ось як це виглядає для когось, хто надсилає вам файли."
#: ../../source/features.rst:64
#: ../../source/features.rst:73
msgid ""
"When someone uploads files to your receive service, by default they get "
"saved to a folder called ``OnionShare`` in the home folder on your "
"computer, automatically organized into separate subfolders based on the "
"time that the files get uploaded."
"When someone submits files or messages to your receive service, by "
"default they get saved to a folder called ``OnionShare`` in the home "
"folder on your computer, automatically organized into separate subfolders"
" based on the time that the files get uploaded."
msgstr ""
"Коли хтось завантажує файли до вашої служби отримання, типово вони "
"зберігаються у теці з назвою ``OnionShare`` у вашій домашній теці вашого "
"комп'ютера та автоматично впорядковуються до окремих підтек за часом "
"завантаження файлів."
#: ../../source/features.rst:66
#: ../../source/features.rst:75
msgid ""
"Setting up an OnionShare receiving service is useful for journalists and "
"others needing to securely accept documents from anonymous sources. When "
@ -227,29 +247,29 @@ msgid ""
"quite as secure version of `SecureDrop <https://securedrop.org/>`_, the "
"whistleblower submission system."
msgstr ""
"Параметри служби отримання OnionShare корисні для журналістів та інших осіб, "
"яким потрібно безпечно отримувати документи від анонімних джерел. "
"Параметри служби отримання OnionShare корисні для журналістів та інших "
"осіб, яким потрібно безпечно отримувати документи від анонімних джерел. "
"Використовуючи таким чином, OnionShare як легку, простішу, не настільки "
"безпечну версію `SecureDrop <https://securedrop.org/>`_, системи подання "
"таємних повідомлень викривачів."
#: ../../source/features.rst:69
#: ../../source/features.rst:78
msgid "Use at your own risk"
msgstr "Використовуйте на власний ризик"
#: ../../source/features.rst:71
#: ../../source/features.rst:80
msgid ""
"Just like with malicious e-mail attachments, it's possible someone could "
"try to attack your computer by uploading a malicious file to your "
"OnionShare service. OnionShare does not add any safety mechanisms to "
"protect your system from malicious files."
msgstr ""
"Як і у випадку зі шкідливими вкладеннями електронної пошти, можливо, хтось "
"спробує зламати ваш комп’ютер, завантаживши шкідливий файл до вашої служби "
"OnionShare. OnionShare не додає жодних механізмів безпеки, щоб захистити "
"вашу систему від шкідливих файлів."
"Як і у випадку зі шкідливими вкладеннями електронної пошти, можливо, "
"хтось спробує зламати ваш комп’ютер, завантаживши шкідливий файл до вашої"
" служби OnionShare. OnionShare не додає жодних механізмів безпеки, щоб "
"захистити вашу систему від шкідливих файлів."
#: ../../source/features.rst:73
#: ../../source/features.rst:82
msgid ""
"If you receive an Office document or a PDF through OnionShare, you can "
"convert these documents into PDFs that are safe to open using `Dangerzone"
@ -258,18 +278,22 @@ msgid ""
"<https://tails.boum.org/>`_ or in a `Qubes <https://qubes-os.org/>`_ "
"disposableVM."
msgstr ""
"Якщо ви отримали документ Office або PDF-файл за допомогою OnionShare, ці "
"документи можна перетворити на PDF-файли, які можна безпечно відкрити за "
"допомогою `Dangerzone <https://dangerzone.rocks/>`_. Ви також можете "
"Якщо ви отримали документ Office або PDF-файл за допомогою OnionShare, ці"
" документи можна перетворити на PDF-файли, які можна безпечно відкрити за"
" допомогою `Dangerzone <https://dangerzone.rocks/>`_. Ви також можете "
"захистити себе під час відкриття недовірених документів, відкривши їх у "
"одноразових віртуальних машинах `Tails <https://tails.boum.org/>`_ або в `"
"Qubes <https://qubes-os.org/>`_."
"одноразових віртуальних машинах `Tails <https://tails.boum.org/>`_ або в "
"`Qubes <https://qubes-os.org/>`_."
#: ../../source/features.rst:76
#: ../../source/features.rst:84
msgid "However, it is always safe to open text messages sent through OnionShare."
msgstr ""
#: ../../source/features.rst:87
msgid "Tips for running a receive service"
msgstr "Поради щодо запуску служби отримання"
#: ../../source/features.rst:78
#: ../../source/features.rst:89
msgid ""
"If you want to host your own anonymous dropbox using OnionShare, it's "
"recommended you do so on a separate, dedicated computer always powered on"
@ -277,36 +301,38 @@ msgid ""
"basis."
msgstr ""
"Якщо ви хочете розмістити свою власну анонімну скриньку за допомогою "
"OnionShare, радимо робити це на окремому виділеному комп’ютері, який завжди "
"ввімкнено та під'єднано до Інтернету, а не на тому, яким ви користуєтеся "
"регулярно."
"OnionShare, радимо робити це на окремому виділеному комп’ютері, який "
"завжди ввімкнено та під'єднано до Інтернету, а не на тому, яким ви "
"користуєтеся регулярно."
#: ../../source/features.rst:80
#: ../../source/features.rst:91
#, fuzzy
msgid ""
"If you intend to put the OnionShare address on your website or social "
"media profiles, save the tab (see :ref:`save_tabs`) and run it as a "
"public service (see :ref:`turn_off_passwords`)."
"public service (see :ref:`turn_off_passwords`). It's also a good idea to "
"give it a custom title (see :ref:`custom_titles`)."
msgstr ""
"Якщо ви маєте намір рекламувати адресу OnionShare на своєму вебсайті або в "
"профілях соціальних мереж, вам слід зберегти вкладку (докладніше "
"Якщо ви маєте намір рекламувати адресу OnionShare на своєму вебсайті або "
"в профілях соціальних мереж, вам слід зберегти вкладку (докладніше "
":ref:`save_tabs`) і запустити її як загальнодоступну службу (докладніше "
":ref:`turn_off_passwords`)."
#: ../../source/features.rst:83
#: ../../source/features.rst:94
msgid "Host a Website"
msgstr "Розміщення вебсайту"
#: ../../source/features.rst:85
#: ../../source/features.rst:96
msgid ""
"To host a static HTML website with OnionShare, open a website tab, drag "
"the files and folders that make up the static content there, and click "
"\"Start sharing\" when you are ready."
msgstr ""
"Для розміщення статичного вебсайту HTML за допомогою OnionShare відкрийте "
"вкладку вебсайту, перетягніть файли та теки, що є статичним вмістом і "
"Для розміщення статичного вебсайту HTML за допомогою OnionShare відкрийте"
" вкладку вебсайту, перетягніть файли та теки, що є статичним вмістом і "
"натисніть кнопку «Почати надсилання», коли будете готові."
#: ../../source/features.rst:89
#: ../../source/features.rst:100
msgid ""
"If you add an ``index.html`` file, it will render when someone loads your"
" website. You should also include any other HTML files, CSS files, "
@ -315,14 +341,14 @@ msgid ""
"websites that execute code or use databases. So you can't for example use"
" WordPress.)"
msgstr ""
"Якщо ви додасте файл ``index.html``, коли хтось завантажить ваш вебсайт, він "
"покаже цю сторінку. Слід також включити будь-які інші файли HTML, файли CSS, "
"файли JavaScript та зображення, що складають вебсайт. (Зуважте, що "
"OnionShare підтримує розміщення лише *статичних* вебсайтів. Він не може "
"розміщувати вебсайти, які виконують код або використовують бази даних. Тож "
"ви не можете, наприклад, використовувати WordPress.)"
"Якщо ви додасте файл ``index.html``, коли хтось завантажить ваш вебсайт, "
"він покаже цю сторінку. Слід також включити будь-які інші файли HTML, "
"файли CSS, файли JavaScript та зображення, що складають вебсайт. "
"(Зуважте, що OnionShare підтримує розміщення лише *статичних* вебсайтів. "
"Він не може розміщувати вебсайти, які виконують код або використовують "
"бази даних. Тож ви не можете, наприклад, використовувати WordPress.)"
#: ../../source/features.rst:91
#: ../../source/features.rst:102
msgid ""
"If you don't have an ``index.html`` file, it will show a directory "
"listing instead, and people loading it can look through the files and "
@ -332,11 +358,11 @@ msgstr ""
"каталогів, а люди, які завантажують його, зможуть оглядати файли та "
"завантажувати їх."
#: ../../source/features.rst:98
#: ../../source/features.rst:109
msgid "Content Security Policy"
msgstr "Політика безпеки вмісту"
#: ../../source/features.rst:100
#: ../../source/features.rst:111
msgid ""
"By default OnionShare helps secure your website by setting a strict "
"`Content Security Police "
@ -345,27 +371,27 @@ msgid ""
"page."
msgstr ""
"Типово OnionShare допоможе захистити ваш вебсайт, встановивши надійний "
"заголовок `Content Security Police <https://en.wikipedia.org/wiki/"
"Content_Security_Policy>`_. Однак, це запобігає завантаженню сторонніх "
"матеріалів на вебсторінку."
"заголовок `Content Security Police "
"<https://en.wikipedia.org/wiki/Content_Security_Policy>`_. Однак, це "
"запобігає завантаженню сторонніх матеріалів на вебсторінку."
#: ../../source/features.rst:102
#: ../../source/features.rst:113
msgid ""
"If you want to load content from third-party websites, like assets or "
"JavaScript libraries from CDNs, check the \"Don't send Content Security "
"Policy header (allows your website to use third-party resources)\" box "
"before starting the service."
msgstr ""
"Якщо ви хочете завантажити вміст зі сторонніх вебсайтів, як-от активи або "
"бібліотеки JavaScript із CDN, то перед запуском служби потрібно встановити "
"позначку «Не надсилати заголовок політики безпеки вмісту (дозволяє вебсайту "
"застосовувати сторонні ресурси)»."
"Якщо ви хочете завантажити вміст зі сторонніх вебсайтів, як-от активи або"
" бібліотеки JavaScript із CDN, то перед запуском служби потрібно "
"встановити позначку «Не надсилати заголовок політики безпеки вмісту "
"(дозволяє вебсайту застосовувати сторонні ресурси)»."
#: ../../source/features.rst:105
#: ../../source/features.rst:116
msgid "Tips for running a website service"
msgstr "Поради щодо запуску служби розміщення вебсайту"
#: ../../source/features.rst:107
#: ../../source/features.rst:118
msgid ""
"If you want to host a long-term website using OnionShare (meaning not "
"something to quickly show someone something), it's recommended you do it "
@ -374,15 +400,15 @@ msgid ""
"(see :ref:`save_tabs`) so you can resume the website with the same "
"address if you close OnionShare and re-open it later."
msgstr ""
"Якщо ви хочете розмістити довгостроковий вебсайт за допомогою OnionShare (це "
"не просто для того, щоб швидко комусь щось показати), рекомендовано робити "
"це на окремому виділеному комп’ютері, який завжди ввімкнено та під'єднано до "
"Інтернету, а не на той, яким ви користуєтеся регулярно. Вам також слід "
"зберегти вкладку (подробиці :ref:`save_tabs`), щоб ви могли відновити "
"вебсайт з тією ж адресою, якщо закриєте OnionShare і знову відкриєте його "
"пізніше."
"Якщо ви хочете розмістити довгостроковий вебсайт за допомогою OnionShare "
"(це не просто для того, щоб швидко комусь щось показати), рекомендовано "
"робити це на окремому виділеному комп’ютері, який завжди ввімкнено та "
"під'єднано до Інтернету, а не на той, яким ви користуєтеся регулярно. Вам"
" також слід зберегти вкладку (подробиці :ref:`save_tabs`), щоб ви могли "
ідновити вебсайт з тією ж адресою, якщо закриєте OnionShare і знову "
"відкриєте його пізніше."
#: ../../source/features.rst:110
#: ../../source/features.rst:121
msgid ""
"If your website is intended for the public, you should run it as a public"
" service (see :ref:`turn_off_passwords`)."
@ -390,44 +416,44 @@ msgstr ""
"Якщо ваш вебсайт призначено для загального перегляду, вам слід запустити "
"його як загальнодоступну службу (подробиці :ref:`turn_off_passwords`)."
#: ../../source/features.rst:113
#: ../../source/features.rst:124
msgid "Chat Anonymously"
msgstr "Спілкуйтеся таємно"
#: ../../source/features.rst:115
#: ../../source/features.rst:126
msgid ""
"You can use OnionShare to set up a private, secure chat room that doesn't"
" log anything. Just open a chat tab and click \"Start chat server\"."
msgstr ""
"Ви можете застосовувати OnionShare для створення цілком анонімної, захищеної "
"кімнати чату, яка нічого не реєструє. Просто відкрийте вкладку чату та "
"натисніть «Запустити сервер чату»."
"Ви можете застосовувати OnionShare для створення цілком анонімної, "
"захищеної кімнати чату, яка нічого не реєструє. Просто відкрийте вкладку "
"чату та натисніть «Запустити сервер чату»."
#: ../../source/features.rst:119
#: ../../source/features.rst:130
msgid ""
"After you start the server, copy the OnionShare address and send it to "
"the people you want in the anonymous chat room. If it's important to "
"limit exactly who can join, use an encrypted messaging app to send out "
"the OnionShare address."
msgstr ""
"Після запуску сервера копіюйте адресу OnionShare і надішліть її людям, які "
"приєднаються до цієї анонімної кімнати чату. Якщо важливо обмежити коло, хто "
"може приєднатися, ви повинні використовувати зашифровані програми обміну "
"повідомленнями для надсилання адреси OnionShare."
"Після запуску сервера копіюйте адресу OnionShare і надішліть її людям, "
"які приєднаються до цієї анонімної кімнати чату. Якщо важливо обмежити "
"коло, хто може приєднатися, ви повинні використовувати зашифровані "
"програми обміну повідомленнями для надсилання адреси OnionShare."
#: ../../source/features.rst:124
#: ../../source/features.rst:135
msgid ""
"People can join the chat room by loading its OnionShare address in Tor "
"Browser. The chat room requires JavasScript, so everyone who wants to "
"participate must have their Tor Browser security level set to "
"\"Standard\" or \"Safer\", instead of \"Safest\"."
msgstr ""
"Люди можуть приєднатися до чату, завантаживши його адресу OnionShare у Tor "
"Browser. Для чату потрібен JavasScript, тому всі, хто хоче взяти участь, "
"повинні встановити рівень безпеки на «Стандартний» або «Безпечніший» замість "
"«Найбезпечніший»."
"Люди можуть приєднатися до чату, завантаживши його адресу OnionShare у "
"Tor Browser. Для чату потрібен JavasScript, тому всі, хто хоче взяти "
"участь, повинні встановити рівень безпеки на «Стандартний» або "
Безпечніший» замість «Найбезпечніший»."
#: ../../source/features.rst:127
#: ../../source/features.rst:138
msgid ""
"When someone joins the chat room they get assigned a random name. They "
"can change their name by typing a new name in the box in the left panel "
@ -436,10 +462,10 @@ msgid ""
msgstr ""
"Коли хтось приєднується до чату, йому присвоюється випадкове ім'я. Вони "
"можуть змінити своє ім’я, ввівши нове ім’я у полі на панелі ліворуч та "
"натиснувши ↵. Попередні повідомлення взагалі не з'являться, навіть якщо інші "
"вже спілкувалися в чаті, оскільки історія чату ніде не зберігається."
"натиснувши ↵. Попередні повідомлення взагалі не з'являться, навіть якщо "
"інші вже спілкувалися в чаті, оскільки історія чату ніде не зберігається."
#: ../../source/features.rst:133
#: ../../source/features.rst:144
msgid ""
"In an OnionShare chat room, everyone is anonymous. Anyone can change "
"their name to anything, and there is no way to confirm anyone's identity."
@ -447,23 +473,23 @@ msgstr ""
"У чаті OnionShare всі анонімні. Будь-хто може змінити своє ім'я на яке "
"завгодно і жодного способу підтвердження особи не існує."
#: ../../source/features.rst:136
#: ../../source/features.rst:147
msgid ""
"However, if you create an OnionShare chat room and securely send the "
"address only to a small group of trusted friends using encrypted "
"messages, you can be reasonably confident the people joining the chat "
"room are your friends."
msgstr ""
"Однак, якщо ви створюєте чат OnionShare і безпечно надсилаєте адресу лише "
"невеликій групі надійних друзів за допомогою зашифрованих повідомлень, то ви "
"можете бути обґрунтовано впевнені, що люди, які приєднуються до чату, є "
"вашими друзями."
"Однак, якщо ви створюєте чат OnionShare і безпечно надсилаєте адресу лише"
" невеликій групі надійних друзів за допомогою зашифрованих повідомлень, "
"то ви можете бути обґрунтовано впевнені, що люди, які приєднуються до "
"чату, є вашими друзями."
#: ../../source/features.rst:139
#: ../../source/features.rst:150
msgid "How is this useful?"
msgstr "Чим це корисно?"
#: ../../source/features.rst:141
#: ../../source/features.rst:152
msgid ""
"If you need to already be using an encrypted messaging app, what's the "
"point of an OnionShare chat room to begin with? It leaves less traces."
@ -472,7 +498,7 @@ msgstr ""
"повідомленнями, то який сенс спілкування в OnionShare? Він залишає менше "
"слідів."
#: ../../source/features.rst:143
#: ../../source/features.rst:154
msgid ""
"If you for example send a message to a Signal group, a copy of your "
"message ends up on each device (the devices, and computers if they set up"
@ -484,15 +510,15 @@ msgid ""
"minimum."
msgstr ""
"Наприклад, якщо ви надсилаєте повідомлення до групи в Signal, копія "
"повідомлення потрапляє на кожен пристрій (телефони та комп’ютери, якщо на "
"них встановлено Signal для комп'ютерів) кожного з учасників групи. Навіть "
"якщо ввімкнено зникання повідомлень, важко впевнитися, що всі копії "
"повідомлень було фактично видалено з усіх пристроїв та з будь-яких інших "
"місць (наприклад, баз даних сповіщень), до яких вони могли бути збережені. "
"Кімнати чатів OnionShare ніде не зберігають жодних повідомлень, тож проблему "
"мінімізовано."
"повідомлення потрапляє на кожен пристрій (телефони та комп’ютери, якщо на"
" них встановлено Signal для комп'ютерів) кожного з учасників групи. "
"Навіть якщо ввімкнено зникання повідомлень, важко впевнитися, що всі "
"копії повідомлень було фактично видалено з усіх пристроїв та з будь-яких "
"інших місць (наприклад, баз даних сповіщень), до яких вони могли бути "
"збережені. Кімнати чатів OnionShare ніде не зберігають жодних "
"повідомлень, тож проблему мінімізовано."
#: ../../source/features.rst:146
#: ../../source/features.rst:157
msgid ""
"OnionShare chat rooms can also be useful for people wanting to chat "
"anonymously and securely with someone without needing to create any "
@ -501,17 +527,18 @@ msgid ""
"journalist to join the chat room, all without compromosing their "
"anonymity."
msgstr ""
"Кімнати чатів OnionShare також можуть бути корисними для людей, які хочуть "
"анонімно та безпечно спілкуватися з кимось, не створюючи жодних облікових "
"записів. Наприклад, джерело може надіслати журналісту адресу OnionShare за "
"допомогою одноразової адреси електронної пошти, а потім зачекати, поки "
"журналіст приєднається до чату і все це без шкоди для їхньої анонімности."
"Кімнати чатів OnionShare також можуть бути корисними для людей, які "
"хочуть анонімно та безпечно спілкуватися з кимось, не створюючи жодних "
"облікових записів. Наприклад, джерело може надіслати журналісту адресу "
"OnionShare за допомогою одноразової адреси електронної пошти, а потім "
"зачекати, поки журналіст приєднається до чату і все це без шкоди для "
"їхньої анонімности."
#: ../../source/features.rst:150
#: ../../source/features.rst:161
msgid "How does the encryption work?"
msgstr "Як працює шифрування?"
#: ../../source/features.rst:152
#: ../../source/features.rst:163
msgid ""
"Because OnionShare relies on Tor onion services, connections between the "
"Tor Browser and OnionShare are all end-to-end encrypted (E2EE). When "
@ -522,11 +549,11 @@ msgid ""
msgstr ""
"Оскільки OnionShare покладається на onion служби Tor, з’єднання між Tor "
"Browser та OnionShare захищено наскрізним шифруванням (E2EE). Коли хтось "
"публікує повідомлення в кімнаті чату OnionShare, він надсилає його на сервер "
"через E2EE onion з'єднання, який потім надсилає його всім іншим учасникам "
"чату за допомогою WebSockets через їхні E2EE onion з'єднання."
"публікує повідомлення в кімнаті чату OnionShare, він надсилає його на "
"сервер через E2EE onion з'єднання, який потім надсилає його всім іншим "
"учасникам чату за допомогою WebSockets через їхні E2EE onion з'єднання."
#: ../../source/features.rst:154
#: ../../source/features.rst:165
msgid ""
"OnionShare doesn't implement any chat encryption on its own. It relies on"
" the Tor onion service's encryption instead."
@ -732,3 +759,53 @@ msgstr ""
#~ "могли бути збережені. Чати OnionShare "
#~ "ніде не зберігають жодних повідомлень, "
#~ "тому це не проблема."
#~ msgid "Receive Files"
#~ msgstr "Отримання файлів"
#~ msgid ""
#~ "You can use OnionShare to let "
#~ "people anonymously upload files directly "
#~ "to your computer, essentially turning it"
#~ " into an anonymous dropbox. Open a"
#~ " \"Receive tab\", choose where you "
#~ "want to save the files and other"
#~ " settings, and then click \"Start "
#~ "Receive Mode\"."
#~ msgstr ""
#~ "Ви можете користуватися OnionShare, щоб "
#~ "дозволити людям анонімно завантажувати файли"
#~ " безпосередньо на ваш комп’ютер, по "
#~ "суті, перетворивши його на анонімну "
#~ "скриньку. Відкрийте вкладку «Отримання», "
#~ "виберіть, куди потрібно завантажувати файли,"
#~ " та інші параметри, а потім натисніть"
#~ " «Запустити режим отримання»."
#~ msgid ""
#~ "This starts the OnionShare service. "
#~ "Anyone loading this address in their "
#~ "Tor Browser will be able to upload"
#~ " files to your computer."
#~ msgstr ""
#~ "Запуститься служба OnionShare. Будь-хто, хто"
#~ " завантажить цю адресу в Tor Browser,"
#~ " зможе завантажувати файли на ваш "
#~ "комп’ютер."
#~ msgid ""
#~ "When someone uploads files to your "
#~ "receive service, by default they get "
#~ "saved to a folder called ``OnionShare``"
#~ " in the home folder on your "
#~ "computer, automatically organized into "
#~ "separate subfolders based on the time"
#~ " that the files get uploaded."
#~ msgstr ""
#~ "Коли хтось завантажує файли до вашої "
#~ "служби отримання, типово вони зберігаються "
#~ "у теці з назвою ``OnionShare`` у "
#~ "вашій домашній теці вашого комп'ютера та"
#~ " автоматично впорядковуються до окремих "
#~ "підтек за часом завантаження файлів."

View File

@ -1,6 +1,6 @@
name: onionshare
base: core18
version: '2.3.1'
version: '2.3.2.dev1'
summary: Securely and anonymously share files, host websites, and chat using Tor
description: |
OnionShare lets you securely and anonymously send and receive files. It works by starting
@ -8,7 +8,7 @@ description: |
web address so others can download files from you, or upload files to you. It does _not_
require setting up a separate server or using a third party file-sharing service.
grade: stable # must be 'stable' to release into candidate/stable channels
grade: devel # stable or devel
confinement: strict
apps:
@ -40,7 +40,7 @@ parts:
python-version: python3
python-packages:
- psutil
- pyside2==5.15.1
- pyside2==5.15.2
- qrcode
stage-packages:
- libasound2
@ -127,8 +127,8 @@ parts:
after: [tor, obfs4]
tor:
source: https://dist.torproject.org/tor-0.4.5.6.tar.gz
source-checksum: sha256/22cba3794fedd5fa87afc1e512c6ce2c21bc20b4e1c6f8079d832dc1e545e733
source: https://dist.torproject.org/tor-0.4.5.7.tar.gz
source-checksum: sha256/447fcaaa133e2ef22427e98098a60a9c495edf9ff3e0dd13f484b9ad0185f074
source-type: tar
plugin: autotools
build-packages: