Srain can run on most GNU/Linux distributions and macOS, Windows support is in the plan.


Name Notes Version
coreutils building  
make building  
gcc building  
pkg-config building  
imagemagick building  
glib-networking TLS support  
gtk+3   >= 3.16
python3   >= 3.2
libcurl will be removed soon  
libconfig   >= 1.5
python3-sphinx document  
python3-urllib3 avatar and pastebin support  
python3-request avatar and pastebin support  

Manual Installation

You should install the aboved dependencies on your platfrom before manual installation.

Install Dependencies


The accurate package name is depending on platform, the following commands just for reference.


The new dependency libsoup hasn’t included in some of the following packages, for it is hard to maintain a list of packages for every platform. Sorry!

Arch Linux

pacman -S make gcc pkg-config imagemagick # building
pacman -S gettext glib-networking gtk3 python curl libsoup libnotify \


zypper install make gcc pkg-config imagemagick gettext-tools         \
    gtk3-devel>=3.16 libcurl-devel python3-devel libnotify-devel     \
    libconfig-devel>=1.5 # building
zypper install gettext-runtime glib-networking gtk3 python3 libcurl4 \
    libnotify-tools libconfig9>=1.5

Debian & Ubuntu

apt-get install make gcc pkg-config imagemagick gettext libgtk-3-dev \
    libpython3-dev python3-dev libcurl4-openssl-dev libsoup2.4-dev   \
    libnotify-dev  libconfig-dev # building
apt-get install glib-networking libgtk3.0 python3                    \
    libsoup2.4 libnotify4 libconfig9


brew install coreutils gcc pkg-config imagemagick # building
brew install gettext glib-networking gtk+3 python3 curl libsoup      \
libnotify libconfig

Compile & Install

After installing the aboved dependencies, download the source code:

Get stable(require wget and tar):

$ wget
$ tar -xvzf 0.06.4.tar.gz
$ cd srain-0.06.4

Get git version(require git):

$ git clone
$ cd srain


./configure --prefix=/usr/local --config-dir=/usr/local/etc

Install(root privileges required):

make install


The configure script doesn’t check any dependience. So you should make sure that you have fully installed all dependencies.

Install documents:

$ make doc
# make install-doc

Distribution Package

Arch Linux

Packages srain and srain-git (git version) are available on AUR, it is quite easy to install using yaourt:

$ yaourt -S srain
$ yaourt -S srain-git # git version

If you are the user of Arch Linux CN Repository, try:

# pacman -S archlinuxcn/srain
# pacman -S archlinuxcn/srain-git # git version



This package is broken now.

dfceaef has written Debian package script for Srain, but it is already out of date, I will be glad if anyone can fix it.


cpba is maintaining Flatpak manifest for Srain and The built package is is available on Flathub, just execute the following commands to install if you already have flatpak installed:

$ flatpak remote-add --if-not-exists flathub
$ flatpak install flathub im.srain.Srain


rtlanceroad is maintaining Gentoo ebuilds for Srain, please refer to it for more details.


alois is maintaining a openSUSE package for Srain, following this link to install it.