projects@yorhel.nl
home - git - @ayo

Cute decorative scissors, cutting through your code.

The Globster Direct Connect Client

Project Abandoned
I’ve stopped development on Globster. I still believe the overall idea and architecture of Globster are good, and the DC community would definitely benefit from a remotely controllable client, but Globster in its current form wasn’t going into the direction I wanted it to. I might restart the project from scratch (yet again) in the future, but for now… it’s as dead as a cute zombie whale.

The Globster What?

Globster is an efficient file sharing client for the Direct Connect
network. It runs as a background daemon and provides
a convenient and high-level D-Bus API, making
it easy to write scripts, bots and user
interfaces for Direct Connect.

Adopt your own Globster

Download

There are no tarballs at the moment. You’ll have to get it from the git repo:

git clone --recursive git://g.blicky.net/globster.git
cd globster
autoreconf -i
./configure
make
sudo make install

When doing a git pull to update your version later on, make sure to follow up with a git submodule update to get the right dependencies, too.

The git repo is available for online browsing.

Requirements

Globster can be compiled with a (moderately recent) GCC or clang. You’ll need the following libraries: libdbus, GnuTLS and zlib. If your GnuTLS is too old (<= 2.12), you also need libgcrypt. The globsterctl script requires Perl and the Net::DBus module.

On Debian and Ubuntu, that boils down to the following:

apt-get install git make gcc libc-dev automake autoconf\
  pkg-config libdbus-1-dev libgnutls-dev libnet-dbus-perl

And for Arch Linux:

pacman -S base-devel git perl-net-dbus

I’ve only tested things on Linux (glibc and musl), but I intent to support more kinda-sane POSIX systems in the future as well. Globster will no doubt require some more libraries as more basic features are being implemented. And, yes, of course we will get static binaries!

Status

Remember when I called Globster a “file sharing” client? I lied. It doesn’t share or download files yet, since it’s currently in an early alpha stage. So what does it do?

Those features already make it perfectly suitable for writing chat-only bots and interfaces.

Usage

Globster isn’t particularly hard to use, but usage documentation is currently a bit lacking. I have every intention to fix that, but for now, you’re encouraged to join the development hub and bug me for help: adc://dc.blicky.net:2780/. I did already write some API documentation.

There are at this point not many scripts or interfaces available for Globster:

There’s more to come. I’d love to have at least a convenient console client (a weechat or irssi plugin? An ncdc fork?) and perhaps a web-based interface. But other stuff is welcome, too. Who’s going to write all that, you ask? Erm… well… You, perhaps? :-)

Final notes

As you’ve come to expect from me (right?), Globster is entirely written in C and available under a liberal MIT license.

Globster incorporates code from libev, freetiger, klib and ylib. Additionally, autoconf-lean is used to keep the configure script fast.