Monero Dugumu (Qubes-Whonix)

This page has an ENGLISH translation!

Amac

Bu rehberde sana bir Qubes-Whonix AppVM'i icerisine Monero dugumu ("monero daemon", veya "monerod") kurulumunu gosterecegim.

Bir AppVM (ayrica "kup" olarak da bilinir) QubesOS icerisinde calisan bir sanal makinedir. QubesOS kullanirken, sanal ortamdaki etkinliklerini kendi kupleri icerisinde ayirirsin. Ornegin, QubesOS icerisinde, Thunderbird kullanarak epostalarini okudugun bir kupun vardir. Bunun yaninda ofis programlarini calistirdigin bir kupun vardir. Ve bunlarin yaninda bir de Monero dugumu calistirdigin bir kupun. Bu son kullanim ornegi su anda okudugun rehberin konusu.

Ozel bir kup olarak Whonix kupleri, kendi iclerinde calisan butun programlarin internet baglantilarini once Tor agindan gecirirler. Bu sekilde programlarin internet baglantilari hedeflerine ulasmadan once Tor aginda anonimlesir. Whonix kupleri icerisinde kurdugun internet baglantilarinin senin bilgisayarina geri takip edilmeleri mumkun degildir.

Bu rehberin sonunda elinde:

  • monero dugumu calistirdigin bir kup
  • tamamen Tor agi ardinda calisan bir monero dugumu; bu sayede internet servis saglayicin senin bilgisayarinda calisan monero dugumunu fark edemeyecek

Bu rehberde Whonix 17 calisiran QubesOS 4.2 kullanilmistir.

Kurulum

Yazilimi elde et

Whonix kupu olustur

QubesOS icerisinde Qube Manager penceresini ac. Sag ust kosede bulunan New Qube butonuna bas.

Yeni kup olustur
Yeni kup
olustur

Acilan "Create new qube" penceresinde, asaigdaki bilgileri gir:

1. Name and label: anon-monerod-who17. Adlandirma yaklasimimiz: "anon" kelimesi bu kupun internet baglantilarinin tamamen anonim olacagini belirtir. "monerod" kelimesi bu kup icerisinde monerod programini calistiracagimizi belirtir. "who17" kelimesi ise bu kupun bir whonix-17 kupu olacagini soyler.

2. Color: Anonim kuplerini kirmiziya boya.

3. Type: AppVM (persistent home, volatile root) seceneginde birak.

4. Template: whonix-workstation-17 secenegini sec.

5. Networking: sys-whonix olarak sec.

6. Launch settings after creation: bu secenegi etkinlestir.

OK butonuna bas.

Yeni olusturdugun anon-monerod-who17 kupunun ayarlarini iceren bir pencere onune cikacak:

Yeni kupunun ayarlari
Yeni kupunun
ayarlari

Buradaki ayarlarda, Private storage max size boyutunu 250 GB'ye cikart. Su siralar Monero blokzinciri 200 GB'lik disk alani kapliyor. Bu yuzden 200GB'den daha fazla alana ihtiyacin var.

Once Apply ardindan da OK butonlarina bas.

Tekrar Qube Manager pencereni ac. Oradaki arama cubuguna monerod yaz ve yeni olusturdugun kupu bul. O kupun uzerine tikla ve onu sec, ardindan da ust menuden Start/Resume butonuna bas.

Monerod yazilimini indir

Monerod kupun icerisinde torbrowser'i baslat. Adres cubuguna https://getmonero.org/downloads/#cli veya http://monerotoruzizulg5ttgat2emf4d6fbmiea25detrmmy7erypseyteyd.onion/downloads/#cli gir ve monero resmi sitesini ziyaret et.

Acilan sayfada Linux 64-bit baglantisina bas. Monerod'nin indirme islemi baslayacak. Indirme tamamlandiktan sonra dosyalari Home (/home/user) klasorune aktar.

Bu rehberde asagidaki komut satirini kullanarak indirme islemini gerceklestirecegiz. Monerod programina ek olarak onun kriptografik imza dosyalarini da indirmis olacagiz. Baslamak icin anon-monerod-who17 kupu icerisinde bir terminal penceresi ac, ve asagidaki komutu gir:

