One line to rule them all – Opennic DNSCrypt setup.

IF its your first time DNSCrypt attempt install dnscrypt and bind tools packages:

pacman -S dnscrypt-proxy bind-tools

and run this:

echo 'nameserver 127.0.0.1' > /etc/resolv.conf.head && cat /etc/resolv.conf.head && echo '[Unit]' > /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Description=DNSCrypt client proxy' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Requires=dnscrypt-proxy.socket' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '[Install]' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Also=dnscrypt-proxy.socket' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'WantedBy=multi-user.target' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '[Service]' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Type=simple' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'NonBlocking=true' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'ExecStart=/usr/bin/dnscrypt-proxy ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--provider-name=2.dnscrypt-cert.resolver2.dnscrypt.eu ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--resolver-address=77.66.84.233:443 ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--provider-key=3748:5585:E3B9:D088:FD25:AD36:B037:01F5:520C:D648:9E9A:DD52:1457:4955:9F0A:9955 ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--user=nobody' >> /usr/lib/systemd/system/dnscrypt-proxy.service && cat /usr/lib/systemd/system/dnscrypt-proxy.service && cp /usr/lib/systemd/system/dnscrypt-proxy.service /etc/systemd/system/ && cat /etc/systemd/system/dnscrypt-proxy.service && systemctl daemon-reload && systemctl restart dnscrypt-proxy && systemctl status -l dnscrypt-proxy && nslookup -type=txt 2.dnscrypt-cert.resolver2.dnscrypt.eu && dig 2.dnscrypt-cert.resolver2.dnscrypt.eu txt

IF you’re redoing your current config and you want to do it quickly – run this:

echo 'nameserver 127.0.0.1' > /etc/resolv.conf.head && cat /etc/resolv.conf.head && systemctl stop dnscrypt-proxy && systemctl stop dnscrypt-proxy.socket && systemctl disable dnscrypt-proxy && systemctl disable dnscrypt-proxy.socket && echo '[Unit]' > /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Description=DNSCrypt client proxy' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Requires=dnscrypt-proxy.socket' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '[Install]' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Also=dnscrypt-proxy.socket' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'WantedBy=multi-user.target' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '[Service]' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'Type=simple' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'NonBlocking=true' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo 'ExecStart=/usr/bin/dnscrypt-proxy ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--provider-name=2.dnscrypt-cert.resolver2.dnscrypt.eu ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--resolver-address=77.66.84.233:443 ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--provider-key=3748:5585:E3B9:D088:FD25:AD36:B037:01F5:520C:D648:9E9A:DD52:1457:4955:9F0A:9955 ' >> /usr/lib/systemd/system/dnscrypt-proxy.service && echo '--user=nobody' >> /usr/lib/systemd/system/dnscrypt-proxy.service && cat /usr/lib/systemd/system/dnscrypt-proxy.service && cp /usr/lib/systemd/system/dnscrypt-proxy.service /etc/systemd/system/ && cat /etc/systemd/system/dnscrypt-proxy.service && systemctl daemon-reload && systemctl restart dnscrypt-proxy && systemctl status -l dnscrypt-proxy && nslookup -type=txt 2.dnscrypt-cert.resolver2.dnscrypt.eu && dig 2.dnscrypt-cert.resolver2.dnscrypt.eu txt

This will push 127.0.0.1 to the top of your /etc/resolv.conf file and will keep your current DNS servers as a falback in case the DNSCrypt server goes down which I am sad to say happens once in a while. It will also configure and copy the service files in the right places and will enable the right services.

Reboot and you should be good to go.

Cheers.

Andrzej

What the fuck are Plasma devs doing?

Is it Plasma still? It used to be “KDE” then it was renamed to “KSC” and later to “Plasma”…

I will be bitchin and moanin again…

To the KDE Devs:

Guys!

Systemsettings5 > Appearance > Workspace theme > Desktop theme

Where is the “Details” tab that allows setting different parts of plasma with different themes? I will tell you where it is… Its fucking gone. It was removed. It was abandoned. Its not there anymore.

You can see it here:

snapshot1

And few upgrades later – its gone.

AndrzejL_ArchLinux_Screenshot_2016.04.19_07.20.07

https://forum.kde.org/viewtopic.php?f=17&t=132011

https://bugs.kde.org/show_bug.cgi?id=359127

Knowing this… Question for you.

What else are you going to remove that I use? So far I cannot:

– set up a font size for the date and time in the digital clock anymore
– set the icon only taskbar to stop grouping icons,
– set the time and date short / long format because klocale was replaced with qlocale… https://bugs.kde.org/show_bug.cgi?id=340982
It used to be possible

snapshot2

But with the mentality “progress for the sake of progress” it got replaced with a dumbed down version… and cannot be changed anymore.

AndrzejL_ArchLinux_Screenshot_2016.04.23_01.25.07

– set the theme the way I want it to be… and if I install / use any other theme then breeze my desktop panel keeps jumping from screen 1 to screen 2 on reboot…

There are other things missing that I was using as well. The ones I’ve listed are the ones I miss the most.

Every time I upgrade plasma something is going missing or turns to shit.

Are you out of your mind folks?

What are you trying to do? Microsoft Windows desktop configuration? One theme, few colors and wallpaper?

I am looking at kde and I dont like where you’re going with this. So far you’re the best desktop out there… but that’s gonna change if you will continue to go in this direction… Dumbing down Plasma (if that’s her real name) is NOT the way to go.

I’ve been using KDE for 11 or 12 years now… It used to be superb. You could configure everything to your liking. Nowadays… You became a “Windows Wannabe”… and the fact is that if I wanted to use Windows I would continue to use Windows. I could certainly afford it. The money I’ve spent as donations to Linux and KDE would buy me a several Windows licences… plus all my machines came with preinstalled MS based operating system… so I wouldn’t have to spend one cent on the license really.

Please stop removing features, please start adding the useful features that were removed. Please stop adding useless shit. Please start fixing the bugs that exist and keep multiplying…

Plasma5 has been out there for ages now. Its now in version plasma-desktop 5.6.3-1. By the time KDE reached version 3.5 it was solid and stable. Plasma is at version 5.6 and you still suck at multiple screens setup. You cannot get the indexing right, your processes keep dumping core…

Apr 19 00:54:21 wishmasus.loc systemd-coredump[1040]: Process 680 (ksplashqml) of user 1000 dumped core.
Stack trace of thread 681:
#0 0x00007fa144ce72a8 raise (libc.so.6)
#1 0x00007fa144ce872a abort (libc.so.6)
#2 0x00007fa144d23369 __libc_message (libc.so.6)
#3 0x00007fa144d28d96 malloc_printerr (libc.so.6)
#4 0x00007fa144d29029 malloc_consolidate (libc.so.6)
#5 0x00007fa144d2ac90 _int_malloc (libc.so.6)
#6 0x00007fa144d2d41a __libc_calloc (libc.so.6)
#7 0x00007fa13fb55249 n/a (libnvidia-tls.so.340.96)
#8 0x00007fa14173c501 g_malloc0 (libglib-2.0.so.0)
#9 0x00007fa14175406d g_slice_free1 (libglib-2.0.so.0)
#10 0x00007fa1435094d9 __nptl_deallocate_tsd.part.4 (libpthread.so.0)
#11 0x00007fa14350a5d8 start_thread (libpthread.so.0)
#12 0x00007fa144d9bcbd __clone (libc.so.6)
Stack trace of thread 680:
#0 0x00007fa144d2954f _int_free (libc.so.6)
#1 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#2 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#3 0x00007fa1454f874a _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#4 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#5 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#6 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#7 0x00007fa1454f875d _ZN12QMapDataBase8freeTreeEP12QMapNodeBasei (libQt5Core.so.5)
#8 0x00007fa135c35fd6 _ZN10QXcbScreenD1Ev (libQt5XcbQpa.so.5)
#9 0x00007fa135c36009 _ZN10QXcbScreenD0Ev (libQt5XcbQpa.so.5)
#10 0x00007fa135c2ab47 _ZN14QXcbConnectionD1Ev (libQt5XcbQpa.so.5)
#11 0x00007fa135c2af99 _ZN14QXcbConnectionD0Ev (libQt5XcbQpa.so.5)
#12 0x00007fa135c2c7b6 _ZN15QXcbIntegrationD1Ev (libQt5XcbQpa.so.5)
#13 0x00007fa135c2c8b9 _ZN15QXcbIntegrationD0Ev (libQt5XcbQpa.so.5)
#14 0x00007fa145b955c7 _ZN22QGuiApplicationPrivateD1Ev (libQt5Gui.so.5)
#15 0x00007fa145b95769 _ZN22QGuiApplicationPrivateD0Ev (libQt5Gui.so.5)
#16 0x00007fa14568956c _ZN7QObjectD1Ev (libQt5Core.so.5)
#17 0x00007fa145656f82 _ZN16QCoreApplicationD2Ev (libQt5Core.so.5)
#18 0x000000000040447b n/a (ksplashqml)
#19 0x00007fa144cd4710 __libc_start_main (libc.so.6)
#20 0x0000000000404559 _start (ksplashqml)
Stack trace of thread 683:
#0 0x00007fa144d92c3d poll (libc.so.6)
#1 0x00007fa1417370fc n/a (libglib-2.0.so.0)
#2 0x00007fa14173720c g_main_context_iteration (libglib-2.0.so.0)
#3 0x00007fa1456aac8f _ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#4 0x00007fa1456536fa _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#5 0x00007fa14547cfe4 _ZN7QThread4execEv (libQt5Core.so.5)
#6 0x00007fa146239a55 n/a (libQt5DBus.so.5)
#7 0x00007fa145481de8 n/a (libQt5Core.so.5)
#8 0x00007fa14350a424 start_thread (libpthread.so.0)
#9 0x00007fa144d9bcbd __clone (libc.so.6)
-- Subject: Process 680 (ksplashqml) dumped core
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- Documentation: man:core(5)
--
-- Process 680 (ksplashqml) crashed and dumped core.
--
-- This usually indicates a programming error in the crashing program and
-- should be reported to its vendor as a bug.
[root@wishmasus andrzejl]#

