OnionShare’in Geliştirilmesi¶
Birlikte Çalışma¶
OnionShare, projeyi tartışmak, sorular sormak, fikirleri ve tasarımları paylaşmak ve gelecekteki geliştirmeler için planlar yapmak için açık bir Keybase ekibine sahiptir. (Ayrıca OnionShare adresleri gibi, OnionShare topluluğundaki diğer kişilere uçtan uca şifrelenmiş doğrudan mesajlar göndermenin kolay bir yoludur.) Keybase’i kullanmak için Keybase uygulamasını indirin, bir hesap oluşturun ve bu ekibe katılın. Uygulama içinde “Teams” bölümüne gidin, “Join a Team” düğmesine tıklayın ve “onionshare” yazın.
OnionShare ayrıca geliştiricilerin ve tasarımcıların projeyi tartışmaları için bir e-posta listesine sahiptir.
Kodlara Katkıda Bulunma¶
OnionShare kaynak kodları şu Git deposunda bulunabilir: https://github.com/onionshare/onionshare
OnionShare kodlarına katkıda bulunmak istiyorsanız, Keybase ekibine katılmanız ve üzerinde çalışmayı düşündüğünüz şeyler hakkında sorular sormanız yardımcı olacaktır. Ayrıca üzerinde çalışmak isteyebileceğiniz herhangi bir sorun olup olmadığını görmek için GitHub’daki tüm açık sorunları incelemelisiniz.
Kodlara katkıda bulunmaya hazır olduğunuzda GitHub deposunda bir çekme isteği açın, proje yöneticilerinden biri onu inceleyecek ve muhtemelen sorular soracak, değişiklikler isteyecek, reddedecek veya projeyle birleştirecektir.
Geliştirmeye Başlama¶
OnionShare Python ile geliştirilmektedir. Başlamak için https://github.com/onionshare/onionshare/ adresindeki Git deposunu klonlayın ve ardından komut satırı sürümü için geliştirme ortamınızı nasıl kuracağınızı öğrenmek için cli/README.md
dosyasına, grafiksel sürüm için geliştirme ortamınızı nasıl kuracağınızı öğrenmek için desktop/README.md
dosyasına bakın.
Bu dosyalar, platformunuz için bağımlılıkları kurmak ve kaynak ağacından OnionShare’i çalıştırmak için gerekli teknik talimatları ve komutları içerir.
Hata ayıklama ipuçları¶
Ayrıntılı mod¶
Geliştirme sırasında, OnionShare’i bir terminalden çalıştırmak ve komuta --verbose
(veya -v
) seçeneklerini eklemek faydalıdır. Bu, terminale birçok yararlı mesajlar, örneğin belirli nesneler başlatıldığında, olaylar gerçekleştiğinde (düğmeler tıklandı, ayarlar kaydedildi veya yeniden yüklendi gibi) ve diğer hata ayıklama bilgileri yazdırır. Örneğin:
$ $ poetry run onionshare-cli -v ~/Documents/roms/nes/Q-bert\ \(USA\).nes
╭───────────────────────────────────────────╮
│ * ▄▄█████▄▄ * │
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
│ * ▀██▄ ▄█▄▄ * │
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.4 │
│ │
│ 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
onionshare/common.py
içinden Common.log
yöntemini çalıştırarak kendi hata ayıklama mesajlarınızı ekleyebilirsiniz. Örneğin:
common.log('OnionShareGui', 'start_server', 'I ran here')
Bu, OnionShare kullanılırken meydana gelen olaylar zincirini veya belirli değişkenlerin değiştirilmeden önce ve sonra değerini öğrenirken faydalı olabilir.
Yalnızca Yerel¶
Tor yavaştır ve geliştirme sırasında onion hizmetlerini başlatmayı tamamen atlamak genellikle uygundur. Bunu --local-only
seçeneğiyle yapabilirsiniz. Örneğin:
$ poetry run onionshare-cli --local-only --receive
╭───────────────────────────────────────────╮
│ * ▄▄█████▄▄ * │
│ ▄████▀▀▀████▄ * │
│ ▀▀█▀ ▀██▄ │
│ * ▄█▄ ▀██▄ │
│ ▄█████▄ ███ -+- │
│ ███ ▀█████▀ │
│ ▀██▄ ▀█▀ │
│ * ▀██▄ ▄█▄▄ * │
│ * ▀████▄▄▄████▀ │
│ ▀▀█████▀▀ │
│ -+- * │
│ ▄▀▄ ▄▀▀ █ │
│ █ █ ▀ ▀▄ █ │
│ █ █ █▀▄ █ ▄▀▄ █▀▄ ▀▄ █▀▄ ▄▀▄ █▄▀ ▄█▄ │
│ ▀▄▀ █ █ █ ▀▄▀ █ █ ▄▄▀ █ █ ▀▄█ █ ▀▄▄ │
│ │
│ v2.4 │
│ │
│ 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
Bu durumda, http://127.0.0.1:17641
URL’sini Tor Browser kullanmak yerine Firefox gibi normal bir web tarayıcısında açarsınız. Yalnızca yerel modda özel anahtara gerçekten ihtiyaç duyulmaz, bu nedenle onu yok sayabilirsiniz.
Çevirilere Katkıda Bulunma¶
Hosted Weblate adresinde OnionShare’i çevirerek daha kolay kullanılmasına ve insanlar için daha bilindik ve kullanıcı dostu olmasına yardımcı olun. “OnionShare” sözcüğünü her zaman latin harflerinde tutun ve gerekirse “OnionShare (yerel adı)” kullanın.
Çeviriye yardımcı olmak için bir Hosted Weblate hesabı oluşturun ve katkıda bulunmaya başlayın.
Asıl İngilizce Dizgeler için Öneriler¶
Bazen asıl İngilizce dizgeler yanlıştır veya uygulama ile belgelendirme arasında uyumsuzluk vardır.
Weblate’teki yorumunuza @kingu ekleyerek veya bir GitHub sorunu veya çekme isteği açarak kaynağı dizgesi için iyileştirmeler önerin. İkinci seçenek, tüm proje geliştiricilerinin öneriyi görmesini sağlar ve dizge üzerinde olağan kod inceleme süreçleri aracılığıyla değişiklikler yapabilir.
Çevirilerin Durumu¶
Şu anki çeviri durumu aşağıdaki gibidir. Henüz başlamamış bir dilde çeviriye başlamak istiyorsanız lütfen e-posta listesine yazın: onionshare-dev@lists.riseup.net