Użytkowanie zaawansowane

Zapisywanie kart

Zamykanie hostowanych kart OnionShare niszczy je, uniemożliwiając ponowne użycie. Stale hostowane strony internetowe są dostępne pod tym samym adresem, nawet jeśli komputer, z którego są udostępniane, zostanie ponownie uruchomiony.

Utrwal dowolną kartę, zaznaczając pole „Zawsze otwieraj tę kartę po uruchomieniu OnionShare” przed uruchomieniem serwera.

_images/advanced-save-tabs.png

Podczas otwierania OnionShare Twoje zapisane karty z poprzedniej sesji zaczną się otwierać. Każda usługa może być następnie uruchomiona ręcznie i będzie dostępna pod tym samym adresem OnionShare, będzie chroniona tym samym kluczem prywatnym.

Jeśli zapiszesz kartę, kopia jej sekretnego klucza usługi cebulowej jest przechowywana na Twoim komputerze.

Wyłączanie obsługi klucza prywatnego

Domyślnie wszystkie usługi OnionShare są chronione kluczem prywatnym, Tor nazywa to „uwierzytelnianiem klienta”.

Tor Browser poprosi Cię o podanie klucza prywatnego podczas ładowania usługi OnionShare. Jeśli chcesz zezwolić na korzystanie z Twojej usługi publicznie, lepiej całkowicie wyłączyć klucz prywatny.

Aby wyłączyć obsługę klucza prywatnego dla dowolnej karty, zaznacz pole „To jest usługa publiczna OnionShare (wyłącza klucz prywatny)” przed uruchomieniem serwera. Wtedy serwer będzie publiczny i nie będzie potrzebował klucza prywatnego do przeglądania w Tor Browser.

Tytuły niestandardowe

Domyślnie, gdy ludzie ładują usługę OnionShare w Tor Browser, widzą domyślny tytuł dla danego typu usługi. Na przykład domyślny tytuł usługi czatu to „OnionShare Chat”.

Jeśli edytujesz ustawienie „Tytuł niestandardowy” przed uruchomieniem serwera, możesz to zmienić.

Harmonogramy

OnionShare umożliwia dokładne planowanie, kiedy usługa powinna zostać uruchomiona i zatrzymana. Przed uruchomieniem serwera kliknij „Pokaż ustawienia zaawansowane” na jego karcie, a następnie zaznacz pole „Uruchom usługę cebulową w zaplanowanym czasie”, „Zatrzymaj usługę cebulową w zaplanowanym czasie” lub oba, a następnie ustaw odpowiednie daty i czasy.

Usługi zaplanowane do uruchomienia w przyszłości wyświetlają licznik czasu po kliknięciu przycisku „Rozpocznij udostępnianie”. Usługi zaplanowane do zatrzymania w przyszłości wyświetlają licznik czasu po uruchomieniu.

Zaplanowanie automatycznego uruchamiania usługi OnionShare może służyć jako wyłącznik awaryjny. Oznacza to, że Twoja usługa zostanie upubliczniona w określonym czasie w przyszłości, jeśli nie będziesz tam, aby temu zapobiec. Jeśli nic Ci się nie stanie, możesz anulować usługę przed planowanym rozpoczęciem.

_images/advanced-schedule-start-timer.png

Zaplanowanie automatycznego zatrzymania usługi OnionShare ogranicza jej ekspozycję. Jeśli chcesz udostępnić tajne informacje lub coś, co będzie nieaktualne, możesz to zrobić przez wybrany ograniczony czas.

_images/advanced-schedule-stop-timer.png

Wiersz poleceń

Oprócz interfejsu graficznego OnionShare posiada również interfejs wiersza poleceń.

Instalowanie wersji CLI

Jeśli zainstalowano pakiet Snap, macOS lub Windows, masz już zainstalowaną wersję CLI.

Ewentualnie możesz zainstalować wersję OnionShare dostępną w wierszu poleceń, używając polecenia pip3:

pip3 install --user onionshare-cli

Zauważ, że będziesz także potrzebował zainstalowanego pakietu tor. W macOS zainstaluj go za pomocą: brew install tor

Następnie uruchom go następująco:

onionshare-cli --help

Informacje o instalacji na różnych systemach operacyjnych można znaleźć w pliku CLI README w repozytorium Git.

Uruchamianie CLI ze Snapa

Jeśli zainstalowano OnionShare przy użyciu pakietu Snap, możesz uruchomić onionshare.cli, aby uzyskać dostęp do wersji interfejsu wiersza poleceń.

Uruchamianie CLI z poziomu systemu macOS

Z poziomu terminala możesz uruchomić /Applications/OnionShare.app/Contents/MacOS/onionshare-cli --help

Uruchamianie CLI z poziomu systemu Windows

W instalacji systemu Windows dostępny jest plik wykonywalny onionshare-cli.exe.

Użytkowanie

Przejrzyj dokumentację wiersza poleceń, uruchamiając 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

Uruchamianie CLI jako pliku jednostki systemd

Możliwe jest automatyczne uruchomienie OnionShare z poziomu CLI przy użyciu pliku jednostki systemd.

Może to okazać się szczególnie przydatne, jeśli pracujesz w trybie „trwałym” i chcesz uruchamiać tę samą usługę Onion przy każdym uruchomieniu komputera.

Aby to zrobić, musisz najpierw przygotować konfigurację JSON OnionShare.

Oto główna konfiguracja OnionShare. W tym przykładzie jest ona przechowywana w /home/user/.config/onionshare/onionshare.json. Być może będzie trzeba dostosować niektóre ustawienia, ale jeśli masz już zainstalowany OnionShare, prawdopodobnie wygląda to mniej więcej tak:

{
  "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
}

Zwróć uwagę na sekcję «persistent_tabs». Teraz utworzymy plik w /home/user/.config/onionshare/persistent/my-persistent-onion.json, który wygląda tak:

{
  "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": {}
}

Nie używaj tego klucza prywatnego, service_id ani kluczy client_auth! Są one pokazane tylko jako przykład. Nigdy nie udostępniaj klucza prywatnego nikomu.

Najprostszym sposobem na wygenerowanie adresu onion i klucza prywatnego jest najpierw utworzenie „przypiętej” karty OnionShare w aplikacji na komputer i uruchomienie udostępniania po raz pierwszy. Spowoduje to zapisanie trwałych ustawień w folderze .config/onionshare/persistent/ z losową nazwą. Możesz odpiąć tę kartę po jej pierwszym wygenerowaniu. Możesz też zostawić ją tam, gdzie jest, i użyć tego trwałego pliku w pliku jednostki systemd poniżej.

Teraz możesz utworzyć plik jednostki systemd w /etc/systemd/system/onionshare-cli.service. Pamiętaj, aby dostosować użytkownika i grupę do własnego użytkownika/grupy, a także zmienić ścieżki do pliku binarnego onionshare-cli lub ścieżki do konfiguracji JSON i udziałów.

Plik jednostki systemd powinien wyglądać następująco:

[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

Należy pamiętać, że chociaż /home/user/my-shared-file.txt został zdefiniowany w sekcji filenames pliku my-persistent-onion.json, nadal konieczne jest jego określenie jako argumentu polecenia onionshare-cli.

Pamiętaj o uruchomieniu sudo systemctl daemon-reload po utworzeniu pliku jednostki.

Teraz możesz uruchomić sudo systemctl start onionshare-cli.service. Jeśli zainstalowano journalctl, możesz uruchomić sudo journalctl -f -t onionshare-cli, a powinny pojawić się jakieś dane wyjściowe usługi:

[...]
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

Jeśli nie chcesz, aby użytkownicy korzystali z klucza prywatnego, ustaw opcję public na true w ustawieniach general pliku my-persistent-onion.json.

Skróty klawiszowe

Aplikacja komputerowa OnionShare zawiera kilka skrótów klawiszowych dla wygody i dostępności:

Ctrl T - New Tab
Ctrl X - Closes current tab

Natomiast z głównego ekranu wyboru trybu:

Ctrl S - Share mode
Ctrl R - Receive mode
Ctrl W - Website mode
Ctrl C - Chat mode
Ctrl H - Settings tab

Migracja danych OnionShare na inny komputer

Możesz chcieć zmigrować swoje dane OnionShare podczas przełączania się na inny komputer. Jest to szczególnie ważne, jeśli masz «persistent» adres onion i chcesz go zachować.

OnionShare przechowuje wszystkie takie dane w określonym folderze. Skopiuj poniższy folder odpowiedni dla Twojego systemu operacyjnego na nowy komputer:

  • Linux: ~/.config/onionshare

  • macOS: ~/Library/Application Support/OnionShare

  • Windows: %APPDATA%\OnionShare

Parametry pliku konfiguracyjnego

OnionShare przechowuje swoje ustawienia w pliku JSON. Zarówno wersja CLI, jak i Desktop używają tego pliku konfiguracyjnego. CLI pozwala również określić ścieżkę do niestandardowego pliku konfiguracyjnego za pomocą --config.

Poniżej znajdują się parametry pliku konfiguracyjnego i ich znaczenie. Jeśli plik konfiguracyjny zawiera inne parametry, które nie są tutaj wymienione, mogą być nieaktualne w starszych wersjach OnionShare.

Parametr

Typ

Wyjaśnienie

version

string

Wersja OnionShare. Nie powinno zmieniać się tej wartości.

connection_type

string

Sposób, w jaki OnionShare łączy się z Tor. Prawidłowe opcje to «bundled», «automatic» (użyj połączenia Tor przeglądarki Tor Browser), «control_port» lub «socket_file». Domyślnie: «bundled»

control_port_address

string

Adres IP portu kontrolnego Tor, jeśli connection_type jest ustawione na «control_port». Domyślnie: «127.0.0.1»

control_port_port

integer

Numer portu kontrolnego Tor, jeśli connection_type jest ustawionena «control_port». Domyślnie: «9051»

socks_address

string

Adres IP serwera proxy SOCKS sieci Tor, jeśli connection_type jest ustawione na «control_port» lub «socket_file». Domyślnie: «127.0.0.1»

socks_port

integer

Numer portu proxy SOCKS sieci Tor, jeśli connection_type jest ustawione na «control_port» lub «socket_file». Domyślnie: «9050»

socket_file_path

string

Ścieżka do pliku gniazda sieci Tor, jeśli connection_type jest ustawione na «socket_file». Domyślnie: «/var/run/tor/control»

auth_type

string

Jeśli dostęp do portu kontrolnego sieci Tor wymaga hasła, można ustawić je na «password», w przeciwnym razie «no_auth». Domyślnie: «no_auth»

auth_password

string

Jeśli dostęp do portu kontrolnego sieci Tor wymaga hasła, a auth_type jest ustawione na «password», podaj hasło tutaj. Domyślnie: «»

auto_connect

boolean

Czy OnionShare powinien automatycznie łączyć się z siecią Tor podczas uruchamiania. Domyślnie: false

use_autoupdate

boolean

Czy OnionShare ma automatycznie sprawdzać aktualizacje (przez sieć Tor). To ustawienie jest ważne tylko dla instalacji MacOS lub Windows. Domyślnie: true.

autoupdate_timestamp

integer

Ostatni raz, kiedy OnionShare sprawdzał aktualizacje. Domyślnie: none

bridges_enabled

boolean

Czy połączyć się z siecią Tor za pomocą mostków. Domyślnie: false

bridges_type

string

Gdy bridges_enabled jest True, skąd ładować mostki. Opcje to „built-in” (mosty dostarczane z OnionShare i które mogą być aktualizowane z Tor), „moat” (żądanie mostów z API Moat Tor) lub „custom” (mosty dostarczane przez użytkownika). Domyślnie: „built-in”

bridges_builtin_pt

string

Gdy bridges_type jest ustawione na „built-in”, określa, jaki typ protokołu mostu ma być używany. Opcje to „obfs4”, „meek-azure” lub „snowflake”. Domyślnie: „obfs4”

bridges_moat

string

Gdy bridges_type jest ustawione na „moat”, mosty zwrócone z API Moat sieci Tor są przechowywane tutaj. Domyślnie: „”

bridges_custom

string

Gdy bridges_type jest ustawione na „custom”, mostki określone przez użytkownika są przechowywane tutaj. Oddziel każdą linię mostku w ciągu za pomocą «n». Domyślnie: „”

bridges_builtin

dict

Gdy bridges_type jest ustawione na „built-in”, OnionShare pobiera najnowsze wbudowane mostki zalecane przez sieć Tor i przechowuje je tutaj. Domyślnie: {}

persistent_tabs

list

Jeśli użytkownik zdefiniował jakieś karty jako «saved» (co oznacza, że są trwałe przy każdym uruchomieniu OnionShare, a ich adres onion się nie zmienia), otrzymują one losowy identyfikator, który jest tutaj wymieniony. Trwały onion jest przechowywany jako plik JSON o tej samej nazwie co ten identyfikator, w podfolderze folderu konfiguracji OnionShare o nazwie «persistent». Domyślnie: []

locale

string

Ustawienia regionalne używane w OnionShare. Domyślne: None (to samo co «en»). Prawidłowe kody ustawień regionalnych można znaleźć w «available_locales» w https://github.com/onionshare/onionshare/blob/main/cli/onionshare_cli/settings.py

theme

boolean

Motyw dla aplikacji OnionShare na komputer. Prawidłowe opcje to 0 (automatyczne wykrywanie jasnego lub ciemnego motywu komputera użytkownika), 1 (jasny) lub 2 (ciemny).

Parametry pliku konfiguracyjnego dla trwałych cebul

Jak opisano powyżej, każda cebula «persistent» ma własne parametry, które są przechowywane w jej własnym pliku JSON. Ścieżka do tego pliku może być określona dla narzędzia CLI za pomocą --persistent.

Oto przykład trwałej konfiguracji 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": {}
}

Poniżej znajdują się parametry pliku konfiguracyjnego dla trwałej cebuli i ich znaczenie dla każdej sekcji w JSON

onion

Parametr

Typ

Wyjaśnienie

private_key

string

Prywatny klucz usługi Onion zakodowany w standardzie Base64

client_auth_priv_key

string

Klucz prywatny podczas korzystania z uwierzytelniania klienta. Wyślij go użytkownikowi.

client_auth_pub_key

string

Klucz publiczny podczas korzystania z uwierzytelniania klienta. Używany po stronie OnionShare.

persistent

Parametr

Typ

Wyjaśnienie

mode

string

Tryb używany przez tę trwałą cebulę. Opcje to „share”, „receive”, „website” lub „chat”.

enabled

boolean

Czy trwałość jest włączona dla tej cebuli. Gdy opcja trwałości jest odznaczona w wersji komputerowej, cały ten plik JSON jest usuwany. Domyślnie: true

autostart_on_launch

boolean

Czy automatycznie uruchomić tę trwałą cebulę, gdy OnionShare się uruchomi i gdy sieć Tor zostanie podłączony. Domyślnie: false

general

Parametr

Typ

Wyjaśnienie

title

string

Opcjonalny niestandardowy tytuł do wyświetlania w usłudze onion. Domyślnie: null (zamiast tego będzie wyświetlany tytuł „OnionShare”)

public

boolean

Czy do usługi onion można uzyskać dostęp z kluczem prywatnym (uwierzytelnianie klienta) lub bez niego. Jeśli True, nie jest wymagany żaden klucz prywatny.

autostart_timer

boolean

Czy usługa onion jest skonfigurowana do uruchamiania o określonej godzinie. Czas można ustawić w aplikacji komputerowej lub określić w sekundach za pomocą --auto-start-timer za pomocą narzędzia CLI. Domyślnie: false

autostop_timer

boolean

Czy usługa onion jest skonfigurowana tak, aby zatrzymać się o określonej godzinie. Czas można ustawić w aplikacji komputerowej ub określić w sekundach za pomocą --auto-stop-timer za pomocą narzędzia CLI. Domyślnie: False

service_id

string

32-znakowy adres URL usługi onion, bez schematu i bez sufiksu „.onion”.

Poniżej znajdują się ustawienia specyficzne dla «mode» określonego w sekcji persistent powyżej.

share

Parametr

Typ

Wyjaśnienie

autostop_sharing

boolean

Czy automatycznie zatrzymać udostępnianie po pierwszym pobraniu plików. Domyślnie: true

filenames

list

Lista plików do udostępnienia. Domyślnie: []

log_filenames

boolean

Czy rejestrować żądania URL do stdout podczas korzystania z narzędzia CLI. Domyślnie: false

receive

Parametr

Typ

Wyjaśnienie

data_dir

string

Ścieżka, w której będą przechowywane odebrane pliki lub wiadomości tekstowe. Domyślnie: folder „OnionShare” w katalogu domowym użytkownika.

webhook_url

string

Adres URL webhooka, do którego OnionShare będzie wysyłać POST, gdy otrzyma pliki lub wiadomości tekstowe. Domyślnie: null

disable_text

boolean

Czy wyłączyć odbieranie wiadomości tekstowych. Domyślnie: false

disable_files

boolean

Czy wyłączyć odbieranie plików. Domyślnie: false

website

Parametr

Typ

Wyjaśnienie

disable_csp

boolean

Jeżeli ustawione na true, OnionShare nie ustawi domyślnego nagłówka zasad bezpieczeństwa treści dla witryny. Domyślnie: false

custom_csp

string

Niestandardowy nagłówek zasad bezpieczeństwa treści, który należy wysłać zamiast domyślnego.

log_filenames

boolean

Czy rejestrować żądania URL do stdout podczas korzystania z narzędzia CLI. Domyślnie: false

filenames

list

Lista plików do udostępnienia. Domyślnie: []

chat

W tej chwili nie ma żadnych konfigurowalnych ustawień trybu czatu.