Plasma keeps leaking memory like it has Alzheimer.

Panel keeps jumping from one screen to another during reboot… WHY?!

AndrzejL_ArchLinux_Screenshot_2016.04.19_21.34.42

Repository (official) installed plasmoids keep screaming in the .xsession-errors about not being able to get the version…

And you keep changing shit so often many of the plasmoid developers gave up. Where is Luna plasmoid?

What the fuck guys?! Get off your asses and do something fucking right for a change. I’ve been donating €100 each year for the past few years. Last year I stopped. I am not giving money to a project who does not give a shit about my needs. I am not paying for frustration and stress.

I’ve been testing desktop environments on a spare machine for quite a while now. Please do NOT force me to choose another DE.

I will keep adding shit to this post…

For now I am done ranting.

Cheers.

Andrzej

DKMS systemd startup service has been removed, modules building is now handled by alpm hooks at install time. Startup modules loading must be done via modules-load.d.

su

mcedit /usr/share/libalpm/hooks/rebuild.hook

Paste this in using [shift] + [insert] keys:

[Trigger]
Operation = Upgrade
Type = Package
Target = *

[Action]
Description = Upgrade trigger
When = PostTransaction
Depends = coreutils
Exec = /bin/echo ‘Checking if any package needs rebuilding.’

Save using [F2] key and close using [F10].

For more info run man libalpm or visit here.

Cheers.

Andrzej

Racuchy…

Racuchy… What is it? Ask Wikipedia ;)…

Please look at the images below for reference.

Ingredients:

1 litre of milk
1 kg of flour
1 egg
4 tablespoons of sugar
4 packs (28 grams total) of dry yeast (7 grams each pack)
1 pinch of salt
Oil
Few apples
Raisins

Take a BIG bowl and sieve all the flour, sugar and salt into it.

In the same time heat up HALF of the milk to a 37ºC / 98.6ºF (its a perfect temperature – use thermometer). Once the milk reaches the desired temperature take it of the stove and dissolve the yeast in it. Stir it well for a while.

Take the egg and beat it (like for scrambled eggs) in a little bowl.

To the bowl with the flour, sugar and salt add the milk with the yeast, the rest of the milk and the egg.

Mix it very well using a electric mixer.

Now at this stage there are couple of methods of “growing” the batter.

Method number one. Take a bowl with the batter, cover it with clean kitchen cloth and put it in a warm place. Wait 60 – 90 minutes.

Method number two. Take a bowl with the batter, cover it with clean kitchen cloth and put it on the kitchen worktop. Take small electric fan heater, set it to low temperature and make it blow the warm air on the bowl with the batter. Make sure that you use common sense when using electric heater. Do not set it to high temperature, do not put it to close to the bowl, do not stand it on a wet counter etc. Wait 60 – 90 minutes.

