├── .eslintrc.json
├── .vscode
└── settings.json
├── bun.lockb
├── .gitattributes
├── src
├── components
│ ├── slider.css
│ ├── Player
│ │ ├── base.css
│ │ └── components
│ │ │ ├── title.tsx
│ │ │ ├── time-group.tsx
│ │ │ ├── layouts
│ │ │ ├── video-layout.module.css
│ │ │ ├── video-layout.tsx
│ │ │ └── captions.module.css
│ │ │ ├── sliders.tsx
│ │ │ └── buttons.tsx
│ ├── ProgressBar.tsx
│ ├── Video.tsx
│ ├── ScrollToTop.tsx
│ ├── footer.tsx
│ ├── Characters.tsx
│ ├── Changelogs.tsx
│ ├── EpisodesList.tsx
│ ├── Card.tsx
│ ├── Nav.tsx
│ └── Hero.tsx
├── app
│ ├── favicon.ico
│ ├── globals.css
│ ├── providers.tsx
│ ├── renderNav.tsx
│ ├── settings
│ │ ├── home
│ │ │ └── page.tsx
│ │ ├── player
│ │ │ └── page.tsx
│ │ ├── page.tsx
│ │ ├── homeSettings.tsx
│ │ └── playerSettings.tsx
│ ├── robots.ts
│ ├── info
│ │ └── [id]
│ │ │ ├── Img.tsx
│ │ │ ├── Accordions.tsx
│ │ │ └── page.tsx
│ ├── sitemap.ts
│ ├── api
│ │ ├── v1
│ │ │ ├── search
│ │ │ │ └── [query]
│ │ │ │ │ └── route.ts
│ │ │ ├── source
│ │ │ │ └── route.ts
│ │ │ ├── episodesMetadata
│ │ │ │ └── [id]
│ │ │ │ │ └── route.ts
│ │ │ ├── characters
│ │ │ │ └── [id]
│ │ │ │ │ └── route.ts
│ │ │ └── episodes
│ │ │ │ └── [id]
│ │ │ │ └── route.ts
│ │ ├── v2
│ │ │ ├── advancedSearch
│ │ │ │ └── route.ts
│ │ │ ├── thumbnails
│ │ │ │ └── [id]
│ │ │ │ │ └── route.ts
│ │ │ └── studios
│ │ │ │ └── [id]
│ │ │ │ └── route.ts
│ │ └── temp
│ │ │ └── episodes
│ │ │ └── [id]
│ │ │ └── route.ts
│ ├── studio
│ │ └── [id]
│ │ │ ├── page.tsx
│ │ │ └── Card.tsx
│ ├── ThemeProvider.tsx
│ ├── dmca
│ │ └── page.tsx
│ ├── trending
│ │ ├── page.tsx
│ │ └── Card.tsx
│ ├── popular
│ │ ├── page.tsx
│ │ └── Card.tsx
│ ├── layout.tsx
│ ├── privacy
│ │ └── page.tsx
│ ├── watch
│ │ └── [id]
│ │ │ └── [episode]
│ │ │ ├── Accordions.tsx
│ │ │ ├── Share.tsx
│ │ │ └── page.tsx
│ ├── catalog
│ │ ├── Card.tsx
│ │ └── page.tsx
│ └── page.tsx
├── hooks
│ ├── useSSRLocalStorage.ts
│ ├── useTruncate.ts
│ ├── useDebounce.ts
│ └── VideoProgressSave.ts
├── functions
│ ├── cache.ts
│ ├── jsxUtilityFunctions.tsx
│ ├── utilityFunctions.ts
│ └── clientRequests.ts
└── types
│ ├── anify.ts
│ ├── consumet.ts
│ └── site.ts
├── .prettierrc
├── postcss.config.mjs
├── .env.example
├── .gitignore
├── public
├── vercel.svg
└── next.svg
├── tsconfig.json
├── next.config.mjs
├── package.json
├── README.md
└── tailwind.config.ts
/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "cSpell.words": ["Rever"]
3 | }
4 |
--------------------------------------------------------------------------------
/bun.lockb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shimizudev/reveraki/HEAD/bun.lockb
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
--------------------------------------------------------------------------------
/src/components/slider.css:
--------------------------------------------------------------------------------
1 | .swiper {
2 | width: 100%;
3 | height: 100%;
4 | }
5 |
--------------------------------------------------------------------------------
/src/app/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/shimizudev/reveraki/HEAD/src/app/favicon.ico
--------------------------------------------------------------------------------
/src/components/Player/base.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --media-brand: 245 245 245;
3 | --media-focus: 78 156 246;
4 | }
5 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "singleQuote": true,
3 | "endOfLine": "crlf",
4 | "plugins": ["prettier-plugin-tailwindcss"]
5 | }
6 |
--------------------------------------------------------------------------------
/postcss.config.mjs:
--------------------------------------------------------------------------------
1 | /** @type {import('postcss-load-config').Config} */
2 | const config = {
3 | plugins: {
4 | tailwindcss: {},
5 | },
6 | };
7 |
8 | export default config;
9 |
--------------------------------------------------------------------------------
/src/app/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | @layer utilities {
6 | .text-balance {
7 | text-wrap: balance;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/app/providers.tsx:
--------------------------------------------------------------------------------
1 | import { NextUIProvider } from '@nextui-org/react';
2 |
3 | export function Providers({ children }: { children: React.ReactNode }) {
4 | return
13 | {studio.favoritesNumber}{' '} 14 | {studio.isAnimationStudio ? '| Animation Studio' : ''} 15 |
16 |15 | ReverAki operates independently and is not formally associated with nor 16 | endorsed by any of the anime studios responsible for the creation of the 17 | anime featured on this platform. Our website serves solely as a user 18 | interface, facilitating access to self-hosted files sourced from various 19 | third-party providers across the internet. It's important to note 20 | that ReverAki never initiates downloads of video content from these 21 | providers. Instead, links are provided in response to user requests, 22 | thereby absolving the platform from any potential DMCA compliance 23 | issues. 24 |
25 |22 | Configure settings related to the player. 23 |
24 | 25 |33 | Customize settings for the home page. 34 |
35 | 36 |17 | At Reveraki, we take your privacy seriously. We are committed to 18 | protecting the privacy of our users and ensuring that all personal 19 | information provided to us remains confidential. 20 |
21 |22 | Reveraki does not collect any personal information from its users. We do 23 | not use cookies or any other tracking technologies. We only store a few 24 | settings locally when the app is accessed from localhost. You can remove 25 | your local storage data by clearing your browser site cache or removing 26 | local storage values. 27 |
28 |29 | Our app is designed to respect your privacy and anonymity. You can use 30 | Reveraki with the assurance that your personal information will never be 31 | compromised. 32 |
33 |34 | If you have any questions or concerns about our privacy policy, please 35 | feel free to contact us at privacy@reveraki.com. 36 |
37 |
50 | Studios:
51 | {info.studiosInfo.map((studio, index) => {
52 | return (
53 |
61 | Country: 62 | {info.countryOfOrigin} 63 |
64 |65 | Rating: 66 | {info.averageRating / 10} 67 |
68 |69 | Total Episodes: 70 | {info.totalEpisodes} 71 |
72 |73 | Release Date: 74 | {info.startDate.day} {numberToMonth(info.startDate.month)}{' '} 75 | {info.startDate.year} 76 |
77 |
78 | Season:
79 | {
80 |
87 | Duration Per Episode: 88 | {info.duration} 89 |
90 |87 | You can basically find all the home page settings here. 88 |
89 |93 | Control whether it should play the trailer it does on the home. If 94 | you turn it off, a slider will be shown instead of trailer. 95 |
96 |The main color of the site
106 |Changelogs
112 |131 | Hi there! 🎉 Welcome to the Changelogs section! 🌟 Here, 132 | explore the latest updates made to the site! 🚀 133 |
134 |137 | Version - {latestRelease.tag_name} 138 |
139 | 140 |{episode.description}
114 |102 | You can basically find all the player settings here. You can customize 103 | colors based on your preference and everything. Not the layout, just the 104 | colors and your preferences. 105 |
106 |110 | Auto skip the intro or ending. If you don't turn it on then you 111 | will get to see "Skip Intro" or "Skip Ending" 112 | button. If you turn it on, they are gonna skip intro and outro 113 | automatically 114 |
115 |125 | If you don't turn it on then you won' get to see 126 | "Skip Intro" or "Skip Ending" button either. If 127 | you turn off both of them then you can basically remove intro and 128 | outro skipping 129 |
130 |140 | The color is shown on the timeline and volume etc etc. Default: 141 | blue. You must provide hex, and if you break the site by providing 142 | color names we are no one to blame. 143 |
144 |155 | The background color you can see in the player menu when you click 156 | the settings. The default is primary but you can select between: 157 | primary, secondary, success, warning, danger 158 |
159 |175 | {result.title.english 176 | ? result.title.english 177 | : result.title.romaji} 178 |
179 |Rating: {result.rating / 10 ?? 0.0}
180 |181 | Total Episodes:{' '} 182 | {result.currentEpisode ?? 183 | result.totalEpisodes} 184 |
185 |{randomAnime.type}
111 |114 | {randomAnime.startDate.day}{' '} 115 | {numberToMonth(randomAnime.startDate.month)}{' '} 116 | {randomAnime.startDate.year} 117 |
118 |
120 |
{anime.type}
207 |210 | {anime.startDate.day}{' '} 211 | {numberToMonth(anime.startDate.month)}{' '} 212 | {anime.startDate.year} 213 |
214 |
216 |