Расширенные возможности
Сохранение вкладок
Закрытие вкладок OnionShare, размещенных на вашем хостинге, уничтожает их, предотвращая повторное использование. Постоянно размещенные веб-сайты доступны по одному и тому же адресу, даже если компьютер, с которого они доступны, перезагружен.
Сделайте любую вкладку постоянной, установив флажок “Всегда открывать эту вкладку при запуске OnionShare“ перед запуском сервера.
При открытии OnionShare ваши сохраненные вкладки из предыдущего сеанса начнут открываться. Затем каждую службу можно запустить вручную, она будет доступна по одному и тому же адресу OnionShare и защищена одним и тем же закрытым ключом.
Если вы сохраните вкладку, копия секретного ключа луковой службы будет сохранена на вашем компьютере.
Отключить использование секретного ключа
По умолчанию все сервисы OnionShare защищены секретным ключом, который на сленге Tor называется «клиентская аутентификация».
Браузер Tor попросит вас ввести закрытый ключ при загрузке службы OnionShare. Если вы хотите разрешить публично использовать ваш сервис, лучше вообще отключить закрытый ключ.
Чтобы отключить закрытый ключ для любой вкладки, перед запуском сервера установите флажок “Это общедоступная служба OnionShare (отключает закрытый ключ)“. Тогда сервер будет публичным и для его загрузки в Tor Browser не понадобится приватный ключ.
Указать заголовок
Когда люди загружают сервисы OnionShare в браузере Tor, они видят заголовок по умолчанию для каждого типа сервиса. Например, заголовок службы чата по умолчанию — “Чат OnionShare“.
Если вы отредактируете настройку “Пользовательский заголовок“ перед запуском сервера, вы можете изменить ее.
Планирование времени
OnionShare поддерживает возможность точного планирования, когда сервис должен запуститься или остановиться. Перед запуском сервера, нажмите на его вкладке кнопку «Показать дополнительные настройки», отметьте нужные пункты: «Запустить onion-сервис в назначенное время», «Остановить onion-сервис в назначенное время», и укажите нужную дату и время для каждого пункта.
Службы, запуск которых запланирован на будущее, отображают таймер обратного отсчета при нажатии кнопки “Начать общий доступ“. Службы, которые планируется остановить в будущем, при запуске отображают таймер обратного отсчета.
Планирование автоматического запуска службы OnionShare можно использовать как выключатель. Это означает, что ваша услуга станет общедоступной в определенный момент в будущем, если вы не сможете предотвратить это. Если с вами ничего не произойдет, вы можете отменить услугу до ее запуска.
Планирование автоматической остановки службы OnionShare ограничивает ее уязвимость. Если вы хотите поделиться секретной информацией или чем-то, что устареет, вы можете сделать это в течение ограниченного времени.
Интерфейс командной строки
В дополнение к графическому интерфейсу, у OnionShare есть интерфейс командной строки.
Установка версии CLI
Если вы установили пакет Snap, macOS или Windows, у вас уже установлена версия CLI.
В качестве альтернативы можно установить только командную версию OnionShare с использованием pip3:
pip3 install --user onionshare-cli
Для работы консольной версии также необходимо установить пакет tor. Для установки пакета в операционной системе macOS выполните команду: brew install tor
Затем произведите запуск следующим образом:
onionshare-cli --help
Информацию об установке его в различных операционных системах можно найти в файле CLI README в репозитории Git.
Запуск CLI из Snap
Если вы установили OnionShare с помощью пакета Snap, вы можете запустить onionshare.cli для доступа к версии интерфейса командной строки.
Запуск CLI от macOS
Из терминала можно запустить /Applications/OnionShare.app/Contents/MacOS/onionshare-cli -help
Запуск CLI из Windows
В установке Windows доступна исполняемая onionshare-cli.exe.
Использование
Просмотрите документацию по командной строке, запустив onionshare --help:
$ onionshare-cli --help
╭───────────────────────────────────────────╮
│ * ▄▄█████▄▄ * │
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
│ * ▀██▄ ▄█▄▄ * │
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.4.1 │
│ │
│ 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] [--no-autostop-sharing] [--log-filenames] [--qr] [--data-dir data_dir] [--webhook-url webhook_url] [--disable-text]
[--disable-files] [--disable_csp] [--custom_csp custom_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
--website Publish website
--chat Start chat server
--local-only Don't use Tor (only for development)
--connect-timeout SECONDS
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 private key
--auto-start-timer SECONDS
Start onion service at scheduled time (N seconds from now)
--auto-stop-timer SECONDS
Stop onion service at scheduled time (N seconds from now)
--no-autostop-sharing Share files: Continue sharing after files have been sent (the default is to stop sharing)
--log-filenames Log file download activity to stdout
--qr Display a QR code in the terminal for share links
--data-dir data_dir Receive files: Save files received to this directory
--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 the default Content Security Policy header (allows your website to use third-party resources)
--custom_csp custom_csp Publish website: Set a custom Content Security Policy header
-v, --verbose Log OnionShare errors to stdout, and web errors to disk
Запуск CLI в качестве системного файла
Можно автоматически запустить OnionShare из CLI с помощью системного файла единицы.
Вы можете найти это особенно полезно, если вы работаете в режиме «персистент», и хотите начать тот же сервис лука каждый раз, когда ваша машина начинает работать.
Чтобы это сделать, вам нужно подготовить лук Сначала поделитесь конфигурацией json.
Вот основная конфигурация OnionShare. В этом примере он хранится в /доме/пользователье/.config/onionshare/onionshare.json. Возможно, вам придется скорректировать некоторые настройки, но если вы уже установили OnionShare, это, вероятно, выглядит так уже:
{
"version": "2.6.2",
"connection_type": "bundled",
"control_port_address": "127.0.0.1",
"control_port_port": 9051,
"socks_address": "127.0.0.1",
"socks_port": 9050,
"socket_file_path": "/var/run/tor/control",
"auth_type": "no_auth",
"auth_password": "",
"auto_connect": true,
"use_autoupdate": true,
"autoupdate_timestamp": null,
"bridges_enabled": false,
"bridges_type": "built-in",
"bridges_builtin_pt": "obfs4",
"bridges_moat": "",
"bridges_custom": "",
"bridges_builtin": {},
"persistent_tabs": [
"my-persistent-onion"
],
"locale": "en",
"theme": 0
}
Обратите внимание на раздел «peristent_tabs». Теперь мы создадим файл на /home/user/.config/onionshare/persistent/my-persistent-onion.json, который выглядит так:
{
"onion": {
"private_key": "UDIaZD8QgoXRP8JnAJ+pnlogQazfZ0wrfWJk5zPBGUBqg6+lozzjUJKTYWxwrxR33pDgJdTFtCUN1CX1FE22UQ==",
"client_auth_priv_key": "RHJSN4VI3NKGDSIWK45CCWTLYOJHA6DQQRQXUID3FXMAILYXWVUQ",
"client_auth_pub_key": "J4YLYAHS25UU3TZTE27H32RN3MCRGLR345U52XS2JNQ76CCHCRSQ"
},
"persistent": {
"mode": "share",
"enabled": true
},
"general": {
"title": null,
"public": false,
"autostart_timer": 0,
"autostop_timer": 0,
"service_id": "niktadkcp6z7rym3r5o3j2hnmis53mno5ughvur357xo7jkjvmqrchid",
"qr": false
},
"share": {
"autostop_sharing": true,
"filenames": [
"/home/user/my-shared-file.txt"
]
},
"receive": {
"data_dir": "/home/user/OnionShare",
"webhook_url": null,
"disable_text": false,
"disable_files": false
},
"website": {
"disable_csp": false,
"custom_csp": null,
"filenames": []
},
"chat": {}
}
** Не используйте этот приватный ключ, сервис_id или клиент_auth ключи! Они показаны только в качестве примера. Никогда не делись с кем бы то ни было на private_key.**
Самый простой способ создать ионный адрес и приватный ключ - сначала создать вкладку OnionShare в настольном приложении и впервые запустить эту долю. Это позволит сохранить постоянные настройки в папке .config/onionshare/persistent/ с случайным именем. Вы можете отобразить эту вкладку, как только вы создали ее в первый раз. Или, вы можете оставить его там, где он есть, и использовать этот стойкий файл в вашем системном файле единицы ниже.
Теперь можно создать системный единичный файл в /etc/systemd/system/onionshare-cli.service. Обязательно настройте пользователя и группу на свой собственный пользователь/группу, а также измените любые пути к двойному устройству onionshare-cli или пути к вашим конфигурациям и акциям JSON.
Systemd unit file должен выглядеть так:
[Unit]
Description=OnionShare CLI
After=network.target
[Service]
ExecStart=/home/user/.local/bin/onionshare-cli --persistent /home/user/.config/onionshare/persistent/my-persistent-onion.json /home/user/my-shared-file.txt
Restart=on-failure
User=user
Group=user
[Install]
WantedBy=multi-user.target
Обратите внимание, что хотя /home/user/my-shared-file.txt был определен в filenames `` разделе ``my-persistent-onion.json, все же необходимо указать его в качестве аргумента к команде onionshare-cli.
Обязательно запустите ``sudo systemctl daemon-reload `` после создания файла единицы.
Теперь вы можете запустить sudo systemctl start onionshare-cli.service. Если у вас установлен journalctl, вы можете запустить sudo journalctl -f -t onionshare-cli, и вы должны увидеть некоторые результаты своей службы, начиная:
[...]
Feb 09 10:14:09 onionshare onionshare-cli[18852]: [6.5K blob data]
Feb 09 10:14:18 onionshare onionshare-cli[18852]: Compressing files.
Feb 09 10:14:18 onionshare onionshare-cli[18852]: Give this address and private key to the recipient:
Feb 09 10:14:18 onionshare onionshare-cli[18852]: http://niktadkcp6z7rym3r5o3j2hnmis53mno5ughvur357xo7jkjvmqrchid.onion
Feb 09 10:14:18 onionshare onionshare-cli[18852]: Private key: RHJSN4VI3NKGDSIWK45CCWTLYOJHA6DQQRQXUID3FXMAILYXWVUQ
Feb 09 10:14:18 onionshare onionshare-cli[18852]: Press Ctrl+C to stop the server
Если вы не хотите, чтобы ваши пользователи использовали Private Key, установите public, чтобы быть `` True`` в ``general `` настройках файла my-persistent-onion.json.
Горячие клавиши
Настольное приложение OnionShare содержит несколько сочетаний клавиш для удобства и доступности:
Ctrl T - New Tab
Ctrl X - Closes current tab
А на главном экране выбора режима:
Ctrl S - Share mode
Ctrl R - Receive mode
Ctrl W - Website mode
Ctrl C - Chat mode
Ctrl H - Settings tab
Параметры файла конфигурации
OnionShare сохраняет свои настройки в файле JSON. И CLI, и настольные версии используют этот файл конфигурации. CLI также позволяет указать путь к пользовательскому файлу конфигурации с -конфигурацией.
Ниже приведены параметры файла конфигурации и что они означают. Если ваш файл конфигурации имеет другие параметры, не перечисленные здесь, они могут быть устаревшими от старых версий OnionShare.
Параметр |
Тип |
Толкование |
|---|---|---|
Версия |
|
Версия OnionShare. Вам никогда не нужно менять эту ценность. |
Тип соединения |
|
То, как OnionShare подключается к Tor. Valid опции «bundled», «automatic» (использовать Tor Browser’s Tor connection), «control_port» или «socket_file». По умолчанию: « |
control_port_address |
|
IP-адрес порта Tor’s Control, если ``connection_type `` настроен на «control_port». По умолчанию: „127.0.0.1 « |
control_port_port |
|
Номер порта порта порта Tor’s Control Port, если |
socks_address |
|
IP-адрес прокси-сервера Tor’s SOCKS, если ``connection_type `` настроен на «control_port» или «socket_file». По умолчанию: „127.0.0.1 « |
socks_port |
|
Номер порта прокси Tor SOCKS, если ``connection_type `` настроен на «control_port» или «socket_file». По умолчанию: „9050 « |
socket_file_path |
|
Путь к файлу сокета Tor, если ``connection_type `` настроен на «socket_file». По умолчанию: „/var/run/tor/control « |
auth_type |
|
Если доступ к порту управления Tor требует пароля, это может быть установлено как «пароль», иначе «no_auth». По умолчанию: « |
auth_password |
|
Если доступ к порту управления Tor требует пароля, и ``auth_type `` установлен для «пароля», укажите здесь пароль. По умолчанию |
auto_connect |
|
Является ли Onion Акции должны автоматически подключаться к Tor при его запуске. По умолчанию: False |
use_autoupdate |
|
Является ли Onion Акции должны автоматически проверять обновления (по Tor). Этот параметр действителен только для установок MacOS или Windows. Правда. |
autoupdate_timestamp |
|
Последний раз OnionShare проверялся на обновления. По умолчанию: нет |
bridges_enabled |
|
Подключение к Tor с помощью мостов. По умолчанию: False |
bridges_type |
|
Когда ``bridges_enbled `` является True, где загружать мосты. Варианты «встроены» (встроены мосты, отправленные с OnionShare и которые могут быть обновлены от Tor), «моут» (запросные мосты от Tor’s Moat API) или «таможенные» (упрощенные пользователями мосты). По умолчанию: «встроенный» |
bridges_builtin_pt |
|
Когда ``bridges_type `` настроен на «встроенное», это указывает, какой тип протокола моста использовать. Варианты: «obfs4», «meek-azure» или «snowflake». По умолчанию: «obfs4» |
bridges_moat |
|
Когда ``bridges_type `` настроен на «движение», мосты, возвращенные из Moat API Tor, хранятся здесь. «» |
bridges_custom |
|
Когда ``bridges_type `` установлен на «таможенный», мосты, указанные пользователем, хранятся здесь. Отделить каждую линию моста в строке с „n. «» |
bridges_builtin |
|
Когда ``bridges_type `` настроен на «встроенное», OnionShare получает последние встроенные мосты, рекомендованные Tor, и хранит их здесь. По умолчанию |
persistent_tabs |
|
Если пользователь определил какие-либо вкладки как «сохраненные» (что означает, что они постоянны каждый раз, когда начинается OnionShare, и их onion-адрес не меняется), им присваивается случайный идентификатор, который перечисляется здесь. Стойкий лук хранится как файл JSON с тем же именем, что и этот идентификатор, в подскладке папки конфигурации OnionShare под названием «персистент». По умолчанию: [] |
Язык |
|
The locale used in OnionShare. По умолчанию: Нет (что такое же, как «en»). For valid locale codes, see „available_locales“ in https://github.com/onionshare/onionshare/blob/main/cli/onionshare_cli/settings.py |
темы |
|
Тема настольного приложения OnionShare. 0 (автоматически обнаруживайте светлую или темную тему компьютера пользователя), 1 (свет) или 2 (темный). |
Параметры файла конфигурации для стойких луков
Как описано выше, каждый «персистентный» лук имеет свои параметры, которые хранятся в собственном файле JSON. Путь к этому файлу может быть указан для инструмента CLI с помощью ``-постоянного ``.
Вот пример стойкой конфигурации JSON:
{
"onion": {
"private_key": "0HGxILDDwYhxAB2Zq8mM3Wu3MirBgK7Fw2/tVrTw1XraElH7MWbVn3lzKbcJEapVWz2TFjaoCAVN48hGqraiRg==",
"client_auth_priv_key": "UT55HDBA5VSRWOUERMGOHEIBKZCMOOGZAFFNI54GDQFZ6CMCUGIQ",
"client_auth_pub_key": "TPQCMCV26UEDMCWGZCWAWM4FOJSQKZZTVPC5TC3CAGMDWKV255OA"
},
"persistent": {
"mode": "share",
"enabled": true,
"autostart_on_launch": false
},
"general": {
"title": null,
"public": false,
"autostart_timer": false,
"autostop_timer": false,
"service_id": "hvsufvk2anyadehahfqiacy4wbrjt2atpnagk4itlkh4mdfsg6vhd5ad"
},
"share": {
"autostop_sharing": true,
"filenames": [
"/home/user/git/onionshare/desktop/org.onionshare.OnionShare.svg"
],
"log_filenames": false
},
"receive": {
"data_dir": "/home/user/OnionShare",
"webhook_url": null,
"disable_text": false,
"disable_files": false
},
"website": {
"disable_csp": false,
"custom_csp": null,
"log_filenames": false,
"filenames": []
},
"chat": {}
}
Ниже приведены параметры файла конфигурации для стойкого лука и что они означают для каждого раздела в JSON
лук
Параметр |
Тип |
Толкование |
|---|---|---|
private_key |
|
Base64 - закодированный частный ключ службы лука |
client_auth_priv_key |
|
Частный ключ при использовании подлинности клиента. Отправьте это пользователю. |
client_auth_pub_key |
|
Открытый ключ при использовании аутентификации клиента. Используется на стороне OnionShare. |
Постоянно
Параметр |
Тип |
Толкование |
|---|---|---|
режим |
|
Режим, используемый этим постоянным луком. Варианты - «теневой», «прием», «веб-сайт» или «чат». |
включен |
|
Способен ли упорство для этого лука. Когда стойкая опция не проверяется на рабочем столе, весь этот файл JSON удаляется. По умолчанию: True |
autostart_on_launch |
|
Начать ли автоматически этот упорный лук при запуске OnionShare и после подключения Tor. По умолчанию |
общие сведения
Параметр |
Тип |
Толкование |
|---|---|---|
название |
|
Опционный пользовательский заголовок для отображения на сервисе лука. По умолчанию: null (OnionShare) будет показан |
публичный |
|
Можно ли получить доступ к службе лука с помощью или без частного ключа (Client Authentication). Если это так, то не требуется никакого частного ключа. |
autostart_timer |
|
Настраивается ли служба лука для запуска в определенное время. Время может быть установлено в настольном приложении или указано в секундах с ``-авто-старт-таймером `` с помощью инструмента CLI. По умолчанию |
autostop_timer |
|
Настраивается ли служба лука для остановки в определенное время. Время может быть установлено в настольном приложении или указано в секундах с ``-авто-остановщиком `` с помощью инструмента CLI. По умолчанию |
service_id |
|
32-характерный луковый URL-адрес, без схемы и без суффикса „.onion“. |
Ниже приведены параметры, специфичные для «режима», указанного в ``разделе ``, выше.
получить
Параметр |
Тип |
Толкование |
|---|---|---|
data_dir |
|
Путь, где будут храниться полученные файлы или текстовые сообщения. По умолчанию: папка «OnionShare» исходного каталога пользователя. |
webhook_url |
|
URL-адрес веб-хук, к которому OnionShare будет относиться, когда он получает файлы или текстовые сообщения. По умолчанию: null |
disable_text |
|
Отключить получение текстовых сообщений. По умолчанию |
disable_files |
|
Отключить прием файлов. По умолчанию |
веб-сайт
Параметр |
Тип |
Толкование |
|---|---|---|
disable_csp |
|
`` True``, Onion Share не установит свой заголовок политики безопасности контента для веб-сайта. По умолчанию: |
custom_csp |
|
Настраиваемый заголовок политики безопасности контента для отправки вместо по умолчанию. |
log_filenames |
|
Следует ли регистрировать запросы URL-адреса, чтобы застрять при использовании инструмента CLI. По умолчанию |
имя файла |
|
Список файлов для обмена. По умолчанию: [] |
чат
В настоящее время нет настраиваемых настроек для режима чата.