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.
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.
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.
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
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 |
|
Versionen av OnionShare. Du borde aldrig behöva ändra detta värde. |
connection_type |
|
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 |
|
IP-adressen för Tors kontrollport, om |
control_port_port |
|
Portnumret för Tors kontrollport, om |
socks_address |
|
IP-adressen för Tors SOCKS-proxy, om |
socks_port |
|
Portnumret för Tors SOCKS-proxy, om |
socket_file_path |
|
Sökvägen till Tors socketfil, om |
auth_type |
|
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 |
|
Om åtkomst till Tors kontrollport kräver ett lösenord, och |
auto_connect |
|
Om OnionShare ska ansluta till Tor automatiskt när det startar. Standard: False |
use_autoupdate |
|
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 |
|
Senaste gången OnionShare sökte efter uppdateringar. Standard: None |
bridges_enabled |
|
Om man ska ansluta till Tor med hjälp av broar. Standard: False |
bridges_type |
|
När |
bridges_builtin_pt |
|
När |
bridges_moat |
|
När |
bridges_custom |
|
När |
bridges_builtin |
|
När |
persistent_tabs |
|
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 |
|
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 |
|
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 |
|
Base64-kodad privat nyckel för Onion-tjänsten |
client_auth_priv_key |
|
Den privata nyckeln vid användning av klientautentisering. Skicka detta till användaren. |
client_auth_pub_key |
|
Den offentliga nyckeln vid klientautentisering. Används på OnionShares sida. |
beständig
Parameter |
Typ |
Förklaring |
|---|---|---|
läge |
|
Läget som används av denna ihållande onion. Alternativen är ”dela”, ”ta emot”, ”webbplats” eller ”chatta”. |
aktiverad |
|
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 |
|
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 |
|
En valfri anpassad titel för visning på Onion-tjänsten. Standard: null (”OnionShare” visas istället) |
offentlig |
|
Om onion-tjänsten kan nås med eller utan en privat nyckel (klientautentisering). Om sant krävs ingen privat nyckel. |
autostart_timer |
|
Om onion-tjänsten är konfigurerad att starta vid en specifik tidpunkt. Tiden kan ställas in i skrivbordsappen eller anges i sekunder med |
autostop_timer |
|
Om Onion-tjänsten är konfigurerad att stoppa vid en specifik tidpunkt. Tiden kan ställas in i skrivbordsappen eller anges i sekunder med |
service_id |
|
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.
ta emot
Parameter |
Typ |
Förklaring |
|---|---|---|
data_dir |
|
Sökvägen där mottagna filer eller textmeddelanden lagras. Standard: mappen ’OnionShare’ i användarens hemkatalog. |
webhook_url |
|
En webhook-URL som OnionShare skickar till när den tar emot filer eller textmeddelanden. Standard: null |
disable_text |
|
Om mottagande av textmeddelanden ska inaktiveras. Standard: falskt |
disable_files |
|
Om mottagning av filer ska inaktiveras. Standard: false |
webbplats
Parameter |
Typ |
Förklaring |
|---|---|---|
disable_csp |
|
Om den är inställd på |
custom_csp |
|
En anpassad rubrik för innehållssäkerhetspolicy att skicka istället för standardrubriken. |
log_filenames |
|
Om URL-förfrågningar till stdout ska loggas när CLI-verktyget används. Standard: false |
filnamn |
|
En lista över filer att dela. Standard: [] |
chatt
Det finns för närvarande inga konfigurerbara inställningar för chattläget.