Добавил paste (Sat 28th Jan 2017 19:13)
Просмотров: 1209 | Размер: 4.96 Кб
скачать |
RAW |
Интеграция с Вашим сайтом |
новая запись |

- #!/usr/bin/perl
- #===============================================================================
- # DESCRIPTION: Простая отправлялка вывода команды или тела файла на p.for-us.nl.
- # Определяет подсветку для некоторых видов указанных через -i файлов.
- #
- # USAGE: cat file.txt | paste
- # или
- # paste.pl -i file.txt
- #
- # OPTIONS: -i <input_file>; -s <syntax>; -e <expire=[f,m,d,h]>; -r <remember=[0,1]>; -n <name>
- #===============================================================================
- use warnings;
- use strict;
- use encoding 'UTF-8', STDOUT => 'UTF-8';
- use LWP::UserAgent;
- use HTTP::Cookies;
- use Getopt::Std;
- our $VERSION = '0.9';
- my %options = ( # Настройки по умолчанию:
- 'u' => 'http://p.for-us.nl', # адрес сервера
- 'e' => 'm', # срок хранения: h - час, d - день, m - месяц, f - постоянно
- 'r' => '0', # помнить ли отправителя
- );
- getopts('s:u:e:i:n:rh', \%options);
- if ($options{h}) {
- usage($VERSION);
- exit;
- }
- simple_sintax_detect(\%options);
- }
- my $msg_body = read_input_file(\%options);
- my $ua = ua_init();
- my $msg_url = send_to_pastebin($ua, \%options, $msg_body);
- exit 0;
- sub simple_sintax_detect {
- my $f_ext = $1 if $options->{i} =~ /^[\wа-я-]+\.([a-z]{1,4})$/i;
- if ($f_ext =~ /^(?:txt|text|)$/i) {
- }
- elsif ($f_ext =~ /^(?:pl|cgi)$/i) {
- }
- elsif ($f_ext =~ /^sh$/i) {
- }
- elsif ($f_ext =~ /^php$/i) {
- }
- }
- sub read_input_file {
- if ( !$options->{i} ) {
- while (<>) {
- $msg_body .= $_;
- }
- }
- elsif ( $options->{i} ) {
- while (<INFILE>) {
- $msg_body .= $_;
- }
- }
- return $msg_body;
- }
- sub send_to_pastebin {
- my ($options, $msg_body) = @_;
- my $response = $ua->post( $options->{u},
- [
- code2 => $msg_body,
- poster => $options->{n},
- paste => 'Send',
- remember => $options->{r},
- expiry => $options->{e},
- ],
- );
- }
- sub ua_init {
- my $cookies=HTTP::Cookies->new('file'=>'./cookies.lwp','autosave'=>0);
- my $ua = LWP::UserAgent->new(
- 'agent' => 'paste - pastebin service agent',
- 'cookie_jar' => $cookies,
- 'requests_redirectable' => ['GET', 'POST'],
- );
- $ua->default_header(
- 'Accept' => 'text/html, application/xml;q=0.9, application/xhtml+xml, */*;q=0.1',
- 'Accept-Charset' => 'utf-8; *;q=0.1',
- 'Accept-Language' => 'ru,en-us;q=0.7,en;q=0.3',
- 'Accept-Encoding' => 'deflate, gzip, x-gzip, *;q=0',
- );
- return $ua;
- }
- sub usage {
- print <<EOF;
- Использование: paste [КЛЮЧ]... <-i input_file> (1-я форма)
- или: COMMAND | paste (2-я форма)
- В первой форме на сервер будет отправлен указанный файл input_file.
- Во второй форме на сервер будет отправлен результат вывода COMMAND.
- Ключи:
- h - один час, d - один день, m - месяц, f - постоянно;
- -i [input_file] Имя входящего файла, текст которого будет
- отправлен на pastebin сервер;
- -n [username] Имя отправителя (иначе - anonimous);
- -r Помнить отправителя (если установлена);
- -h Вывод данной справки и завершение программы;
- EOF
- }
Отправьте изменение или исправление текста ниже (Или добавьте новую запись)
После добавления поправки, вы сможете увидеть разницу между старой и новой версиями.
0.0293 сек. | 1.86 МБ | SQL: 7