An open API service indexing awesome lists of open source software.

https://github.com/richcake/movieservice

Скрипт + Django сайт, превращающий IMDB, TMDB, Kinopoisk и Letterboxd в бесплатные онлайн-кинотеатры с историей просмотра!
https://github.com/richcake/movieservice

django films javascript python userscript

Last synced: 4 months ago
JSON representation

Скрипт + Django сайт, превращающий IMDB, TMDB, Kinopoisk и Letterboxd в бесплатные онлайн-кинотеатры с историей просмотра!

Awesome Lists containing this project

README

          

# Смотрелка

**Смотрелка** предоставляет скрипт и сайт для просмотра фильмов.

С помощью скрипта **[IMDB](https://www.imdb.com/), [TMDB](https://www.themoviedb.org/), [Kinopoisk](https://www.kinopoisk.ru/) и [Letterboxd](https://letterboxd.com/) станут бесплатными** онлайн-кинотеатрами! На каждой странице с фильмом или сериалом в левом верхнем углу появится флажок. Нажав на него, вы откроете сайт с плеером.

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

---

Идея и скрипт взяты у [**Tape-Operator**](https://github.com/Kirlovon/Tape-Operator). Посетите этот проект, если не хотите иметь функционал истории просмотра.

---

## Описание

Основная идея — сделать процесс просмотра фильмов интуитивно простым:
1. Пользователь находит фильм на Кинопоиске. Например, [Джон Уик](https://www.kinopoisk.ru/film/762738/).
2. Нажимает на флажок, появляющийся на странице фильма.
3. Открывается [**наш сайт**](http://195.2.73.250/) и запускается фильм в бесплатном встроенном плеере.

Платформа предоставляет:
- **Историю просмотров** — позволяет быстро найти и воспроизвести ранее выбранные фильмы.
- **Синхронизацию устройств** — пользователь может искать фильмы на компьютере, а затем одним нажатием воспроизводить их на телевизоре с Smart TV.

Проект работает за счёт сохранения данных о фильме (название, год, ID Кинопоиска) и получения подходящего плеера через сервис KinoBox.

---

## Установка

1. Установите расширение [**TamperMonkey**](https://chromewebstore.google.com/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo).
2. Включите [режим разработчика в вашем браузере](https://www.tampermonkey.net/faq.php?locale=ru#Q209).
3. В меню TamperMonkey нажмите **"Создать новый скрипт"**.
4. Перенесите файл [`movieservice/userscript/tape-operator-prod.user.js`](https://raw.githubusercontent.com/RichCake/movieservice/refs/heads/main/userscript/tape-operator-prod.user.js) в открывшееся окно.
5. Нажмите **Ctrl+S**, чтобы сохранить.

После этого скрипт активируется, и вы сможете пользоваться **Смотрелкой**.

---

## Использование

1. Перейдите на IMDB, TMDB, Kinopoisk или Letterboxd и найдите нужный фильм или сериал.
2. Нажмите на появившийся флажок в левом верхнем углу страницы.
3. Или откройте [**наш сайт**](http://195.2.73.250/) и вставьте ссылку напрямую в поле Поиск.
4. Вы будете перенаправлены на наш сайт, где сможете:
- Зарегистрироваться или войти в свой аккаунт.
- Запустить фильм в бесплатном плеере.
- Открыть историю просмотров для быстрого доступа.

Для Smart TV: зайдите в свой аккаунт на сайте, перейдите в историю просмотров и нажмите на фильм, чтобы начать воспроизведение.

---

## Участники проекта

- **[tapo44ek](https://github.com/tapo44ek)** — тимлид проекта, организатор работы команды, помощь в решении сложных задач.
- **[nikitok006](https://github.com/nikitok006)** — разработка серверной части, настройка инфраструктуры, тестирование.
- **[RichCake](https://github.com/RichCake)** — модифицирование скрипта, проектирование интерфейса страниц, разработка бэкенда.
- **[00Alexandr7](https://github.com/00Alexandr7)** — разработка базы данных PostgreSQL.
- **[Floom1](https://github.com/Floom1)** — разработка системы аутентификации, модели пользователя, HTML-страниц.

## Как помочь проекту?

Баги и пожелания пишите в разделе [Issues](https://github.com/RichCake/movieservice/issues)

---

## Отказ от Ответственности

Плеер работает на основе [Kinobox API](https://kinobox.tv/), и предоставляется исключительно в ознакомительных целях!

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

## Деплой

Если сайт развернутый нами будет недоступен, вы можете запустить свою собственную версию. Мы покажем как запустить сайт локально.

### 1. Настройка виртуального окружения

1. Скачайте python 3.12.
2. Скачайте репозиторий.
3. Перейдите в папку с проектом.

**Для Linux замените `python` на `python3`**

4. Создайте виртуальное окружение.
```bash
python -m venv venv
```
5. Активируйте виртуальное окружение.

Linux:
```bash
source venv/bin/activate
```
Windows:
```
venv\Scripts\activate
```
6. Установите зависимости.
```bash
pip install -r requirements.txt
```
7. Скопируйте содержимое файла .env.example в .env.
```bash
cp .env.template .env
```
8. Откройте .env файл и добавьте значение DJANGO_SECRET_KEY и установите DJANGO_DEBUG в нужное положение (рекомендуется установить **DEBUG=True**).

### 2. Настройка базы данных

9. Скачайте **PostgreSQL**, и перейдите в интерфейс командной строки.
10. В файле .env укажите DATABASE_NAME, DATABASE_USER, DATABASE_PASSWORD, DATABASE_HOST, DATABASE_PORT.

### 3. Настройка скрипта

11. Выполните действия указанные в разделе Установка, но используйте скрипт для локального запуска [`movieservice/userscript/tape-operator.user.js`](https://raw.githubusercontent.com/RichCake/movieservice/refs/heads/main/userscript/tape-operator.user.js).

### 4. Запуск сервера
12. **Команды `python manage.py ...` выполняются из каталога movieservice/movieservice!**
```bash
cd movieservice
```
13. Выполните миграции
```bash
python manage.py migrate
```
14. Запустите сервер, выполнив команду:
```bash
python manage.py runserver
```
15. Перейдите на адрес: http://127.0.0.1:8000/