<commit_before>[![Mirakurun](https://yabumi.cc/159e63f5c692b3b0dae47765.svg)](https://github.com/Chinachu/Mirakurun)

# Mirakurun

DVR Tuner Server Service for **[Chinachu](https://chinachu.moe/)** Air.

[![npm version][npm-img]][npm-url]
[![npm downloads][downloads-image]][downloads-url]
[![Linux Build][azure-pipelines-img]][azure-pipelines-url]
[![Dependency Status][dep-img]][dep-url]
[![devDependency Status][devdep-img]][devdep-url]
[![tip for next commit](https://tip4commit.com/projects/43158.svg)](https://tip4commit.com/github/Chinachu/Mirakurun)
[![Backers on Open Collective](https://opencollective.com/Mirakurun/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/Mirakurun/sponsors/badge.svg)](#sponsors)

## Docker

[![dockeri.co](https://dockeri.co/image/chinachu/mirakurun)][docker-url]

see: available [Tags](https://hub.docker.com/r/chinachu/mirakurun/tags) (Docker Hub)

### Quick Install

```sh
mkdir ~/mirakurun/
cd ~/mirakurun/
wget https://raw.githubusercontent.com/Chinachu/Mirakurun/master/docker/docker-compose.yml
docker-compose pull
docker-compose run --rm -e SETUP=true mirakurun
docker-compose up -d
```

see: [doc/Platforms.md](doc/Platforms.md)

## Features

* RESTful API (Open API) - has designed like HTTP version of Spinel
* Unix Sockets / TCP
* Advanced Tuner Process Management
* Priority Management
* Tuner Device Pooling
* Integrated MPEG-2 TS Parser, Filter
* Realtime EPG Parser
* Supports most Tuner Devices (chardev, DVB / ISDB-T, ISDB-S, DVB-S2)
* IPv6 Support
* [Multiplexing Mirakuruns](doc/Mirakuruns.md)
* Web UI

#### Figure: Variety of the MPEG-2 TS Stream API

![](https://yabumi.cc/1689b554eb4aea9bad992068.svg)

#### Figure: Stream Flow

![](https://yabumi.cc/1689b5d310c654a770d44e7a.svg)

## Requirements / Supported Platforms

* [Node.js](http://nodejs.org/) 10, 12, 14
* Linux w/ [PM2](http://pm2.keymetrics.io/) or [Docker](https://hub.docker.com/r/chinachu/mirakurun)

see: [doc/Platforms.md](doc/Platforms.md)

## **Install / Update / Uninstall / CLI**

see: [doc/Platforms.md](doc/Platforms.md)

## Web UI

```sh
# Admin UI
http://_your_mirakurun_ip_:40772/

# Swagger UI<commit_msg>README: update features<commit_after>[![Mirakurun](https://yabumi.cc/159e63f5c692b3b0dae47765.svg)](https://github.com/Chinachu/Mirakurun)

# Mirakurun

DVR Tuner Server Service for **[Chinachu](https://chinachu.moe/)** Air.

[![npm version][npm-img]][npm-url]
[![npm downloads][downloads-image]][downloads-url]
[![Linux Build][azure-pipelines-img]][azure-pipelines-url]
[![Dependency Status][dep-img]][dep-url]
[![devDependency Status][devdep-img]][devdep-url]
[![tip for next commit](https://tip4commit.com/projects/43158.svg)](https://tip4commit.com/github/Chinachu/Mirakurun)
[![Backers on Open Collective](https://opencollective.com/Mirakurun/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/Mirakurun/sponsors/badge.svg)](#sponsors)

## Docker

[![dockeri.co](https://dockeri.co/image/chinachu/mirakurun)][docker-url]

see: available [Tags](https://hub.docker.com/r/chinachu/mirakurun/tags) (Docker Hub)

### Quick Install

```sh
mkdir ~/mirakurun/
cd ~/mirakurun/
wget https://raw.githubusercontent.com/Chinachu/Mirakurun/master/docker/docker-compose.yml
docker-compose pull
docker-compose run --rm -e SETUP=true mirakurun
docker-compose up -d
```

see: [doc/Platforms.md](doc/Platforms.md)

## Features

* RESTful API (Open API) - has designed like HTTP version of Spinel
* Unix Sockets / TCP
* Advanced Tuner Process Management
* Priority Management
* Tuner Device Pooling
* Integrated MPEG-2 TS Parser, Filter
* Realtime EPG Parser
* Supports most Tuner Devices (chardev, DVB / ISDB-T, ISDB-S, DVB-S2)
* Channel Scan
* IPv6 Support
* [Multiplexing Mirakuruns](doc/Mirakuruns.md)
* Web UI
* IPTV Server (M3U8 Playlist, XMLTV)

#### Figure: Variety of the MPEG-2 TS Stream API

![](https://yabumi.cc/1689b554eb4aea9bad992068.svg)

#### Figure: Stream Flow

![](https://yabumi.cc/1689b5d310c654a770d44e7a.svg)

## Requirements / Supported Platforms

* [Node.js](http://nodejs.org/) 10, 12, 14
* Linux w/ [PM2](http://pm2.keymetrics.io/) or [Docker](https://hub.docker.com/r/chinachu/mirakurun)

see: [doc/Platforms.md](doc/Platforms.md)

## **Install / Update / Uninstall / CLI**

see: [doc/Platforms.md](doc/Platforms.md)

## Web UI

```sh
# Admin UI
http://_your_mirakurun_ip_:40772/

# Swagger UI
{'fraction_non_alphanumeric': 0.17336343115124153, 'fraction_numerical': 0.03295711060948081, 'mean_word_length': 5.223314606741573, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 26, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1477947', 'n_tokens_mistral': 1897, 'n_tokens_neox': 1707, 'n_words': 304}