Avancerad användning

Spara flikar

Om du stänger OnionShare-flikar för tjänster som du själv kör tas flikarna bort och kan inte återanvändas. Webbplatser i permanenta flikar är tillgängliga på samma adress även om datorn de delas från startas om.

Gör en flik permanent genom att markera rutan ”Öppna alltid den här fliken när OnionShare startas” innan du startar servern.

_images/advanced-save-tabs.png

När du öppnar OnionShare öppnas också dina sparade flikar från föregående session. Du kan sedan starta varje tjänst manuellt. Tjänsten är tillgänglig på samma OnionShare-adress och skyddas av samma privata nyckel som tidigare.

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

Inaktivera privat nyckel

Som standard skyddas alla OnionShare-tjänster med en privat nyckel. Tor kallar detta ”klientautentisering”.

Tor Browser ber dig ange den privata nyckeln när du öppnar en OnionShare-tjänst. Om du vill att tjänsten ska kunna användas av allmänheten är det bättre att inaktivera den privata nyckeln helt.

Om du vill inaktivera den privata nyckeln för en flik markerar du rutan ”Detta är en offentlig OnionShare-tjänst (inaktiverar den privata nyckeln)” innan du startar servern. Servern blir då offentlig och ingen privat nyckel behövs för att öppna den i Tor Browser.

Anpassade titlar

När någon öppnar en OnionShare-tjänst i Tor Browser visas standardtiteln för den typen av tjänst. Standardtiteln för chattjänster är till exempel ”OnionShare-chatt”.

Du kan ändra titeln genom att redigera inställningen ”Anpassad titel” innan du startar servern.

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.

För tjänster som är schemalagda att starta senare visas en nedräkning när du klickar på knappen ”Starta delning”. För tjänster som är schemalagda att stoppas senare visas en nedräkning när de startas.

Att schemalägga en OnionShare-tjänst för automatisk start kan fungera som en dödmansbrytare. Det innebär att din tjänst blir offentlig vid en bestämd tidpunkt i framtiden om du inte är där och förhindrar det. Om inget händer dig kan du avbryta den schemalagda starten innan tjänsten startar.

_images/advanced-schedule-start-timer.png

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

_images/advanced-schedule-stop-timer.png

Kommandoradsgränssnitt

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

Installera kommandoradsversionen

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

Du kan också installera enbart kommandoradsversionen av OnionShare med pip3:

pip3 install --user onionshare-cli

Observera att även paketet tor måste vara installerat. På macOS installerar du det med: brew install tor

Kör den sedan så här:

onionshare-cli --help

Information om installation på olika operativsystem finns i README-filen för kommandoradsversionen i Git-arkivet.

Köra kommandoradsversionen från Snap

Om du installerade OnionShare med Snap-paketet kan du starta kommandoradsversionen genom att köra onionshare.cli.

Köra kommandoradsversionen på macOS

I Terminal kan du köra /Applications/OnionShare.app/Contents/MacOS/onionshare-cli --help

Köra kommandoradsversionen på Windows

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

Användning

Visa dokumentationen för kommandoradsversionen 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 kommandoradsversionen med en systemd-enhetsfil

Du kan starta kommandoradsversionen av OnionShare automatiskt med hjälp av en systemd-enhetsfil.

Detta kan vara särskilt användbart om du använder permanent läge och vill starta samma onion-tjänst varje gång datorn startar.

För att göra det behöver du först förbereda några JSON-inställningar för OnionShare.

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