Method number three. Take a big pot, pour hot water into it, put something around the edges of the pot, put the bowl with the batter on top of the pot and cover it with a clean kitchen cloth. With this method you need to be aware of WHY do you do it and HOW does it work.

The yeast needs temperature to start farting into the mix :-). To much heat will kill the yeast so make sure that the water is hot but not to hot. It takes a bit of finesse but once you will understand the technique it will be like bipity bopity boop and you’re done.

So you pour the hot water into the pot. You know why. Now why do I want you to put something on the edges of the pot? What do I mean by something? By something I mean like 3 long wooden spoons or spatulas. They need to meet somewhere in the middle of the bottom of the pot and then the other ends of the spatulas rest on 3 points around the edges of the pot. Imagine a tripod for the camera. Upside down :-). Now for the why? Because if you put the bowl directly on top of the pot filled with hot water it will create a seal around the pot, the heat inside the bowl will create suction and what’s even worse – it will heat the batter to much and kill it. I know – it SEEMS complicated but its not.

So – big pot with hot but not too hot water, 3 wooden spatulas creating a support for the bowl, bowl with batter covered with clean kitchen cloth. Leave it for 60 to 90 minutes.

There are other techniques but most of the time you will be using one of those three. Its up to you which one you chose for yourself.

Now – you waited for at least 60 minutes and the batter is growing very very well. That’s good.

Start prepping the fruits.

Peel the apples, cut out the seeds thingy in the middle, chop apples into nice size slices. Put the sliced apples into the fridge until you’re ready to mix the fruit in.

Raisins. Throw them into a heat-resistant dish (bowl) and pour hot water on top of them. Leave them in the hot water for 2 – 3 minutes. Pour the hot water with the raisins out from the bowl into the sieve. Pour cold tap water on top of them to rinse and cool off the raisins. Throw the raisins on the paper towel to let them dry out.

Now…

Your batter has grown? Check
Your apples are sliced? Check
Your raisins are blanched? Check

Take the bowl with the batter and gently throw the apples and raisins on top of the batter. Using wooden or silicone (not metal) spoon / spatula mix the fruit into the batter. Stir clockwise only.

You are ready to start frying racuchy.

Heat up the oil on the pan. Oil cannot be too hot. You don’t want to burn the racuchy. You want to make them golden brown on the outside and fully cooked through on the inside. If oil is too hot it will burn the racuchy on the outside while they are still raw inside.

Be aware. Batter should be sticky.

You will need a fork and a spoon.

Take some batter onto a spoon and try putting it onto a frying pan. Use the fork to make the task easier. Don’t use huge amount of batter. You should fit like 5 – 7 racuchy on one frying pan – depending on the size of your pan but be aware that racuchy grow when the batter is thrown onto the oil.

Once racuchy are ready you can sprinkle them with icing sugar or serve them with jam or whipped cream.

Nasze_Racuchy_24_April_2015_040

Nasze_Racuchy_24_April_2015_039

Nasze_Racuchy_24_April_2015_038

Nasze_Racuchy_24_April_2015_037

Nasze_Racuchy_24_April_2015_036

Nasze_Racuchy_24_April_2015_035

Nasze_Racuchy_24_April_2015_034

Nasze_Racuchy_24_April_2015_033

Nasze_Racuchy_24_April_2015_032

Nasze_Racuchy_24_April_2015_031

Nasze_Racuchy_24_April_2015_030

Nasze_Racuchy_24_April_2015_029

Nasze_Racuchy_24_April_2015_028

Nasze_Racuchy_24_April_2015_027

Nasze_Racuchy_24_April_2015_026

Nasze_Racuchy_24_April_2015_025

Nasze_Racuchy_24_April_2015_024

Nasze_Racuchy_24_April_2015_023

Nasze_Racuchy_24_April_2015_022

Nasze_Racuchy_24_April_2015_021

Nasze_Racuchy_24_April_2015_020

Nasze_Racuchy_24_April_2015_019

Nasze_Racuchy_24_April_2015_018

Nasze_Racuchy_24_April_2015_017

Nasze_Racuchy_24_April_2015_016

Nasze_Racuchy_24_April_2015_015

Nasze_Racuchy_24_April_2015_014

Nasze_Racuchy_24_April_2015_013

Nasze_Racuchy_24_April_2015_012

Nasze_Racuchy_24_April_2015_011

Nasze_Racuchy_24_April_2015_010

Nasze_Racuchy_24_April_2015_009

