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.

När du sparar en flik lagras en kopia av onion-tjänstens hemliga nyckel på datorn.

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 kan schemalägga exakt när en tjänst ska startas och stoppas. Klicka på ”Visa avancerade inställningar” på fliken innan servern startas. Markera sedan ”Starta onion-tjänsten vid schemalagd tid”, ”Stoppa onion-tjänsten vid schemalagd tid” eller båda och ange ö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
  --max-upload-size size    Receive files: Maximum size of an upload, e.g. 100mb (0 means no limit)
  --max-upload-size-total   Receive files: Apply the maximum upload size to the entire service lifespan
  --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.

Detta är särskilt användbart i beständigt läge när samma onion-tjänst ska startas varje gång datorn 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 skapa onion-adressen och den privata nyckeln är att fästa en OnionShare-flik i datorprogrammet och starta delningen en första gång. De beständiga inställningarna sparas då med ett slumpmässigt filnamn i mappen .config/onionshare/persistent/. Därefter kan du lossa fliken eller låta den vara fäst och använda den beständiga filen i systemd-enhetsfilen 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.

Kortkommandon

OnionShare-programmet för datorer innehåller kortkommandon för enklare användning och bättre 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 information i en särskild mapp. Kopiera mappen för ditt operativsystem nedan till den nya datorn:

  • 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 när connection_type är inställt på ’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” 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 beskrivs ovan har varje beständig onion-tjänst egna parametrar som lagras i en separat JSON-fil. Filens sökväg kan anges för kommandoradsverktyget med --persistent.

Här är ett exempel på en beständig 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 klientautentisering. Skicka den 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 den beständiga onion-tjänsten ska startas automatiskt när OnionShare startar och Tor har anslutits. Standard: false

allmän

Parameter

Typ

Förklaring

titel

sträng

En valfri anpassad titel som visas på onion-tjänsten. Standard: null (”OnionShare” visas i stället)

offentlig

booleskt

Om onion-tjänsten kan öppnas utan privat nyckel för klientautentisering. Om värdet är true krävs ingen privat nyckel.

autostart_timer

booleskt

Om onion-tjänsten ska startas vid en viss tidpunkt. Tiden kan anges i datorprogrammet eller i sekunder med --auto-start-timer i kommandoradsverktyget. Standard: false

autostop_timer

booleskt

Om onion-tjänsten ska stoppas vid en viss tidpunkt. Tiden kan anges i datorprogrammet eller i sekunder med --auto-stop-timer i kommandoradsverktyget. Standard: false

service_id

sträng

onion-tjänstens 32 tecken långa adress, utan protokollschema 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 ska loggas till standardutdata när kommandoradsverktyget 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

max_upload_size

heltal

Maximum size in bytes of a single upload request (including multipart overhead). 0 means no limit. Default: 0

max_upload_size_total

booleskt

Whether max_upload_size applies to the service’s entire lifespan, refusing all further uploads once the total is reached. Default: false

total_upload_size

heltal

Running total of bytes received by the service, persisted so the lifespan limit survives restarts. Managed automatically; set it to 0 to reset the count. Default: 0

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 i stället för standardrubriken.

log_filenames

booleskt

Om URL-förfrågningar ska loggas till standardutdata när kommandoradsverktyget 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.