miru/app/index.html
2020-10-29 01:03:18 +01:00

397 lines
No EOL
20 KiB
HTML

<!DOCTYPE html>
<html lang="en" class="auto-scaling-disabled">
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="Miru">
<meta name="description" content="Anime torrent streaming, ad free in a simple solution.">
<meta name="theme-color" content="#111417" />
<link rel="icon" href="logo.png">
<link rel="apple-touch-icon" href="logo.png">
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
<title>Miru</title>
<link href="https://cdn.jsdelivr.net/npm/halfmoon@1.1.1/css/halfmoon-variables.min.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link href="css/misc.css" rel="stylesheet">
<link href="css/player.css" rel="stylesheet">
<style id="substyles">
</style>
</head>
<body class="dark-mode with-custom-webkit-scrollbars with-custom-css-scrollbars">
<div class="modal" id="tsearch" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content w-auto">
<button class="close pointer" data-dismiss="modal" type="button" aria-label="Close">
<span>&times;</span>
</button>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Name</th>
<th scope="col">Size</th>
<th scope="col">Seed</th>
<th scope="col">Leech</th>
<th scope="col">Downloads</th>
<th scope="col">Play</th>
</tr>
</thead>
<tbody class="results">
</tbody>
</table>
</div>
</div>
</div>
<div class="modal modal-full ie-scroll-fix" id="view" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="view modal-content m-0 p-0">
<button class="close bg-dark-light pointer" data-dismiss="modal" type="button" aria-label="Close">
<span>&times;</span>
</button>
<div class="banner">
<img class="cover-img w-full h-full">
</div>
<div class="bg-dark">
<div class="container row">
<div class="col-md-3 mt-10 mt-nc pb-20 d-flex flex-column justify-content-between align-items-center cover-wrapper">
<img class="contain-img rounded w-full">
<div class="input-group pt-10">
<div class="input-group-prepend flex-grow-1">
<button class="btn bg-primary pr-5 pl-10 w-full" type="button" id="play">Play
Episode</button>
</div>
<input type="number" id="ep"
class="form-control flex-reset w-60 bg-primary px-5 text-right"
placeholder="#" value="1" min="1">
</div>
</div>
<div class="col-md-9 p-20 d-flex flex-column">
<h4 class="title font-weight-bold">
</h4>
<p class="text-muted desc overflow-y-scroll my-0">
</p>
</div>
</div>
</div>
<div class="bg-very-dark">
<div class="container">
<div class="row py-20">
<div class="col-md-3">
<div class="card m-0 py-5 details">
</div>
</div>
<div class="col-9 p-20">
relations go here
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="page-wrapper with-sidebar" data-sidebar-type="full-height">
<div class="sticky-alerts"></div>
<div class="sidebar-overlay" onclick="halfmoon.toggleSidebar()"></div>
<div class="sidebar d-flex border-0">
<div class="sidebar-menu d-flex flex-column justify-content-end flex-grow-1">
<a href="#player" class="sidebar-brand">
<img src="logo.png" alt="logo">
Miru
</a>
<div class="sidebar-divider"></div>
<a href="#player" class="sidebar-link sidebar-link-with-icon">
<span class="sidebar-icon bg-transparent justify-content-start mr-0">
<i class="material-icons" aria-hidden="true">play_arrow</i>
</span>
Player
</a>
<a href="#releases" class="sidebar-link sidebar-link-with-icon">
<span class="sidebar-icon bg-transparent justify-content-start mr-0">
<i class="material-icons" aria-hidden="true">schedule</i>
</span>
Latest Releases
</a>
<a href="#browse" class="sidebar-link sidebar-link-with-icon">
<span class="sidebar-icon bg-transparent justify-content-start mr-0">
<i class="material-icons" aria-hidden="true">list</i>
</span>
Browse
</a>
<a href="#settingsTab" class="sidebar-link sidebar-link-with-icon mt-auto">
<span class="sidebar-icon bg-transparent justify-content-start mr-0">
<i class="material-icons" aria-hidden="true">settings</i>
</span>
Settings
</a>
</div>
</div>
<div class="overflow-y-hidden content-wrapper">
<section id="player" class="overflow-hidden">
<video id="video">
</video>
<a href="#player" class="w-full h-full"></a>
<div class="player d-none flex-column justify-content-between w-full h-full">
<div class="stats row">
<div id="nowPlayingDisplay" class="col ts">
</div>
<div class="d-flex col justify-content-center">
<span class="material-icons">
people
</span>
<span class="ts" id="peers">0</span>
<span class="material-icons">
arrow_downward
</span>
<span class="ts" id="downSpeed">0 B/s</span>
<span class="material-icons">
arrow_upward
</span>
<span class="ts" id="upSpeed">0 B/s</span>
</div>
<div class="col d-flex justify-content-end">
<a id="dl" class="material-icons"
title="Wait For File To Fully Download Before Saving To Drive">
<span class="material-icons">
get_app
</span>
</a>
</div>
</div>
<div id="ptoggle" class="h-full d-flex justify-content-center align-items-center">
<div id="buffering" class="hidden">
</div>
</div>
<div class="controls d-flex">
<span class="material-icons ctrl" title="Play/Pause [Space]" id="bpp" data-name="btnpp">
play_arrow
</span>
<span class="material-icons ctrl" title="Next [N]" id="bnext" data-name="btnnext">
skip_next
</span>
<div class="volume">
<span class="material-icons ctrl" title="Mute [M]" id="bmute" data-name="btnmute">
volume_up
</span>
<input type="range" value="100" id="volume">
</div>
<span class="ts" id="elapsed">00:00</span>
<div class="prog">
<input type="range" min="0" max="1000" value="0" id="progress">
<img id="thumb">
</div>
<span class="ts" id="remaining">00:00</span>
<div class="subtitles dropdown dropup with-arrow">
<span class="material-icons ctrl" title="Subtitles [C]" id="bcap" data-toggle="dropdown"
id="subtitle-popover" aria-haspopup="true" aria-expanded="false" data-name="btncap">
subtitles
</span>
<div class="dropdown-menu dropdown-menu-center" aria-labelledby="subtitle-popover"
id="subMenu">
</div>
</div>
<span class="material-icons ctrl" title="Popout Window [P]" id="bpip" data-name="btnpip">
picture_in_picture
</span>
<span class="material-icons ctrl" title="Theatre Mode [T]" id="btheatre" data-name="btntheatre">
crop_16_9
</span>
<span class="material-icons ctrl" title="Fullscreen [F]" id="bfull" data-name="btnfull">
fullscreen
</span>
</div>
</div>
</section>
<section id="browse" class="flex-column">
<div class="bg-dark">
<div class="text-center content my-15">
<form class="input-group" action="javascript:searchBox()">
<div class="input-group-prepend">
<button class="btn btn-primary material-icons px-10" type="submit">search</button>
</div>
<input type="text" class="form-control search"
placeholder="Anime Name, Image Link or Direct Magnet Link, Torrent File, Hash"
id="search">
</form>
</div>
</div>
<div class="gallery browse h-full overflow-y-scroll border-left border-top">
</div>
</section>
<section id="releases" class="flex-column">
<div class="bg-dark">
<div class="content my-15 d-flex">
<button class="btn btn-primary px-10 d-flex align-items-center" id="refRel">
<div class="material-icons">refresh</div>&nbsp;Refresh
</button>
</div>
</div>
<div class="gallery releases h-full overflow-y-scroll border-left border-top">
</div>
</section>
<section id="settingsTab" class="overflow-y-scroll border-left">
<div class="content">
<h1 class="content-title font-size-22">
Player Settings
</h1>
<div class="input-group w-200 mb-10">
<div class="input-group-prepend">
<span class="input-group-text">Volume</span>
</div>
<input id="player1" type="number" value="100" min="0" max="100" class="form-control text-right">
<div class="input-group-append">
<span class="input-group-text">%</span>
</div>
</div>
<div class="input-group w-200 mb-10">
<div class="input-group-prepend">
<span class="input-group-text">Immerse After</span>
</div>
<input id="player2" type="number" value="3" min="1" max="30" class="form-control text-right">
<div class="input-group-append">
<span class="input-group-text">sec</span>
</div>
</div>
<div class="input-group w-200 mb-10">
<div class="input-group-prepend">
<span class="input-group-text">Seek</span>
</div>
<input id="player3" type="number" value="2" min="1" max="30" class="form-control text-right">
<div class="input-group-append">
<span class="input-group-text">sec</span>
</div>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="player4">
<label for="player4">Miniplayer</label>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="player5">
<label for="player5">Seek Previews</label>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="player6">
<label for="player6">Autoplay Next Episode</label>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="player7">
<label for="player7">Picture In Picture</label>
</div>
<div class="custom-switch mb-20">
<input type="checkbox" id="player8">
<label for="player8">Post-Download Processing [Improves UX and performance after a download
finishes, initially CPU intensive]</label>
</div>
<h1 class="content-title font-size-22">
Subtitle Settings
</h1>
<div class="input-group w-200 mb-10">
<div class="input-group-prepend">
<span class="input-group-text">Font Fallback</span>
</div>
<select class="form-control" id="subtitle1">
<option value="'Open Sans', sans-serif">Open Sans</option>
<option value="Roboto,Arial,Helvetica,sans-serif">Roboto</option>
</select>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="subtitle2">
<label for="subtitle2">Async Rendering [Might cause desync on low end devices but greatly
improves performance]</label>
</div>
<div class="custom-switch mb-20">
<input type="checkbox" id="subtitle3">
<label for="subtitle3">Video Canvas Merging [Displays subtitles in PiP and ChromeCast, requires
<a href="chrome://flags/#disable-accelerated-2d-canvas"
target="_blank">chrome://flags/#disable-accelerated-2d-canvas</a> set to
Disabled]</label>
</div>
<h1 class="content-title font-size-22">
Torrent Settings
</h1>
<div class="input-group mb-10 w-200">
<div class="input-group-prepend">
<span class="input-group-text">Quality</span>
</div>
<select class="form-control" id="torrent1">
<option value="1080">1080p</option>
<option value="720">720p</option>
<option value="480">480p</option>
</select>
</div>
<div class="input-group mb-10 w-200">
<div class="input-group-prepend">
<span class="input-group-text">Feed</span>
</div>
<select class="form-control" id="torrent4">
<option value="https://subsplease.org/rss/?r=">SubsPlease</option>
<option value="https://miru.kirdow.com/request/?url=https://www.erai-raws.info/rss-">
Erai-raws</option>
</select>
</div>
<div class="custom-switch mb-10">
<input type="checkbox" id="torrent2">
<label for="torrent2">Auto-Play Torrents [This might lead to wrong torrents being
played]</label>
</div>
<div class="custom-switch mb-20">
<input type="checkbox" id="torrent3">
<label for="torrent3">Trusted Only [Less results but higher quality and more seeders]</label>
</div>
<h1 class="content-title font-size-22">
Other
</h1>
<div class="input-group w-200 mb-10">
<div class="input-group-prepend">
<span class="input-group-text">UI Scale</span>
</div>
<input id="other1" type="number" value="100" min="1" max="1000" class="form-control text-right">
<div class="input-group-append">
<span class="input-group-text">%</span>
</div>
</div>
<div class="custom-switch mb-20">
<input type="checkbox" id="other2">
<label for="other2">AniList Sync [Requires <a
href="https://anilist.co/api/v2/oauth/authorize?client_id=4254&response_type=token"
target="_top">OAuth2 Login</a>]</label>
</div>
<button class="btn btn-danger" type="button" id="setRes">Restore Defaults</button>
<button class="btn btn-success" type="button" id="regProtButton">Set As Default For Magnet Links</button>
<p class="text-muted">
Restart may be required for some settings to take effect.
</p>
</div>
</div>
</section>
</div>
</div>
<script src="https://cdn.jsdelivr.net/gh/halfmoonui/halfmoon@1.1.1/js/halfmoon.min.js"></script>
<script src="js/settingsHandler.js"></script>
<script src="js/util.js"></script>
<script src="js/animeHandler.js"></script>
<script src="js/playerHandler.js"></script>
<script src="https://cdn.jsdelivr.net/npm/webtorrent@latest/webtorrent.min.js"></script>
<script src="js/rangeParser.js"></script>
<script src="js/torrentHandler.js"></script>
<script src="https://cdn.jsdelivr.net/npm/matroska-subtitles@3.2.0/dist/matroska-subtitles.min.js"></script>
<script src="js/subtitles-octopus.js"></script>
<script src="js/subtitleOctopus.js"></script>
</body>
</html>