Ανάπτυξη OnionShare¶
Συνεργασία¶
Το OnionShare έχει μια ανοιχτή πιστοποιημένη (Keybase) ομάδα για να συζητά το έργο, να υποβάλει ερωτήσεις, να μοιραστεί ιδέες και σχέδια και να κάνει σχέδια για μελλοντική ανάπτυξη. (Είναι επίσης ένας εύκολος τρόπος για την αποστολή κρυπτογραφημένων μηνυμάτων στην κοινότητα του OnionShare, όπως οι διευθύνσεις OnionShare.) Για να χρησιμοποιήσετε το Keybase, κατεβάστε την εφαρμογή Keybase , δημιουργήστε λογαριασμό και εγγραφείτε στην ομάδα. Μέσα στην εφαρμογή, μεταβείτε στην ενότητα «Ομάδες», κάντε κλικ στην επιλογή «Συμμετοχή σε ομάδα» και πληκτρολογήστε το «onionshare».
Το OnionShare διαθέτει λίστα email για προγραμματιστές και σχεδιαστές με σκοό την ανταλλαγή απόψεων.
Συνεισφορά κώδικα¶
Ο πηγαίος κώδικας του OnionShare βρίσκεται στο αποθετήριο Git: https://github.com/micahflee/onionshare
Εάν θέλετε να συνεισφέρετε με κώδικα στο OnionShare, θα πρέπει να εγγραφείτε στην ομάδα του Keybase για την υποβολή σχετικών ερωτήσεων. Θα πρέπει επίσης να έχετε διαβάσει όλα τα ανοιχτά ζητήματα στο GitHub για να δείτε αν υπάρχουν κάποια που θέλετε να συμμετέχετε.
Όταν είστε έτοιμοι να συνεισφέρετε κώδικα, ανοίξτε ένα αίτημα στο αποθετήριο του GitHub και ένας διαχειριστής του έργου θα το εξετάσει και πιθανώς θα υποβάλει ερωτήσεις, θα ζητήσει αλλαγές, θα τον απορρίψει ή θα τον συγχωνεύσει στο έργο.
Έναρξη ανάπτυξης¶
Το OnionShare αναπτύσετε με το Python. Για να ξεκινήσετε, αντιγράψτε το αποθετήριο από https://github.com/micahflee/onionshare/ και συμβουλευτείτε το αρχείο cli/README.md
για να μάθετε περισσότερα για τη ρύθμιση της έκδοσης περιβάλλοντος γραμμής εντολών και του αρχείου desktop/README.md
για την έκδοση γραφικού περιβάλλοντος.
Αυτά τα αρχεία περιέχουν τις απαραίτητες οδηγίες και εντολές για εγκατάσταση στην πλατφόρμα σας και την εκτέλεση του OnionShare από τον πηγαίο κώδικα.
Συμβουλές εντοπισμού σφαλμάτων¶
Κατάσταση προγραμματισμού¶
Όταν προγραμματίζεται, προτείνεται η εκτέλεση του OnionShare από τερματικό και τη χρήση εντολής με --verbose
(or -v
). Έτσι εμφανίζονται αρκετές πληροφορίες στο τερματικό όπως την επίδραση της εντολής στα διάφορα αντικείμενα, όπως τι σημβαίνει (κάνοντας κλικ στα κουμπιά, αποθήκευση ρυθμίσεων ή ανανέωση) και άλλων πληροφοριών. Για παράδειγμα:
$ poetry run onionshare-cli -v ~/Documents/roms/nes/Q-bert\ \(USA\).nes
OnionShare 2.3 | https://onionshare.org/
@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ___ _
@@@@@@ @@@@@@@@@@@@@ / _ \ (_)
@@@@ @ @@@@@@@@@@@ | | | |_ __ _ ___ _ __
@@@@@@@@ @@@@@@@@@@ | | | | '_ \| |/ _ \| '_ \
@@@@@@@@@@@@ @@@@@@@@@@ \ \_/ / | | | | (_) | | | |
@@@@@@@@@@@@@@@@ @@@@@@@@@ \___/|_| |_|_|\___/|_| |_|
@@@@@@@@@ @@@@@@@@@@@@@@@@ _____ _
@@@@@@@@@@ @@@@@@@@@@@@ / ___| |
@@@@@@@@@@ @@@@@@@@ \ `--.| |__ __ _ _ __ ___
@@@@@@@@@@@ @ @@@@ `--. \ '_ \ / _` | '__/ _ \
@@@@@@@@@@@@@ @@@@@@ /\__/ / | | | (_| | | | __/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \____/|_| |_|\__,_|_| \___|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@
[Nov 10 2020 20:50:35] Settings.__init__
[Nov 10 2020 20:50:35] Settings.load
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=wordlist.txt
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
[Nov 10 2020 20:50:35] ModeSettings.load: creating /home/user/.config/onionshare/persistent/abstain-reprogram-elevate.json
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: general.public = False
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: general.autostart_timer = 0
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: general.autostop_timer = 0
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: general.legacy = False
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: general.client_auth = False
[Nov 10 2020 20:50:35] ModeSettings.set: updating abstain-reprogram-elevate: share.autostop_sharing = True
[Nov 10 2020 20:50:35] Web.__init__: is_gui=False, mode=share
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=static
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=static, path=/home/user/code/onionshare/cli/onionshare_cli/resources/static
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=templates
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=templates, path=/home/user/code/onionshare/cli/onionshare_cli/resources/templates
[Nov 10 2020 20:50:35] Web.generate_static_url_path: new static_url_path is /static_qa7rlyxwnfodczrriv3tj5yeoq
[Nov 10 2020 20:50:35] ShareModeWeb.init
[Nov 10 2020 20:50:35] Onion.__init__
[Nov 10 2020 20:50:35] Onion.connect
[Nov 10 2020 20:50:35] Settings.__init__
[Nov 10 2020 20:50:35] Settings.load
[Nov 10 2020 20:50:35] Onion.connect: tor_data_directory_name=/home/user/.config/onionshare/tmp/tmpz53ztq3m
[Nov 10 2020 20:50:35] Common.get_resource_path: filename=torrc_template
[Nov 10 2020 20:50:35] 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
[Nov 10 2020 20:50:42] Onion.connect: Connected to tor 0.4.4.5
[Nov 10 2020 20:50:42] Settings.load
[Nov 10 2020 20:50:42] Web.generate_password: saved_password=None
[Nov 10 2020 20:50:42] Common.get_resource_path: filename=wordlist.txt
[Nov 10 2020 20:50:42] Common.get_resource_path: filename=wordlist.txt, path=/home/user/code/onionshare/cli/onionshare_cli/resources/wordlist.txt
[Nov 10 2020 20:50:42] Web.generate_password: built random password: "pedometer-grower"
[Nov 10 2020 20:50:42] OnionShare.__init__
[Nov 10 2020 20:50:42] OnionShare.start_onion_service
[Nov 10 2020 20:50:42] Onion.start_onion_service: port=17610
[Nov 10 2020 20:50:42] Onion.start_onion_service: key_type=NEW, key_content=ED25519-V3
[Nov 10 2020 20:50:46] ModeSettings.set: updating abstain-reprogram-elevate: general.service_id = x5duatuhpiwfzb23iwpjanalvtxdhoj43ria44s53ryy5diywvbu24ad
[Nov 10 2020 20:50:46] ModeSettings.set: updating abstain-reprogram-elevate: onion.private_key = uIXJzY+88tGSAXAjQxdwkzb2L7jHv467RIX1WDieVkFEZjEA7st2p/6uVCM4KM3L9PdShTPScuUv2IEbVQammA==
Compressing files.
[Nov 10 2020 20:50:46] ShareModeWeb.init
[Nov 10 2020 20:50:46] ShareModeWeb.set_file_info_custom
[Nov 10 2020 20:50:46] ShareModeWeb.build_zipfile_list
[Nov 10 2020 20:50:46] Web.start: port=17610
* Running on http://127.0.0.1:17610/ (Press CTRL+C to quit)
Give this address to the recipient:
http://onionshare:pedometer-grower@x5duatuhpiwfzb23iwpjanalvtxdhoj43ria44s53ryy5diywvbu24ad.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
OnionShare 2.3 | https://onionshare.org/
@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ___ _
@@@@@@ @@@@@@@@@@@@@ / _ \ (_)
@@@@ @ @@@@@@@@@@@ | | | |_ __ _ ___ _ __
@@@@@@@@ @@@@@@@@@@ | | | | '_ \| |/ _ \| '_ \
@@@@@@@@@@@@ @@@@@@@@@@ \ \_/ / | | | | (_) | | | |
@@@@@@@@@@@@@@@@ @@@@@@@@@ \___/|_| |_|_|\___/|_| |_|
@@@@@@@@@ @@@@@@@@@@@@@@@@ _____ _
@@@@@@@@@@ @@@@@@@@@@@@ / ___| |
@@@@@@@@@@ @@@@@@@@ \ `--.| |__ __ _ _ __ ___
@@@@@@@@@@@ @ @@@@ `--. \ '_ \ / _` | '__/ _ \
@@@@@@@@@@@@@ @@@@@@ /\__/ / | | | (_| | | | __/
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ \____/|_| |_|\__,_|_| \___|
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@
@@@@@@@@@
* Running on http://127.0.0.1:17635/ (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:train-system@127.0.0.1:17635
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