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.
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.
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
--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
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 när |
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 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 |
|
Base64-kodad privat nyckel för onion-tjänsten |
client_auth_priv_key |
|
Den privata nyckeln vid klientautentisering. Skicka den 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 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 |
|
En valfri anpassad titel som visas på onion-tjänsten. Standard: null (”OnionShare” visas i stället) |
offentlig |
|
Om onion-tjänsten kan öppnas utan privat nyckel för klientautentisering. Om värdet är true krävs ingen privat nyckel. |
autostart_timer |
|
Om onion-tjänsten ska startas vid en viss tidpunkt. Tiden kan anges i datorprogrammet eller i sekunder med |
autostop_timer |
|
Om onion-tjänsten ska stoppas vid en viss tidpunkt. Tiden kan anges i datorprogrammet eller i sekunder med |
service_id |
|
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.
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 |
max_upload_size |
|
Maximum size in bytes of a single upload request (including multipart overhead). 0 means no limit. Default: 0 |
max_upload_size_total |
|
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 |
|
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 |
|
Om den är inställd på |
custom_csp |
|
En anpassad rubrik för innehållssäkerhetspolicy att skicka i stället för standardrubriken. |
log_filenames |
|
Om URL-förfrågningar ska loggas till standardutdata när kommandoradsverktyget 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.