As you might know I’m currently hosting gnusocial.cc, a GNU Social server (you can find a lot of useful information in the link) which instead of the “classic” interface of this social network uses Qvitter, a plugin that makes better the server appearance.
My problem came when I saw that spam bots were creating a lot of new accounts on the server. I tried using the SimpleCaptcha plugin, which is included by default on GNU social, and also FacileCaptcha, which was created by XRevan86 (the admin of LoadAverage.org) but they only work with the classical interface. After searching for a while and talking to some people I was told of a Captcha-plugin for Qvitter: QvitterSimpleSecurity.
Install & Set Up QvitterSimpleSecurity on GNU Social
Go to your plugin directory (local/plugins or plugins) and clone the Git repository of the plugin we are talking about:
$ git clone https://gitgud.io/panjoozek413/qvittersimplesecurity
Rename the plugin directory (GNU social is case sensitive) to QvitterSimpleSecurity:
$ mv qvittersimplesecurity QvitterSimpleSecurity
To enable the plugin just add (using a text editor like e.g. nano) the following line to your config.php (in the root directory of your GNU Social installation):
Visit the registration page of Qvitter in order to check that the Captcha is working 🙂
As I was working on libgnusocial I went into trouble because we have three different git repositories: Gitlab, Github & code.freedombone.net and I wanted to keep them all updated. To do this I just work with one (at Gitlab) and I treat the others as mirrors. First of all, to mirror a git repository we need to clone it using the “mirror” argument:
$ git clone --mirror https://gitlab.com/user/repository
Then move into the cloned repository directory (which git ends in “.git” due to the mirror cloning process):
$ cd repository.git
And finally push into an empty repository or an outdated mirror of our repository:
$ git push --mirror https://gitlab.com/user/another_repository
“i3 is a tiling window manager, completely written from scratch. The target platforms are GNU/Linux and BSD operating systems, our code is Free and Open Source Software (FOSS) under the BSD license. i3 is primarily targeted at advanced users and developers.” — i3wm.org
I’ve just moved to Devuan GNU/Linux 1.0.0 “Jessie” and installed i3wm as desktop environment. While I was setting it up I wanted to set a wallpaper (instead of the black background that comes by default) chosen from those stored in a directory. First of all we have to install the tool “feh”. In Debian/Devuan:
# apt-get install feh
Now, we have to add to the end of the i3 config file (located in ~/.i3/config) the following line (which simply calls feh):
exec --no-startup-id feh --randomize --bg-scale /path/to/wallpapers/*
And then restart i3wm (at least in my case it doesn’t work just reload).
While I was trying to clone the libmicrohttpd Git repository I got the following fail:
fatal: unable to access 'https://gnunet.org/git/libmicrohttpd.git/': server certificate verification failed.
The easy way to fix it’s disable the SSL verification at the same command line where we clone the repository, by setting the GIT_SSL_NO_VERIFY variable to “true”.
$ GIT_SSL_NO_VERIFY=true git clone --recursive https://gnunet.org/git/libmicrohttpd.git/
We’ll get our local copy of the repository. If we’re going to work on it rather than just compiling or installing (that was my case) then we can disable SSL certification checking for that repository:
$ git config http.sslVerify "false"
First of all you need to install the following build utilities which are part of the GNU project:
Also you have to install the packages that are required by GnuSocialShell itself:
- libreadline (optional; just if you wish to have TAB-autocompletion)
In Debian GNU/Linux (and derivates such as Ubuntu, Linux Mint, Trisquel GNU, …) you can get them using APT:
# apt-get install gcc make libcurl4-gnutls-dev autotools-dev autoconf libreadline-dev
Get the Source Code
You can get the source code of GnuSocialShell 1.3.0 as a ZIP file from this link. Once you get it, unzip it.
To compile GnuSocialShell just open a shell/terminal emulator in the unzipped directory and type:
$ touch config.rpath && autoreconf -iv && ./configure --prefix=/usr/local && make
If everything is okay (it should be) you will get a binary file called “gnusocialshell” in the compilation directory. You can also install it into your system by typing (as root):
# make install
The installation directory is /usr/local/bin. If you want to install it in /usr/bin just set the prefix of ./configure to /usr in the compilation command. To remove GnuSocialShell from your system, type:
# make uninstall
Before you use GnuSocialShell you have to configurate it; Please read “Setting up GnuSocialShell 1.3.0” (not redacted yet)