Ανάπτυξη OnionShare
Συνεργασία
Το OnionShare έχει ένα κανάλι συζητήσεων στο Keybase για να μπορέσει ο καθένας να μιλήσει για αυτό, να υποβάλει ερωτήσεις, να μοιραστεί ιδέες και σχέδια και να κάνει μελλοντικά σχέδια πάνω σε αυτό. (Είναι επίσης ένας εύκολος τρόπος για την αποστολή κρυπτογραφημένων μηνυμάτων στην κοινότητα του OnionShare, όπως οι διευθύνσεις OnionShare.) Για να χρησιμοποιήσετε το Keybase, κατεβάστε την εφαρμογή Keybase , δημιουργήστε λογαριασμό και εγγραφείτε στην ομάδα. Μέσα στην εφαρμογή, μεταβείτε στην ενότητα «Ομάδες», κάντε κλικ στην επιλογή «Συμμετοχή σε ομάδα» και πληκτρολογήστε «onionshare».
Το OnionShare διαθέτει λίστα ηλεκτρονικού ταχυδρομίου για προγραμματιστές και σχεδιαστές με σκοό την ανταλλαγή απόψεων.
Συνεισφορά κώδικα
Ο πηγαίος κώδικας του OnionShare βρίσκεται στο αποθετήριο Git: https://github.com/onionshare/onionshare
Εάν θέλετε να συνεισφέρετε με κώδικα στο OnionShare, θα πρέπει να εγγραφείτε στην ομάδα του Keybase και να υποβάλετε ερωτήσεις σχετικά με τις ιδέες σας. Θα πρέπει επίσης να έχετε διαβάσει τα ανοιχτά ζητήματα στο GitHub για να δείτε αν υπάρχουν κάποια που θέλετε να συμμετέχετε.
Όταν είστε έτοιμοι να συνεισφέρετε κώδικα, ανοίξτε ένα αίτημα στο αποθετήριο του GitHub και ένας διαχειριστής του έργου θα το εξετάσει και πιθανώς θα υποβάλει ερωτήσεις, θα ζητήσει αλλαγές, θα τον απορρίψει ή θα τον συγχωνεύσει στο έργο.
Έναρξη ανάπτυξης
Το OnionShare αναπτύσσεται με την Python. Για να ξεκινήσετε, κλωνοποιήστε το αποθετήριο Git στη διεύθυνση https://github.com/onionshare/onionshare/ και στη συνέχεια συμβουλευτείτε το αρχείο cli/README.md
για να μάθετε πώς να ρυθμίσετε το περιβάλλον ανάπτυξής σας, για την έκδοση γραμμής εντολών και το αρχείο desktop/README.md
για να μάθετε πώς να ρυθμίσετε το περιβάλλον ανάπτυξής σας για την έκδοση γραφικών.
Αυτά τα αρχεία περιέχουν τις απαραίτητες οδηγίες και εντολές για εγκατάσταση στην πλατφόρμα σας και την εκτέλεση του OnionShare από τον πηγαίο κώδικα.
Συμβουλές εντοπισμού σφαλμάτων
Κατάσταση προγραμματισμού
Όταν προγραμματίζεται, προτείνεται η εκτέλεση του OnionShare από τερματικό και τη χρήση εντολής με --verbose
(or -v
). Έτσι εμφανίζονται αρκετές πληροφορίες στο τερματικό όπως την επίδραση της εντολής στα διάφορα αντικείμενα, όπως τι σημβαίνει (κάνοντας κλικ στα κουμπιά, αποθήκευση ρυθμίσεων ή ανανέωση) και άλλων πληροφοριών. Για παράδειγμα:
$ 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
Μπορείτε να προσθέσετε το δικό σας μήνυμα εντοπισμού σφάλματος με την εκτέλεση της μεθόδου 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.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
Σε αυτή την περίπτωση, θα φορτωθεί η URL http://127.0.0.1:17641
σε κανονικό περιηγητή όπως το Firefox, αντί του Tor Browser. Το ιδιωτικό κλειδί δεν χρειάζεται στην κατάσταση τοπικής λειτουργίας, οπότε μπορείτε να το αγνοήσετε.
Συνεισφορά μεταφράσεων
Βοηθήστε το OnionShare να είναι ευκολότερο στη χρήση, πιο οικείο και φιλόξενο για τους χρήστες, μεταφράζοντάς το στο Hosted Weblate. Διατηρείτε πάντα το «OnionShare» με λατινικά γράμματα και χρησιμοποιήστε το «OnionShare (τοπικο όνομα)» εάν χρειάζεται.
Για να βοηθήσετε στη μετάφραση, δημιουργήστε ένα λογαριασμό στο Weblate και αρχίστε τη συνεισφορά σας.
Προτάσεις αυθεντικών Αγγλικών ορισμών
Κάποιες φορές οι πρωτότυποι Αγγλικοί ορισμοί είναι λάθος ή δεν συμφωνούν μεταξύ της εφαρμογής και της τεκμηρίωσης.
Για βελτιώσεις ορισμών του αρχείου προέλευσης, προσθέστε το @kingu στο σχόλιό σας στο Weblate ή ανοίξτε ένα ζήτημα στο GitHub. Έτσι διασφαλίζετε ότι όλοι οι προγραμματιστές θα δούν την πρόταση και μπορούν ενδεχομένως να προβούν σε τροποποίηση μέσω των συνήθων διαδικασιών ελέγχου κώδικα.
Κατάσταση μεταφράσεων
Εδώ είναι η τρέχουσα κατάσταση μετάφρασης. Εάν θέλετε να ξενικήσετε τη μετάφραση σε γλώσσα που δεν υπάρχει, παρακαλούμε επικοινωνήστε στο: onionshare-dev@lists.riseup.net