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.
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.
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.
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
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 |
|
Versionen av OnionShare. Du ska aldrig behöva ändra det här värdet. |
connection_type |
|
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 |
|
IP-adressen för Tors kontrollport när |
control_port_port |
|
Portnumret för Tors kontrollport när |
socks_address |
|
IP-adressen för Tors SOCKS-proxy när |
socks_port |
|
Portnumret för Tors SOCKS-proxy när |
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). Inställningen gäller endast för installationer på macOS eller Windows. Standard: True. |
autoupdate_timestamp |
|
Senaste gången OnionShare sökte efter uppdateringar. Standard: None |
bridges_enabled |
|
Om OnionShare ska ansluta till Tor via broar. Standard: False |
bridges_type |
|
Varifrån broar ska hämtas när |
bridges_builtin_pt |
|
Vilken typ av broprotokoll som ska användas när |
bridges_moat |
|
Här lagras broarna som hämtas från Tors Moat-API när |
bridges_custom |
|
Här lagras broarna som användaren anger när |
bridges_builtin |
|
När |
persistent_tabs |
|
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 |
|
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 |
|
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 |
|
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 publika nyckeln vid klientautentisering. Används på OnionShares sida. |
persistent
Parameter |
Typ |
Förklaring |
|---|---|---|
mode |
|
Läget för den permanenta onion-tjänsten. Alternativen är ”share”, ”receive”, ”website” eller ”chat”. |
enabled |
|
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 |
|
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 |
|
En valfri anpassad titel som visas på onion-tjänsten. Standard: null (”OnionShare” visas i stället) |
public |
|
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 skrivbordsprogrammet eller i sekunder med |
autostop_timer |
|
Om onion-tjänsten ska stoppas vid en viss tidpunkt. Tiden kan anges i skrivbordsprogrammet eller i sekunder med |
service_id |
|
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.
receive
Parameter |
Typ |
Förklaring |
|---|---|---|
data_dir |
|
Sökvägen där mottagna filer eller textmeddelanden lagras. Standard: mappen ’OnionShare’ i användarens hemmapp. |
webhook_url |
|
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 |
|
Om mottagning av textmeddelanden ska inaktiveras. Standard: false |
disable_files |
|
Om mottagning av filer ska inaktiveras. Standard: false |
max_upload_size |
|
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 |
|
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 |
|
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 |
|
Om värdet är |
custom_csp |
|
En anpassad HTTP-rubrik för Content Security Policy som ska skickas i stället för den vanliga. |
log_filenames |
|
Om URL-förfrågningar ska loggas till standardutdata när kommandoradsverktyget används. Standard: false |
filenames |
|
En lista över filer att dela. Standard: [] |
chat
Det finns för närvarande inga konfigurerbara inställningar för chattläget.