$ scurl-download 'http://dlmonerotqz47bjuthtko2k7ik2ths4w2rmboddyxw4tz4adebsmijid.onion/cli/monero-linux-x64-v0.18.3.3.tar.bz2' 'http://monerotoruzizulg5ttgat2emf4d6fbmiea25detrmmy7erypseyteyd.onion/downloads/hashes.txt' 'https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/binaryfate.asc'

Bu komut satirinda monero programinin v0.18.3.3 surumunu hedefliyoruz. Gelecekte monero programinin yeni surumleri icin bu surum numarasini degistir.

Indirilen monerod yazilimini dogrula

Yazilimi imzalayan kriptografik anahtari ice aktar:

$ gpg --import binaryfate.asc

Terminal ciktisi asagidaki gibi gozukmeli. Burada, anahtarin parmak izi 0xF0AF4D462A0BDF92 olarak gozukuyor. Bu parmak izinin senin terminal ciktisinda ayni olduguna bak.

gpg: key 0xF0AF4D462A0BDF92: 2 signatures not checked due to missing keys
gpg: /home/user/.gnupg/trustdb.gpg: trustdb created
gpg: key 0xF0AF4D462A0BDF92: public key "binaryFate <binaryfate@getmonero.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found

Yazilimi imzalayan anahtari ice aktardiktan sonra, onu kullanarak yazilimin imzasini dogrulayabiliriz:

$ gpg --verify hashes.txt

Asagidaki gibi bir cikti gozukmeli:

gpg: Signature made Sun 31 Mar 2024 01:49:15 PM UTC
gpg:                using RSA key 81AC591FE9C4B65C5806AFC3F0AF4D462A0BDF92
gpg: Good signature from "binaryFate <binaryfate@getmonero.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 81AC 591F E9C4 B65C 5806  AFC3 F0AF 4D46 2A0B DF92

Sendeki gnupg programinin ayarlarina gore ciktin daha az/fazla satir icerebilir. Asil onemli olan satir asagidaki; bunu gordugunden emin ol:

gpg: Good signature from "binaryFate <binaryfate@getmonero.org>" [unknown]

Ciktinin geri kalanindaki uyari satiri sana sadece bu kriptografik anahtarin sahibinin gercekten "binaryFate" isimli kisiye ait olup olmadigini soyluyor. Ideal bir durumda, bir MoneroKon veya MoneroTopia konferansinda binaryFate ile tanisip, ona bu anahtar parmak izinin ona ait olup olmadigini sorman gerekir. Gercekci bir durumda ise, bu parmak izini /r/Monero, monero matrix, monero twitter, veya MoneroTurko odasinda sorup karsilastirabilirsin. Bu rehberin devaminda bu kriptografik anahtarin sonuclarina guvenerek devam edecegiz.

Simdi, sikistirilmis arsive ait hash degerini dogrula:

$ sha256sum -c hashes.txt --ignore-missing

Asagidaki gibi bir cikti belirmeli:

monero-linux-x64-v0.18.3.3.tar.bz2: OK
sha256sum: WARNING: 17 lines are improperly formatted

Onemli olan cikti OK bilgisini iceren satir. Bu durumda arsiv dosyasini dogrulamis olduk.

Sikistirilmis arsiv dosyasini ac

Monero programini arsivden cikart:

$ tar xvf monero-linux-x64-v0.18.3.3.tar.bz2

Terminal ciktisi asagidaki gibi gozukmeli:

monero-x86_64-linux-gnu-v0.18.3.3/
monero-x86_64-linux-gnu-v0.18.3.3/ANONYMITY_NETWORKS.md
monero-x86_64-linux-gnu-v0.18.3.3/LICENSE
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-ancestry
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-depth
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-export
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-import
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-mark-spent-outputs
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-prune
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-prune-known-spent-data
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-stats
monero-x86_64-linux-gnu-v0.18.3.3/monero-blockchain-usage
monero-x86_64-linux-gnu-v0.18.3.3/monerod
monero-x86_64-linux-gnu-v0.18.3.3/monero-gen-ssl-cert
monero-x86_64-linux-gnu-v0.18.3.3/monero-gen-trusted-multisig
monero-x86_64-linux-gnu-v0.18.3.3/monero-wallet-cli
monero-x86_64-linux-gnu-v0.18.3.3/monero-wallet-rpc
monero-x86_64-linux-gnu-v0.18.3.3/README.md

Artik bir onceki adimda indirdigin dosyalari silebilirsin:

$ rm monero-linux-x64-v0.18.3.3.tar.bz2 hashes.txt binaryfate.asc

Bunun sonunda asagidaki gibi bir monero klasorun olmali:

$ ls -lah monero-x86_64-linux-gnu-v0.18.3.3
.rw-r--r--  10k user 12 Mar 16:46 ANONYMITY_NETWORKS.md
.rw-r--r-- 2.7k user 12 Mar 16:46 LICENSE
.rwxr-xr-x  16M user 12 Mar 16:46 monero-blockchain-ancestry
.rwxr-xr-x  14M user 12 Mar 16:46 monero-blockchain-depth
.rwxr-xr-x  15M user 12 Mar 16:46 monero-blockchain-export
.rwxr-xr-x  15M user 12 Mar 16:46 monero-blockchain-import
.rwxr-xr-x  11M user 12 Mar 16:46 monero-blockchain-mark-spent-outputs
.rwxr-xr-x  14M user 12 Mar 16:46 monero-blockchain-prune
.rwxr-xr-x  14M user 12 Mar 16:46 monero-blockchain-prune-known-spent-data
.rwxr-xr-x  14M user 12 Mar 16:46 monero-blockchain-stats
.rwxr-xr-x  14M user 12 Mar 16:46 monero-blockchain-usage
.rwxr-xr-x  10M user 12 Mar 16:46 monero-gen-ssl-cert
.rwxr-xr-x  28M user 12 Mar 16:46 monero-gen-trusted-multisig
.rwxr-xr-x  29M user 12 Mar 16:46 monero-wallet-cli
.rwxr-xr-x  30M user 12 Mar 16:46 monero-wallet-rpc
.rwxr-xr-x  25M user 12 Mar 16:46 monerod
.rw-r--r--  46k user 12 Mar 16:46 README.md

Yazilimi kur

Monerod ayarlama dosyasi olustur

Yeni bir dosya olustur: /home/user/.config/monerod/monerod.conf ve icerisine asagidakileri yapistir:

max-log-file-size=0
log-file=/dev/null
no-igd=1
disable-dns-checkpoints=1
p2p-bind-ip=0.0.0.0
p2p-bind-port=18080
out-peers=32
in-peers=32
tx-proxy=tor,${YOUR-SYS-WHONIX-IP}:9153,16,disable_noise
pad-transactions=1
proxy=${YOUR-SYS-WHONIX-IP}:9153
public-node=1
confirm-external-bind=1
rpc-bind-ip=127.0.0.1
rpc-bind-port=18081
rpc-restricted-bind-ip=0.0.0.0
rpc-restricted-bind-port=18089
rpc-ssl=disabled
disable-rpc-ban=1
db-sync-mode=fastest:async:250000000bytes
max-concurrency=2
fast-block-sync=0
block-sync-size=0

Onemli birkac nokta:

  1. Monero izleme kayitlarini journalctl kullanarak goruntuleyecegiz. Bu yuzden asagidaki ayarlari kullaniyorsun:
   max-log-file-size=0
   log-file=/dev/null
  1. Bir tam dugum (full node) hazirliyoruz, ve bunu onceden kaydedilmis blok hash degerlerine guvenmeden yapiyoruz. Monero gelistiricileri yeni dugumleri esitleme surecini hizlandirmasi amaciyla belirli bloklarin hash degerlerini onceden sagliyorlar. Bunlar sana esitleme surecinde bir kontrol noktasi olarak sunuluyor. Bu onceden tanimlanmis hash degerlerine guvenmeyi secebilirsin, ve bu senin tam dugum hazirlama sureni kisaltmis olur. Bununla beraber, bu rehberde buna guvenmemeyi seciyoruz, ve monero bloklarinda bulunan is-kaniti (proof-of-work) degerlerini kendi bilgisayar islemcimizde dogruluyoruz.
   fast-block-sync=0
  1. Whonix tor vekil hizmeti icin baglanti yalitimi secenegi sagliyor. Bu monerod programinin kullandigi tor baglantisinin gizliligini artirir. Bunu etkinlestirmek icin, yukarida kopyalayip/yapistirdigin ayarlarda ${YOUR-SYS-WHONIX-IP} kismini kendi sys-whonix kupune ait IP degeri ile degistirmek zorundasin. Bu IP degerini gorebilmek icin Qube Manager penceresini ac. Ardindan sys-whonix satirina ait IP girisini gor. Bu degeri ${YOUR-SYS-WHONIX-IP} yerine yapistir. Bunu yapmadan yukaridaki ayarlari kullanirsan monerod programin calismayacaktir:
   tx-proxy=tor,${YOUR-SYS-WHONIX-IP}:9153,16,disable_noise
   proxy=${YOUR-SYS-WHONIX-IP}:9153

