fix(web): consistent padding and spacing

This commit is contained in:
ThaUnknown 2023-12-05 17:00:25 +01:00
parent 32568cc32b
commit e307e5bde5
8 changed files with 218 additions and 213 deletions

View file

@ -1,12 +1,12 @@
<script>
import DiscordSVG from '$lib/svg/DiscordSVG.svelte'
import GithubSVG from '$lib/svg/GithubSVG.svelte'
</script>
<div class='container pb-20 font-weight-light font-size-16 text-muted position-sticky' style='top: 100%'>
<hr class='w-full my-20' />
<div class='row px-20 px-sm-0 mb-20'>
<div class='col-12 col-md-5 pt-20 mb-20 text-md-left'>
<div class='row px-20 px-sm-0 mb-20 content'>
<div class='col-12 col-md-4 pt-20 mb-20 text-md-left'>
<a href='/'>
<img src='/logo.ico' alt='logo' class='w-50 h-50' />
</a>
@ -15,27 +15,33 @@
<br />
All rights reserved
</div>
<div class='col-6 col-sm-4 col-md-2 d-flex flex-column pt-20'>
<div class='font-weight-semi-bold mb-10 text-white'>Product</div>
<a href='https://github.com/sponsors/ThaUnknown/' target='_blank'>Donate</a>
<a href='/features'>Features</a>
<a href='/download'>Download</a>
<a href='/changelog'>Changelog</a>
<div class='col-6 col-sm-4 col-md-3 pt-20 d-flex justify-content-md-end'>
<div class='d-flex flex-column'>
<div class='font-weight-semi-bold mb-10 text-white'>Product</div>
<a href='https://github.com/sponsors/ThaUnknown/' target='_blank'>Donate</a>
<a href='/features'>Features</a>
<a href='/download'>Download</a>
<a href='/changelog'>Changelog</a>
</div>
</div>
<div class='col-6 col-sm-4 col-md-2 d-flex flex-column pt-20'>
<div class='font-weight-semi-bold mb-10 text-white'>Resources</div>
<a href='/faq'>FAQ</a>
<a href='/contact'>Contact</a>
<a href='/terms'>Terms of use</a>
<a href='/privacy'>Privacy policy</a>
<div class='col-6 col-sm-4 col-md-3 pt-20 d-flex justify-content-md-end'>
<div class='d-flex flex-column'>
<div class='font-weight-semi-bold mb-10 text-white'>Resources</div>
<a href='/faq'>FAQ</a>
<a href='/contact'>Contact</a>
<a href='/terms'>Terms of use</a>
<a href='/privacy'>Privacy policy</a>
</div>
</div>
<div class='col-12 col-sm-4 col-md-3 pt-20'>
<div class='font-weight-semi-bold mb-10 text-white'>Social</div>
<a href={atob('aHR0cHM6Ly9kaXNjb3JkLmdnL1o4N05oN2M0QWM=')} target='_blank'><DiscordSVG class='icon mr-10' /></a>
<a href='https://github.com/ThaUnknown/miru' target='_blank'><GithubSVG class='icon' /></a>
<div class='col-12 col-sm-4 col-md-2 pt-20 d-flex justify-content-md-end'>
<div>
<div class='font-weight-semi-bold mb-10 text-white'>Social</div>
<a href={atob('aHR0cHM6Ly9kaXNjb3JkLmdnL1o4N05oN2M0QWM=')} target='_blank'><DiscordSVG class='icon mr-10' /></a>
<a href='https://github.com/ThaUnknown/miru' target='_blank'><GithubSVG class='icon' /></a>
</div>
</div>
</div>
<div class='py-20 font-italic px-20 px-sm-0 pt-20'>
<div class='p-20 font-italic'>
This site or it's servers do not store, hosts or distribute any copyrighted files or media.
</div>
</div>

View file