{
  "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”. Nu skapar vi en fil med sökvägen /home/user/.config/onionshare/persistent/my-persistent-onion.json och följande innehåll:

{
  "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 eller dessa värden för service_id och client_auth! De är bara exempel. Dela aldrig private_key med någon.

Det enklaste sättet att skapa onion-adressen och den privata nyckeln är att fästa en OnionShare-flik i skrivbordsprogrammet och starta delningen en första gång. Inställningarna för den permanenta fliken 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 sparade filen i systemd-enhetsfilen nedan.

Nu kan du skapa en systemd-enhetsfil i /etc/systemd/system/onionshare-cli.service. Anpassa User och Group till din egen användare och grupp. Anpassa också sökvägarna till den körbara filen onionshare-cli, dina JSON-konfigurationer och dina 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 du fortfarande måste ange /home/user/my-shared-file.txt som argument till kommandot onionshare-cli, även om filen redan har angetts i avsnittet filenames i my-persistent-onion.json.

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. Då bör du se utskrifter som visar att tjänsten 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 användarna ska behöva en privat nyckel ställer du in public på true i avsnittet general i filen my-persistent-onion.json.

Kortkommandon

OnionShares skrivbordsprogram innehåller kortkommandon för enklare användning och bättre tillgänglighet:

Ctrl T - New Tab
Ctrl X - Closes current tab

På huvudskärmen där du väljer läge finns också följande kortkommandon:

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

Flytta dina OnionShare-data till en annan dator

När du byter dator kan du vilja flytta dina OnionShare-data till den nya datorn. Det är särskilt viktigt om du har en permanent onion-adress som du vill behålla.

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

Parametrar i konfigurationsfilen

OnionShare lagrar sina inställningar i en JSON-fil. Både kommandoradsversionen och skrivbordsversionen använder den här konfigurationsfilen. I kommandoradsversionen kan du även ange sökvägen till en egen konfigurationsfil med --config.

Nedan beskrivs konfigurationsfilens parametrar. Om din konfigurationsfil innehåller andra parametrar än de som listas här kan de vara föråldrade och finnas kvar från äldre versioner av OnionShare.

Parameter

Typ

Förklaring

version

string

Versionen av OnionShare. Du ska aldrig behöva ändra det här värdet.

connection_type

string

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

control_port_address

string

IP-adressen för Tors kontrollport när connection_type är inställt på ’control_port’. Standard: ’127.0.0.1’

control_port_port

integer

Portnumret för Tors kontrollport när connection_type är inställt på ’control_port’. Standard: ’9051’

socks_address

string

IP-adressen för Tors SOCKS-proxy när connection_type är inställt på ’control_port’ eller ’socket_file’. Standard: ’127.0.0.1’

socks_port

integer

Portnumret för Tors SOCKS-proxy när connection_type är inställt på ’control_port’ eller ’socket_file’. Standard: ’9050’

socket_file_path

string

Sökvägen till Tors socketfil när connection_type är inställt på ’socket_file’. Standard: ’/var/run/tor/control’

auth_type

string

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

string

Om åtkomst till Tors kontrollport kräver ett lösenord och auth_type är inställt på ’password’ anger du lösenordet här. Standard: ’’

auto_connect

boolean

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

use_autoupdate

boolean

Om OnionShare ska söka efter uppdateringar automatiskt (via Tor). Inställningen gäller endast för installationer på macOS eller Windows. Standard: True.

autoupdate_timestamp

integer

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

bridges_enabled

boolean

Om OnionShare ska ansluta till Tor via broar. Standard: False

bridges_type

string

Varifrån broar ska hämtas när bridges_enabled är True. Alternativen är ”built-in” (broar som följer med OnionShare och kan uppdateras från Tor), ”moat” (begär broar från Tors Moat-API) eller ”custom” (broar som användaren anger). Standard: ”built-in”

bridges_builtin_pt

string

Vilken typ av broprotokoll som ska användas när bridges_type är inställt på ”built-in”. Alternativen är ”obfs4”, ”meek” eller ”snowflake”. Standard: ”obfs4”

bridges_moat

string

Här lagras broarna som hämtas från Tors Moat-API när bridges_type är inställt på ”moat”. Standard: ””

bridges_custom

string

Här lagras broarna som användaren anger när bridges_type är inställt på ”custom”. Separera broraderna i strängen med ’n’. Standard: ””

bridges_builtin

dict

När bridges_type är inställt på ”built-in” hämtar OnionShare de senaste inbyggda broarna som rekommenderas av Tor och lagrar dem här. Standard: {}

persistent_tabs

list

Om användaren har sparat flikar (så att de finns kvar varje gång OnionShare startas och behåller samma onion-adress) får varje flik en slumpmässig identifierare som listas här. Den permanenta onion-tjänsten lagras i en JSON-fil med samma namn som identifieraren, i undermappen ’persistent’ i OnionShares konfigurationsmapp. Standard: []

locale

string

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

theme

boolean

Temat för OnionShares skrivbordsprogram. Giltiga alternativ är 0 (identifiera automatiskt om användarens dator använder ett ljust eller mörkt tema), 1 (ljust) eller 2 (mörkt).

Parametrar i konfigurationsfiler för permanenta onion-tjänster

Som beskrivs ovan har varje permanent 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 JSON-konfiguration för en permanent onion-tjänst:

{
  "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 beskrivs parametrarna i konfigurationsfilen för en permanent onion-tjänst, uppdelade efter avsnitt i JSON-filen

onion

Parameter

Typ

Förklaring

private_key

string

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

client_auth_priv_key

string

Den privata nyckeln vid klientautentisering. Skicka den till användaren.

client_auth_pub_key

string

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

persistent

Parameter

Typ

Förklaring

mode

string

Läget för den permanenta onion-tjänsten. Alternativen är ”share”, ”receive”, ”website” eller ”chat”.

enabled

boolean

Om onion-tjänsten sparas permanent. Om du avmarkerar alternativet för detta i skrivbordsprogrammet tas hela den här JSON-filen bort. Standard: true

autostart_on_launch

boolean

Om den permanenta onion-tjänsten ska startas automatiskt när OnionShare startar och Tor har anslutits. Standard: false

general

Parameter

Typ

Förklaring

title

string

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

public

boolean

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

autostart_timer

boolean

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

autostop_timer

boolean

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

service_id

string

Onion-tjänstens 32 tecken långa webbadress, utan protokollschema och utan suffixet ’.onion’.

Inställningarna nedan är specifika för det värde på ’mode’ som anges i avsnittet persistent ovan.

share

Parameter

Typ

Förklaring

autostop_sharing

boolean

Om delningen ska stoppas automatiskt när filerna har hämtats för första gången. Standard: true

filenames

list

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

log_filenames

boolean

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

receive

Parameter

Typ

Förklaring

data_dir

string

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

webhook_url

string

En webbadress för en webhook dit OnionShare skickar POST-förfrågningar när programmet tar emot filer eller textmeddelanden. Standard: null

disable_text

boolean

Om mottagning av textmeddelanden ska inaktiveras. Standard: false

disable_files

boolean

Om mottagning av filer ska inaktiveras. Standard: false

max_upload_size

integer

Maximal storlek i byte för en enskild uppladdningsförfrågan (inklusive multipart-formatets extra data). 0 betyder obegränsad storlek. Standard: 0

max_upload_size_total

boolean

Om max_upload_size ska gälla under tjänstens hela livstid, så att alla ytterligare uppladdningar nekas när den sammanlagda gränsen har nåtts. Standard: false

total_upload_size

integer

Det sammanlagda antalet byte som tjänsten har tagit emot. Värdet sparas så att gränsen för tjänstens hela livstid fortsätter att gälla efter omstarter. Värdet hanteras automatiskt. Ställ in det på 0 för att nollställa räknaren. Standard: 0

website

Parameter

Typ

Förklaring

disable_csp

boolean

Om värdet är true anger OnionShare inte sin vanliga HTTP-rubrik för Content Security Policy för webbplatsen. Standard: false

custom_csp

string

En anpassad HTTP-rubrik för Content Security Policy som ska skickas i stället för den vanliga.

log_filenames

boolean

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

filenames

list

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

chat

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