Nasze_Racuchy_24_April_2015_008

Nasze_Racuchy_24_April_2015_007

Nasze_Racuchy_24_April_2015_006

Nasze_Racuchy_24_April_2015_005

Nasze_Racuchy_24_April_2015_004

Nasze_Racuchy_24_April_2015_003

Nasze_Racuchy_24_April_2015_002

Nasze_Racuchy_24_April_2015_001

Cheers.

Andrzej

[SOLVED] Enable word wrap (and soft word wrap) in nano text editor…

Hi all.

I have noticed this ages ago and it annoyed the BeeGeeses out of me. When You enter a long line of text in nano editor it “wraps” the lines. It “wraps” them like other text editors do – fine. The problem occurs when You try to save the file… all of the sudden long line of text becomes 3 or 4 lines of text… Now imagine using nano on Your /boot/grub/grub.cfg file. Edit the line – even just change the vga=xxx mode and when You reboot Your grub is going into “YOU MESSED UP DUDE!” mode.

By now – most of the distro’s devs have implemented this solution by default but just in case they didn’t – here is what needs to be done.

Run this command from the terminal:

su -c "sed -i 's/# set nowrap/set nowrap/' /etc/nanorc"

and give it a root password when asked for it.

This will turn off the word wrap completely.

However if You are like me and You like the word wrap option BUT You want to keep one line as one line You may want to use this command as well:

su -c "sed -i 's/# set softwrap/set softwrap/' /etc/nanorc"

This will cause the nano editor to softly wrap the lines and when You will save the file – the lines won’t break. In other words if You will type a long line it will be shown as many rows of text BUT when You will save the file it will still be a one long line. Both commands have to be used in order for the soft wrap to work.

Nano_text_editor_enable_word_wrap_and_soft_word_wrap

Cheers.

Andrzej

[SOLVED] Since 1.6.0-2 the conf.d file is no longer in use. We have enabled systemd support and providing upstream systemd units. You will need to use the systemd way (overriding in /etc/systemd/system/dnscrypt-proxy.{service,socket}.d) to apply your customization.

Edit 01: I’ve filed a bug report… FS#45970 - dnscrypt-proxy 1.6.0-2 sometimes it starts sometimes it fails + weird boot messages…

Edit 02: Its a fully functional HOW-TO now again ;)… Thanks FerikD!

Edit 03: Since Cisco now owns OpenDNS I moved away from it. Thanks for the config / idea MrRee!

I chose opennic.

ExecStart=/usr/bin/dnscrypt-proxy
--provider-name=2.dnscrypt-cert.resolver2.dnscrypt.eu
--resolver-address=77.66.84.233:443
--provider-key=3748:5585:E3B9:D088:FD25:AD36:B037:01F5:520C:D648:9E9A:DD52:1457:4955:9F0A:9955
--user=nobody

Reason?

[…] Opennic has a “round-robin dns server randomizer” in beta testing, which actually spits your dns lookups securely between 19 different dns servers […]

So…

After the latest upgrade dnscrypt-proxy no longer plays nice… I saw this message when after the upgrade:

Since 1.6.0-2 the conf.d file is no longer in use. We have enabled systemd support and providing upstream systemd units.
You will need to use the systemd way (overriding in /etc/systemd/system/dnscrypt-proxy.{service,socket}.d) to apply your customization

Here is how to fix it:

Stop dnscrypt-proxy

systemctl stop dnscrypt-proxy

Warning: Stopping dnscrypt-proxy.service, but it can still be activated by:
dnscrypt-proxy.socket

systemctl stop dnscrypt-proxy.socket

Disable dnscrypt-proxy

systemctl disable dnscrypt-proxy

Removed symlink /etc/systemd/system/multi-user.target.wants/dnscrypt-proxy.service.
Removed symlink /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket.

systemctl disable dnscrypt-proxy.socket

Find the socket file:

updatedb

IF this fails:

pacman -S mlocate

and re-run updatedb command…

locate dnscrypt-proxy.socket

/usr/lib/systemd/system/dnscrypt-proxy.socket

Check its content:

cat /usr/lib/systemd/system/dnscrypt-proxy.socket

[Unit]
Description=dnscrypt-proxy listening socket

[Socket]
ListenStream=127.0.0.1:53
ListenDatagram=127.0.0.1:53

[Install]
WantedBy=sockets.target

Edit the socket file:

