Utvikling av OnionShare¶
Samarbeid¶
OnionShare har et åpent Keybase-team for å diskutere prosjektet, stille spørsmål, dele ideer og design, og legge planer for fremtidig utvikling. (Det er også en enkel måte å sende end-to-end krypterte direktemeldinger til andre i OnionShare-fellesskapet, som OnionShare-adresser.) For å bruke Keybase, last ned Keybase-appen <https://keybase.io/download> _ , lag en konto, og bli med i dette teamet <https://keybase.io/team/onionshare> _. Gå til «Teams» i appen, klikk «Bli med i et team» og skriv «onionshare».
OnionShare har også en postliste <https://lists.riseup.net/www/subscribe/onionshare-dev> _ for utviklere og designere for å diskutere prosjektet.
Kodebidrag¶
OnionShare source code is to be found in this Git repository: https://github.com/onionshare/onionshare
If you’d like to contribute code to OnionShare, it helps to join the Keybase team and ask questions about what you’re thinking of working on. You should also review all of the open issues on GitHub to see if there are any you’d like to tackle.
Når du er klar til å bidra med kode, åpner du en pull-forespørsel i GitHub-depotet, og en av prosjektansvarlige vil gjennomgå den og muligens stille spørsmål, be om endringer, avvise den eller slå den sammen i prosjektet.
Utviklingsstart¶
OnionShare is developed in Python.
To get started, clone the Git repository at https://github.com/onionshare/onionshare/ and then consult the cli/README.md
file to learn how to set up your development environment for the command-line version, and the desktop/README.md
file to learn how to set up your development environment for the graphical version.
Disse filene inneholder de nødvendige tekniske instruksjonene og kommandoene for å installere avhengigheter for plattformen din, og for å kjøre OnionShare fra kildetreet.
Avlusningstips¶
Omfattende modus¶
Når du utvikler, er det praktisk å kjøre OnionShare fra en terminal og legge til `` –verbose ’’ (eller `` -v ’’) -flagget til kommandoen. Dette skriver ut mange nyttige meldinger til terminalen, for eksempel når visse objekter initialiseres, når hendelser inntreffer (som knapper som er klikket, innstillinger lagret eller lastet inn på nytt) og annen feilsøkingsinformasjon. For eksempel:
$ poetry run onionshare-cli -v ~/Documents/roms/nes/Q-bert\ \(USA\).nes
╭───────────────────────────────────────────╮
│ * ▄▄█████▄▄ * │
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
│ * ▀██▄ ▄█▄▄ * │
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.4.1 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
[Sep 09 2021 19:13:20] Settings.__init__
[Sep 09 2021 19:13:20] Settings.load
[Sep 09 2021 19:13:20] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=wordlist.txt
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
[Sep 09 2021 19:13:20] ModeSettings.load: creating /home/user/.config/onionshare/persistent/polish-pushpin-hydrated.json
[Sep 09 2021 19:13:20] ModeSettings.set: updating polish-pushpin-hydrated: general.title = None
[Sep 09 2021 19:13:20] ModeSettings.set: updating polish-pushpin-hydrated: general.public = False
[Sep 09 2021 19:13:20] ModeSettings.set: updating polish-pushpin-hydrated: general.autostart_timer = 0
[Sep 09 2021 19:13:20] ModeSettings.set: updating polish-pushpin-hydrated: general.autostop_timer = 0
[Sep 09 2021 19:13:20] ModeSettings.set: updating polish-pushpin-hydrated: share.autostop_sharing = True
[Sep 09 2021 19:13:20] Web.__init__: is_gui=False, mode=share
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=static
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=static, path=/home/user/code/onionshare/cli/onionshare_cli/resources/static
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=templates
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=templates, path=/home/user/code/onionshare/cli/onionshare_cli/resources/templates
[Sep 09 2021 19:13:20] Web.generate_static_url_path: new static_url_path is /static_gvvq2hplxhs2cekk665kagei6m
[Sep 09 2021 19:13:20] ShareModeWeb.init
[Sep 09 2021 19:13:20] Onion.__init__
[Sep 09 2021 19:13:20] Onion.connect
[Sep 09 2021 19:13:20] Settings.__init__
[Sep 09 2021 19:13:20] Settings.load
[Sep 09 2021 19:13:20] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[Sep 09 2021 19:13:20] Onion.connect: tor_data_directory_name=/home/user/.config/onionshare/tmp/tmpf3akiouy
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=torrc_template
[Sep 09 2021 19:13:20] Common.get_resource_path: filename=torrc_template, path=/home/user/code/onionshare/cli/onionshare_cli/resources/torrc_template
Connecting to the Tor network: 100% - Done
[Sep 09 2021 19:13:30] Onion.connect: Connected to tor 0.4.6.7
[Sep 09 2021 19:13:30] Settings.load
[Sep 09 2021 19:13:30] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[Sep 09 2021 19:13:30] OnionShare.__init__
[Sep 09 2021 19:13:30] OnionShare.start_onion_service
[Sep 09 2021 19:13:30] Onion.start_onion_service: port=17616
[Sep 09 2021 19:13:30] Onion.start_onion_service: key_type=NEW, key_content=ED25519-V3
[Sep 09 2021 19:13:35] ModeSettings.set: updating polish-pushpin-hydrated: general.service_id = vucwsdmjt7szoc6pel3puqoxobiepdsowmqaq7pm7dzhembtzr2capad
[Sep 09 2021 19:13:35] ModeSettings.set: updating polish-pushpin-hydrated: onion.private_key = +HfFALM4MtrNh59ibfMtRwDCIpfpWHIcNh3boahqrHh3TkLAyQvzKTm/y53KoYKSh0VU+m9DZY7DtZuCzkHkqQ==
[Sep 09 2021 19:13:35] ModeSettings.set: updating polish-pushpin-hydrated: onion.client_auth_priv_key = G24TSNLIJX7YZM6R7P24AIGRU4N56ZFL7ENZVIDIWUEWY66YS3EQ
[Sep 09 2021 19:13:35] ModeSettings.set: updating polish-pushpin-hydrated: onion.client_auth_pub_key = GDY2EPXSS7Q3ELQJFIX2VELTVZ3QEYIGWIZ26CEDQKZJ5Y7VKI3A
Compressing files.
[Sep 09 2021 19:13:35] ShareModeWeb.init
[Sep 09 2021 19:13:35] ShareModeWeb.set_file_info_custom
[Sep 09 2021 19:13:35] ShareModeWeb.build_zipfile_list
[Sep 09 2021 19:13:35] Web.start: port=17616
* Running on http://127.0.0.1:17616/ (Press CTRL+C to quit)
Give this address and private key to the recipient:
http://vucwsdmjt7szoc6pel3puqoxobiepdsowmqaq7pm7dzhembtzr2capad.onion
Private key: G24TSNLIJX7YZM6R7P24AIGRU4N56ZFL7ENZVIDIWUEWY66YS3EQ
Press Ctrl+C to stop the server
Du kan legge til dine egne feilsøkingsmeldinger ved å kjøre `` Common.log ’’ -metoden fra `` onionshare / common.py ’’. For eksempel:
common.log('OnionShareGui', 'start_server', 'I ran here')
Dette kan være nyttig når du lærer hendelseskjeden som oppstår når du bruker OnionShare, eller verdien av visse variabler før og etter at de blir manipulert.
Kun lokalt¶
Tor er treg, og det er ofte praktisk å hoppe over å starte onion tjenester helt under utvikling. Du kan gjøre dette med flagget `` - bare lokal ’’. For eksempel:
$ poetry run onionshare-cli --local-only --receive
╭───────────────────────────────────────────╮
│ * ▄▄█████▄▄ * │
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
│ * ▀██▄ ▄█▄▄ * │
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.4.1 │
│ │
│ https://onionshare.org/ │
╰───────────────────────────────────────────╯
* Running on http://127.0.0.1:17641/ (Press CTRL+C to quit)
Files sent to you appear in this folder: /home/user/OnionShare
Warning: Receive mode lets people upload files to your computer. Some files can potentially take control of your computer if you open them. Only open things from people you trust, or if you know what you are doing.
Give this address and private key to the sender:
http://127.0.0.1:17641
Private key: E2GOT5LTUTP3OAMRCRXO4GSH6VKJEUOXZQUC336SRKAHTTT5OVSA
Press Ctrl+C to stop the server
In this case, you load the URL http://127.0.0.1:17641
in a normal web-browser like Firefox, instead of using the Tor Browser. The private key is not actually needed in local-only mode, so you can ignore it.
Bidra med oversettelser¶
Hjelp med å gjøre OnionShare enklere å bruke og mer kjent og imøtekommende for folk ved å oversette den på Hosted Weblate <https://hosted.weblate.org/projects/onionshare/> _. Oppbevar alltid «OnionShare» med latinske bokstaver, og bruk «OnionShare (lokalt navn)» om nødvendig.
For å hjelpe deg med å oversette, lag en Hosted Weblate-konto og begynn å bidra.
Forslag til originale engelske strenger¶
Noen ganger er de originale engelske strengene feil, eller samsvarer ikke mellom applikasjonen og dokumentasjonen.
Filkildeforbedringer ved å legge til @kingu i Weblate-kommentaren, eller åpne et GitHub-problem eller forespørsel. Sistnevnte sikrer at alle oppstrøms utviklere ser forslaget, og potensielt kan endre strengen via de vanlige kodegjennomgangsprosessene.
Oversettelsesstatus¶
Her er gjeldende oversettelsesstatus. Hvis du vil starte en oversettelse på et språk som ikke er startet, kan du skrive til adresselisten: onionshare-dev@lists.riseup.net