@ -24,8 +24,8 @@
<div class='overlay-gradient position-absolute top-0 left-0 w-full h-full' />
</div>
<div class='content pb-20' id='about'>
<h1 class='w-full font-weight-bold text-white px-20'>
<div class='my-20 pb-20' id='about'>
<h1 class='w-full font-weight-bold text-white content'>
Torrenting made simple.
</h1>
<div class='row'>
@ -50,7 +50,7 @@
</div>
</div>
<hr class='my-20' />
<div class='content py-20'>
<div class='my-20 py-20'>
<div class='row'>
<div class='col-md-7 col-12'>
<div class='content'>
@ -70,7 +70,7 @@
</div>
</div>
<hr class='my-20' />
<div class='content py-20'>
<div class='my-20 py-20'>
<div class='row flex-column-reverse flex-md-row'>
<div class='col-md-5 col-12'>
<div class='content'>
@ -88,7 +88,7 @@
</div>
</div>
<hr class='my-20' />
<div class='content py-20'>
<div class='my-20 py-20'>
<div class='row'>
<div class='col-md-7 col-12'>
<div class='content'>
@ -109,8 +109,8 @@
</div>
</div>
<hr class='my-20' />
<div class='content pt-20'>
<h1 class='w-full font-weight-bold text-white px-20'>
<div class='mt-20 pt-20'>
<h1 class='w-full font-weight-bold text-white content'>
Loved by thousands.
</h1>
</div>

View file

