Парсинг Bencode В Javascript. Просмотр Торрент-Файлов В Firefox



I. Почему Просмотреть торрент-файлы можно несколькими способами: в торрент-клиенте, в Редактор BEncode , в файловых менеджерах с плагинами, возможно, в сетевых службах (но это немного странно).

Но не всегда удобно вызывать внешнюю программу из браузера.

Эта программа не всегда предоставляет полную информацию.

Не всегда удобным способом.

Не всегда доступен поиск.

Поэтому хотелось бы иметь простой способ в браузере просмотра торрент-файла, чтобы, например: — узнать содержимое раздачи; — узнать количество файлов в раздаче; — узнать информацию о файлах (некоторые трекеры очень снисходительно относятся к неполным описаниям, а в торрент-файлах появляется все больше информации о файлах — например, разрешение, видео- и аудиокодеки, продолжительность фильма и т. д.); — узнать информацию о самом торрент-файле (время создания, трекеры, флаг конфиденциальности и т. д.); - иметь возможность текстового поиска всей информации.



II. Стратегия

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

Поэтому воспользуемся упрощенным методом.

Расширение Пользовательские кнопки позволяет создавать кнопки с пользовательским кодом.

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

Поэтому мы просто создадим новую кнопку и наполним ее кодом (на все потребуется двести строк).

Весь следующий код необходимо вставить во вкладку инициализации вновь созданной кнопки, чтобы он выполнялся при каждом запуске браузера, определяя желаемое поведение кнопки один раз и на весь сеанс.

Или можно не вставлять: расширение добавляет в браузер протокол custombutton://, а в конце статьи я дам ссылку, просто нажав на которую можно создать готовую кнопку с код (вам останется только переместить его из палитры инструментов в удобное место).



III. Тактика



1. Пользовательский интерфейс
   

var btn = this; var imgMain = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAdVBMVEX////////////////////////////////XzeWjisHx7vaKaq5nNpV8VqSDYaqtmMiTdbS2pM/MwN6YfLjBstd7VqRuQZnk3u7y7/eKa6+SdbR1S56CX6jXzuabgLv49/uhh7+JaK39/P3e1ury7vbLv97g2es6Rn8YAAAAB3RSTlMAYMAg0PDzqTbVzAAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAACcSURBVBjTXY/bAoIgEEQRsWERUykDMu1m/f8ntqC+dJ6WYfYyQjCFBCMLsVIqaGI0VJnflaltpjZVUpRp7EZjFPcj/R/bLntQCKm56IE2e7QUIGsJ7tSeaUhVEi5wgw/OR2uvWegQvR9zy+ogWDi7CzyUMO4CD+W1EdQj7mvTYT7cJkx0nO9qPf2B8JxdwOtQbuHeC5bPdwv3F/8HCk4KcI8+awQAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTItMDYtMjZUMjE6MDk6MDQrMDQ6MDD1mOHZAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEyLTA2LTI2VDIxOjA5OjA0KzA0OjAwhMVZZQAAAABJRU5ErkJggg=="; var imgThrobber = "data:image/gif;base64,R0lGODlhEAAQAOMIAAAAABoaGjMzM0xMTGZmZoCAgJmZmbKysv///////////////////////////////yH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgAIACwAAAAAEAAQAAAESBDJiQCgmFqbZwjVhhwH9n3hSJbeSa1sm5GUIHSTYSC2jeu63q0D3PlwCB1lMMgUChgmk/J8LqUIAgFRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+UKgmFqbpxDV9gAA9n3hSJbeSa1sm5HUMHTTcTy2jeu63q0D3PlwDx2FQMgYDBgmk/J8LqWPQuFRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+YSgmFqb5xjV9gQB9n3hSJbeSa1sm5EUQXQTADy2jeu63q0D3PlwDx2lUMgcDhgmk/J8LqUPg+FRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+cagmFqbJyHV9ggC9n3hSJbeSa1sm5FUUXRTEDy2jeu63q0D3PlwDx3FYMgAABgmk/J8LqWPw+FRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+QihmFqbZynV9gwD9n3hSJbeSa1sm5GUYXSTIDy2jeu63q0D3PlwDx3lcMgEAhgmk/J8LqUPAOBRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+UqhmFqbpzHV9hAE9n3hSJbeSa1sm5HUcXTTMDy2jeu63q0D3PlwDx0FAMgIBBgmk/J8LqWPQOBRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+YyhmFqb5znV9hQF9n3hSJbeSa1sm5EUAHQTQTy2jeu63q0D3PlwDx0lEMgMBhgmk/J8LqUPgeBRhV6z2q0VF94iJ9pOBAAh+QQBCgAPACwAAAAAEAAQAAAESPDJ+c6hmFqbJwDV9hgG9n3hSJbeSa1sm5FUEHRTUTy2jeu63q0D3PlwDx1FIMgQCBgmk/J8LqWPweBRhV6z2q0VF94iJ9pOBAA7"; function clickBtn(event) {

Теги: #P2P #peer-to-peer #bencode #torrent #JavaScript #Ajax #xmlhttprequest #Firefox #rutracker.org #rutracker.org #Firefox #JavaScript
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.