Main posts for this site
#linux, #tools

Opensource Fortinet client for Linux

Category: howto

There is a services called Fortinet, it is usually been used inside corporate networks and projects who needs private VPN for employees


  • There is now good GUI client for Linux, official client is trial based and will stop work after trial period.
  • Official terminal based client is no good too, very unusable
  • Cannot see connection status


Here is a project called OpenfortGUI

Compile from source code

git clone

git submodule init && git submodule update

cd openfortigui

git submodule init && git submodule update

qmake -spec linux-g++ CONFIG+=debug CONFIG+=qml_debug && /usr/bin/make -j4

sudo dnf install qt5-qtbase-devel openssl-devel qtkeychain-qt5-devel -y

qmake && make -j4

/usr/lib64/qt5/bin/qmake && make -j4


sudo cp openfortigui/app-entry/openfortigui.png /usr/share/pixmaps

sudo cp openfortigui/app-entry/openfortigui.desktop /usr/share/applications

sudo cp openfortigui/openfortigui /usr/bin/


sudo openfortigui


#linux, #git

How to manage your dotfiles with git

Category: howto

How to manage your [dot] files with git. First of all what is dotfiles ? For those who don’t konw dotfiles is configuration files inside your home directory file names and directories starts with a “.” thats why it’s called dotfiles.

The problem ?

  • I want to manage it with a git repositry
  • I don’t want to mess with all files inside home directory as untracked git files


I’ve started search for solution and it gets me to this article Method it self as it mention in article has been proposed on hacker news

it was simple and plain in terms of linux way

Step 1

Choose directory where your repository will be stored for instance ~/Dotfiles

Step 2

Got inside and make git bare repostory

cd ~/Dotfiles

git init --bare .

Bare repository is repository without a working directory so it’s contains of git internals structure itself to store objects added to repostory

You better know what is bare git repository here

Step 3

Setup special alias for git command to work with ~/Dotfiles

alias dotfiles='/usr/bin/git --git-dir=$HOME/Projects/Personal/Dotfiles/ --work-tree=$HOME'

Make this alias permanent by adding it to your .bashrc or .zshrc configuraton

Step 4

Make git stop showing untracked files

dotfiles config status.showUntrackedFiles no

Step 5 Finally

dotfiles add ~/.zshrc

dotfiles -m "Add zsh configuraton"

That’s it. If you want to push to remote add origin before and push it same way

dotfiles add origin URL

dotfiles push origin master

Since dotfiles is special alias for git you can do dotfiles status when editing your configs to see what files have been changed.

Why this is good solution...

#hardware, #games, #predictions

Cartridge game storage for PC

Category: forecasts

Modern computer games became very heavyweight these days. Here are the top10 games by size on disk.

  1. Quantum Break – 178GB.
  2. Call of Duty: Modern Warfare – 175GB.
  3. Destiny 2: Shadowkeep – 165GB.
  4. Red Dead Redemption 2 – 150GB.
  5. Final Fantasy XV – 148GB.
  6. Call of Duty: Black Ops III – 113GB.
  7. Gears of War 4 – 112.3GB.
  8. Call of Duty: Infinite Warfare – 101GB.
  9. Middle Earth: Shadow Of War – 95GB
  10. Deus Ex: Mankind Divided – 77GB

This is a list of AAA grade games(high-quality graphics and other game assets that weigh more than average). SSD price today is about ~50$-~100$ for 250GB-500GB, so it’s almost clear that one SSD disk can fit one game + OS. For end-user, it’s almost nonsense to have a computer that can handle only one game per time, rather than have a console.

My prediction is that publishers will switch to SSD as carrying storage for games, they will invent a universal proprietary crossplatform cartridge format based on M.2 SATA interface.

#tips #privacy

Fedora browser spyware

Category: security

Installing Fedora distribution Brave browser be aware of it, - default plugin is changing User-Agent header to track that you’re using Fedora. Same suitable for fedora’s Firefox, but you can’t change it, it’s compiled in. Details under cut.