@ -4,71 +4,73 @@
</script>
<div class='container'>
<div class='h-vh-half row px-20 px-sm-0'>
<div class='col-sm-3 d-none d-sm-flex' />
<div class='col-sm-6 d-flex justify-content-center flex-column'>
<h1 class='font-weight-bold text-white title'>Changelog</h1>
<div class='font-size-18 text-muted'>New updates and improvements to Miru.</div>
<div class='content'>
<div class='h-vh-half row px-20 px-sm-0'>
<div class='col-sm-3 d-none d-sm-flex' />
<div class='col-sm-6 d-flex justify-content-center flex-column'>
<h1 class='font-weight-bold text-white title'>Changelog</h1>
<div class='font-size-18 text-muted'>New updates and improvements to Miru.</div>
</div>
</div>
{#await data.releases}
{#each Array(5) as _}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0'>
<div class='col-sm-3 my-20 order-last order-sm-first '>
<div class='skeloader rounded w-100 h-10 bg-very-dark'>
<div class='skeleloader-swipe' />
</div>
</div>
<div class='col-sm-9'>
<div class='skeloader rounded w-150 h-25 bg-very-dark mb-10'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-250 h-10 bg-very-dark mt-20'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-200 h-10 bg-very-dark mt-15'>
<div class='skeleloader-swipe' />
</div>
</div>
</div>
{/each}
{:then changelog}
{#each changelog as { version, date, body }}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0 position-relative'>
<div class='col-sm-3 order-last order-sm-first text-white'>
<div class='position-sticky pt-20'>
{new Date(date).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })}
</div>
</div>
<div class='col-sm-9 pre-wrap text-muted'>
<h2 class='mt-0 font-weight-bold text-white'>{version}</h2>{body.replaceAll('- ', '')}</div>
</div>
{/each}
{:catch}
{#each Array(5) as _}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0'>
<div class='col-sm-3 my-20 order-last order-sm-first '>
<div class='skeloader rounded w-100 h-10 bg-very-dark'>
<div class='skeleloader-swipe' />
</div>
</div>
<div class='col-sm-9'>
<div class='skeloader rounded w-150 h-25 bg-very-dark mb-10'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-250 h-10 bg-very-dark mt-20'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-200 h-10 bg-very-dark mt-15'>
<div class='skeleloader-swipe' />
</div>
</div>
</div>
{/each}
{/await}
</div>
{#await data.releases}
{#each Array(5) as _}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0'>
<div class='col-sm-3 my-20 order-last order-sm-first '>
<div class='skeloader rounded w-100 h-10 bg-very-dark'>
<div class='skeleloader-swipe' />
</div>
</div>
<div class='col-sm-9'>
<div class='skeloader rounded w-150 h-25 bg-very-dark mb-10'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-250 h-10 bg-very-dark mt-20'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-200 h-10 bg-very-dark mt-15'>
<div class='skeleloader-swipe' />
</div>
</div>
</div>
{/each}
{:then changelog}
{#each changelog as { version, date, body }}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0 position-relative'>
<div class='col-sm-3 order-last order-sm-first text-white'>
<div class='position-sticky pt-20'>
{new Date(date).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric' })}
</div>
</div>
<div class='col-sm-9 pre-wrap text-muted'>
<h2 class='mt-0 font-weight-bold text-white'>{version}</h2>{body.replaceAll('- ', '')}</div>
</div>
{/each}
{:catch}
{#each Array(5) as _}
<hr class='my-20' />
<div class='row py-20 px-20 px-sm-0'>
<div class='col-sm-3 my-20 order-last order-sm-first '>
<div class='skeloader rounded w-100 h-10 bg-very-dark'>
<div class='skeleloader-swipe' />
</div>
</div>
<div class='col-sm-9'>
<div class='skeloader rounded w-150 h-25 bg-very-dark mb-10'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-250 h-10 bg-very-dark mt-20'>
<div class='skeleloader-swipe' />
</div>
<div class='skeloader rounded w-200 h-10 bg-very-dark mt-15'>
<div class='skeleloader-swipe' />
</div>
</div>
</div>
{/each}
{/await}
</div>
<style>

View file

@ -1,8 +1,10 @@
<div class='container font-size-18 pb-20'>
<h1 class='text-white font-weight-bold'>Contact</h1>
<p>If you're running into any issues with Miru, or have an idea for an enhancement, please file an <a href='https://github.com/ThaUnknown/miru/issues' target='_blank'>issue on github</a>.</p>
<p>Alternatively, if you have general questions not listed in the <a href='/faq'>FAQ</a>, visit our <a href={atob('aHR0cHM6Ly9kaXNjb3JkLmdnL1o4N05oN2M0QWM=')} target='_blank'>community Discord</a>.</p>
<p>For business inquiries use this email address: <a href={'mailto:' + atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}>{atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}</a>, however do not expect a reply.</p>
<div class='content'>
<h1 class='text-white font-weight-bold'>Contact</h1>
<p>If you're running into any issues with Miru, or have an idea for an enhancement, please file an <a href='https://github.com/ThaUnknown/miru/issues' target='_blank'>issue on github</a>.</p>
<p>Alternatively, if you have general questions not listed in the <a href='/faq'>FAQ</a>, visit our <a href={atob('aHR0cHM6Ly9kaXNjb3JkLmdnL1o4N05oN2M0QWM=')} target='_blank'>community Discord</a>.</p>
<p>For business inquiries use this email address: <a href={'mailto:' + atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}>{atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}</a>, however do not expect a reply.</p>
</div>
</div>
<style>

View file

@ -60,84 +60,86 @@
</script>
<div class='container'>
{#key downloads}
<div class='h-vh-half d-flex justify-content-center align-items-center flex-column px-20 px-sm-0 pt-20'>
<h1 class='font-weight-bold text-white title mt-20 pt-20 text-center'>Almost there!</h1>
<div class='font-size-18 text-muted text-center'>
Now run the installer that just downloaded.<br /><br />
Your download should begin automatically. Didnt work?
<div class='content'>
{#key downloads}
<div class='h-vh-half d-flex justify-content-center align-items-center flex-column px-20 px-sm-0 pt-20'>
<h1 class='font-weight-bold text-white title mt-20 pt-20 text-center'>Almost there!</h1>
<div class='font-size-18 text-muted text-center'>
Now run the installer that just downloaded.<br /><br />
Your download should begin automatically. Didnt work?
</div>
<a class='btn btn-lg btn-link mb-20' href={downloads[userOS] || releases}>
Try downloading again.
</a>
</div>
<a class='btn btn-lg btn-link mb-20' href={downloads[userOS] || releases}>
Try downloading again.
</a>
</div>
<hr class='my-20' />
<div class='px-20 px-sm-0 row'>
<div class='col-12 col-lg-6 d-flex flex-column align-items-center d-lg-block pr-lg-20 pt-20'>
<h3 class='font-weight-bold text-white text-center text-lg-left pb-15'>Get Miru for other devices</h3>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads.Windows || releases}>
<WindowsSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Windows</div>
<div class='text-muted'>exe</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads['Mac OS'] || releases}>
<MacOSSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Mac OS</div>
<div class='text-muted'>Universal dmg</div>
</a>
<div class='d-flex w-500 mw-full gap-2'>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Linux || releases}>
<LinuxSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Linux</div>
<hr class='my-20' />
<div class='px-20 px-sm-0 row'>
<div class='col-12 col-lg-6 d-flex flex-column align-items-center d-lg-block pr-lg-20 pt-20'>
<h3 class='font-weight-bold text-white text-center text-lg-left pb-15'>Get Miru for other devices</h3>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads.Windows || releases}>
<WindowsSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Windows</div>
<div class='text-muted'>exe</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads['Mac OS'] || releases}>
<MacOSSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Mac OS</div>
<div class='text-muted'>Universal dmg</div>
</a>
<div class='d-flex w-500 mw-full gap-2'>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Linux || releases}>
<LinuxSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Linux</div>
<div class='text-muted'>AppImage</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Debian || releases}>
<LinuxSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Linux</div>
<div class='text-muted'>deb</div>
</a>
</div>
<div class='d-flex w-500 mw-full gap-2'>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Android || releases}>
<AndroidSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Android</div>
<div class='text-muted'>apk</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Android || releases}>
<AndroidTVSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Android TV</div>
<div class='text-muted'>apk</div>
</a>
</div>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads.Linux || releases}>
<SteamOSSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Steam OS</div>
<div class='text-muted'>AppImage</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Debian || releases}>
<LinuxSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Linux</div>
<div class='text-muted'>deb</div>
</a>
</div>
<div class='d-flex w-500 mw-full gap-2'>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Android || releases}>
<AndroidSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Android</div>
<div class='text-muted'>apk</div>
</a>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-250 flex-grow-1' href={downloads.Android || releases}>
<AndroidTVSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Android TV</div>
<div class='text-muted'>apk</div>
</a>
</div>
<a class='text-reset card pointer col-2 m-0 mb-20 mw-full pb-20 w-500 d-block' href={downloads.Linux || releases}>
<SteamOSSVG />
<div class='font-size-18 font-weight-semi-bold mt-5'>Steam OS</div>
<div class='text-muted'>AppImage</div>
</a>
</div>
<div class='col-12 col-lg-6 d-flex flex-column align-items-center d-lg-block pl-lg-20 pt-20'>
<hr class='w-full my-20 d-lg-none' />
<h3 class='font-weight-bold text-white text-center text-lg-left pb-15'>Additional resources</h3>
<div class='d-flex flex-column'>
<div class='pb-5 font-size-18 font-weight-bold'>
Current version:
{#await data.releases then releases}
{releases[0].version}
{/await}
<div class='col-12 col-lg-6 d-flex flex-column align-items-center d-lg-block pl-lg-20 pt-20'>
<hr class='w-full my-20 d-lg-none' />
<h3 class='font-weight-bold text-white text-center text-lg-left pb-15'>Additional resources</h3>
<div class='d-flex flex-column'>
<div class='pb-5 font-size-18 font-weight-bold'>
Current version:
{#await data.releases then releases}
{releases[0].version}
{/await}
</div>
<a href='/changelog' class='hyperlink-underline pb-20 font-size-16 font-weight-bold'>
View changelog
</a>
<div class='pb-5 font-size-18 font-weight-bold'>
Older versions of Miru
</div>
<a href={releases} class='hyperlink-underline pb-20 font-size-16 font-weight-bold'>
View older versions of Miru on GitHub
</a>
</div>
<a href='/changelog' class='hyperlink-underline pb-20 font-size-16 font-weight-bold'>
View changelog
</a>
<div class='pb-5 font-size-18 font-weight-bold'>
Older versions of Miru
</div>
<a href={releases} class='hyperlink-underline pb-20 font-size-16 font-weight-bold'>
View older versions of Miru on GitHub
</a>
</div>
</div>
</div>
{/key}
{/key}
</div>
</div>
<style>

View file

@ -1,52 +1,41 @@
<div class='container font-size-18 pb-20'>
<h1 class='text-white font-weight-bold'>Frequently Asked Questions</h1>
<h3 class='text-white font-weight-bold'>Won't this kill swarm health?</h3>
<p>Depends. On average no. The app is always seeding 1 torrent as long as it's open. Additionally the upload speed is forced to be x1.5 that of the download speed. Those 2 things combined will already make this app seed more than the average leecher which removes the torrent the moment it's downloaded.</p>
<h3 class='text-white font-weight-bold'>Can I close the miniplayer?</h3>
<p>No. See above. The miniplayer provides feedback that something is happening in the background. Closing it would make the user feel like the app is lagging [because it's maxing out your internet in the background by torrenting] when nothing is happening.</p>
<h3 class='text-white font-weight-bold'>Can I reduce the upload speed?</h3>
<p>No. See above. This app is also meant to seed the torrents the user downloads, if you want freeleech go to some private tracker.</p>
<h3 class='text-white font-weight-bold'>Is this safe?</h3>
<p>I recommend you read the <a href='https://thewiki.moe/getting-started/torrenting/' target='_blank'>guide about basics of piracy</a>.</p>
<h3 class='text-white font-weight-bold'>Will this replace streaming sites?</h3>
<p>Not really. The underlying source of video are still torrents, which aren't always seeded, so anime that's a few years old might not play back smoothly.</p>
<h3 class='text-white font-weight-bold'>Can I log in with MAL?</h3>
<p>No. You can however migrate MAL to AL, <a href='https://anilist.co/forum/thread/3393' target='_blank'>see this guide</a>.</p>
<h3 class='text-white font-weight-bold'>Why is anime X not playing?</h3>
<p>One of four reasons:</p>
<ul>
<li>the anime isn't seeded</li>
<li>your download speed isn't fast enough</li>
<li>your ISP blocks Torrenting, see <a href='https://thewiki.moe/en/tutorials/unblock' target='_blank'>this tutorial</a> for a potential fix, or simply use a VPN</li>
<li>the app couldn't find a matching torrent for the anime</li>
</ul>
<h3 class='text-white font-weight-bold'>I selected an episode to play, but Miru plays something else!</h3>
<p>Finding desired episodes can sometimes be difficult, if Miru auto-selects an episode incorrectly you can either disable auto-play torrents in settings to select torrents yourself during episode choosing, or manually find and paste in a .torrent file URL or a magnet URL into Miru to play a desired episode manually.</p>
<h3 class='text-white font-weight-bold'>Can I play my own torrents?</h3>
<p>Yes. For the home menu you can specify a different RSS feed to check when the app looks for new releases. Additionally you can just paste/drag-drop a torrent file/magnet link anywhere when using the app, and it will try it's best to auto-detect what anime is playing.</p>
<h3 class='text-white font-weight-bold'>Can I change what tracker torrents are found from?</h3>
<p>Not really. No other tracker has the kind of API/search functionality which is required, which Miru uses to the fullest extent to make sure it finds the torrents it's looking for without false-positives.</p>
<h3 class='text-white font-weight-bold'>How is this different from sequential qBit?</h3>
<p>Unlike qBit's sequential, this will prioritise downloading torrent pieces directly needed for playback, which with the user seeking isn't always just sequential.</p>
<h3 class='text-white font-weight-bold'>Why Electron?</h3>
<p>Electron has node.js integration, which can use TCP/UDP, that is the only reason. Browsers can't access TCP/UDP which means they can't access the global BT swarm.</p>
<p>&gt; Can't you make this just use WebRTC?</p>
<p>Yes. A BitTorrent implementation which uses WebRTC exists, but it's not yet adopted by any clients, and libtorrent [the library which qBit and others use] is still working/just added support for WebRTC, which means there's no swarm. This will hopefully change in the future.</p>
<h3 class='text-white font-weight-bold'>Miru crashed too many times.</h3>
<p>This is likely because Miru updated from a very old version to a very new one. Uninstall Miru, go to <kbd>%appdata%/miru</kbd> remove all files and re-install it. If this issue persists visit the Discord for help.</p>
<div class='content'>
<h1 class='text-white font-weight-bold'>Frequently Asked Questions</h1>
<h3 class='text-white font-weight-bold'>Won't this kill swarm health?</h3>
<p>Depends. On average no. The app is always seeding 1 torrent as long as it's open. Additionally the upload speed is forced to be x1.5 that of the download speed. Those 2 things combined will already make this app seed more than the average leecher which removes the torrent the moment it's downloaded.</p>
<h3 class='text-white font-weight-bold'>Can I close the miniplayer?</h3>
<p>No. See above. The miniplayer provides feedback that something is happening in the background. Closing it would make the user feel like the app is lagging [because it's maxing out your internet in the background by torrenting] when nothing is happening.</p>
<h3 class='text-white font-weight-bold'>Can I reduce the upload speed?</h3>
<p>No. See above. This app is also meant to seed the torrents the user downloads, if you want freeleech go to some private tracker.</p>
<h3 class='text-white font-weight-bold'>Is this safe?</h3>
<p>I recommend you read the <a href='https://thewiki.moe/getting-started/torrenting/' target='_blank'>guide about basics of piracy</a>.</p>
<h3 class='text-white font-weight-bold'>Will this replace streaming sites?</h3>
<p>Not really. The underlying source of video are still torrents, which aren't always seeded, so anime that's a few years old might not play back smoothly.</p>
<h3 class='text-white font-weight-bold'>Can I log in with MAL?</h3>
<p>No. You can however migrate MAL to AL, <a href='https://anilist.co/forum/thread/3393' target='_blank'>see this guide</a>.</p>
<h3 class='text-white font-weight-bold'>Why is anime X not playing?</h3>
<p>One of four reasons:</p>
<ul>
<li>the anime isn't seeded</li>
<li>your download speed isn't fast enough</li>
<li>your ISP blocks Torrenting, see <a href='https://thewiki.moe/en/tutorials/unblock' target='_blank'>this tutorial</a> for a potential fix, or simply use a VPN</li>
<li>the app couldn't find a matching torrent for the anime</li>
</ul>
<h3 class='text-white font-weight-bold'>I selected an episode to play, but Miru plays something else!</h3>
<p>Finding desired episodes can sometimes be difficult, if Miru auto-selects an episode incorrectly you can either disable auto-play torrents in settings to select torrents yourself during episode choosing, or manually find and paste in a .torrent file URL or a magnet URL into Miru to play a desired episode manually.</p>
<h3 class='text-white font-weight-bold'>Can I play my own torrents?</h3>
<p>Yes. For the home menu you can specify a different RSS feed to check when the app looks for new releases. Additionally you can just paste/drag-drop a torrent file/magnet link anywhere when using the app, and it will try it's best to auto-detect what anime is playing.</p>
<h3 class='text-white font-weight-bold'>Can I change what tracker torrents are found from?</h3>
<p>Not really. No other tracker has the kind of API/search functionality which is required, which Miru uses to the fullest extent to make sure it finds the torrents it's looking for without false-positives.</p>
<h3 class='text-white font-weight-bold'>How is this different from sequential qBit?</h3>
<p>Unlike qBit's sequential, this will prioritise downloading torrent pieces directly needed for playback, which with the user seeking isn't always just sequential.</p>
<h3 class='text-white font-weight-bold'>Why Electron?</h3>
<p>Electron has node.js integration, which can use TCP/UDP, that is the only reason. Browsers can't access TCP/UDP which means they can't access the global BT swarm.</p>
<p>&gt; Can't you make this just use WebRTC?</p>
<p>Yes. A BitTorrent implementation which uses WebRTC exists, but it's not yet adopted by any clients, and libtorrent [the library which qBit and others use] is still working/just added support for WebRTC, which means there's no swarm. This will hopefully change in the future.</p>
<h3 class='text-white font-weight-bold'>Miru crashed too many times.</h3>
<p>This is likely because Miru updated from a very old version to a very new one. Uninstall Miru, go to <kbd>%appdata%/miru</kbd> remove all files and re-install it. If this issue persists visit the Discord for help.</p>
</div>
</div>
<style>

View file

@ -1,5 +1,6 @@
<!-- eslint-disable svelte/indent -->
<div class='container pre-wrap font-size-18 pb-20'>
<div class='content'>
<h1 class='text-white font-weight-bold'>Privacy Policy</h1>
Last updated: November 27th, 2023.
@ -40,6 +41,7 @@ Users are encouraged to review the policy for any modifications. Continued use o
<h3 class='text-white font-weight-bold'>Contact Information</h3>For inquiries regarding this Privacy Policy or concerns related to data management, please contact us at [<a class='hyperlink-underline' href={'mailto:' + atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}>{atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}</a>].
</div>
</div>
<style>
.container {

View file

@ -1,5 +1,6 @@
<!-- eslint-disable svelte/indent -->
<div class='container pre-wrap font-size-18 pb-20'>
<div class='content'>
<h1 class='text-white font-weight-bold'>Terms of Use</h1>
Last updated: November 27th, 2023.
@ -19,6 +20,7 @@ Permission is hereby granted, free of charge, to any person obtaining a copy of
<h3 class='text-white font-weight-bold'>Contact Information</h3>For inquiries regarding these Terms of Use or concerns related to data management, please contact us at [<a class='hyperlink-underline' href={'mailto:' + atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}>{atob('Y2FzaXN0YWtlbkBnbWFpbC5jb20=')}</a>].
</div>
</div>
<style>
.container {