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.
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:
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:
- Monero izleme kayitlarini journalctl kullanarak goruntuleyecegiz. Bu yuzden asagidaki ayarlari kullaniyorsun:
max-log-file-size=0
log-file=/dev/null
- 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
- 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:
Servis dosyalarini
systemctl --user
komutu altinda calistirirken systemd calisan isleminUser
veGroup
durumlarini senin kullanicin (user
) olarak atar. Bu yuzden servis dosyasindaUser
veGroup
degerlerini belirtmemize gerek yok.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