Code Monkey home page Code Monkey logo

torrserve's Introduction

TorrServe

Download torrent files.

Get it on F-Droid

torrserve

Application for downloading torrents as HTTP files. Torrent connection is done localy. If your provider blocks torrents be aware. Cache is stored in RAM, that is why internal memory does not corrupting. Application consists of two parts, server and client, this is client for android. Source of server: https://github.com/YouROK/TorrServer

After first load you have to download server from Updates -> Update server from network.

torrserve's People

Contributors

aston314 avatar poussinou avatar topperbg avatar tsynik avatar x13a avatar yourok avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

torrserve's Issues

Не может загрузить hash торрента

Имеется следующий сетап:
Lampa на WebOS и TorrServe Matrix.117 (работает на собственном сервере ubuntu 22.04 x64 через докер).

Проблема: сервер показывается Lamp'ой как активный, но при попытке загрузки торрента выдает ошибку 400 - "Не удалось получить hash".

Сам TorrServe работает исправно, и с ПК и с Forkplayer'а на том же телевизоре. В веб-версии Jackett все ОК, торренты грузятся (в том числе и через TorrServe). Так что это точно не Jackett, а TorrServe.
Важный момент: при указании в настройках Lamp'ы какого-либо другого публичного TorrServe (версия Matrix.API) все работает исправно. При переключении на собственный сервер (Matrix.117) выдает упомянутую ошибку.
PXL_20221228_185745449

Оптимизация пространства в списке файлов

229266300-430ef14b-fca1-4d5a-b9ae-76164a89a108
Здравствуйте. Не могли бы вы перенести кнопки "играть всё" и "продолжить" с верхнего положение в бока. Например "играть всё" будет слева, а "продолжить" справа. Это значительно уменьшит время прокрутки списка.

Ограничение на скачивание

Добрый день torrserve стоит в облаке с не большим каналом как допустим ограничить скорость? чтобы фильм через сервер скачивался и отдавался в http не более 20мбс?

Возможность скачивать файлы

Сейчас есть только возможность добавить в плейлист.
Почему не добавить возможность скачивать файлы, те сделать выбор "смотреть" и "скачать".

docker - авторизация

Как добавить в docker контейнере авторизацию и запретить поиск сервера?

[Feature request] Добавить передачу внешних файлов (ac3\ass\srt\...) в VLC (бывший EXTVLCOPT)

В TS уже есть поддержка тега #EXTVLCOPT:input-slave=http://... в плейлистах.
VLC убрали поддержку EXTVLCOPT в плейлистах из плеера.
Однако под vlc-win (3.0.2) есть возможность передать input-slave в параметрах командной строки в том же формате (как и EXTVLCOPT):

vlc.exe 
"http://ts/stream/xxx.mkv?...index=1..." 
":input-slave=http://ts/stream/xxx.ac3?...index=11...#http://ts/stream/xxx.ac3?...index=12...#http://ts/stream/xxx.ass?...index=13#"
  1. Хотелось бы попросить проверить - имеется ли такая же возможность для Android VLC
  2. Если имеется - то предусмотреть в TorrServe возможность передачи для VLC дополнительных input-slave адресов.

Возможность сохранить плейлист как файл

Полезно для долгоживущих плейлистов (аудиокниги, музыка).

Кроме того, сталкивался с тем, что:

  • на некоторых системах при запуске плейлиста нужный плеер вообще не предлагатся.
  • запуске плейлиста "онлайн" он трактуется иначе: как набор "зеркал" одного и того же потока (как у радиостанций).
    Так работает например aimp.

Возможность скачать плейлист помогла бы в этих случаях.

В веб-интерфейсе самого сервера такая возможность есть.

Локальный сервер для NUM

Огромная просьба адаптировать функционал локального сервера TorrServe для NUM в целях поддержки синхронизации настроек, избранного и истории просмотров NUM для устройств в переделах локальной сети. Заранее благодарю!

F-Droid

Hi,

To publish app on F-Droid it has to be FOSS, without Google Services, analytics and ADs. Can we make foss branch to be compatible with F-Droid rules?

~/tmp
❯ rg firebase ./TorrServe
./TorrServe/build.gradle
13:        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'

./TorrServe/app/google-services.json
4:    "firebase_url": "https://torrserve.firebaseio.com",

./TorrServe/app/build.gradle
4:    id 'com.google.firebase.crashlytics'
71:    // firebase
72:    implementation 'com.google.firebase:firebase-core:19.0.2'
73:    implementation 'com.google.firebase:firebase-crashlytics:18.2.3'
88:apply plugin: 'com.google.firebase.crashlytics'

./TorrServe/app/src/main/java/ru/yourok/torrserve/ui/activities/main/MainActivity.kt
14:import com.google.firebase.analytics.FirebaseAnalytics
44:    private var firebaseAnalytics: FirebaseAnalytics? = null
51:        firebaseAnalytics = FirebaseAnalytics.getInstance(this)

./TorrServe/app/src/main/java/ru/yourok/torrserve/ui/activities/play/PlayActivity.kt
10:import com.google.firebase.analytics.FirebaseAnalytics
40:    private var firebaseAnalytics: FirebaseAnalytics? = null
56:        firebaseAnalytics = FirebaseAnalytics.getInstance(this)

./TorrServe/app/src/main/java/ru/yourok/torrserve/ad/AD.kt
10:import com.google.firebase.analytics.FirebaseAnalytics

~/tmp
❯ rg gms ./TorrServe
./TorrServe/build.gradle
12:        classpath 'com.google.gms:google-services:4.3.10'

./TorrServe/app/build.gradle
87:apply plugin: 'com.google.gms.google-services'

AVast! Mobile reports app as malware

aVast! Mobile reports TorrServe MatriX as malware when updating to current version (129). Removed and reinstalled 128.2, and no longer being reported as malware. Used F-droid for apk repository.

Client continuously requesting /torrents and /echo when playing

I've found that the Android client is continuously requesting these two endpoints :

  • "GET /echo HTTP/1.1" 200 10
  • "POST /torrents HTTP/1.1" 200 63554

This occurs when video is playing, which is unneeded and saturates the server for nothing.

TorrServer version: MatriX.125 - Docker version
Torr client - up to date as of today

Don't have access to my sdCard

path /sdcard/ is my internal memory, but my real path to sdcard is /storage/NAME_OF_SDCARD/, and i can't put it in TextView, so i already fix it, i just want to commit it in origin/master

Оптимизация пространства на экране списка файлов

Приветствую! Меня давно мучит не самое удачное расположение элементов на экране списка файлов в горизонтальной ориентации:
Screenshot_20230401-074720_TorrServe_MatriX
Не могли бы Вы, пожалуйста, сократить пустое пространство между кнопками и информацией о торренте? При наличии постера пустоты становится ещё больше, а окошко с выбором эпизода становится крошечным. Ещё я бы хотел, чтобы затенение сверху и снизу элементов списка не было таким широким, ведь оно дополнительно сокращает зону видимости. Нельзя ли затенение тоже сократить (не в ущерб дизайну)? А то из-за него даже 3 серию не видно полностью.

Может быть, для альбомной ориентации удобнее было бы сделать макет, подобный этому?
Screenshot_20230401-080914_TorrServe_MatriX
Информация о торренте и кнопки «Играть всё», «Продолжить» могли бы находиться слева, а список файлов – справа.

Надеюсь, не обойдёте стороной мою просьбу. Буду ждать ответа :)

Запрос на добавление элемента управления

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

Add blackhole directory

Many torrent clients (qbitttorrent, deluge) have support for the blackhole folder. When a torrent file gets into it, it is automatically set for downloading. Is it possible to implement this in torrserve? Jacket also has such a function; it can add a torrent to the blackhole folder

running TorrServer

Shell.sh("$path -k -d $setspath -l $logfile 1>>$logfile 2>&1 &")

i think it is run TorrServer, but what is meaning detail ?please

Using newer versions of TorrServe + Kodi (both Leia and Matrix) does not allow browsing for external subtitles

This is an issue that did not appear in older 1.1.* versions (pre-1.1.76 definitely). It is still persistent for both a Philips Smart TV 8.0 and a Beelink GT1 Android TV 9.0 box. Basically, if TorrServe is set up to use an external server (both 1.1.77 and MatriX.83 from your other repo on a Linux-arm7 RPi 4) and Kodi as a player on my multimedia device, Kodi cannot navigate to an external subtitle location at all. It just crashes back to the Android homescreen when trying to browse for subtitle files while the stream is playing.

I did not see this being reported before and it did work at one point, though I cannot confirm how long before 1.1.76, so I was using old releases for a time. Nowadays, I download my subtitles with the OpenSubtitles add-on, but it is still useful to be able to put subtitles in a different language somewhere and browse to it. Delete if this issue is already being looked into or is too much of an edge case to reasonably fix.

No Issue! just Question how app works..

Hi, sorry to use this form to ask a maybe stupid question. I habe no idea how the app works. Could anyone explain the detailed steps how to get it working with piratebay for example?
Thanks a lot!!
Greetings

URL сервера без порта

При попытке добавить в URL сервера доменное имя, при сохранении добавляется порт 8090, даже если он не был указан. Пожалуйста, исправьте баг.

Не работают субтитры

Привет. Недавно настроил приложение и torrserve, однако при выборе субтитров они попросту не отображаются.
Samsung QE55Q70AAUXRU
Tizen 2130

[FR] Добавить предзагрузку или загрузку на стороне клиента TorrServe

Прошу добавить в TorrServe предзагрузку на стороне клиента.

Ситуация:
Android TV, 4G интернет в лесной глуши, оператор борется с торрентами и периодически падает.
Есть желание посмотреть фильм "с комфортом".

Текущее решение: TorrServer установлен на VPS ("на домашнем роутере в городе"), а клиент TorrServe к нему подключается и тянет "в один поток", что не триггерит оператора что-либо резать.

Проблемы:

  1. Вынужден использовать VIMU плеер из-за его встроенной предзагрузки.
  2. Вынужден ставить фильм на паузу чтобы дать VIMU предзагрузить контент.
  3. Вынужден полагаться на оператора, что он сможет обеспечить качество канала все 2 часа фильма.

Хотелось бы:

  1. Иметь возможность выбрать другой плеер, а предзагрузку отдать на откуп TorrServe
  2. Иметь возможность заранее "скачать" через TorrServe данные с TorrServer локально и полностью, чтобы быть уверенным в успешности просмотра фильма и не зависеть от внезапно упавшего LTE в середине фильма.
    2.1 - Иметь ограничение скорости полного скачивания (например, закинуть утром торрент в TorrServer, сказать TorrServe-у скачать его со скоростью не больше 1 Мбита\с, спокойно поработать днем, не борясь с забитым каналом, и вечером посмотреть локально загруженный фильм)
    2.2 - Иметь возможность указать накопитель для "предзагрузки" для TorrServe - например SD-карту, а не только RAM

Option: Download external subtitles

Since TorrServer exports the namesake files to M3U, I suggest adding the option to download external subtitles: If M3U has .ass,.srt files, then offer to download it to /storage/emulated/0/Download
Kodi and MX Player can automatically use subtitles from predefined folders.
Screenshot_20210418-105517
The small size of the subtitles will not cause filling or overwriting of the memory.

соединения и скорость

привет. у меня вопрос нельзя ли сделать умную систему скачки блоков из расчета активных соединений.
те сортировать сидов по скорости и отключать если скорость меньше чем например 1 мбит/с.
вот допустим соединений 25. соответственно если сид не дает норм скорость то просто отключаем его и переключаемся на следующего из расчета лимита подключений. если меньше чем лимит то используем всех.

бывает так что пользователей норм но перемотка не пашет норм с файлами около 2 гб..ощущение что может быть нужного блока нет/хотя думаю что просто скорость маленькая из-за этого буфер очень долго обновляется.

опцию можно в настройки запихнуть где кол-во соединений.
спасибо. с праздниками🎄

Оперативная индикация качества соединения для проигрываемого файла

Не каждый торрент может обеспечить качество соединения, достаточное для проигрывания.
Ранее это легко было оценить на этапе буферизации, где в окошке отображаются все нужные параметры.
С другой стороны, буферизация тоже иногда неоправданно затягивалась, что было исправлено (#34).

Однако теперь без предварительной буферизации сложно оценить параметры соединения, и неясно то ли надо подождать немного, то ли торрент скорее мёртв, и надо искать другой.

Предлагаю возможные решения:

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

NUM — No UI Movies - 1.0.70

ВЕРНИТЕ возможность выхода из приложения по кнопке Back/Назад.
Зачем открывать поиск по кнопке назад !!!
Зачем вообще убирать возможность выхода из приложения по кнопке назад, везде оно есть и раньше было в предыдущей версии.
Зачем убирать?

DLNA server problem

I have tried DLNA (upnp) server feature and noticed that external media box does not see any torrents, the last element in upnp tree that it reaches us "torrents" folder that is empty.

When I'm trying to browse upnp with VLC from laptop I can see the list of torrents, but not able to go inside of torrent (playlist) and can't see the list of files (streams) in the playlist. Can only play entire playlist. That is not correct, cause there's no ability to select exact file to play. And I think this problem is related to the problem with hd media box that can not see enything in torrents at all.

Looks like a problem with mime types or structuring the data for dlna.

When I start some dlna service in media player giving it playlists from torrserver, it is able to create correct tree (for example with xupnpd).

It also could be good to have an option to configure dlna/upnp server including ability to configure mime-types, upnp protocols, etc. That is sometimes needed to make specific hd boxes work correctly with it.

Возможность добавить торрент файлом

Сейчас предусмотрено добавление только через магнет-ссылку.

В веб-интерфейсе самого сервера такая возможность есть, отдельным пунктом.
(возможно стоило бы объединить оба варианта в одном пункте)

настройки и пояснение

привет. спасибо за крутую тулзу.
у меня пару вопросов возникло по настройке.

  1. откуда берутся значения по умолчанию - например размер кеша. те тулза мониторит сама скок брать например 10 процентов от свободной памяти или как - имееться ввиду первоначальные настройки после запуска?
  2. что такое буфер предварительной загрузки - насколько понял - это опция говорит когда начать проигрывание. те при 20% буфера - заполненность кеша в 100 мб будет 20 мб. так ли это ? и сам размер будет входить в общий уже скаченный кеш.
  3. что такое опережающий кеш. это как доп место к другому. те если кеш 100 а опережающий кеш 100 процентов. то всего будет резервироваться 200 мб рам памяти?

[bug] По-умолчанию открывается активити настроек

Устройство: MeCool KM2 Deluxe Plus (Android TV)
Устройство имеет пульт с кнопками Youtube, Netflix, Prime video, Google play
Устройство имеет на борту приложение AppKey для перенастройки этих кнопок

Для приложений Кинопоиск, YouTube, Vimu эти кнопки работают нормально открывается активити, идентичная той, что открывается при запуске приложения "по иконке". С TorrServer - проблема.

Ожидаемое поведение:
Для приложения TorrServe, если на него назначена кнопка через приложение AppKey, при нажатии кнопки на пульте, происходит открытие Torrserve со списком торрентов.

Фактическое поведение:
Для приложения TorrServe, если на него назначена кнопка через приложение AppKey, при нажатии кнопки на пульте, происходит открытие Torrserve с активити "настройки приложения"

image

123 doesn't work on Android 4.4.4

123 версия не работает после установки на Телевизоре с Android 4.4.4
При запуске выкидывает сообщение - в Приложении TorrServe MatriX.123.Client произошла ошибка и не открывает и так постоянно.

Откатился на 122 и всё работает (предыдущие версии все прекрасно устанавливались и работали)

Опция для позволяющая загрузить .torrent на клиенте и передать содержимое на TorrServer

Добрый день, прошу добавить опцию для принудительного скачивания .torrent файла TorrServe приложением и отправки на TorrServer не ссылки на .torrent файл а его содержимого (по аналогии с отправкой на TorrServer локального файла).
Пояснение:
Приложение TorrServe запущено на телеприставке, которая ходит в интернет через VPN, а TorrServe запускается на отдельной машине с интернетом подключенным напрямую.
Соответвенно, когда я выбираю торрент для просмотра из одного известного приложения, TorrServe посылает на TorrServer линк на .torrent файл, а т.к. TorrServer работает без VPN у него нет шансов скачать .torrent файл по ссылке.
Однако если TorrServe сам бы скачал .torrent и передал его на TorrServe, тогда просмотр отлично запускается (peer-ы находятся по DHT)

Возможность оперативно пропустить предварительную буферизацию

Существует настройка сервера, определяющая размер буфера, однако хотелось бы иметь возможность иногда пропускать этот этап.

Имеет смысл например в таком сценарии: обычно я смотрю фильмы, и предварительное кэширование/буферизация меня полностью устраивает.

Но иногда я запускаю музыку, для которой (а) большой буфер не нужен, и (б) скорость его наполнения может оказаться черепашьей.

Было бы удобно иметь дополнительную кнопку "пропустить буферизацию".

Nova Player stopped working with version 1.1.85 + server 1.1.77

Android 10, Nova Player
Works: 1.1.84 + server 1.1.76
Doesn't work: 1.1.85 + server 1.1.77
Doesn't work: 1.1.85 + server 1.1.76

I saw the issue on nova-video-player/aos-AVP#362 with blaming to http plaintext. But apparently it also doesn't work with valid a https connection (tried a valid letsencrypt cert).

Nova player says
http://localhost:8090/torrent/play?link=magnet:?xt=urn:btih:xxxx&dn=Movie+BDRip.1080.mkv&tr=http%3A%2F%2Fsite.org%2Fann&tr=http%3A%2F%2Fretracker.local%2Fannounce&file=0

Did not managed to access the file

As with 1.1.84 + server 1.1.76 it works perfectly seems like something critical changed on torrserve/server update.

Implicit 80/443 port setting

Could you please consider change the logic of parsing server URL so when it explicitly set to use http or https scheme, then implicitly set ports to 80 or 443 respectively and if it just an IP address, then set port to 8090 (if not set explicitly).
I'm using reverse proxy and port forwarding 443 -> 8090, so right now if I just set server URL to https://ts.mydomain.com the app automatically set the port to 8090, even though I didn't told that explicitly. The workaround is to explicitly set port to 443: https://ts.mydomain.com:443, but that is not really convenient.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.