daap-proxy.pl

sekimura さんが Net::Rendezvous::Publish::Backend::BonjourWin32 とかいうアツイモジュールを作っているのを見てこんなの思いついた。

実行できる環境にないので適当に書いてみただけで多分動きませんが、

#!/usr/bin/perl

use strict;
use warnings;

use Getopt::Long;
use FindBin;
use lib "$FindBin::Bin/../lib";

use POE qw/Component::Proxy::TCP/;
use Net::Rendezvous::Publish;
use Net::Rendezvous::Publish::Backend::BonjourWin32;

my $server_name   = 'daap proxy';
my $server_port   = 9999;
my $remote_server = 'localhost';
my $remote_port   = 3689;

GetOptions(
    'n|server-name=s'   => \$server_name,
    'p|port=i'          => \$server_port,
    'r|remote-port=i'   => \$remote_port,
    's|remote-server=s' => \$remote_server,
);

POE::Component::Proxy::TCP->new(
    Alias       => "ProxyServerSessionAlias",
    Port        => $server_port,
    OrigPort    => $remote_port,
    OrigAddress => $remote_server,
);

my $service = Net::Rendezvous::Publish->new->publish(
    name => $server_name,
    type => '_daap._tcp',
    port => $server_port,
);

$poe_kernel->run;

目的はLANの外にあるDAAP ServerをiTunesの共有で聞きたい、てのがしたいということ。

家にも会社にも音楽ファイル置いててめんどいのでこゆのほしかった。

これで動くといいけどなぁ。詳しくは明日。

by typester / at 2006-01-13T02:31:00 / perl / Comments(0)