это боты которые позволяют пересылать файлы как сообщения через жабер, писалось это для одного провайдера у которого есть свой жабер сервер (трафик к которому не оплачивается) но нет анлима, жабер закрыли, а боты остались, выкладываю, может быть кому нибудь пригодится отправляющий бот Code: #!/usr/bin/perl -w # jabber file transfer, sender bot # C!klodoL use strict; use Net::XMPP; use MIME::Base64; my $hostname = 'somehost.net'; my $username = 'bot1'; my $password = 'P@$$w@rD'; my $acceptor = '[email protected]'; #принимающий бот my $filesend = shift; unless ($filesend) { print "Usage $0 fileforsend\n"; exit 1; } open (FILE, '<'.$filesend); my $client = Net::XMPP::Client->new(); $client->SetCallBacks(onauth => \&onAuth,); $client->SetMessageCallBacks(#normal =>\&messageNormalCB, chat =>\&messageChatCB); $client->Execute(hostname => $hostname, username => $username, password => $password, resource => 'Psi'); sub onAuth { $client->PresenceSend(show => 'online', priority => 10); $client->MessageSend(to => $acceptor, body => 'xNEWxFILEx:'.$filesend.':xNEWxFILEx', type => 'chat'); } sub messageChatCB { my ($sid, $mes) = @_; my $sender = $mes->GetFrom(); my $body = $mes->GetBody(); my $thread = $mes->GetThread(); my $s_jid = $sender; $s_jid =~ s|\/.*$||; my $reply = ''; print $body."\n"; if ($body =~ /xNEXTx/) { sysread(FILE, my $buff, 100); if ($buff) { $reply = 'xFCONTx:'.encode_base64($buff).':xFCONTx'; } else { $reply = 'xFILEENDx' } } print $reply."\n"; $reply and $client->MessageSend(to => $sender, subject => '', body => $reply, type => 'chat', thread => $thread); } принимающий бот Code: #!/usr/bin/perl -w # jabber file transfer, acceptor bot # C!klodoL use MIME::Base64; use strict; use Net::XMPP; my $hostname = 'somehost.net'; my $username = 'bot2'; my $password = 'P@$$w@rD'; my $directory = '/tmp/'; #директория для принимаемых файлов my $client = Net::XMPP::Client->new(); $client->SetCallBacks(onauth => \&onAuth,); $client->SetMessageCallBacks(#normal =>\&messageNormalCB, chat =>\&messageChatCB); $client->Execute(hostname => $hostname, username => $username, password => $password, resource => 'Psi'); sub onAuth { $client->PresenceSend(show => 'online', priority => 10); } sub messageChatCB { my ($sid, $mes) = @_; my $sender = $mes->GetFrom(); my $body = $mes->GetBody(); my $thread = $mes->GetThread(); my $s_jid = $sender; $s_jid =~ s|\/.*$||; my $reply = ''; if ($body =~ /xNEWxFILEx:(.*):xNEWxFILEx/) { open (FILE, '>'.$directory.$1); print "[+] Opening file $1\n"; $reply = 'xNEXTx'; } if ($body =~ /xFCONTx:(.*):xFCONTx/s) { print FILE decode_base64($1); print $1; print "[+] Part of file accepted\n"; $reply = 'xNEXTx'; } if ($body =~ /xFILEENDx/) { close FILE; print "[+] End of file\n"; } $reply and $client->MessageSend(to => $sender, subject => '', body => $reply, type => 'chat', thread => $thread); }
хм... нет я имею ввиду что как можно написать socks 5 что б тоже через джабер бот принимающий и отдающий что б через сообщения тоже отдавал и принимал запросы. я знаю такое возможно еси с файлами можно то это тоже прокатит можно еще и с многопоточьностью замутить