OnionShare Geliştirilme Çalışmaları

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 ileti göndermenin kolay bir yoludur.) Keybase kullanmak için Keybase uygulamasını indirin, bir hesap oluşturun ve bu takıma 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 takımına 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 üzerindeki 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 kopyalayı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, görsel 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 uygulamasını çalıştırmak için gerekli teknik yönerge ve komutları içerir.

Hata ayıklama ipuçları

Ayrıntılı kip

Geliştirme sırasında, OnionShare uygulamasını bir uçbirimden çalıştırmak ve komuta --verbose (veya -v) seçeneklerini eklemek faydalıdır. Böylece uçbirimde birçok yararlı ileti görebilirsiniz. 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 görüntülenir. Örneğin:

$ 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

onionshare/common.py içinden Common.log yöntemini çalıştırarak kendi hata ayıklama iletilerinizi ekleyebilirsiniz. Örneğin:

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

Bu bilgiler, 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ız Yerel

Tor yavaştır ve geliştirme sırasında genellikle Onion hizmetlerini başlatmayı tamamen atlamak uygundur. Bunu --local-only seçeneğiyle yapabilirsiniz. Örneğin:

$ 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

Bu durumda, http://127.0.0.1:17641 adresini Tor Browser kullanmak yerine Firefox gibi normal bir web tarayıcısında açarsınız. Yalnız yerel kipte kişisel anahtara gerçekten gerek duyulmaz, bu nedenle onu yok sayabilirsiniz.

Çevirilere Katkıda Bulunma

Hosted Weblate adresinde OnionShare çevirilerini yaparak daha kolay kullanılmasına ve insanlar için daha bilindik ve kullanıcı dostu olmasına yardımcı olabilirsiniz. “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.

Özgün İngilizce Dizgeler için Öneriler

Bazen özgün İngilizce dizgeler yanlıştır veya uygulama ile belgelendirme arasında uyumsuzluk vardır.

Weblate üzerindeki 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

Güncel çeviri durumu aşağıdaki gibidir. Henüz çevrilmemiş 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