mcedit /usr/lib/systemd/system/dnscrypt-proxy.socket

by replacing:

After=network.target

with:

Before=network.target

It should now look like this:

cat /usr/lib/systemd/system/dnscrypt-proxy.socket

[Unit]
Description=dnscrypt-proxy listening socket
Before=network.target

[Socket]
ListenStream=127.0.0.1:53
ListenDatagram=127.0.0.1:53

[Install]
WantedBy=sockets.target

Find the service file:

locate dnscrypt-proxy.service

/usr/lib/systemd/system/dnscrypt-proxy.service

Edit the service file using your DNS provider details:

mcedit /usr/lib/systemd/system/dnscrypt-proxy.service

Here is what *my service file* looks like:

cat /usr/lib/systemd/system/dnscrypt-proxy.service

[Unit]
Description=DNSCrypt client proxy
Requires=dnscrypt-proxy.socket

[Install]
Also=dnscrypt-proxy.socket
WantedBy=multi-user.target

[Service]
Type=simple
NonBlocking=true
ExecStart=/usr/bin/dnscrypt-proxy
--provider-name=2.dnscrypt-cert.opendns.com
--resolver-address=208.67.220.220:443
--provider-key=B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79
--user=nobody

To avoid service file being overwritten by upgrades copy /usr/lib/systemd/system/dnscrypt-proxy.service to the /etc/systemd/system/ as explained here at MrRee’s blog:

cp /usr/lib/systemd/system/dnscrypt-proxy.service /etc/systemd/system/

Enable, restart service file and check if DNSCrypt is working:

systemctl enable dnscrypt-proxy

Created symlink from /etc/systemd/system/multi-user.target.wants/dnscrypt-proxy.service to /etc/systemd/system/dnscrypt-proxy.service.
Created symlink from /etc/systemd/system/sockets.target.wants/dnscrypt-proxy.socket to /usr/lib/systemd/system/dnscrypt-proxy.socket.

systemctl daemon-reload && systemctl restart dnscrypt-proxy && systemctl status -l dnscrypt-proxy && nslookup -type=txt debug.opendns.com && dig debug.opendns.com txt

Status:

● dnscrypt-proxy.service - DNSCrypt client proxy
Loaded: loaded (/usr/lib/systemd/system/dnscrypt-proxy.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2015-08-12 19:09:07 IST; 386ms ago
Main PID: 1589 (dnscrypt-proxy)
CGroup: /system.slice/dnscrypt-proxy.service
└─1589 /usr/bin/dnscrypt-proxy --provider-name=2.dnscrypt-cert.opendns.com --resolver-address=208.67.220.220:443 --provider-key=B735:1140:206F:225D:3E2B:D822:D7FD:691E:A1C3:3CC8:D666:8D0C:BE04:BFAB:CA43:FB79 --user=nobody

Aug 12 19:09:07 wishmasdell.loc systemd[1]: Started DNSCrypt client proxy.
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [NOTICE] Starting dnscrypt-proxy 1.6.0
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] Generating a new session key pair
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] Done
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] Server certificate #1435874751 received
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] This certificate looks valid
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] Chosen certificate #1435874751 is valid from [2015-07-03] to [2016-07-02]
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [INFO] Server key fingerprint is ED19:BFBA:FAFC:9257:DFDC:68C7:69BF:AC24:94CD:743F:3C1D:4966:134D:FE2C:4BDC:F315
Aug 12 19:09:08 wishmasdell.loc dnscrypt-proxy[1589]: [NOTICE] Proxying from 127.0.0.1:53 to 208.67.220.220:443

nslookup test:

Server: 127.0.0.1
Address: 127.0.0.1#53

Non-authoritative answer:
debug.opendns.com text = “server 3.lon”
debug.opendns.com text = “flags 20 0 70 5950800000000000000”
debug.opendns.com text = “originid 0”
debug.opendns.com text = “actype 0”
debug.opendns.com text = “source 86.44.169.14:55427”
debug.opendns.com text = “dnscrypt enabled (717744506545635A)”

Authoritative answers can be found from:

dig test:

; <<>> DiG 9.10.2-P3 <<>> debug.opendns.com txt
;; global options: +cmd
;; Got answer:
;; ->>HEADER< ;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debug.opendns.com. IN TXT

