LINUX.ORG.RU

Релиз торрент-клиента LibreTorrent

 , ,


5

2

Состоялся первый релиз LibreTorrent — полнофункционального торрент-клиента для Android версии 4 и выше, написанного на Java и основанного на библиотеке libtorrent. Исходный код проекта распространяется под лицензией GNU GPL v3.

Реализованные возможности:

  • DHT, PeX, шифрование, LSD, UPnP, NAT-PMP, µTP;
  • фильтрация по IP (eMule dat и PeerGuardian);
  • возможность тонкой настройки (настройки сети, управление питанием, контроль батареи, настройки пользовательского интерфейса и т. д.);
  • поддержка торрентов с большим количеством файлов, поддержка больших файлов;
  • поддержка magnet- и HTTP-ссылок;
  • поддержка TOR (используется Orbot);
  • поддержка прокси для трекеров и пиров;
  • возможность перемещения файлов во время загрузки;
  • возможность автоматического перемещения файлов в другую директорию после загрузки;
  • возможность задать приоритеты для файлов и папок;
  • возможность выбора отдельных файлов для скачивания;
  • возможность последовательной загрузки;
  • Material Design;
  • оптимизированный для планшетов пользовательский интерфейс.

>>> Исходный код на GitHub

Ответ на: комментарий от RazrFalcon

Про категорию «Видеоплееры и редакторы» на Google Play: большинство торрент-клиентов (в том числе те клиенты, которые не воспроизводят аудио/видео) размещено именно там, поэтому я не стал экспериментировать с выбором категории.

Табличка-сравнение с Flud есть?

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

proninyaroslav ()

Какая жестяночка, а пустые кэтчи исключений - это просто победа.

    private void startUpdateForegroundNotify()
    {
        if (updateForegroundNotifyHandler != null ||
                Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
            return;
        }

        updateForegroundNotifyHandler = new Handler();
        Runnable r = new Runnable()
        {
            @Override
            public void run()
            {
                if (isAlreadyRunning) {
                    boolean online = engineTask.getEngine().isListening();
                    if (isNetworkOnline != online) {
                        isNetworkOnline = online;
                        needsUpdateNotify.set(true);
                    }

                    if (needsUpdateNotify.get()) {
                        try {
                            needsUpdateNotify.set(false);
                            if (foregroundNotify != null) {
                                foregroundNotify.setContentText((isNetworkOnline ?
                                        getString(R.string.network_online) :
                                        getString(R.string.network_offline)));

                                if (!torrentTasks.isEmpty()) {
                                    foregroundNotify.setStyle(makeDetailNotifyInboxStyle());
                                } else {
                                    foregroundNotify.setStyle(null);
                                }

                                /* Disallow killing the service process by system */
                                startForeground(SERVICE_STARTED_NOTIFICATION_ID, foregroundNotify.build());
                            }

                        } catch (Exception e) {
                            /* Ignore */
                        }
                    }
                }
                updateForegroundNotifyHandler.postDelayed(this, SYNC_TIME);
            }
        };
        updateForegroundNotifyHandler.postDelayed(r, SYNC_TIME);
    }

Алсо не вижу реактивности, MVP и DI.

Jefail ★★★★ ()

Вы бы уточнили, что LSD - это Local Service Discovery, лол. Не Local Peer Discovery в виду имелся, кстати?

droserasprout ★★ ()
Ответ на: комментарий от alchemist

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

anonymous ()

Web-интерфейс?

Web-интерфейс планируется? Очень не хватает его в Android-клиентах. В tTorrent реализован через nanohttpd, но очень уж он «мобильный». Хотелось бы большего контроля. Как минимум хотел бы выставлять ограничение скорости загрузки и приоритет файлов через браузер.

C веб-частью готов помочь. Но встраивать nanohttpd не в своё приложение мне будет тяжело.

DeXPeriX ()

поддержка торрентов с большим количеством файлов, поддержка больших файлов;

На сколько больших?

И вообще, зачем на андроиде торрент-клиент?

IPFreely ★★ ()
Ответ на: комментарий от IPFreely

Например, хочу я скачать новый выпуск читаемого мною комп. журнальчика. И почитать его на планшете. Так вот, мне быстрее и проще скачать его с торрентов прямо на планшете, чем включать ПК.

Собственно, именно для этого я использую Flud.

А ещё, наверное, торрент-клиент будет полезен на TV-приставке

anonymous ()
Ответ на: комментарий от IPFreely

Я хз. Видимо да. Обычные хомячки уже давно выбросили даже ноуты и пользуются только планшетами.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от NightOperator

Вчера вечером я сделал pull request в официальный репозиторий F-Droid. В течении суток он должен появится в магазине.

proninyaroslav ()

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

anonymous ()

Зачем торрент для мобилки? Там жо жесткий диск нельзя менять. Все-равно нипараздавать. А вся суть торрентов - скачал раздавай, будь мужиком.

anonymous ()
Ответ на: комментарий от anonymous

да, если качать на fat-ную флешку, то первые 5 минут скорость резко падает.

Reedych ★☆ ()
Ответ на: комментарий от anonymous

Я использовал java wrapper для libtorrent, основы всех десктопных торрент-клиентов. Так что в этом плане он не урезан. А скорость во многом зависит от интернет-соединения.

proninyaroslav ()
Ответ на: комментарий от anonymous

Так а вчем проблема с раздачей? Флеша только от записи изнашивается, читать с неё можно сколько угодно долго, да и в плане смены вместо жд micro sd имеется.

anonymous ()
Ответ на: комментарий от anonymous

Флеша только от записи изнашивается, читать с неё можно сколько угодно долго

Че реал? Я не знал, спс)

да и в плане смены вместо жд micro sd имеется.

Тоже как-то не подумал...

anonymous ()
Ответ на: комментарий от peregrine

В плане скорости в том числе. Нормальных торрент библиотек на Java я не видел.

proninyaroslav ()
Ответ на: комментарий от Radjah

стоп, стоп, стоп. вообще то я пытался съязвить.

Так это что, действительно на планшет можно поставить торрент клиент и закачивать на подключенный к нему 4ТБ винт, да?

EnterpriseMobility ()
Ответ на: комментарий от EnterpriseMobility

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

proninyaroslav ()
Ответ на: комментарий от Jefail

Я использую это только из-за AsyncTask. Если Вы так хорошо изучили код, можете предлагать конструктивные идеи (или даже коммиты) в issue проекта. Это будет полезнее пустословия в треде ЛОРа.

proninyaroslav ()
Ответ на: комментарий от proninyaroslav

До шестой версии ещё можно было в platform.xml поменять одну строчку, чтобы ридонли доступ к сд-карте поменять на rw. Дальше вроде как даже это убрали. Впрочем, по-прежнему ничто не мешает писать все файлы в папку своего приложения, как это делает termux. Если во внутренней памяти забить симлинки на эти внешние дебри, становится даже удобно пользоваться (хотя и, само собой, неприятно).

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.