ВходИмяПароль
Автоматически входить при каждом посещении    
Регистрация
Регистрация
Войти и проверить личные сообщения
Войти и проверить личные сообщения
Список форумов ЛанМедиаСервис » Другое ПО, скрипты и сервисы

Начать новую тему   Ответить на тему
скрипт генерации ed2k и DC++ ссылок На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Предыдущая тема :: Следующая тема  
Автор Сообщение

slamwidth100@rambler.ru





Зарегистрирован: 13.03.2009
Сообщения: 8


blank.gif
Сообщение Добавлено: 2009-03-19 23:23 pm    Заголовок сообщения: Ответить с цитатой

помогите разобраться чайнику Smile либо за спасибо, либо за денежку

дайте работоспособый скрипт по Win(для генерации только ДС++ по нетбиосу), с консольной программой для хэширования.

С тем что выше, что-то не получается, да и tthsum найти не могу
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Hiller





Зарегистрирован: 02.03.2008
Сообщения: 70


blank.gif
Сообщение Добавлено: 2009-03-20 00:33 am    Заголовок сообщения: Ответить с цитатой

PoisoN писал(а):
На здоровье Smile
Если вдруг будут проблемы с отображением кирилицы в именах файлов - обращайтесь, расскажу что к чему. Сам промучался много с этим...


Проблемы с русским таки остались Sad

Браузинг расшаренных файлов отображает все корректно, а вот в поиске файл по TTH находится, но имя и путь у него находится в KOI8 (карякозябры). Клиент FlyLinkDC.

PoisoN, Вам не доводилось решать такую проблему?

Добавлено спустя 3 minutes 51 seconds:

slamwidth100@rambler.ru писал(а):
помогите разобраться чайнику Smile либо за спасибо, либо за денежку

дайте работоспособый скрипт по Win(для генерации только ДС++ по нетбиосу), с консольной программой для хэширования.

С тем что выше, что-то не получается, да и tthsum найти не могу


Искать надо tthsum.exe. Чтобы работал указанный выше скрипт (версия на perl), надо установить интерпретатор Perl и MySQL-Client, в скрипте указать параметры подключения к базе. Насчет Netbios - не знаю, файлы будут икаться по тем ссылкам, которые внутри базы каталога. Кроме двух приведенных в этой теме скриптов, других доступных публично я не видел.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

slamwidth100@rambler.ru





Зарегистрирован: 13.03.2009
Сообщения: 8


blank.gif
Сообщение Добавлено: 2009-03-20 01:21 am    Заголовок сообщения: Ответить с цитатой

Помогайте разобраться Smile
Код:

#!perl -w

use strict;
use warnings;

my $mysql = "mysql";          //Что надо писать тут?
my $tthsum = "tthsum";       //Что надо писать тут?
my $dbcharset = "cp1251";

my ($db, $user, $pass) = ('база','юзер','пароль');
foreach(`"$mysql" -u$user -p$pass $db -Ne "set names $dbcharset; select ID,Size,Path,Name from files where dcpplink='' and Path not like 'ftp%'"`){
        my ($id, $size, $path, $name) = (split /\t/, $_);
        chomp $name; s/\s+/_/g for $name;
        my $hash = $1 if (`$tthsum "$path"`) =~ /(\S+)/;
        my $dcpp="magnet:?xt=urn:tree:tiger:$hash&xl=$size&dn=$name";
        system("$mysql -u$user -p$pass $db " . ' -e " set names ' . "$dbcharset; update files set dcppLink=\'$dcpp\' where ID=$id" . '"' ) ;
        print "updating $name with dcpp link $dcpp\n" ;
}


Или напишите плиз, ктонить для примера. Есть база: mediateka, логин: admin pass: 123456

напишите что где вставить.

И ещё вопрос не по теме, но может конить ответит, при генерации скриншотов на фильмах hdtv(и походу не только на них, а на любых файлах больше 2 ГБ) видны только черные прямоугольники.[/code]

Добавлено спустя 3 minutes 36 seconds:

а tthsum нашел давно, просто не знал как ей пользоваться.

