Ανάπτυξη OnionShare

Συνεργασία

Το OnionShare έχει ένα κανάλι συζητήσεων στο Keybase για να μπορέσει ο καθένας να μιλήσει για αυτό, να υποβάλει ερωτήσεις, να μοιραστεί ιδέες και σχέδια και να κάνει μελλοντικά σχέδια πάνω σε αυτό. (Είναι επίσης ένας εύκολος τρόπος για την αποστολή κρυπτογραφημένων μηνυμάτων στην κοινότητα του OnionShare, όπως οι διευθύνσεις OnionShare.) Για να χρησιμοποιήσετε το Keybase, κατεβάστε την εφαρμογή Keybase , δημιουργήστε λογαριασμό και εγγραφείτε στην ομάδα. Μέσα στην εφαρμογή, μεταβείτε στην ενότητα «Ομάδες», κάντε κλικ στην επιλογή «Συμμετοχή σε ομάδα» και πληκτρολογήστε «onionshare».

Το OnionShare διαθέτει λίστα ηλεκτρονικού ταχυδρομίου για προγραμματιστές και σχεδιαστές με σκοό την ανταλλαγή απόψεων.

Συνεισφορά κώδικα

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.

Όταν είστε έτοιμοι να συνεισφέρετε κώδικα, ανοίξτε ένα αίτημα στο αποθετήριο του GitHub και ένας διαχειριστής του έργου θα το εξετάσει και πιθανώς θα υποβάλει ερωτήσεις, θα ζητήσει αλλαγές, θα τον απορρίψει ή θα τον συγχωνεύσει στο έργο.

Έναρξη ανάπτυξης

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.

Αυτά τα αρχεία περιέχουν τις απαραίτητες οδηγίες και εντολές για εγκατάσταση στην πλατφόρμα σας και την εκτέλεση του OnionShare από τον πηγαίο κώδικα.

Συμβουλές εντοπισμού σφαλμάτων

Κατάσταση προγραμματισμού

Όταν προγραμματίζεται, προτείνεται η εκτέλεση του OnionShare από τερματικό και τη χρήση εντολής με --verbose (or -v). Έτσι εμφανίζονται αρκετές πληροφορίες στο τερματικό όπως την επίδραση της εντολής στα διάφορα αντικείμενα, όπως τι σημβαίνει (κάνοντας κλικ στα κουμπιά, αποθήκευση ρυθμίσεων ή ανανέωση) και άλλων πληροφοριών. Για παράδειγμα:

$ poetry run onionshare-cli -v ~/Documents/roms/nes/Q-bert\ \(USA\).nes
╭───────────────────────────────────────────╮
│    *            ▄▄█████▄▄            *    │
│               ▄████▀▀▀████▄     *         │
│              ▀▀█▀       ▀██▄              │
│      *      ▄█▄          ▀██▄             │
│           ▄█████▄         ███        -+-  │
│             ███         ▀█████▀           │
│             ▀██▄          ▀█▀             │
│         *    ▀██▄       ▄█▄▄     *        │
│ *             ▀████▄▄▄████▀               │
│                 ▀▀█████▀▀                 │
│             -+-                     *     │
│   ▄▀▄               ▄▀▀ █                 │
│   █ █     ▀         ▀▄  █                 │
│   █ █ █▀▄ █ ▄▀▄ █▀▄  ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄   │
│   ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █   ▀▄▄   │
│                                           │
│                  v2.3.3                   │
│                                           │
│          https://onionshare.org/          │
╰───────────────────────────────────────────╯

[May 10 2021 18:24:02] Settings.__init__
[May 10 2021 18:24:02] Settings.load
[May 10 2021 18:24:02] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[May 10 2021 18:24:02] Common.get_resource_path: filename=wordlist.txt
[May 10 2021 18:24:02] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
[May 10 2021 18:24:02] ModeSettings.load: creating /home/user/.config/onionshare/persistent/tattered-handgun-stress.json
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.title = None
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.public = False
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.autostart_timer = 0
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.autostop_timer = 0
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.legacy = False
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: general.client_auth = False
[May 10 2021 18:24:02] ModeSettings.set: updating tattered-handgun-stress: share.autostop_sharing = True
[May 10 2021 18:24:02] Web.__init__: is_gui=False, mode=share
[May 10 2021 18:24:02] Common.get_resource_path: filename=static
[May 10 2021 18:24:02] Common.get_resource_path: filename=static, path=/home/user/code/onionshare/cli/onionshare_cli/resources/static
[May 10 2021 18:24:02] Common.get_resource_path: filename=templates
[May 10 2021 18:24:02] Common.get_resource_path: filename=templates, path=/home/user/code/onionshare/cli/onionshare_cli/resources/templates
[May 10 2021 18:24:02] Web.generate_static_url_path: new static_url_path is /static_4yxrx2mzi5uzkblklpzd46mwke
[May 10 2021 18:24:02] ShareModeWeb.init
[May 10 2021 18:24:02] Onion.__init__
[May 10 2021 18:24:02] Onion.connect
[May 10 2021 18:24:02] Settings.__init__
[May 10 2021 18:24:02] Settings.load
[May 10 2021 18:24:02] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[May 10 2021 18:24:02] Onion.connect: tor_data_directory_name=/home/user/.config/onionshare/tmp/tmpw6u0nz8l
[May 10 2021 18:24:02] Common.get_resource_path: filename=torrc_template
[May 10 2021 18:24:02] 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
[May 10 2021 18:24:10] Onion.connect: Connected to tor 0.4.5.7
[May 10 2021 18:24:10] Settings.load
[May 10 2021 18:24:10] Settings.load: Trying to load /home/user/.config/onionshare/onionshare.json
[May 10 2021 18:24:10] Web.generate_password: saved_password=None
[May 10 2021 18:24:10] Common.get_resource_path: filename=wordlist.txt
[May 10 2021 18:24:10] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
[May 10 2021 18:24:10] Web.generate_password: built random password: "tipping-colonize"
[May 10 2021 18:24:10] OnionShare.__init__
[May 10 2021 18:24:10] OnionShare.start_onion_service
[May 10 2021 18:24:10] Onion.start_onion_service: port=17645
[May 10 2021 18:24:10] Onion.start_onion_service: key_type=NEW, key_content=ED25519-V3
[May 10 2021 18:24:14] ModeSettings.set: updating tattered-handgun-stress: general.service_id = omxjamkys6diqxov7lxru2upromdprxjuq3czdhen6hrshzd4sll2iyd
[May 10 2021 18:24:14] ModeSettings.set: updating tattered-handgun-stress: onion.private_key = 6PhomJCjlWicmOyAAe0wnQoEM3vcyHBivrRGDy0hzm900fW5ITDJ6iv2+tluLoueYj81MhmnYeTOHDm8UGOfhg==
Compressing files.
[May 10 2021 18:24:14] ShareModeWeb.init
[May 10 2021 18:24:14] ShareModeWeb.set_file_info_custom
[May 10 2021 18:24:14] ShareModeWeb.build_zipfile_list
[May 10 2021 18:24:14] Web.start: port=17645
* Running on http://127.0.0.1:17645/ (Press CTRL+C to quit)

Give this address to the recipient:
http://onionshare:tipping-colonize@omxjamkys6diqxov7lxru2upromdprxjuq3czdhen6hrshzd4sll2iyd.onion

Press Ctrl+C to stop the server

Μπορείτε να προσθέσετε το δικό σας μήνυμα εντοπισμού σφάλματος με την εκτέλεση της μεθόδου Common.log από onionshare/common.py. Για παράδειγμα:

common.log('OnionShareGui', 'start_server', 'I ran here')

Αυτό είναι χρήσιμο όταν μαθένετ για την αλυσίδα των γεγονότων που συμβαίνουν κατά τη χρήση του OnionShare, ή την τιμή ορισμένων μεταβλητών πριν και μετά την επεξεργασία τους.

Μόνο τοπικά

Το Tor είναι αργό και είναι συχνά χρήσιμο να παραλείψετε την έναρξη των υπηρεσιών onion κατά τη διάρκεια της ανάπτυξης. Μπορείτε να το κάνετε αυτό προσθέτοντας το --local-only. Για παράδειγμα:

$ poetry run onionshare-cli --local-only --receive
╭───────────────────────────────────────────╮
│    *            ▄▄█████▄▄            *    │
│               ▄████▀▀▀████▄     *         │
│              ▀▀█▀       ▀██▄              │
│      *      ▄█▄          ▀██▄             │
│           ▄█████▄         ███        -+-  │
│             ███         ▀█████▀           │
│             ▀██▄          ▀█▀             │
│         *    ▀██▄       ▄█▄▄     *        │
│ *             ▀████▄▄▄████▀               │
│                 ▀▀█████▀▀                 │
│             -+-                     *     │
│   ▄▀▄               ▄▀▀ █                 │
│   █ █     ▀         ▀▄  █                 │
│   █ █ █▀▄ █ ▄▀▄ █▀▄  ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄   │
│   ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █   ▀▄▄   │
│                                           │
│                  v2.3.3                   │
│                                           │
│          https://onionshare.org/          │
╰───────────────────────────────────────────╯

* Running on http://127.0.0.1:17617/ (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 to the sender:
http://onionshare:ended-blah@127.0.0.1:17617

Press Ctrl+C to stop the server

Σε αυτή την περίπτωση, θα φορτώσει το URL http://onionshare:train-system@127.0.0.1:17635 σε κανονικό περιηγητή όπως το Firefox αντί του Tor Browser.

Συνεισφορά μεταφράσεων

Βοηθήστε το OnionShare να είναι ευκολότερο στη χρήση, πιο οικείο και φιλόξενο για τους χρήστες, μεταφράζοντάς το στο Hosted Weblate. Διατηρείτε πάντα το «OnionShare» με λατινικά γράμματα και χρησιμοποιήστε το «OnionShare (τοπικο όνομα)» εάν χρειάζεται.

Για να βοηθήσετε στη μετάφραση, δημιουργήστε ένα λογαριασμό στο Weblate και αρχίστε τη συνεισφορά σας.

Προτάσεις αυθεντικών Αγγλικών ορισμών

Κάποιες φορές οι πρωτότυποι Αγγλικοί ορισμοί είναι λάθος ή δεν συμφωνούν μεταξύ της εφαρμογής και της τεκμηρίωσης.

Για βελτιώσεις ορισμών του αρχείου προέλευσης, προσθέστε το @kingu στο σχόλιό σας στο Weblate ή ανοίξτε ένα ζήτημα στο GitHub. Έτσι διασφαλίζετε ότι όλοι οι προγραμματιστές θα δούν την πρόταση και μπορούν ενδεχομένως να προβούν σε τροποποίηση μέσω των συνήθων διαδικασιών ελέγχου κώδικα.

Κατάσταση μεταφράσεων

Εδώ είναι η τρέχουσα κατάσταση μετάφρασης. Εάν θέλετε να ξενικήσετε τη μετάφραση σε γλώσσα που δεν υπάρχει, παρακαλούμε επικοινωνήστε στο: onionshare-dev@lists.riseup.net

https://hosted.weblate.org/widgets/onionshare/-/translations/multi-auto.svg