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/micahflee/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/micahflee/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
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

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
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

Bu durumda, http://onionshare:train-system@127.0.0.1:17635 URL’sini Tor Browser kullanmak yerine Firefox gibi normal bir web tarayıcısında açarsınız.

Ç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

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