Jump to content

All Activity

This stream auto-updates     

  1. Today
  2. useful references https://github.com/cloudflare/python-cloudflare https://github.com/cloudflare/python-cloudflare/blob/master/cli4/cli4.man https://github.com/cloudflare/python-cloudflare/blob/master/examples/example_delete_zone_entry.py https://shapeshed.com/jq-json/
  3. Spent some time with the DNS seeders and there is very little info so I was playing with cloudflare and wondered if I could automate the DNS seeds somehow. I assume this works on any coins that has a peer list with minor tweaks. The basic idea is getpeerinfo from the daemon into a json file and then send line by line of that into an A record on your seeder domain name. I am hopeful some others will see this and have a better idea how to automate this by making it easier to setup and run on generic coin. Make a cloudflare account and point your domain denarius.pro at the cloudflare nameservers from your domain host control panel. Now we can edit records on cloudflare and the changes are almost immediate. #Install Python Cloudflare sudo apt install python-pip git clone https://github.com/cloudflare/python-cloudflare cd python-cloudflare ./setup.py build sudo ./setup.py install #Create a config file for your cloudflare API, change email and token (API KEY) mkdir ~/.cloudflare nano ~/.cloudflare/cloudflare.cfg [CloudFlare] email = <[email protected]> token = <API KEY> certtoken = v1.0-... extras = #test this works. change the ipv4 and denarius.pro to your stuff. dnsseed.denarius.pro is what my example will show. cli4 --post name="dnsseed" type="A" content="73.218.220.108" /zones/:denarius.pro/dns_records now we want to store a couple text files somewhere. you choose this for now I will use /root/ #create seed.sh and edit denarius.pro to your domain name. still using dnsseed.denarius.pro for this example. #!/bin/sh grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' "${1:?}" | while read IP do echo "$IP" cli4 --post name="dnsseed" type="A" content="$IP" /zones/:denarius.pro/dns_records done make this file executable chmod +x seed.sh now how to grab and put the ipv4's into the domain A records. denariusd daemon send peerinfo into a json file. then jq parses the json for the addr array and then we remove some junk and put that into peers.txt. From there the bash file uses regex to make the ipv4's pretty. denariusd getpeerinfo > peer.json jq '.[] | .addr' -r peer.json | sed 's/[][]//g' > peers.txt ./seed.sh peers.txt This can be updated as much as the cloudflare API limits gives. But how to remove A records and try to keep this list fresh? Lets make a delete file from python cloudflare examples. https://github.com/cloudflare/python-cloudflare/blob/master/examples/example_delete_zone_entry.py #create delete.py and chmod+x this, and then put this inside. #!/usr/bin/env python """Cloudflare API code - example""" from __future__ import print_function import os import sys import re import json import requests sys.path.insert(0, os.path.abspath('..')) import CloudFlare def main(): """Cloudflare API code - example""" try: zone_name = sys.argv[1] dns_name = sys.argv[2] except IndexError: exit('usage: example_delete_zone_entry.py zone dns_record') cf = CloudFlare.CloudFlare() # grab the zone identifier try: params = {'name':zone_name} zones = cf.zones.get(params=params) except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones %d %s - api call failed' % (e, e)) except Exception as e: exit('/zones.get - %s - api call failed' % (e)) if len(zones) == 0: exit('/zones.get - %s - zone not found' % (zone_name)) if len(zones) != 1: exit('/zones.get - %s - api call returned %d items' % (zone_name, len(zones))) zone = zones[0] zone_id = zone['id'] zone_name = zone['name'] print('ZONE:', zone_id, zone_name) try: params = {'name':dns_name + '.' + zone_name} dns_records = cf.zones.dns_records.get(zone_id, params=params) except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones/dns_records %s - %d %s - api call failed' % (dns_name, e, e)) found = False for dns_record in dns_records: dns_record_id = dns_record['id'] dns_record_name = dns_record['name'] dns_record_type = dns_record['type'] dns_record_value = dns_record['content'] print('DNS RECORD:', dns_record_id, dns_record_name, dns_record_type, dns_record_value) try: dns_record = cf.zones.dns_records.delete(zone_id, dns_record_id) print('DELETED') except CloudFlare.exceptions.CloudFlareAPIError as e: exit('/zones.dns_records.delete %s - %d %s - api call failed' % (dns_name, e, e)) found = True if not found: print('RECORD NOT FOUND') exit(0) if __name__ == '__main__': main() to run the deleter, and it appears this only deletes 10-15 records at a time, so you might need to run this 5 times before sending a fresh list. This is only deleting records from dnsseed.denarius.pro. Nothing else on denarius.pro. Magical. ./delete.py denarius.pro dnsseed Right now I am trying to think how frequent to send new ip's and delete the list and start over. Once I get that down I will post a sample cronjob to use. Otherwise this should work with basically any bitcoin fork daemon, maybe minor tweaks. I also need a better regex to parse ipv6 so we can also make some on the fly AAAA records.
  4. Last week
  5. TTL might need to be changed NS 7200 A 1800
  6. I am using Scaleway VPS which only allows Ubuntu 18.04 Bionic for the cheaper plans. systemd-resolve appears to take over port 53. lsof -i -P -n | grep LISTEN and we see port 53 what I did to remove this was sudo nano /etc/systemd/resolved.conf then edit resolved.conf to this DNS=8.8.8.8 DNSStubListener=no restart systemd-resolved sudo systemctl restart systemd-resolved save old symlink sudo mv /etc/resolv.conf /etc/resolv.conf.OLD create new symlink sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf lets check if port 53 is there anymore lsof -i -P -n | grep LISTEN its gone, now go run your seeder and wait for DNS records to propagate through the internet backbone
  7. I am using he.net free dns for the setup of nameservers. https://dns.he.net Get a domain like denarius.guide for our example. The dns seeder nameserver will be dnsseed.denarius.guide Go to your domain and point it to the given he.net servers so he.net is handling your records. Lets add the first part. This creates dnsseed.denarius.guide. 86400 IN NS seeder.denarius.guide. Now lets point seeder.denarius.guide to our vps ip. This creates seeder.denarius.guide. 86400 IN A 163.172.157.116 Also can create an AAAA record because IPv6 is the future right? This creates seeder.denarius.guide. 86400 IN AAAA 2001:bc8:47a0:1933::1 On the vps side we need our dns seeder. Clone a seeder repo, get dependencies, and compile. This could vary depending on OS and VPS. git clone https://github.com/buzzkillb/d-seeder sudo apt-get install build-essential libboost-all-dev libssl-dev make -j2 Run the seeder for a while, and wait for the DNS to propagate. I also sudo apt install tor just because ./dnsseed -h dnsseed.denarius.guide -n seeder.denarius.guide -m buzz.denarius.io -o 127.0.0.1:9050 How to check if this is working. https://www.whatsmydns.net/#NS/dnsseed.denarius.guide
  8. @EnterpointYohan Remove everything in your Denarius data directory (C:/Users/<yourname>/AppData/Roaming/Denarius) EXCEPT for your wallet.dat (back that up), then grab the latest chaindata from here and unzip it into that folder (you should see a blk*.dat and txleveldb folder after extraction in the Roaming/Denarius/ root) You can get the latest chaindata from here: https://gitlab.com/denarius/chain/raw/master/chaindata2290877.zip Also ensure you grab our latest release v3.3.9.3 https://github.com/carsenk/denarius/releases This is an error relating to the txleveldb (your chaindata) being corrupt, Windows can do this possibly after an update if the wallet was open when the computer was turned off/rebooted or possibly Anti-Virus software trying to read/move files.
  9. Denarius v3.3.9.3 - Added Wallet Unlock Dialog when starting a single FS in the QT - Added -fsconflock=1 Icon to the QT for visualization of your locked FS - Added -maxuploadtarget flag to set a maximum upload data target - Added -maxorphantx flag to set a maximum amount of orphan transactions, default is usually good - Updated denarius.conf creation addnodes to latest v3.3.9.3 - Updated Denarius DNS Seeder Nodes - Wallet performance improvements - You can now stake large inputs - Fixed CreateTX priority - Added STUN server support for GetSTUNExternalIP() (STUN is described in **RFC3489** and it is based on the exchange of UDP packets between a client and one or more servers to determine the externally visible address (and port) of the client once it has gone through the NAT boxes that connect it to the outside.) - Added bytes sent and received to peer RPC commands From v3.3.9.2: - Added getnettotals, ping, getnetworkinfo, and disconnectnode RPC Commands - Fixed FortunaStake last seen times - Updated Protocol to 33900 - EVERYONE must UPDATE - Added some additional debug - Fixed segfault upon startup on fresh nodes/wallets Denarius-v3.3.9.3-Win64.zip Hash: SHA256: 03A235A58FD04E88AAAD9E0A9199D9843A4B42C58C0B7F92DAE2E31B0CF3BAA3 SHA1: F065E8EB30B255492720E1A5C31B72FDE2B0B1F3 CRC64: BA9E2EFCE3AEA2AF Denarius.exe Hash: SHA256: F5F630847D4A226096F1790D6CF97D34058C91B12A57E0BCEA2CA88EBB8EA79F SHA1: D5C14DC81AADBE9E46AE73BA465024B67F8DB78D CRC64: 50A4BC8DD5FBBEDB Denarius-v3.3.9.3-macOS.dmg Hash: SHA256: 24EBF026BAEF336A57919A618F074C81DA798B3E584C30EF903CFE4937143123 SHA1: 2D0D9AD9FE56304D00A4774EB4FB7C2673DCDE8A CRC64: EB63295F714A8E99 Get the release here: https://github.com/carsenk/denarius/releases/tag/v3.3.9.3
  10. After a recent windows update I have a wallet installation that stops with an error as attached png. I do have a backup of a few days previously. Anyone got a recommendation on how to get this back up and running?
  11. Earlier
  12. If you get this error RAN: /usr/bin/gpg --keyserver pgp.mit.edu --recv-keys 0064428F455451B3EBE78A7F063938BA42CFA724 STDOUT: Change the server in the setup file. nano setup GPG_KEY_SERVER = 'ha.pool.sks-keyservers.net '
  13. A guide on how to setup Windows 10 in Qubes 4.0.2-rc1, and then how to login using RDP in a Fedora Qube for clipboard anf file sharing. If you are finding this tutorial, I am going to skip some of the basic how to install Windows 10 shenanigans, as that's a bit redundant. First read through the original guide a few times to get a feel for this. https://groups.google.com/d/msg/qubes-users/dB_OU87dJWA/X2WWa1y-BQAJ What I did was get the Win10 ISO from MS download tool and put that windows.ISO file on a usb drive. https://www.microsoft.com/en-us/software-download/windows10 I then took this file and put it inside a qube's download folder. Once there we use the official Qubes docs. Choose your qube and folder the ISO was placed in for the last step here. https://www.qubes-os.org/doc/windows-vm/ Create a new Qube: Name: Win10, Color: red Standalone Qube not based on a template Networking: sys-firewall (default) Launch settings after creation: check Click “OK”. Settings: Basic: System storage: 30000+ MB Advanced: Include in memory balancing: uncheck Initial memory: 4096+ MB Kernel: None Mode: HVM Click “Apply”. Click “Boot from CDROM”: “from file in qube”: Select the qube that has the ISO. Select ISO by clicking “…”. Click “OK” to boot into the windows installer. Setup Windows 10 as usual, each time the Qube resets the VM will close, keep starting up again until you get to the login screen. Make sure to put some type of password in as we will use this username and password to login through RDP later in the guide. Setup RDP in Windows 10. Enable Remote Desktop in Settings > System Next we need a Fedora qube running freerdp and a firewall qube. I cloned the Fedora 30 template and sys-firewall templates. Because sys-firewall is based off of the Fedora 30 template lets install freerdp in there, I also installed nano since I prefer that to edit files. open up terminal in fedora-30 templateVM. sudo dnf --refresh install freerdp sudo dnf install nano Clone the sys-firewall qube and I called mine sys-firewall-RDP so I knew which one to mess around with. Clone fedora-30 templateVM and use sys-firewall-RDP for your network, call it whatever, fedora-RDP for eaxmple. Lets get the firewall to talk between Win10 qube and our new fedora-RDP qube. We need the IP addresses of both of these qubes for the next step. Open a terminal in sys-firewall-RDP qube. Example Qube A - fedora-RDP (10.137.0.31) Qube B - Win10 (10.137.0.30) sudo nano /rw/config/qubes-firewall-user-script iptables -I FORWARD 2 -s 10.137.0.30 -d 10.137.0.31 -j ACCEPT iptables -I FORWARD 2 -s 10.137.0.31 -d 10.137.0.30 -j ACCEPT save this and next file to edit sudo nano /rw/config/rc.local iptables -I INPUT -s 10.137.0.30 -j ACCEPT iptables -I INPUT -s 10.137.0.31 -j ACCEPT Restart the sys-firewall-RDP qube. Open fedora-RDP terminal and Win10 qubes. I was able to ping 10.137.0.30 from fedora-RDP and now we are getting close. a sample run of freerdp xfreerdp /u:<USERNAME> /p:<PASSWORD> /v:<WIN10 QUBE IP>:3389 or xfreerdp /u:buzzkillb /p:denariusrocks /v:10.137.0.30:3389 Some magic should happen and now you RDP'd into Windows 10. Lets add clipboard sharing and file sharing. xfreerdp /u:buzzkillb /p:denariusrocks /v:10.137.0.30:3389 /drive:software,/home/user/Downloads /clipboard this will create a Windows shared folder called software in the fedora-RDP qube and share with /home/user/Downloads and also allow copy and paste text. lets just show some extra power of this. regedit this to 1 in your Windows 10 Qube. https://getadmx.com/?Category=Windows_10_2016&Policy=Microsoft.Policies.TerminalServer-Server::TS_ALLOW_APPS xfreerdp /u:buzzkillb /p:denariusrocks /v:10.137.0.30:3389 /drive:software,/home/user/Downloads /clipboard /app:"C:\Windows\explorer.exe" This line will open a windows of just the Windows File Explorer. I ended up creating a start.sh file with these lines like this. start.sh #!/bin/sh xfreerdp /u:buzzkillb /p:denariusrocks /v:10.137.0.30:3389 /drive:software,/home/user/Downloads /clipboard /app:"C:\Windows\explorer.exe" What would be sweet is putting start.sh into /usr/local/bin and creating a desktop icon in the fedora-RDP qube, to pull these things up like they are in typical Qubes format. I will add more as I play around with this. Next will also be how to run a GPU for games.
  14. Amazing guide @buzzkillb just amazing, I will go through it fully when I have some more time!
  15. How to install bionic-builder template for Ubuntu 18.04 in Qubes OS 4.0.2-rc1, Qbuntu Clone your fedora-30 vanilla template into a temporary 'builder' we will use to create Ubuntu templates. Top left button -> Terminal Emulator [[email protected] ~]$ qvm-clone fedora-30 ubuntu-builder go into the bionic-builder template and pick your network (sys-firewall), and give yourself 30gb for private storage. Open the terminal for this template and begin. [[email protected] ~]$ gpg I missed the receive keys screenshot [[email protected] ~]$ gpg --recv-keys 0x36879494 [[email protected] ~]$ gpg --edit-key 36879494 gpg> trust >Your decision? 5 >Do you really want to set this key to ultimate trust? Y gpg> quit [[email protected] ~]$ wget http://keys.qubes-os.org/keys/qubes-developers-keys.asc [[email protected] ~]$ gpg --import qubes-developers-keys.asc [[email protected] ~]$ sudo dnf install nano [[email protected] ~]$ sudo dnf install git createrepo rpm-build rpm-sign make python-sh rpmdevtools rpm-sign dialog [[email protected] ~]$ git clone https://github.com/QubesOS/qubes-builder [[email protected] ~]$ cd qubes-builder [[email protected] qubes-builder]$ nano example-configs/qubes-os-r4.0.conf [[email protected] qubes-builder]$ ./setup select Y to anything missing Select Yes to keys that don't exist. Select Yes to add, this one glitches out for me, but worked first try writing this. Just keep rerunning ./setup over and over until this passes through. If this still won't work, change the pgp.mit.edu server to something else in the setup file. nano setup GPG_KEY_SERVER = 'ha.pool.sks-keyservers.net ' Select Qubes Release 4.0 Select Stable Select none of these options Build Template Only? Yes Select your OS template, this example is using Bionic+desktop Select builder-rpm and builder-debian Get Source? Yes Wait while this gets what the source files. This screen gives us what to do next. make install-deps make get-sources make qubes-vm make-template [[email protected] qubes-builder]$ ls -altr qubes-src/linux-template-builder/rpm Go to your dom0 terminal and move the install-templates.sh file over [[email protected] ~]$ qvm-run --pass-io ubuntu-builder 'cat /home/user/qubes-builder/qubes-src/linux-template-builder/rpm/install-templates.sh' > install-templates.sh [[email protected] ~]$ chmod +x install-templates.sh ./install-templates.sh After this was done, I cloned this into a crypto version to play around in. This is a cryptocurrency related site after all. qvm-clone bionic-desktop bionic-crypto After that, I then deleted the bionic-builder templateVM from Qube Manager to save some disk space.
  16. Setup VPN AppVM Specifically for PIA VPN. Based on https://github.com/tasket/Qubes-vpn-support #go into Debian 10 template and install openvpn #open debian 10 terminal sudo apt update sudo apt install openvpn #shutdown debian 10 template reference: https://www.qubes-os.org/doc/software-update-vm/ #create new Qube AppVM Name and Label: VPN Type: Qubes Based on a template (AppVM) Template: Debian 10 Networking: sys-net checkmark: provides network checkmark: launch settings after creation Next, add vpn-handler-openvpn to the ProxyVM's Settings / Services tab by typing it into the top line and clicking the plus icon. Do not add other network services such as Network Manager. open up a terminal in this AppVM sudo mkdir -p /rw/config/vpn cd /rw/config/vpn sudo wget https://www.privateinternetaccess.com/openvpn/openvpn.zip sudo unzip openvpn.zip sudo cp 'US West.ovpn' vpn-client.conf cd ~ git clone https://github.com/tasket/Qubes-vpn-support cd Qubes-vpn-support #can either use the master branch or (git checkout 1.4.3) (git pull) sudo bash ./install Enter PIA username/password when prompted this is saved to /rw/config/vpn/userpassword.txt restart the AppVM and it should show the link is up in top right corner. Then connect an AppVM to this new VPN AppVM
  17. I am using the Ubuntu 16.04 template I created for this. https://denariustalk.org/index.php?/topic/305-guide-to-installing-qbuntu-ubuntu-1604-xenial-templatevm-in-qubes-402-rc1/ Now create an AppVM. Top left button -> Create Qubes VM. Name and Label: VerusCoin-Agama Type: Qubes based on a template (AppVM) template: whichever linux template you created to run Agama from networking: sys-firewall or sys-whonix checkmark launch settings after creation. Give this 2gb ram at least. Go to firefox from this AppVM and download the latest Agama wallet. Go to the Files from this AppVM and double click the appimage in the /Downloads folder. When it prompts to install, say yes. Go to the top left button and click Terminal Emulator because we want to configure dom0. In there type qvm-sync-appmenus VerusCoin-Agama now go back to your VerusCoin qube settings, go to the applications tab and then you can bring the Agama app to the right side so this gets added to the menu.
  18. I'm aware that there is an issue with getting Denarius address' balances. Ive patched the app recently. Expect an update in the next few days 4o be pushed to the play store.
  19. To connect to tor nodes. Look at the IP address of your sys-whonix in Qube Manager. Go into denarius.conf and put tor=10.137.0.x:9050 and now you might be connecting to any onion nodes. Replace that IP obviously with the correct one.
  20. Denarius v3.3.9.2 MANDATORY UPDATE -Added getnettotals, ping, getnetworkinfo, and disconnectnode RPC Commands -Fixed FortunaStake last seen times -Updated Protocol to 33900 - EVERYONE must UPDATE -Added some additional debug -Fixed segfault upon startup on fresh nodes/wallets Read more and download here: https://github.com/carsenk/denarius/releases/tag/v3.3.9.2
  21. How to compile Denarius (D) on macOS Mojave 10.14 By Carsen K First download Xcode from the App Store (v10.x) Install Xcode Command Line Tools via your Terminal: sudo xcode-select --install Accept Xcode License sudo xcodebuild -license Type agree after hitting space to get to the end -------------------------------------------------------- Download Qt 5.3.2 from: https://download.qt.io/archive/qt/5.3/5.3.2/qt-opensource-mac-x64-clang-5.3.2.dmg Install Qt and Qt Creator from this dmg (no need to install source files) Now in your default_pre.prf file inside your Qt 5.3.2 install change the following lines Example Location: Qt_install_folder/5.3.2/5.3/clang_64/mkspecs/features/mac/default_pre.prf REPLACE: isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))) WITH: isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))) Sometimes you just need to comment out line 16 the line below this (#error()) for Qt to recognize Xcode -------------------------------------------------------- Then download MacPorts from: https://www.macports.org/install.php Once installed run the following command in your Terminal to install all required Denarius dependancies. sudo port install boost db48 qrencode libevent miniupnpc openssl git Now you are almost ready to compile! -------------------------------------------------------- git clone https://github.com/carsenk/denarius cd denarius Now inside your denarius-qt.pro on line 14, replace the current QMAKE_CXXFLAGS with: QMAKE_CXXFLAGS += -fpermissive -Wno-literal-suffix -stdlib=libc++ Run this command in your terminal session with the denarius folder open, replace your username with your username or the entire path below with your correct QT location. export PATH=$PATH:/Users/<yourname>/Qt5.3.2/5.3/clang_64/bin Run qmake --version which should return Qt 5.3.2 You can now compile Denarius with the usual commands qmake "USE_UPNP=1" "USE_QRCODE=1" denarius-qt.pro make -j4 After compiling you can create a .dmg installer by running this command in the denarius root (you must have Python 2.7 installed, can be installed via MacPorts) sudo python contrib/macdeploy/macdeployqtplus Denarius.app -dmg You have successfully compiled Denarius on macOS!
  22. I'm gonna start off with this guide is an adapation of this topic but for Denarius QT. At this time, I haven't been able to compile the QT with NativeTor or UPNP but when I do figure it out, I will update this thread. 0. Preparing Your System As with compiling every project, you need a compiler for the wallet and all the dependencies. Your patience will be tested multiple times duing the build and you have to be ready to spend a good 5 hours or so depending on the speed of your cpu. There are tools you have to install in order to compile. There are a few programs you should have installed to make the process easier here they are: 7-Zip for extracting files, choose the option appropriate for your system Notepad++ for editing certain files duing the building process Lets us start with MinGW, you can download it from here. That will download and install the MinGW. Once installed and open you should see a screen like this one: Click MinGW and Unmark everything, then click MSYS and unmark everything. Then mark the following items under MSYS: msys-autoconf-bin msys-automake-bin msys-base-bin msys-libtool-bin Its okay for other packages to become marked as you make the above, the others are dependencies. Then go to Installation -> Apply Changes -> Apply it will take a minute to download everything Next you are gonna wanna install the MinGW-builds toolchain from here. While compiling, you are gonna have 2 different cli-type interfaces open, more on that later. Unpack that archive to your drive root, for me that is C:\. Next create a folders in your drive root called deps and Qt. This is where we are gonna compile our dependencies. When all steps completed, your file structure should look similar to mine with all the folders outlined in red: Next we are going to make sure that the MinGW is in your PATH environment variable. To to this on windows 10, Search environment variable in the search on the bottom. You will get a window and on the bottom will be a button that says Environment Variables. Click it and go to the second list where its says System variables and scroll down to Path: If you dont see C:\mingw32\bin; at the front, add it in. You may need to reboot your computer to continue this tutorial, one way you can tell is if you open up command prompt and type gcc -v. If it tells you that gcc is an unrecognized program or file, reboot your computer, if not you are good to go and continue. Lastly make sure that the only file in C:\MinGW\bin should be mingw-get.exe. Now to extracting. 1. Downloading and Extracting Dependencies Here are a list of dependencies for you to download. I suggest downloading each one at a time and immediately starting the next as soon as the former has finished: OpenSSL .tar.gz DO NOT UNPACK YET Berkeley DB .tar.gz DO NOT UNPACK YET libboost 1.57.0 .zip Explorer to deps protoc and libprotobuf tar.gz 7Zip to deps libpng 1.6.16 .tar.gz 7Zip to deps qrencode .tar.gz 7Zip to deps QT Base 5.3.2 .7z 7Zip to QT rename to 5.3.2 QT Tools 5.3.2 .7z 7Zip to QT There are newer versions of QT Base and QT Tools but version 5.13 and 5.12 both have strange errors when attempted to compile. Just use 5.3.2. Once every thing is extracted to your deps folder, it should look like this: And your Qt folder should look like this: 2. Compiling Dependencies Finally time to compile, first you are gonna wanna start with OpenSSL. If you remember, I told you not to unpack it with 7ZIP, we are gonna be using tar in the MinGW shell. To open the shell, open C:\MinGW\msys\1.0\msys.bat and do the following: cd /c/deps/ tar xvfz openssl-1.0.1l.tar.gz cd openssl-1.0.1l ./Configure no-zlib no-shared no-dso no-krb5 no-camellia no-capieng no-cast no-cms no-dtls1 no-gost no-gmp no-heartbeats no-idea no-jpake no-md2 no-mdc2 no-rc5 no-rdrand no-rfc3779 no-rsax no-sctp no-seed no-sha0 no-static_engine no-whirlpool no-rc2 no-rc4 no-ssl2 no-ssl3 mingw make This will change directory to your deps folder, extract OpenSSL, configure and compile it. Next comes Berkeley DB which I also told you not to extract. Do the following in MinGW shell: cd /c/deps/ tar xvfz db-4.8.30.NC.tar.gz cd db-4.8.30.NC/build_unix ../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication make After Berkeley DB finishes, we will build libboost in Windows Command Prompt: cd C:\deps\boost_1_57_0\ bootstrap.bat mingw b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage While libboost is compiling, compile protoc and libprotobuf in MinGW shell: cd /c/deps/ tar xvfz protobuf-2.6.1.tar.gz cd /c/deps/protobuf-2.6.1 configure --disable-shared make When protoc and libprotobuf are done, compile libpng in MinGW shell: cd /c/deps/libpng-1.6.16 configure --disable-shared make cp .libs/libpng16.a .libs/libpng.a That last line will rename libpng to a name that qrencode can use. Once done compile qrencode cd /c/deps/qrencode-3.4.4 LIBS="../libpng-1.6.16/.libs/libpng.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \ png_CFLAGS="-I../libpng-1.6.16" \ png_LIBS="-L../libpng-1.6.16/.libs" \ configure --enable-static --disable-shared --without-tools make LIBS sets the libraries for qrencode to compile with. After set, go back to Windows Command Prompt. libboost should be done, if not wait until it is. You shold have renamed the folder QT Base extracts from to 5.3.2, the following requires that it is. Run these commands to compile QT Base and QT Tools. Note* if you have a quad core processor, run all mingw32-make commands with -j4 to speed up the compile time: set INCLUDE=C:\deps\libpng-1.6.16;C:\deps\openssl-1.0.1l\include set LIB=C:\deps\libpng-1.6.16\.libs;C:\deps\openssl-1.0.1l cd C:\Qt\5.3.2 configure.bat -release -opensource -confirm-license -static -make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu -no-gif -system-libpng -no-libjpeg -no-freetype -no-angle -no-vcproj -openssl -no-dbus -no-audio-backend -no-wmf-backend -no-qml-debug mingw32-make set PATH=%PATH%;C:\Qt\5.3.2\bin cd C:\Qt\qttools-opensource-src-5.3.2 qmake qttools.pro mingw32-make *IMPORTATNT* Now that everything is compiled rename the openssl-1.0.1l directory to openssl-1.0.1j. Finally we are ready for the gritty part of the tutorial, compiling Denarius QT 4. Downloading and Compiling Denarius QT Download which ever version of the repo you want. Beta v3.4 is here, and extract it to whichever folder you like, try to put it in a path without any spaces. the deps folder works just fine. Open up Notepad++ we will need it later. There is one last dependency to compile before we can build Denarius QT, and that is leveldb. It comes packaged with Denarius repo and is located in the src folder of your extracted download. The full path for me is C:\deps\denarius-3.4\src\leveldb. Perform the following in MinGW shell to build: cd /c/deps/denarius-3.4/src/leveldb TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a Once compiled you should see somewhere at the end both libleveldb.a and libmemenv.a. In Windows Command Prompt, change directory to your downloaded denarius folder, mine is C:\deps\denarius-3.4, set PATH to include QT Tools and use qmake: cd C:\deps\denarius-3.4 set PATH=%PATH%;C:\Qt\5.3.2\bin qmake "USE_QRCODE=1" "USE_UPNP=-" "USE_NATIVETOR=-" denarius-qt.pro This will configure our build to compile on windows with QT, and QR support and without UPNP and Native Tor. Next you wanna open Notepad++ and edit the Makefile.Release file. Press CTRL+F and search for -levent and delete it. To finally compile Denarius QT, run mingw32-make in Windows Command Prompt and wait: *Note be sure to add -j4 on the end to make it compile faster if you are on a quad core machine!!! mingw32-make If the compilation is stuck on a file for a long time, like 50 or so seconds, press CTRL + C very quickly to force the compilation to continue. This may cause an error at the end saying a file with a .o extention is corrupted or missing. Just delete that file and run the above command again. You will know that the compilation succeded when in the release folder of denarius has Denarius.exe in it. My path being C:\deps\denarius-3.4\release. If you have any questions or comments, post them below and I will try to answer them.
  23. Thought Process Area so I don't clog chat I compile the denariusd wallet daemon into the denarius-crypto template. I then can run denariusd using sys-whonix and give this the network service tag AppVM. Then I run the QT and use that denarius service as the network and basically block everything except port 33369 and 9999 and in denarius.conf have connect=The denariusd Qube IP so the QT only see the daemon which has internet access.
  24. Create AppVM (This is where you run your app, store the blockchain and wallet.dat) Go to Qube Manager -> Qube -> Create new qube Name: Denarius-QT Type: Qube based on a template (AppVM) Template: denarius-crypto networking: default (sys-firewall) or sys-whonix checkmark: launch settings after creation Give this a color After creation in settings, go to Applications and bring Denarius into this Qube so you can run the QT from here, I also gave this 6gb of private storage space as the blockchain is currently over 2gb. Then I ran a new terminal from this Qube and recloned and compiled the QT again to run from here. The idea is to keep breaking everything down to separate out right? Lets see how much more I can separate out the wallet and wallet.dat from the internet.
  25. Guide to installing Qbuntu (Ubuntu 16.04 - Xenial) TemplateVM in Qubes 4.0.2-rc1 fedora-30 as of this writing, I did this on a fresh Qubes install on a Lenovo t450 i7, 8gb ram, 256gb samsung ssd ($280 - ebay) https://www.qubes-os.org/ Basic Idea (but does not work, don't even bother trying to decipher their ubuntu guide as its for someone who somehow knows how to do this already) https://www.qubes-os.org/doc/building-archlinux-template/ Reddit Guide (copying some of the steps from this old guide with some edits to work on Qubes 4.0 as this was written for Qubes 3.2) https://www.reddit.com/r/Qubes/comments/5vzg04/idiots_guide_to_installing_qbuntu_ubuntu_1604/ #gpg stuff from qubes themselves reference: https://wiki.qubes.rocks/Security/VerifyingSignatures Lets Begin Clone your fedora-30 vanilla template into a temporary 'builder' we will use to create Ubuntu templates. [[email protected] ~]$ qvm-clone fedora-30 ubuntu-builder Edit the VM Settings for the newly created template 'ubuntu-builder' (via Qubes Manager GUI), enable 'Allow network access' & increase 'Private storage max size' to 30GB, then start a terminal in ubuntu-builder and initialize GPG [[email protected] ~]$ gpg Break out of "type your message..." with CTRL+C, import Qubes master key [[email protected] ~]$ gpg --recv-keys 0x36879494 Set trust level for qubes master key [[email protected] ~]$ gpg --edit-key 36879494 gpg> trust >Your decision? 5 >Do you really want to set this key to ultimate trust? Y gpg> quit Now retrieve and import Qubes developer keys [[email protected] ~]$ wget http://keys.qubes-os.org/keys/qubes-developers-keys.asc [[email protected] ~]$ gpg --import qubes-developers-keys.asc #install nano [[email protected] ~]$ sudo dnf install nano Install the packages we need to retrieve and run qubes-builder [[email protected] ~]$ sudo dnf install git createrepo rpm-build rpm-sign make python-sh rpmdevtools rpm-sign dialog Retrieve the qubes-builder from GIT repository [[email protected] ~]$ git clone https://github.com/QubesOS/qubes-builder [[email protected] ~]$ cd qubes-builder Edit default config to enable debian_builder only in setup script (example used VI but you can use text editor of your choice, like nano installed above) [[email protected] qubes-builder]$ vi example-configs/qubes-os-r4.0.conf (to check our current version installed, go to Qube Manager -> About -> Qubes OS) Change these lines to look like this DIST_DOM0 ?= fc30 DISTS_VM ?= hint: DOM0 distro being fc30 in this Qubes install, & remove "fc30 buster" from above save and exit (shift-z-z if using vi) Setup qubes-builder and compile the template Run the qubes-builder setup script [[email protected] qubes-builder]$ ./setup Y to add whats missing then yes to add missing keys this failed on me the first time, I ctrl+c and reran ./setup again, did Y again, and it found the keys that were missing after selecting YES, had to even shutdown the qube and try again as it kept glitching out trying to retrieve keys select 4.0 stable dont select current or current-testing (wtf? is this madness) yes (to only build the template) select xenial+desktop with spacebar and push enter select Builder-rpm builder-debian only, nothing else. (I was using the guide to test installing Bionic 18.04 for screenshots) #now you are back at the command prompt and type these in, one by one. The last 2 will take some time so go to Denarius discord and chat with us while waiting. https://discord.gg/7zcwXJN make install-deps make get-sources make qubes-vm make template We have our Ubuntu 16.04 template, now to install it! Qubes-builder should have created an install script, let's make sure it exists: [[email protected] qubes-builder]$ ls -altr qubes-src/linux-template-builder/rpm You should see an 'install-template.sh' file there. Now switch back to your dom0 terminal, and install the template: [[email protected] ~]$ qvm-run --pass-io ubuntu-builder 'cat /home/user/qubes-builder/qubes-src/linux-template-builder/rpm/install-templates.sh' > install-templates.sh Make the copied script executable and run it [[email protected] ~]$ chmod +x install-templates.sh [[email protected] ~]$ ./install-templates.sh #make template (clone) just for denarius, why not in dom0 terminal emulator qvm-clone xenial-desktop denarius-crypto goto qubes-settings for denarius-crypto qube and add your network (I used sys-whonix running tor), run terminal and start to compile the wallet I am choosing color purple background to break out any crypto stuff so I know be careful ignore any errors (pulse audio) #compile denarius QT in template: denarius-crypto sudo apt-get update -y && sudo apt-get upgrade -y sudo apt-get install -y git unzip build-essential libssl-dev libdb++-dev libboost-all-dev libqrencode-dev libminiupnpc-dev libevent-dev autogen automake libtool libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools qt5-default git clone https://github.com/carsenk/denarius cd denarius git checkout master git pull qmake "USE_QRCODE=1" "USE_UPNP=1" denarius-qt.pro make -j2 sudo cp Denarius /usr/local/bin #setup appvm with name reference: https://www.qubes-os.org/doc/managing-appvm-shortcuts/ sudo nano /usr/share/applications/denarius.desktop [Desktop Entry] Version=3.3.9.2 Type=Application Terminal=false Icon=/home/user/denarius/src/qt/res/icons/denarius-256.png Name=Denarius GenericName=wallet Comment=Denarius Categories=crypto;cryptocurrency; Exec=Denarius in dom0 run qvm-sync-appmenus denarius-crypto now you can add Denarius to your app selection list in the template select denarius from your template: denarius-crypto and start syncing eet
  1. Load more activity
×
×
  • Create New...