Mercurial > pidgin
view licq2gaim.pl @ 9896:a806e5150eca
[gaim-migrate @ 10785]
" summary:
This patch adds support for a zephyr proxy tzc. User
visible changes will be an options check box to enable
tzc, and a text box with the command to run tzc. %s in
the command would be replaced by the user's exposure
(visibility) level.
e.g
ssh username@host tzc -e %s
Details:
What is tzc:
tzc aka "trivial zephyr client", is a zephyr helper
program, designed originally for use with emacs-zephyr
(it takes as input and outputs lisp expressions), and
also used as the backend for kzephyr.
Why?
It is often invoked by a zephyr using on a remote host,
by doing
ssh username@host tzc -e EXPOSURE
so that one can use any of the zephyr clients that use
it as a backend, behind NAT "routers" and firewalls,
which will generally block zephyr.
Also, people will not have to recompile gaim, or have a
working zephyr setup as is currently needed - they can
merely set the tzc command to a run tzc from a remote
host which has zephyr and tzc installed -- most zephyr
users are at universities where they have access to
such a machine.
Where can one get tzc?
I tested this against the version (2.6.15-zml)
available here:
http://www.club.cc.cmu.edu/debian/dists/stable/contrib/source/tzc-cclub_001-3.tar.gz
Some older versions won't support buddylists.
A lot of the parsing code was borrowed (and converted from
C++ to C)
from kzephyr (http://www-2.cs.cmu.edu/~colohan/kzephyr/),
a GPL'd zephyr client.
And tzc is also GPL'd, FWIW." --Arun A Tharuvai
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sat, 28 Aug 2004 02:25:16 +0000 |
parents | e967c0d93930 |
children |
line wrap: on
line source
#!/usr/bin/perl -w # licq2gaim.pl # # Arturo Cisneros, Jr <acjr@hal-pc.org> # GPL'd use strict; my $DIR = "$ENV{HOME}/.licq"; my $GAIM = "$ENV{HOME}/.gaim"; my (@UINS, %USERS) = (); my $OWNER = ""; get_uins(); foreach my $uin (@UINS) { $USERS{$uin} = get_alias($uin); } get_owner(); write_list(); sub get_uins { opendir(DIR, "$DIR/users") or die "Couldn't open dir $DIR/users/: $!"; @UINS = grep !/^\./, readdir DIR; closedir(DIR); } sub get_owner { my @foo = (); open(FILE, "<$DIR/owner.uin") or die "Couldn't open file $DIR/owner.uin $!"; while(<FILE>) { next unless /^Uin/; @foo = split; last; } close(FILE); $OWNER = $foo[2]; } sub get_alias { my @foo = (); open(FILE, "<$DIR/users/$_[0]") or die "Couldn't open $DIR/users/$_[0]: $!"; while(<FILE>) { next unless /^Alias/; @foo = split / /, $_, 3; last; } close(FILE); return $foo[2]; } sub write_list { # Backup Original if( -e "$GAIM/$OWNER.3.blist") { rename("$GAIM/$OWNER.3.blist","$GAIM/$OWNER.3.bak"); } # Write new file open(FILE, ">$GAIM/$OWNER.3.blist") or die "Couldn't open file for writing: $!"; print FILE "m 1\n"; print FILE "g ICQBuddies\n"; while(my($key, $value) = each %USERS) { $key =~ s/\.uin$//; print FILE "b $key:$value"; } close(FILE); }