Чтобы другим не искать, прикрепил.

Добавлено спустя 2 minutes 23 seconds:

11
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Hiller





Зарегистрирован: 02.03.2008
Сообщения: 70


blank.gif
Сообщение Добавлено: 2009-03-20 06:51 am    Заголовок сообщения: Ответить с цитатой

Пиши параметры подключения к базе в строчку:
Код:
my ($db, $user, $pass) = ('база','юзер','пароль');


Добавлено спустя 1 minute 35 seconds:

Черные прямоугольники. Хм... У меня только на битых файлах. Чем дергаешь кадры?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

PoisoN





Зарегистрирован: 22.04.2008
Сообщения: 48
Откуда: Чернигов

ukraine.gif
Сообщение Добавлено: 2009-03-20 08:45 am    Заголовок сообщения: Ответить с цитатой

Hiller писал(а):

Проблемы с русским таки остались Sad

Браузинг расшаренных файлов отображает все корректно, а вот в поиске файл по TTH находится, но имя и путь у него находится в KOI8 (карякозябры). Клиент FlyLinkDC.

PoisoN, Вам не доводилось решать такую проблему?



Smile
Именно с этой проблемой я и воевал несколько часов Smile
Не буду сильно углубляться в подробности, перейду сразу к решению - нужно в исходниках, в файле main.c, найти такой блок

Цитата:

set_main_charset("");
set_hub_charset("");
set_fs_charset("");


и тут дописать в первую строку кодировку.
Т.е. получится set_main_charset("koi8-r");
После этого все пересобрать и переустановить.
Вуаля Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number

Hiller





Зарегистрирован: 02.03.2008
Сообщения: 70


blank.gif
Сообщение Добавлено: 2009-03-20 12:01 pm    Заголовок сообщения: Ответить с цитатой

Ага, я уже тоже начал рыть исходники, тоже нашел этот самый main. Но еще не докапался до сути. Сейчас попробую твой - кратчайший путь. Огромное спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

PoisoN





Зарегистрирован: 22.04.2008
Сообщения: 48
Откуда: Чернигов

ukraine.gif
Сообщение Добавлено: 2009-03-20 12:17 pm    Заголовок сообщения: Ответить с цитатой

Hiller писал(а):
Ага, я уже тоже начал рыть исходники, тоже нашел этот самый main. Но еще не докапался до сути. Сейчас попробую твой - кратчайший путь. Огромное спасибо!


Пожалуйста.
Я начинал рыть исходники с обратной стороны Smile
Мейн - это была уже конечная точка Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number

slamwidth100@rambler.ru





Зарегистрирован: 13.03.2009
Сообщения: 8


blank.gif
Сообщение Добавлено: 2009-03-20 19:03 pm    Заголовок сообщения: Ответить с цитатой

при запуске выскакивает ошибка
выскакивает ошибка mysql не является внутренней или внешней командой. Походу надо чтобы он обращался к mysql.

my $mysql = "mysql";

тут надо указывать пусть к мускулу???

my $mysql = "mysql";

если вписать my $mysql = "пусть к файлу\mysql.exe";
то пишет unrecognized escape \S passed through at C:\script.pl line 5
то пишет unrecognized escape \S passed through at C:\script.pl line 5
то пишет unrecognized escape \M passed through at C:\script.pl line 5
то пишет unrecognized escape \m passed through at C:\script.pl line 5

тут походу что-то элементарное, но я не знаю что делать, помоги плиз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Angel





Зарегистрирован: 29.02.2008
Сообщения: 79


ukraine.gif
Сообщение Добавлено: 2009-03-20 20:47 pm    Заголовок сообщения: Ответить с цитатой

Попробуй типа такого

$mysql = "C:/mysql/bin/mysql.exe";
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

slamwidth100@rambler.ru





Зарегистрирован: 13.03.2009
Сообщения: 8


blank.gif
Сообщение Добавлено: 2009-03-20 20:56 pm    Заголовок сообщения: Ответить с цитатой

тож самое выскакивает

то пишет unrecognized escape \S passed through at C:\script.pl line 5
то пишет unrecognized escape \S passed through at C:\script.pl line 5
то пишет unrecognized escape \M passed through at C:\script.pl line 5
то пишет unrecognized escape \m passed through at C:\script.pl line 5

Добавлено спустя 10 minutes 45 seconds:

ой, вру, сча буду тестировать, всё дело в слэшах, спс большое

Добавлено спустя 47 minutes 23 seconds:

вроде всё работает. спасибо.
ещё один вопросик не в тему(чтобы тему отдельную не создавать)

где можно убрать картинки для просмотра(всмысле на сайте будут только ссылки ДС++, и больше ничего, надо убрать картинки различных плееров. В каком файле это можно подкорректировать.

Добавлено спустя 1 hour 59 minutes 48 seconds:

ещё один вопрос назрел Smile

при генерации ДС++ ссылок, почемуто в некоторых файлах хэш не сгенерировался, и ссылки получились без хэша и следовательно они нерабочие.
Из за чего это может быть, и как это можно исправить? перхэшировать можно автоматом(если перезапущу скрипт, всё перехэшируется?), т.к руками тяжеловато всё это буит делать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

zzaraza 





Зарегистрирован: 26.12.2008
Сообщения: 40


russia.gif
Сообщение Добавлено: 2009-03-23 07:16 am    Заголовок сообщения: Ответить с цитатой

slamwidth100@rambler.ru писал(а):

при генерации ДС++ ссылок, почемуто в некоторых файлах хэш не сгенерировался, и ссылки получились без хэша и следовательно они нерабочие.
Из за чего это может быть, и как это можно исправить? перхэшировать можно автоматом(если перезапущу скрипт, всё перехэшируется?), т.к руками тяжеловато всё это буит делать.


1. Кодировка
2. Недопустимые символы или пробелы в названии файла
3. Недоступность файла на момент работы скрипта
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Kinard





Зарегистрирован: 07.05.2009
Сообщения: 1


blank.gif
Сообщение Добавлено: 2009-05-09 06:40 am    Заголовок сообщения: Ответить с цитатой

Есть предложение не генерировать TTH, а выдирать его из файла DC клиента.

На примере StrongDC это файл HashIndex.xml в котором данные в таком виде:
<File Name="v:\films\300 спартанцев.avi" TimeStamp="1175028000" Root="CQQBGKDPS4KHNGEGVFCG223CSENHY4SGXPZ3TVY" />

Так как файл admin.php зазенден, могу я поинтересоваться, какие мне надо сделать действия, чтобы на вкладке "Редактор фильмов" поле "Ссылка DC++" заполнялось моим скриптом? Или проще в какой-нить header.php встроить функцию проверки БД видеокаталога на отсутствие ссылки DC++ и заполнения автоматически?

Сделал такой скрипт: dc++.php
Код:
<?php
// Конфигурация скрипта
require_once "config.php";
$StrongDC  = "c:\Program Files\StrongDC\Settings\HashIndex.xml";

// Функции

function Parsing_StrongDC($file,$Film_path)
   {
   $message = "&nbsp;&nbsp;&nbsp;&nbsp;Парсим файл StrongDC на наличие фильма $Film_path...";
   Write_Message($message);

   $currentTag = "";
   $currentAttribs = "";

   $xmlParser = xml_parser_create('UTF-8');
   xml_set_element_handler($xmlParser, "startElement", "endElement");
   if (!($fp = fopen($file, "r"))) {die("could not open XML input");}
   while ($data = fgets($fp)) {
       if (!xml_parse($xmlParser, $data, feof($fp))) {
           echo "<br>XML Error: ";
           echo xml_error_string(xml_get_error_code($xmlParser));
           echo " at line ".xml_get_current_line_number($xmlParser);
           break;
       }
   }
   xml_parser_free($xmlParser);
   }

function startElement($parser, $name, $attribs) {
   global $currentTag, $currentAttribs, $Film_path, $TTH;
   $currentTag = $name;
   $currentAttribs = $attribs;
   switch ($name)
      {
         case "FILE":
            while (list ($key, $value) = each ($attribs))
               {
                  if (str_replace("/", "\\", strtolower($Film_path)) == iconv('UTF-8', 'cp1251', $value))
                     {
                     echo ("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Найден элемент $key : ".iconv('UTF-8', 'cp1251', $value)."<br>");
                     echo ("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Найден элемент ROOT : $attribs[ROOT]<br>");
                     $TTH = $attribs[ROOT];
                     global $TTH;
                     }
               }
         break;
         default:
         break;
      }
}

// Данная функция не используется, но должна быть определена.
function endElement($parser, $name)
   {}

function Write_Message($message)
   {echo "$message<br>";}

// Связываемся с базой данных
$idSQLConnection = mysql_connect($config['mysqlhost'], $config['mysqluser'], $config['mysqlpass']);
if ( !$idSQLConnection )
{
   $message = "Критическая ошибка на сервере. Ошибка при подключении к базе данных.";
   Write_Message($message);
   exit;
}
$result = mysql_select_db( $config['mysqldb'], $idSQLConnection );
if ( !$result )
{
   $message = "Критическая ошибка на сервере. Ошибка при выборе базы данных.";
   Write_Message($message);
   exit;
}

$result = mysql_query("SELECT * FROM `files` WHERE `dcppLink` = ''");
$row = mysql_fetch_array($result,MYSQL_ASSOC);
if (mysql_num_rows($result)==0)
      {
   $message = "Фильмов без ссылок DC++ не найдено.";
   Write_Message($message);
   exit;
      }
else {
   $message = "Найден фильм <b>$row[Name]</b> без ссылки DC++";
   Write_Message($message);
   $Film_path = $row[Path];
   Parsing_StrongDC($StrongDC,$row[Path]);
   $Link = "magnet:?xt=urn:tree:tiger:$TTH&xl=$row[Size]&dn=$row[Name]";
   $message = "&nbsp;&nbsp;&nbsp;&nbsp;Создали ссылку DC++ : <b>$Link</b>";
   Write_Message($message);
   $result = mysql_query("UPDATE `files` SET `dcppLink` = '".$Link."' WHERE `ID` = ".$row[ID]);
   $message = "&nbsp;&nbsp;&nbsp;&nbsp;Записали ссылку в базу";
   Write_Message($message);
   $result = mysql_query("UPDATE `films` SET `Hide` = 0 WHERE `ID` = ".$row[FilmID]);
   $message = "&nbsp;&nbsp;&nbsp;&nbsp;Открыли фильм в каталоге";
   Write_Message($message);
}

?>

Данный скрипт ложится в корень скрипта видеокаталога.
ОС: Win
Фильмы: локально
Клиент DC++: локальный StrongDC++

Прошу сильно не пинать.


Последний раз редактировалось: Kinard (2009-05-12 12:31 pm), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Hiller





Зарегистрирован: 02.03.2008
Сообщения: 70


blank.gif
Сообщение Добавлено: 2009-05-11 04:09 am    Заголовок сообщения: Ответить с цитатой

Далеко не у всех винда, поэтому способ не универсальный.

Заполнять TTH ты можешь не привязываясь к коду каталога, а писать его прямо в базу mysql, как это сделано в приведенном выше скрипте.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение

Олег Травин





Зарегистрирован: 29.02.2008
Сообщения: 4


blank.gif
Сообщение Добавлено: 2009-06-12 14:26 pm    Заголовок сообщения: Ответить с цитатой

может есть у кого идеи как сделать генерацию магнет ссылки для bittorrent?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение ICQ Number

Angel





Зарегистрирован: 29.02.2008
Сообщения: 79


ukraine.gif
Сообщение Добавлено: 2009-11-30 17:50 pm    Заголовок сообщения: Ответить с цитатой

Переделал скрипт для создания торрент-файлов и добавления их на сайт. Если кому то нужен, могу выложить
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов ЛанМедиаСервис » Другое ПО, скрипты и сервисы Часовой пояс: GMT
На страницу Пред.  1, 2, 3, 4, 5, 6  След.
Страница 5 из 6

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы