113 lines
4 KiB
Text
113 lines
4 KiB
Text
=pod
|
|
|
|
[html]<!-- This code is ugly as hell. -->
|
|
<div style="width: 600px; height: 227px; background-image: url(/img/globster.png); margin-bottom: -30px">
|
|
<b style="font-size: 14px; position: relative; left: 150px; top: 10px">The Globster What?</b>
|
|
<p style="position: relative; left: 150px; top: 20px; width: 420px; text-align: right">
|
|
Globster is an efficient file sharing client for the Direct Connect<br />
|
|
network. It runs as a background daemon and provides<br />
|
|
a convenient and high-level D-Bus API, making<br />
|
|
it easy to write scripts, bots and user<br />
|
|
interfaces for Direct Connect.
|
|
</p></div>É
|
|
|
|
=head1 Adopt your own Globster
|
|
|
|
=head2 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 C<git pull> to update your version later on, make sure to follow
|
|
up with a C<git submodule update> to get the right dependencies, too.
|
|
|
|
The git repo is available for
|
|
L<online browsing|http://g.blicky.net/globster.git/> and can also be
|
|
L<found on github|https://github.com/yorhel/globster>.
|
|
|
|
=head2 Requirements
|
|
|
|
Globster can be compiled with a (moderately recent) GCC or clang. You'll need
|
|
the following libraries: L<libdbus|http://dbus.freedesktop.org/> and
|
|
L<GnuTLS|http://gnutls.org>. 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 L<musl|http://www.musl-libc.org>),
|
|
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, I<of course> we will get static binaries!
|
|
|
|
=head2 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 I<does> it do?
|
|
|
|
=over
|
|
|
|
=item * Connect to ADC and NMDC hubs
|
|
|
|
=item * User list management
|
|
|
|
=item * Chatting and private messaging
|
|
|
|
=back
|
|
|
|
Those features already make it perfectly suitable for writing chat-only bots
|
|
and interfaces.
|
|
|
|
=head2 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: C<adc://dc.blicky.net:2780/>.
|
|
I did already write some
|
|
L<API documentation|http://dev.yorhel.nl/globster/api>.
|
|
|
|
There are at this point not many scripts or interfaces available for Globster:
|
|
|
|
=over
|
|
|
|
=item * L<globsterctl|http://dev.yorhel.nl/globster/ctl> - A control script for the daemon, included in the git repo.
|
|
|
|
=item * L<globster-feedspam.pl|http://p.blicky.net/wpaaf> - An RSS / Atom notification script.
|
|
|
|
=item * L<globster-mhc.pl|http://p.blicky.net/8y8mv> - A hub chat link script. More useful as an example than anything else.
|
|
|
|
=back
|
|
|
|
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? :-)
|
|
|
|
=head2 Final notes
|
|
|
|
As you've come to expect from me I<(right?)>, Globster is entirely written in C
|
|
and available under a liberal MIT license.
|
|
|
|
Globster incorporates code from
|
|
L<libev|http://software.schmorp.de/pkg/libev.html>,
|
|
L<freetiger|http://klondike.es/freetiger/>,
|
|
L<klib|https://github.com/attractivechaos/klib> and
|
|
L<ylib|https://github.com/yorhel/ylib>.
|
|
Additionally, L<makeheaders|http://www.hwaci.com/sw/mkhdr/> is used to prevent
|
|
obsessing over header file management, and
|
|
L<autoconf-lean|https://bitbucket.org/GregorR/autoconf-lean> keeps the
|
|
configure script fast.
|
|
|