Monerod hizmet dosyasi olustur

Monerod programini baslatip durdurma islemleri icin bir systemd hizmet dosyasi olusturacagiz:

$ systemctl --user edit --full --force monerod.service

Bu yeni dosyaya asagidakileri yapistir:

[Unit]
Description=Monero Full Node (Mainnet)
After=network.target

[Service]
Type=simple
ExecStart=/home/user/monero-x86_64-linux-gnu-v0.18.3.3/monerod --non-interactive --config-file=/home/user/.config/monerod/monerod.conf
Restart=on-failure
RestartSec=30

# Hardening measures
PrivateTmp=true
ProtectSystem=full
NoNewPrivileges=true

[Install]
WantedBy=default.target

Onemli birkac nokta:

  1. Servis dosyalarini systemctl --user komutu altinda calistirirken systemd calisan islemin User ve Group durumlarini senin kullanicin (user) olarak atar. Bu yuzden servis dosyasinda User ve Group degerlerini belirtmemize gerek yok.

  2. Servis dosyasindaki ExecStart= satiri, /home/user/monero-x86_64-linux-gnu-v0.18.3.3/ klasorune isaret eder. Monero yaziliminin yeni surumlerinde bu surum numarasi [...]-v0.18.3.4[...] veya [...]-v0.19.0.0[...] gibi yeni degerlere degisebilir. Monerod kurulumunu guncelledikce bu satiri uygun surum degeri icin degistirmek zorundasin. Servis dosyasini degistirmek icin onu olusturdugun komutu tekrar kullanabilirsin.

Yazilimi calistir

Monerod yazilimini baslat

Systemd daemon'unu tekrar yule:

$ systemctl --user daemon-reload

Olusturdugun monerod.service dosyasini etkinlestir. Etkinlestirmek, bir servis dosyasini isletim sistemin acildigi zaman kendiliginden baslatir:

systemctl --user enable --now monerod.service

Monerod servisinin durumuna bak:

systemctl --user status monerod.service

Asagidaki gibi bir cikti gozukmeli:

● monerod.service - Monero Full Node (Mainnet)
     Loaded: loaded (/home/user/.config/systemd/user/monerod.service; enabled; preset: enabled)
     Active: active (running) since Sat 2024-06-22 13:25:12 UTC; 42s ago

Tebrikler. Artik calisan bir monero dugumun var. Geriye kalan tek sey dugumunun Monero agindaki diger dugumlerle baglanti kurmasi, ve onlardan Monero blokzincirin dosyasini indirmesini beklemek. Indirme surecini asagidaki komutla takip edebilirsin:

journalctl --user -fu monerod

Asagidaki gibi bir cikti gozukmeli:

Jun 22 13:41:35 host monerod[891]: 2024-06-22 13:41:35.254        I Synced 118020/3176974 (3%, 3058954 left)
Jun 22 13:41:35 host monerod[891]: 2024-06-22 13:41:35.532        I Synced 118120/3176974 (3%, 3058854 left)
Jun 22 13:41:35 host monerod[891]: 2024-06-22 13:41:35.939        I Synced 118220/3176974 (3%, 3058754 left)
Jun 22 13:41:36 host monerod[891]: 2024-06-22 13:41:36.214        I Synced 118320/3176974 (3%, 3058654 left)
Jun 22 13:41:37 host monerod[891]: 2024-06-22 13:41:37.412        I Synced 118420/3176974 (3%, 3058554 left)
Jun 22 13:41:38 host monerod[891]: 2024-06-22 13:41:38.132        I Synced 118520/3176974 (3%, 3058454 left)
Jun 22 13:41:44 host monerod[891]: 2024-06-22 13:41:44.817        I Synced 118620/3176974 (3%, 3058354 left)
Jun 22 13:41:45 host monerod[891]: 2024-06-22 13:41:45.045        I Synced 118720/3176974 (3%, 3058254 left)
Jun 22 13:41:46 host monerod[891]: 2024-06-22 13:41:46.863        I Synced 118820/3176974 (3%, 3058154 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.054        I Synced 118920/3176974 (3%, 3058054 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.237        I Synced 119020/3176974 (3%, 3057954 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.429        I Synced 119120/3176974 (3%, 3057854 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.608        I Synced 119220/3176974 (3%, 3057754 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.790        I Synced 119320/3176974 (3%, 3057654 left)
Jun 22 13:41:47 host monerod[891]: 2024-06-22 13:41:47.983        I Synced 119420/3176974 (3%, 3057554 left)
Jun 22 13:41:49 host monerod[891]: 2024-06-22 13:41:49.848        I Synced 119520/3176974 (3%, 3057454 left)
Jun 22 13:41:50 host monerod[891]: 2024-06-22 13:41:50.061        I Synced 119620/3176974 (3%, 3057354 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.027        I Synced 119720/3176974 (3%, 3057254 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.224        I Synced 119820/3176974 (3%, 3057154 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.370        I Synced 119920/3176974 (3%, 3057054 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.604        I Synced 120020/3176974 (3%, 3056954 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.759        I Synced 120120/3176974 (3%, 3056854 left)
Jun 22 13:41:58 host monerod[891]: 2024-06-22 13:41:58.903        I Synced 120220/3176974 (3%, 3056754 left)
Jun 22 13:41:59 host monerod[891]: 2024-06-22 13:41:59.063        I Synced 120320/3176974 (3%, 3056654 left)
Jun 22 13:41:59 host monerod[891]: 2024-06-22 13:41:59.228        I Synced 120420/3176974 (3%, 3056554 left)
Jun 22 13:41:59 host monerod[891]: 2024-06-22 13:41:59.387        I Synced 120520/3176974 (3%, 3056454 left)
Jun 22 13:41:59 host monerod[891]: 2024-06-22 13:41:59.545        I Synced 120620/3176974 (3%, 3056354 left)

Monerod yazilimini durdur

Eger monerod yazilimini durdurmak istersen asagidaki komutu kullan:

systemctl --user stop monerod.service

Bu komut senin monero dugumunun blokzinciri indirmesini durduracak. Eger monerod.service servisinin kup acildiginda kendiliginden baslamasini da istemiyorsan, asagidaki komutu kullan:

systemctl --user disable monerod.service

Sonuc

Bu rehberde sana bir Qubes-Whonix kupu icerisine Monero dugumu kurmayi gosterdim. Bunun icin oncelikle yeni bir whonix-17 kupu olusturduk. Ardindan monero yazilimini indirip dogruladik. Sonra monerod ayar ve servis dosyalarini yarattik. Son olarak monerod servisini baslattik ve blokzinciri yerel diskine indirmeye basladik.

Monero dugumu yazilimini whonix-17 kupu icerisinde calistirdigimiz icin Monero'ya ait butun ag etkinlikleri oncelikle Tor agi vekilinden gecmekte. Boylece senin yerel internet agini izleyen birisi senin bilgisayarinda Monero dugumu calistirdigini fark edemez.

Eger kurulum ve kullanim konusunda daha fazla yardima ihtiyac duyarsan, MoneroTurko chat odasina katil: https://signal.group/#CjQKICUccbfPqIGYux906JmjTTY9TIplefrNHCNB-rNdOB7kEhDwqp9rYNPC4ccS0nROndI6


Rehberi yararli bulduysan bu adrese Monero (XMR) gonderebilirsin:

88wcWTiopkUQQDXeC9R3xxJrgj5MDf8cpNtULQPteqVYQ2kpw2g9bSJD1Cfjpmra5hgsBX19L9wVWEZ8YHGxWtcHTYU2cZW
XMR yolla!
XMR yolla!