Codes divers

HubicGTK
Login

About

HubicGTK is a system tray icon for hubiC, the online storage service by OVH SAS.

It draws its inspiration from the bundled Dropbox system tray icon.

It is developped in pygtk, thus it depends on python2, gtk2, dbus, xdg and notify bindings for python. It is released under the terms of the WTF Public License

Get it

The last version is 0.5. You can get it here

Usage

The program should run out of the box. Just type the following commands:

$ tar xzf hubic-gtk-x.x.x.tar.gz
$ cd hubic-gtk
$ ./hubic-gtk.py

If you want to install it system wide, you can use the provided Makefile:

$ sudo make

or

$ make build
$ su -
# cd /previous/extracted/path
# make install

And start it with the hubic-gtk command.

You can install it elsewhere if needed, just pass the target root as a parameter to make. For example:

$ make build DEST=~/.local
$ make install DEST=~/.local
$ .local/bin/hubic-gtk &

or

$ make build DEST=/opt/hubic-gtk
$ sudo make install DEST=/opt/hubic-gtk
$ /opt/hubic-gtk/bin/hubic-gtk &

Configuration

HubicGTK use a per-user configuration file located in $XDG_CONFIG_HOME/hubiC/status_icon.conf. It is a generic configuration file, which follows this structure:

[general]
notify = True
hubic_dir = ~/Hubic

[much_secret_wow_not_see]
encfs_config = ~/.config/.myhubicsecret.encfs6.xml
encfs_passfile = ~/.config/.myhubicsecret.encfs.pass
mount_point = ~/Private/Hubic

The general section refers to preferences of the status icon. Any other section must refer to as many existing encfs containers.

The program does not depend on this per-user configuration file. If no config file is found for the current user or if a configuration option is missing in your configuration file, the program follows its default rules, which are:

[general]
notify = False
show_all_message = False
file_browser = xdg-open {0}
prefix_unit = binary

Your default hubic_dir is retrieved from dbus at first run.

General section

Encfs sections

As we lived in a world where citizen censorship and mass surveillance is common, it is a good practice to crypt our private data. Many different systems exist, like TrueCrypt or EncFS. I chose to add encfs features to this program as it is, at my sense, the most practical way to crypt data on such cloud storage services.

By the way, the aim of HubicGTK is NOT to help you create encfs container, but just to help you mounting these containers. To do so, just add the correct sections to your configuration file and the corresponding enfs volume will show up in the hubiC status menu.

The name of the configuration file's section must be the relative path to your hubiC synchronised folder. Given ~/Hubic being your hubiC synchronized folder, if your encfs container is stored in ~/Hubic/my_private_folder, the section name must be [my_private_folder]. If it is in ~/Hubic/Documents/very_secret, the section name must be [Documents/very_secret].

For each of your encfs containers, the following options are available:

Here is a complete example of an encfs section, regarding a container staying in ~/Hubic/much_secret_wow_not_see:

[much_secret_wow_not_see]
encfs_config = ~/.config/.myhubicsecret.encfs6.xml
encfs_passfile = ~/.config/.myhubicsecret.encfs.pass
mount_point = ~/Private/Hubic

Contributions

All contributions are welcome. Just clone take the code and do WTF you want with.

A special attention will be given to any translation help. You can either: