Иконка ресурса

XenTorrent Tracker 1.2.1

Нет прав для скачивания
Нужно прописать доступы к базе в конфиге xbt, они идентичны форумным, т.е. xbt пишет в форумную базу.
 
Нужно прописать доступы к базе в конфиге xbt, они идентичны форумным, т.е. xbt пишет в форумную базу.
уже чутка разобрался, создал эту таблицу имя_бд.config, но теперь столкнулся с
Код:
Unknown column 'fid' in 'field list'
select fid, info_hash, leechers, seeders, flags, mtime, ctime from files where 0
 
Потому что резать гланды через жопу несколько неудобно. Кроме создания таблиц, нужно создать их поля (и добавить где нужно в существующие). С этим справляется инсталлятор скрипта, кусок кода для примера
PHP:
    public static function getTables()
    {
        $tables = array();

        $tables['xftt_announce_log'] = "
            CREATE TABLE IF NOT EXISTS `xftt_announce_log` (
              `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
              `ipa` int(10) unsigned NOT NULL,
              `port` int(10) NOT NULL,
              `event` int(10) NOT NULL,
              `info_hash` binary(20) NOT NULL,
              `peer_id` binary(20) NOT NULL,
              `downloaded` bigint(20) unsigned NOT NULL,
              `left0` bigint(20) unsigned NOT NULL,
              `uploaded` bigint(20) unsigned NOT NULL,
              `uid` int(10) unsigned NOT NULL,
              `mtime` int(10) unsigned NOT NULL,
              PRIMARY KEY (`id`)
            ) ENGINE=MyISAM  DEFAULT CHARSET=utf8
        ";

        $tables['xftt_cheat_log'] = "
            CREATE TABLE IF NOT EXISTS `xftt_cheat_log` (
              `log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
              `user_id` int(10) unsigned NOT NULL,
              `ipa` int(10) unsigned NOT NULL,
              `peer_id` binary(20) NOT NULL,
              `upspeed` bigint(20) unsigned NOT NULL,
              `tstamp` int(10) unsigned NOT NULL,
              `uploaded` bigint(20) unsigned NOT NULL,
              `useragent` varchar(30) NOT NULL,
              PRIMARY KEY (`log_id`),
              KEY `uid` (`user_id`,`tstamp`),
              KEY `tstamp` (`tstamp`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_config'] = "
            CREATE TABLE IF NOT EXISTS `xftt_config` (
              `name` varchar(255) NOT NULL,
              `value` varchar(255) NOT NULL,
              PRIMARY KEY (`name`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_deny_from_clients'] = "
            CREATE TABLE IF NOT EXISTS `xftt_deny_from_clients` (
              `peer_id` char(20) NOT NULL,
              `comment` varchar(200) NOT NULL,
              PRIMARY KEY (`peer_id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_deny_from_hosts'] = "
            CREATE TABLE IF NOT EXISTS `xftt_deny_from_hosts` (
              `begin` int(10) unsigned NOT NULL,
              `end` int(10) unsigned NOT NULL,
              `comment` varchar(200) NOT NULL
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";  

        $tables['xftt_torrent'] = "
            CREATE TABLE IF NOT EXISTS `xftt_torrent` (
              `torrent_id` int(10) unsigned NOT NULL COMMENT 'Attachment id from xf_attachment',
              `info_hash` binary(20) NOT NULL,
              `user_id` int(10) unsigned NOT NULL DEFAULT '0',
              `thread_id` int(10) unsigned NOT NULL DEFAULT '0',
              `category_id` int(10) unsigned NOT NULL DEFAULT '0',
              `freeleech` tinyint(1) unsigned NOT NULL DEFAULT '0',
              `flags` tinyint(1) unsigned NOT NULL DEFAULT '0',
              `leechers` int(10) unsigned NOT NULL DEFAULT '0',
              `seeders` int(10) unsigned NOT NULL DEFAULT '0',
              `completed` int(10) unsigned NOT NULL DEFAULT '0',
              `mtime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'last update time',
              `ctime` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'torrent creation time',
              `size` bigint(20) unsigned NOT NULL DEFAULT '0',
              `number_files` int(10) unsigned NOT NULL DEFAULT '0',
              `balance` bigint(20) unsigned NOT NULL DEFAULT '0',
              PRIMARY KEY (`torrent_id`),
              UNIQUE KEY `info_hash` (`info_hash`),
              KEY `freeleech` (`freeleech`),
              KEY `thread_id` (`thread_id`),
              KEY `category_time` (`category_id`,`ctime`),
              KEY `ctime` (`ctime`),
              KEY `user_time` (`user_id`,`ctime`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_torrent_info'] = "
            CREATE TABLE IF NOT EXISTS `xftt_torrent_info` (
              `torrent_id` int(10) unsigned NOT NULL,
              `file_details` mediumtext NOT NULL,
              PRIMARY KEY (`torrent_id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_peer'] = "
            CREATE TABLE IF NOT EXISTS `xftt_peer` (
              `torrent_id` int(10) unsigned NOT NULL,
              `user_id` int(10) unsigned NOT NULL,
              `active` tinyint(1) unsigned NOT NULL,
              `announced` int(10) unsigned NOT NULL,
              `completed` int(10) unsigned NOT NULL,
              `downloaded` bigint(20) unsigned NOT NULL,
              `uploaded` bigint(20) unsigned NOT NULL,
              `corrupt` bigint(20) NOT NULL DEFAULT '0',
              `left` bigint(20) unsigned NOT NULL,
              `leechtime` int(10) unsigned NOT NULL DEFAULT '0',
              `seedtime` int(10) unsigned NOT NULL DEFAULT '0',
              `mtime` int(10) unsigned NOT NULL COMMENT 'last announced',
              `down_rate` bigint(20) unsigned NOT NULL DEFAULT '0',
              `up_rate` bigint(20) unsigned NOT NULL DEFAULT '0',
              `useragent` varchar(30) NOT NULL DEFAULT '',
              `peer_id` binary(20) NOT NULL,
              `ipa` int(10) unsigned NOT NULL DEFAULT '0',
              UNIQUE KEY `torrent_uid` (`torrent_id`,`user_id`),
              KEY `user_id` (`user_id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        $tables['xftt_freeleech_request'] = "
            CREATE TABLE IF NOT EXISTS `xftt_freeleech_request` (
              `request_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
              `torrent_id` int(10) unsigned NOT NULL,
              `open` tinyint(1) unsigned NOT NULL DEFAULT '1',
              `action` enum('accept','reject','') NOT NULL DEFAULT '',
              `date` int(10) unsigned NOT NULL DEFAULT '0',
              PRIMARY KEY (`request_id`),
              UNIQUE KEY `torrent_id` (`torrent_id`),
              KEY `date` (`date`)
            ) ENGINE=InnoDB  DEFAULT CHARSET=utf8
        ";

        $tables['xftt_log'] = "
            CREATE TABLE IF NOT EXISTS `xftt_log` (
              `log_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
              `log_date` int(10) unsigned NOT NULL,
              `message` text NOT NULL,
              `params` text NOT NULL,
              `action` varchar(50) NOT NULL,
              `is_error` tinyint(1) unsigned NOT NULL DEFAULT '0',
              PRIMARY KEY (`log_id`),
              KEY `log_date` (`log_date`)
            ) ENGINE=InnoDB  DEFAULT CHARSET=utf8
        ";

        $tables['xftt_scrap_log'] = "
            CREATE TABLE IF NOT EXISTS `xftt_scrape_log` (
              `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
              `ipa` int(10) unsigned NOT NULL,
              `uid` int(10) unsigned NOT NULL,
              `mtime` int(10) unsigned NOT NULL,
              PRIMARY KEY (`id`)
            ) ENGINE=MyISAM DEFAULT CHARSET=utf8
        ";

        $tables['xftt_snatched'] = "
            CREATE TABLE IF NOT EXISTS `xftt_snatched` (
              `user_id` int(10) unsigned NOT NULL DEFAULT '0',
              `mtime` int(10) unsigned NOT NULL,
              `torrent_id` int(10) unsigned NOT NULL,
              `ipa` int(10) unsigned NOT NULL,
              KEY `torrent_id` (`torrent_id`),
              KEY `user_id` (`user_id`)
            ) ENGINE=InnoDB DEFAULT CHARSET=utf8
        ";

        return $tables;
    }

Повторюсь - инсталлятор делает все сам. Хочется руками? Вперед, по примеру кода.
 
Потому что резать гланды через жопу несколько неудобно. Кроме создания таблиц, нужно создать их поля (и добавить где нужно в существующие)...
то уже тоже посоздавал.
проблему с занятым портом тоже пофиксил.
меня теперь только смущает то, что после ввода
Код:
/etc/init.d/xbt start
в консоли появляется
Код:
Start XBT Tracker
0
и всё. так и должно быть?
просто по адрес_сайта:2710, адрес_сайта:2710/stats и тд, ничего нет.
 
Смотря как запускать. Проверяется телнетом на порт 2710, или просто в нетстате посмотреть слушает ли демон порт или нет.
 
Смотря как запускать. Проверяется телнетом на порт 2710, или просто в нетстате посмотреть слушает ли демон порт или нет.

Код:
Trying 185.125.219.232...
telnet: Unable to connect to remote host: Connection refused
т.е. порт закрыт?
просто сайт лежит на обычном php хостинге, а не на vps, поэтому с открытием/закрытием портов "всё сложно". а xbt на отдельном сервере.
 
Последнее редактирование:
Коннект должен идти к серверу с xbt
хм, указываю ip сервера, но при запущенном xbt на оном, в админе ксеныча всё равно статус offline.

хотя судя по статке xbt работает, но в том же announce - пустая страница.
 

Вложения

  • shot_170423_181817.jpg
    shot_170423_181817.jpg
    106.8 KB · Просмотры: 21
хотя судя по статке xbt работает, но в том же announce - пустая страница.
Анонс и будет такой, если вызывать с браузера.

Механизм работы таков: бинарный анонсер xbt общается с базой, вписанной в его конфиг и пишет/читает там данные по таблицам xftt_* (открыть в pma и проверить). Плагин форума тоже работает с этими таблицами, напрямую xbt с форумом как таковым не работает и знать о друг друге они ничего и не знают.

Поэтому алгоритм следующий.
Сначала проверяем сам запуск xbt и доступность его для торрент-клиента (порт 2710 по дефолту), телнетом.
Дальше суем произвольный анонс с торрент-клиента и проверяем появление записей в таблицах базы.
Дальше танцуем с бубном по обстоятельствам.

Повторюсь - обычно запуск плагина проблем не представляет, но это делается либо на vds при абсолютном повторении мануала; либо любая отсебятина должна опираться на хотя бы базовые знания и понимание принципов работы.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу