Giter VIP home page Giter VIP logo

iforvard / pymediamanager Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 2.0 10.63 MB

pyMediaManager - менеджер торрент клиентов и трекеров. Django-приложение(web-сайт) написанное на python. Отслеживает темы(kinozal.tv, rutracker, lostfilm.tv) отправляет обновленные торренты через api qbittorrent и uTorrent. Управление через web, автоматически через cron и rss feed

Home Page: https://pymediamanager.herokuapp.com

License: MIT License

Batchfile 0.19% Python 69.61% HTML 29.80% CSS 0.34% Procfile 0.05%
api-qbittorrent-utorrent rutracker aiohttp django heroku-cli cron bootstrap4 lostfilm kinozal rss-feed

pymediamanager's Introduction

pyMediaManager.

Менеджер торрент клиентов и трекеров.
Это Django-приложение(web-сайт) написанное на python. Отслеживает темы(kinozal.tv, rutracker, lostfilm.tv) и отправляет обновленные торренты через api qbittorrent и uTorrent.*
Реализована возможность проверки и загрузки как вручную(через веб-сайт) так и автоматически с любым интервалом, через rss feed или cron-файл см. clock.py.

*в pyMediaManager реализована система плагинов, что дает возможность дополнить список как торрент трекеров для проверки так и торрент клиентов для загрузки.
** Загрузка и проверка реализована через асинхронную библиотеку aiohttp, что позволяет практически мгновенно проверять и загружать большое количество страниц с торрентами и торрент-файлов.

Проверить работу можете на https://pymediamanager.herokuapp.com:

логин - demo-user
пароль - demo-password

Установка на Heroku:

Предварительно необходимо зарегистрироваться на Heroku и установить Heroku CLI.
Установите git себе на компьютер (Вы можете найти версию для своей платформы здесь).

Windows-installer.

Авто-установка через Windows installer

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

Python-script-installer.

Авто-установка через скрипт python 3.6(и выше).

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

Ручная установка.

  1. Откройте командную строку (или терминал) и выполните в нём следующую команду:
    git clone https://github.com/iforvard/pyMediaManager.git
    Это создаст подпапку (с содержанием вашего репозитория и именем вашего репозитория) внутри папки, в котрой выполнялась команда.
  2. Перейдите в эту папку:
    cd pyMediaManager
  3. Входим в Heroku CLI:
    heroku login
  4. Создаем приложение:
    Взамен 'pymediamanager' Вам нужно указать любое имя или оставить пустым и система создаст его автоматически. Это требуется для создания доменного имени, прим. pymediamanager.herokuapp.com
    heroku create pymediamanager --region eu
  5. Затем мы можем подтолкнуть наше приложение в репозиторий heroku как показано ниже. Это позволит загрузить приложение, упаковать его в dyno, запустить collectstatic, и запустить сам сайт.
    git push heroku master
  6. Создаем базу данных
    heroku run python manage.py migrate
  7. Создаем администратора (супер-юзера)
    heroku run python manage.py createsuperuser
  8. Добавлям в список хостов адресс приложения:
    'pymediamanager' - замените на имя вашего приложения
    heroku config:set DJANGO_CLOUD_HOST=pymediamanager.herokuapp.com
  9. Теперь можно проверить работу сайта
    heroku open

Дополнительные настройки для безопастности.

  1. Секретный ключ должен быть действительно секретным! Один из способов генерации:
    1.1 heroku run python manage.py shell
    1.2 from django.core.management.utils import get_random_secret_key
    1.3 get_random_secret_key()
    1.4 exit()
    1.5 Полученный ключ длинной 50 символов нужно добавить в систему:
    SECRET_KEY - замените на полученный ранее ключ
    heroku config:set DJANGO_SECRET_KEY="SECRET_KEY"
  2. Для отключения режима отладки передаем значение без параметров:
    heroku config:set DJANGO_DEBUG=
  3. Клиент Heroku предоставляет несколько инструментов для отладки:
    heroku logs # Show current logs
    heroku logs --tail # Show current logs and keep updating with any new results
    heroku config:set DEBUG_COLLECTSTATIC=1 # Add additional logging for collectstatic (this tool is run automatically during a build)
    heroku ps #Display dyno status
  4. Запуск автоматической проверки и загрузки: Предварительно изучите файл clock.py
    heroku ps:scale clock=1

pymediamanager's People

Contributors

dependabot[bot] avatar iforvard avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

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.