Avancerad användning

Spara flikar

Om du stänger OnionShare-flikar som du är värd för förstörs de, vilket förhindrar återanvändning. Webbplatser som är beständigt värdar är tillgängliga på samma adress även om datorn de delas från startas om.

Gör en flik bestående genom att markera rutan ”Öppna alltid den här fliken när OnionShare startas” innan du startar din server.

_images/advanced-save-tabs.png

När du öppnar OnionShare kommer dina sparade flikar från föregående session att börja öppnas. Varje tjänst kan sedan startas manuellt och kommer att vara tillgänglig på samma OnionShare-adress och skyddas av samma privata nyckel.

Om du sparar en flik, lagras en kopia av dess hemliga nyckel för onion-tjänsten på din dator.

Stäng av privat nyckel

Som standard är alla OnionShare-tjänster skyddade med en privat nyckel, som Tor kallar ”klientautentisering”.

Tor Browser kommer att be dig ange din privata nyckel när du laddar en OnionShare-tjänst. Om du vill tillåta allmänheten att använda din tjänst är det bättre att inaktivera den privata nyckeln helt och hållet.

För att stänga av den privata nyckeln för en flik, markera rutan ”Detta är en offentlig OnionShare-tjänst (inaktiverar privat nyckel)” innan du startar servern. Då blir servern offentlig och en privat nyckel behövs inte för att ladda den i Tor Browser.

Anpassade titlar

När personer laddar OnionShare-tjänster i Tor Browser ser de standardtiteln för varje typ av tjänst. Till exempel är standardtiteln för chattjänster ”OnionShare-chatt”.

Om du redigerar inställningen ”Anpassad titel” innan du startar en server kan du ändra den.

Schemalagda tider

OnionShare stöder schemaläggning av exakt när en tjänst ska starta och sluta. Innan du startar en server klickar du på ”Visa avancerade inställningar” på dess flik och kryssar sedan i rutorna bredvid antingen ”Starta onion-tjänst vid schemalagd tid”, ”Stoppa onion-tjänst vid schemalagd tid” eller båda, och ställer in önskade datum och tider.

Tjänster som är schemalagda att starta i framtiden visar en nedräkningstimer när knappen ”Starta delning” klickas. Tjänster som är schemalagda att stoppa i framtiden visar en nedräkningstimer när de startas.

Att schemalägga en OnionShare-tjänst för att starta automatiskt kan användas som en dödmansbrytare. Detta innebär att din tjänst offentliggörs vid en viss tidpunkt i framtiden om du inte är där för att förhindra det. Om inget händer dig kan du avbryta tjänsten innan den är planerad att starta.

_images/advanced-schedule-start-timer.png

Att schemalägga en OnionShare-tjänst för att automatiskt stoppa begränsar dess exponering. Om du vill dela hemlig information eller något som kommer att vara föråldrat kan du göra det under en begränsad tid.

_images/advanced-schedule-stop-timer.png

Gränssnitt för kommandoraden

Förutom sitt grafiska gränssnitt har OnionShare ett kommandoradsgränssnitt.

Installera CLI-versionen

Om du har installerat Snap-, macOS- eller Windows-paketet har du redan CLI-versionen installerad.

Alternativt kan du installera bara kommandoradsversionen av OnionShare med hjälp av pip3:

pip3 install --user onionshare-cli

Observera att du också behöver paketet tor installerat. I macOS installerar du det med: brew install tor

Kör den sedan så här:

onionshare-cli --help

Information om hur du installerar det på olika operativsystem finns i CLI README-filen i Git-arkivet.

Köra CRI från Snap

Om du installerade OnionShare med Snap-paketet kan du köra onionshare.cli för att komma åt kommandoradsgränssnittsversionen.

Köra CLI från macOS

Från Terminal, kan du köra /Applications/OnionShare.app/Contents/MacOS/onionshare-cli --help

Köra CLI från Windows

I Windows-installationen finns den körbara filen onionshare-cli.exe tillgänglig.

Användning

Bläddra i kommandoradsdokumentationen genom att köra 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

Köra CLI som en systemd-enhetsfil

Det är möjligt att automatiskt starta OnionShare från CLI med hjälp av en systemd-enhetsfil.

Du kan tycka att detta är särskilt användbart om du använder ”beständigt”-läge och vill starta samma onion-tjänst varje gång din maskin startar.

För att göra detta måste du först förbereda lite OnionShare json-konfiguration.

Här är den huvudsakliga OnionShare-konfigurationen. I det här exemplet lagras den i /home/user/.config/onionshare/onionshare.json. Du kan behöva justera några av inställningarna, men om du redan har OnionShare installerat ser det förmodligen ut ungefär så här redan:

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

Lägg märke till avsnittet ’persistent_tabs’. Vi ska nu skapa en fil på /home/user/.config/onionshare/persistent/my-persistent-onion.json, som ser ut så här:

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

Använd inte den här privata nyckeln, service_id-nycklarna eller client_auth-nycklarna! De visas endast som ett exempel. Dela aldrig den privata nyckeln med någon.

Det enklaste sättet att generera onion-adressen och den privata nyckeln är att först skapa en ”fäst” OnionShare-flik i skrivbordsappen och starta delningen för första gången. Detta kommer då att ha sparat de permanenta inställningarna i din .config/onionshare/persistent/-mapp med ett slumpmässigt namn. Du kan lossa den fliken när du har genererat den första gången. Eller så kan du lämna den där den är och använda den permanenta filen i din systemd-enhetsfil nedan.

Nu kan du skapa en systemd-enhetsfil i /etc/systemd/system/onionshare-cli.service. Se till att justera Användare och Grupp till din egen användare/grupp, samt ändringar av eventuella sökvägar till onionshare-cli-binärfilen eller sökvägarna till dina JSON-konfigurationer och delningar.

Systemd-enhetsfilen ska se ut så här:

[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

Observera att även om /home/user/my-shared-file.txt definierades i avsnittet filenames i filen my-persistent-onion.json, är det fortfarande nödvändigt att ange det som argument till onionshare-cli-kommandot.

Se till att köra sudo systemctl daemon-reload efter att du skapat enhetsfilen.

Nu kan du köra sudo systemctl start onionshare-cli.service. Om du har journalctl installerat kan du köra sudo journalctl -f -t onionshare-cli, och du bör se utdata från din tjänst som startar:

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

Om du inte vill att dina användare ska använda en privat nyckel, ställ in public till true i general-inställningarna för my-persistent-onion.json-filen.

Tangentbordsgenvägar

OnionShare-skrivbordsapplikationen innehåller några tangentbordsgenvägar för bekvämlighet och tillgänglighet:

Ctrl T - New Tab
Ctrl X - Closes current tab

Och från huvudskärmen för lägesväljaren:

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

Migrera dina OnionShare-data till en annan dator

Du kanske vill migrera dina OnionShare-data när du byter till en annan dator. Detta gäller särskilt om du hade en ”beständig” onion-adress och vill bevara den.

OnionShare lagrar all sådan data i en specifik mapp. Kopiera den relevanta mappen för ditt operativsystem nedan till din nya dator:

  • Linux: ~/.config/onionshare

  • macOS: ~/Library/Application Support/OnionShare

  • Windows: %APPDATA%\OnionShare

Konfigurationsfilparametrar

OnionShare lagrar sina inställningar i en JSON-fil. Både CLI- och skrivbordsversionerna använder denna konfigurationsfil. CLI-gränssnittet låter dig också ange en sökväg till en anpassad konfigurationsfil med --config.

Nedan följer konfigurationsfilens parametrar och vad de betyder. Om din konfigurationsfil har andra parametrar som inte listas här, kan de vara föråldrade från äldre OnionShare-versioner.

Parameter

Typ

Förklaring

version

sträng

Versionen av OnionShare. Du borde aldrig behöva ändra detta värde.

connection_type

sträng

Hur OnionShare ansluter till Tor. Giltiga alternativ är ’bundled’, ’automatic’ (använd Tor Browsers Tor-anslutning), ’control_port’ eller ’socket_file’. Standard: ’bundled’

control_port_address

sträng

IP-adressen för Tors kontrollport, om connection_type är satt till ’control_port’. Standard: ’127.0.0.1’

control_port_port

heltal

Portnumret för Tors kontrollport, om connection_type är satt till ’control_port’. Standard: ’9051’

socks_address

sträng

IP-adressen för Tors SOCKS-proxy, om connection_type är satt till ’control_port’ eller ’socket_file’. Standard: ’127.0.0.1’

socks_port

heltal

Portnumret för Tors SOCKS-proxy, om connection_type är satt till ’control_port’ eller ’socket_file’. Standard: ’’9050’

socket_file_path

sträng

Sökvägen till Tors socketfil, om connection_type är satt till ’socket_file’. Standard: ’/var/run/tor/control’

auth_type

sträng

Om åtkomst till Tors kontrollport kräver ett lösenord kan detta ställas in på ’password’, annars ’no_auth’. Standard: ’no_auth’

auth_password

sträng

Om åtkomst till Tors kontrollport kräver ett lösenord, och auth_type är satt till ’password’, ange lösenordet här. Standard: ’’

auto_connect

booleskt

Om OnionShare ska ansluta till Tor automatiskt när det startar. Standard: False

use_autoupdate

booleskt

Om OnionShare ska söka efter uppdateringar automatiskt (via Tor). Den här inställningen gäller endast för MacOS- eller Windows-installationer. Standard: True.

autoupdate_timestamp

heltal

Senaste gången OnionShare sökte efter uppdateringar. Standard: None

bridges_enabled

booleskt

Om man ska ansluta till Tor med hjälp av broar. Standard: False

bridges_type

sträng

När bridges_enabled är True, varifrån broar ska laddas. Alternativen är ”built-in” (broar som levereras med OnionShare och som kan uppdateras från Tor), ”moat” (begär broar från Tors Moat API) eller ”custom” (användarlevererade broar). Standard: ”built-in”

bridges_builtin_pt

sträng

När bridges_type är satt till ”inbyggt” anger detta vilken typ av broprotokoll som ska användas. Alternativen är ”obfs4”, ”meek-azure” eller ”snowflake”. Standard: ”obfs4”

bridges_moat

sträng

När bridges_type är satt till ”moat” lagras broarna som returneras från Tors Moat API här. Standard: ””

bridges_custom

sträng

När bridges_type är satt till ”custom” lagras de broar som anges av användaren här. Separera varje brorad i strängen med ’n’. Standard: ””

bridges_builtin

dict

När bridges_type är satt till ”inbyggt” hämtar OnionShare de senaste inbyggda broarna som rekommenderas av Tor och lagrar dem här. Standard: {}

persistent_tabs

lista

Om användaren har definierat några flikar som ”sparade” (vilket betyder att de är beständiga varje gång OnionShare startas, och deras Onion-adress inte ändras), får dessa en slumpmässig identifierare som listas här. Den beständiga Onion-filen lagras som en JSON-fil med samma namn som denna identifierare, i en undermapp i OnionShare-konfigurationsmappen som heter ”beständig”. Standard: []

språk

sträng

Språkinställningen som används i OnionShare. Standard: None (vilket är samma som ’en’). För giltiga språkkoder, se ’available_locales’ i https://github.com/onionshare/onionshare/blob/main/cli/onionshare_cli/settings.py

tema

booleskt

Temat för OnionShare-skrivbordsappen. Giltiga alternativ är 0 (identifierar automatiskt användarens dators ljusa eller mörka tema), 1 (ljust) eller 2 (mörkt).

Konfigurationsfilparametrar för persistenta onions

Som beskrivits ovan har varje ”beständig” onion sina egna parametrar som lagras i sin egen JSON-fil. Sökvägen till denna fil kan anges för CLI-verktyget med --persistent.

Här är ett exempel på en permanent JSON-konfiguration:

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

Nedan följer konfigurationsfilparametrarna för en persistent onion och vad de betyder, för varje avsnitt i JSON-filen

onion

Parameter

Typ

Förklaring

private_key

sträng

Base64-kodad privat nyckel för Onion-tjänsten

client_auth_priv_key

sträng

Den privata nyckeln vid användning av klientautentisering. Skicka detta till användaren.

client_auth_pub_key

sträng

Den offentliga nyckeln vid klientautentisering. Används på OnionShares sida.

beständig

Parameter

Typ

Förklaring

läge

sträng

Läget som används av denna ihållande onion. Alternativen är ”dela”, ”ta emot”, ”webbplats” eller ”chatta”.

aktiverad

booleskt

Om persistens är aktiverat för denna onion. När alternativet persistens är avmarkerat på skrivbordet tas bort hela denna JSON-fil. Standard: true

autostart_on_launch

booleskt

Om denna permanenta onion ska startas automatiskt när OnionShare startar och när Tor är ansluten. Standard: false

allmän

Parameter

Typ

Förklaring

titel

sträng

En valfri anpassad titel för visning på Onion-tjänsten. Standard: null (”OnionShare” visas istället)

offentlig

booleskt

Om onion-tjänsten kan nås med eller utan en privat nyckel (klientautentisering). Om sant krävs ingen privat nyckel.

autostart_timer

booleskt

Om onion-tjänsten är konfigurerad att starta vid en specifik tidpunkt. Tiden kan ställas in i skrivbordsappen eller anges i sekunder med --auto-start-timer med CLI-verktyget. Standard: false

autostop_timer

booleskt

Om Onion-tjänsten är konfigurerad att stoppa vid en specifik tidpunkt. Tiden kan ställas in i skrivbordsappen eller anges i sekunder med --auto-stop-timer med CLI-verktyget. Standard: false

service_id

sträng

URL:en för Onion-tjänsten på 32 tecken, utan schemat och utan suffixet ’.onion’.

Nedan följer inställningar som är specifika för det ’läge’ som anges i avsnittet beständig ovan.

dela

Parameter

Typ

Förklaring

autostop_sharing

booleskt

Om delningen ska stoppas automatiskt när filer hämtas första gången. Standard: true

filnamn

lista

En lista över filer att dela. Standard: []

log_filenames

booleskt

Om URL-förfrågningar till stdout ska loggas när CLI-verktyget används. Standard: false

ta emot

Parameter

Typ

Förklaring

data_dir

sträng

Sökvägen där mottagna filer eller textmeddelanden lagras. Standard: mappen ’OnionShare’ i användarens hemkatalog.

webhook_url

sträng

En webhook-URL som OnionShare skickar till när den tar emot filer eller textmeddelanden. Standard: null

disable_text

booleskt

Om mottagande av textmeddelanden ska inaktiveras. Standard: falskt

disable_files

booleskt

Om mottagning av filer ska inaktiveras. Standard: false

webbplats

Parameter

Typ

Förklaring

disable_csp

booleskt

Om den är inställd på true kommer OnionShare inte att ställa in standardrubriken för innehållssäkerhetspolicyn för webbplatsen. Standard: false

custom_csp

sträng

En anpassad rubrik för innehållssäkerhetspolicy att skicka istället för standardrubriken.

log_filenames

booleskt

Om URL-förfrågningar till stdout ska loggas när CLI-verktyget används. Standard: false

filnamn

lista

En lista över filer att dela. Standard: []

chatt

Det finns för närvarande inga konfigurerbara inställningar för chattläget.