;; ANSWER SECTION:
debug.opendns.com. 0 IN TXT “server 3.lon”
debug.opendns.com. 0 IN TXT “flags 20 0 70 5950800000000000000”
debug.opendns.com. 0 IN TXT “originid 0”
debug.opendns.com. 0 IN TXT “actype 0”
debug.opendns.com. 0 IN TXT “source 86.44.169.14:55427”
debug.opendns.com. 0 IN TXT “dnscrypt enabled (717744506545635A)”

;; Query time: 41 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Aug 12 19:09:08 IST 2015
;; MSG SIZE rcvd: 247

OR if you chose to use opennic:

systemctl daemon-reload && systemctl restart dnscrypt-proxy && systemctl status -l dnscrypt-proxy && nslookup -type=txt 2.dnscrypt-cert.resolver2.dnscrypt.eu && dig 2.dnscrypt-cert.resolver2.dnscrypt.eu txt

Cheers.

Andrzej

P.S. *OpenDNS is only one of many available options…* Hint:

cat /usr/share/dnscrypt-proxy/dnscrypt-resolvers.csv

Adding ‘Play content of this folder as DVD video in SMPlayer.’ entry to the right click menu in Thunar.

Hi folks.

I assume You have a fully upgraded system.

Run this:

su

Now give it root’s password.

Now run this:

pacman -S smplayer libdvdcss libdvdnav libdvdread

and agree to install all the packages and their dependencies.

Now run this:

mcedit /etc/udev/rules.d/82-cdrom.rules

and paste this as a content:

SUBSYSTEM=="block", KERNEL=="sr0", SYMLINK+="cdrom cdrw dvd dvdrw"

Big thank You to sudokode for helping me with the udev rule.

Now save the file and close editor

F2

to save,

F10

to exit. You can use any other text editor like vi, nano etc.

I have a bunch of folders on my hard drive containing a DVD videos. Family videos from Christmas, Weddings, Baptisms and other occasions recorded with my Camcorder in DVD format and then backed up to my HDD. I could rip them into .avi files just to make it easier to play them but then I am risking loosing the quality. It would be pointless really – recording in DVD quality just to encode it to avi… If not the waste of quality then definitely a waste of time and cpu power / electric energy.

Anyway as You probably know DVD video content is a whole structure. It’s not just one file so it’s not as easy as going into the file’s folder and clicking on it to make it playable. There are .vob files inside that could be played one after another… sure but it’s a waste of time again plus each DVD has at least 2 – 4 of those .vob files you would have to click on each of them to watch the entire video and sometimes the rewinding or fast forwarding won’t work when You do that… Nah… That won’t work for me.

When You right click on something in Thunar You get right click menu. I have decided to add ‘Play content of this folder as DVD video in SMPlayer.’ entry to this menu in my Arch Linux. It took me a while but I have succeeded. Here is how:

Open terminal and run:

mkdir -p ~/.bin

mcedit ~/.bin/Play_Folder_As_DVD_In_Smplayer.sh

Now paste this as a content

#!/bin/bash
MYPWD1=`pwd`
#mplayer dvd:// -dvd-device "$MYPWD1"
smplayer "dvd://1//$MYPWD1"

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 001

Now save the file and close editor

F2

to save,

F10

to exit. You can use any other text editor like vi, nano etc.

Now run:

chmod 700 ~/.bin/Play_Folder_As_DVD_In_Smplayer.sh

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 002

You can close the terminal.

Now open Thunar, click on Edit > Configure custom actions…

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 003

Now click on the green + button to add custom rule.

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 004

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 005

Use those details:

Name:

Play content of this folder as DVD video in SMPlayer

Description:

Play content of this folder as DVD video in SMPlayer

Command:

cd %n && ~/.bin/Play_Folder_As_DVD_In_Smplayer.sh

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 006

Now click on the “No icon” button and choose the SMPlayer icon from the “Application icons” set.

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 007

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 008

Now click on the “Appearance Conditions” tab. Un-tick the “Text files” box and tick the “Directories” box.

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 009

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 010

You can now “OK” this window.

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 011

and “Close” the “Custom actions” window.

Reboot Your machine for the udev rule to kick in.

Right click on any folder containing DVD structure and choose Play content of this folder as DVD video in SMPlayer from the menu. Smplayer will start and will start playing DVD from the folder that You have chosen.

Adding Play content of this folder as DVD video in SMPlayer entry to the right click menu in Thunar 012

Hope someone will find it useful.

Regards.

Andrzej