#internet, #modernity, #tools

PiHole + dnscrypt-proxy = internet sewage filter

Category: howto

Modern Internet is bloated. But it is possible to make it less bloated. You have to install those programs:

  • PiHole - will be your dns manager with black and white lists;
  • dnscrypt-proxy - will be your safe dnsscrypt proxy to encrypted dns servers;

Setup suitable for GNU/Linux and MacOS

Installing PiHole

  • Run curl -sSL | bash

Installing dnscrypt-proxy

Follow this

After that you have to say to PiHole to use your dnscrypt-proxy

  • Setup your DNS server to the address which you’re install PiHole
  • Go To https://pi.hole (only resolves if you’re setup your dns IP properly)
  • Settings -> DNS (Tab) -> Upstream DSN Servers uncheck everything here
  • Settings -> DNS (Tab) -> Upstream DNS Servers -> Custom 1, put here your dnsscrypt-proxy address#port string

Next, goto to your current computer and other devices network connection settings, and set DNS to your pi.hole IP address, ( if you did it locally).

Done. You’re now using much safer and less bloated internet.


  • Your daily dns traffic will be cleaner from 10% to 25%

  • Very rare some sites or rich web applications may not working, be aware of that.

  • Better to install it on seprate raspberry-pi.

#dev, #ruby, #jekyll

Jekyll mail comments

Category: projects

This blog is made with Jekyll. Jekyll is static site generator. It never have good commenting mechanism, there are few options like integration of 3dparty javascript code, or write some logic with database, or search for plugin. I wrote my own with ruby, without any javascript code nor database invovled. Program take your emails from IMAP directory and generate tree based comments page for Jekyll. User can reply by answering to my email with specific subject. This is a good old way for full-fledged conversations without so called “likes” and “reactions”. It is also premoderated by design, - until you run fetch procedure no comments will be added to your Jekyll site. Comments stored in special json formatted data files, which are compatible with the Jekyll’s Data files mechanism.

I made it as a ruby Gem package option, check it out here

Undercut contains README file from repository, and comments.

Feel free to comment, I’ve already installed it onto this blog, go ahead to try.


Book: The Four Agreements

Category: books
  • Title: The Four Agreemnets
  • Author: don Miguel Ruiz
  • Year: 2019

It’s a kind of a mild version of Carlos Castaneda esoteric mechanics, solid and well narrated, this book is about magic of words and mind-pre-programming withcraft. It’s more like “Transurfing of Reality” by Vadim Zeland, and “Mental Traps” by Andrea Kukla, with more specific approach, although this is shortest and maybe most valueable spiritual book.

Those Four Agreements are:

  • Be Impeccable with your word
  • Don’t take anything personally
  • Do not make an assumptions
  • Always do your best

Read the book for the explanations, it is absolutley worth it. (I’ve listened it about 5 times)


Книга: 12 Rules of Life: An Antidote to Chaos

Category: books
  • Название: 12 Rules of Life: An Antidote to Chaos
  • Автор: Jordan Peterson
  • Год: 2018

Одна из лучших книг на все времена, Доктор Jordan Peterson (о котором напишу отдельный пост), однажды задал себе вопрос, “What are the most valueable things everyone should know ?” (Какие самые ценные вещи должен знать каждый ?), и в ответ на собственный вопрос он придумал, 40 правил жизни которые оформил в виде этой книги. Книгу читает сам доктор Петерсон, что придает ей дополнительную ценность.


* Stand up straight with your shoulders back
* Treat yourself like someone you are responsible for helping
* Make friends with people who want the best for you
* Compare yourself to who you were yesterday, not to who someone else is today
* Do not let your children do anything that makes you dislike them
* Set your house in perfect order before you criticize the world
* Pursue what is meaningful (not what is expedient)
* Tell the truth – or, at least, don't lie
* Assume that the person you are listening to might know something you don't
* Be precise in your speech
* Do not bother children when they are skateboarding
* Pet a cat when you encounter one on the street

Картинка обложки и ссылка под катом.