├── CNAME ├── LICENSE ├── README.md ├── img ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon-120x120.png ├── apple-touch-icon-180x180.png ├── apple-touch-icon-60x60.png ├── apple-touch-icon-76x76.png ├── apple-touch-icon.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── logo.png ├── n.png ├── safari-pinned-tab.svg └── tusky.svg ├── improved ├── index.html ├── script.js └── style.css ├── index.html ├── providers.json ├── script.js └── style.css /CNAME: -------------------------------------------------------------------------------- 1 | indexer.is-an.app -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | logo
3 | ⭐️ Web Indexer ⭐️ 4 |

5 | 6 | Get recommended site's to watch / read movie, series, Anime, Manga, light Novel, Etc. Also Some Application To browse these contents. 7 | 8 | ## 🤝 Special Thanks 9 | 10 | - LagradOst 11 | - Jacekun 12 | 13 | ## 🚸 Warnings : 14 | 15 | - This is Just For Educational Purpose 16 | - DO NOT Sell this Script, This is 💯% Free 17 | 18 | ## 🤗 Contact Me : 19 | 20 | • 😪 check you did all things perfectly before contacting [ Warning ]
21 | 22 | • For any Support contact [@OshekherO](https://t.me/OshekherO) at Telegram
23 | 24 | --- 25 |

© 2024 ツ ѕнєкнєя

26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /img/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/android-chrome-192x192.png -------------------------------------------------------------------------------- /img/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/android-chrome-512x512.png -------------------------------------------------------------------------------- /img/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /img/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /img/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /img/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /img/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/apple-touch-icon.png -------------------------------------------------------------------------------- /img/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/favicon-16x16.png -------------------------------------------------------------------------------- /img/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/favicon-32x32.png -------------------------------------------------------------------------------- /img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/favicon.ico -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/logo.png -------------------------------------------------------------------------------- /img/n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OshekharO/Web-Indexer/8f4cb8eceb203ba27f4e1c493b44d12772c589a0/img/n.png -------------------------------------------------------------------------------- /img/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.14, written by Peter Selinger 2001-2017 9 | 10 | 12 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /img/tusky.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /improved/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Website Indexer 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 |
21 |
22 |

Indexer v3.0

23 |
24 | 25 | 26 |
27 |
28 |
29 | 30 | 39 | 40 |
41 |
42 |
43 |
44 | 45 | 46 | 47 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /improved/script.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | const status = $("#status"); 3 | const siteList = $("#siteList"); 4 | let allSites = []; 5 | 6 | status.text("Initializing..."); 7 | 8 | $.getJSON("https://raw.githack.com/OshekharO/Web-Indexer/main/providers.json") 9 | .done(function(data) { 10 | allSites = Object.entries(data).map(([key, value]) => ({ key, ...value })); 11 | renderSites(allSites); 12 | status.text("Indexing complete").fadeOut(3000); 13 | }) 14 | .fail(function() { 15 | console.log("An error has occurred."); 16 | status.text("Error occurred. Please try again later."); 17 | }); 18 | 19 | function renderSites(sites) { 20 | siteList.empty(); 21 | sites.forEach((site, index) => { 22 | if (site.url === "NONE") return; 23 | 24 | const card = $('
'); 25 | const thumbnail = site.icon || `https://picsum.photos/seed/${site.name}/200/150`; 26 | 27 | card.html(` 28 | ${site.name} 29 |

${site.name}

30 |

Type: ${getStatusText(site.status)}

31 | ${site.type ? `

Category: ${site.type}

` : ''} 32 | `); 33 | 34 | siteList.append(card); 35 | 36 | // Animate card appearance 37 | gsap.to(card, { 38 | opacity: 1, 39 | y: 0, 40 | duration: 0.5, 41 | delay: index * 0.1 42 | }); 43 | }); 44 | } 45 | 46 | function getStatusText(status) { 47 | const statusMap = { 48 | 0: "NSFW", 49 | 1: "MANGA", 50 | 2: "NOVEL", 51 | 3: "MOVIE", 52 | 4: "APP", 53 | 5: "ANIME" 54 | }; 55 | return statusMap[status] || "Unknown"; 56 | } 57 | 58 | $(".filter-btn").click(function() { 59 | $(".filter-btn").removeClass("active"); 60 | $(this).addClass("active"); 61 | const filter = $(this).data("filter"); 62 | 63 | const filteredSites = filter === "all" 64 | ? allSites 65 | : allSites.filter(site => getStatusText(site.status).toLowerCase() === filter); 66 | 67 | renderSites(filteredSites); 68 | }); 69 | 70 | $("#searchInput").on("input", function() { 71 | const searchTerm = $(this).val().toLowerCase(); 72 | const filteredSites = allSites.filter(site => 73 | site.name.toLowerCase().includes(searchTerm) || 74 | (site.type && site.type.toLowerCase().includes(searchTerm)) 75 | ); 76 | renderSites(filteredSites); 77 | }); 78 | 79 | // Add parallax effect to background 80 | $(window).on('mousemove', function(e) { 81 | const moveX = (e.pageX * -1 / 15); 82 | const moveY = (e.pageY * -1 / 15); 83 | $('.background-animation').css({ 84 | 'background-position': moveX + 'px ' + moveY + 'px' 85 | }); 86 | }); 87 | }); 88 | -------------------------------------------------------------------------------- /improved/style.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --primary-color: #00ffff; 3 | --secondary-color: #ff00ff; 4 | --text-color: #ffffff; 5 | --background-color: #000033; 6 | --card-background: rgba(255, 255, 255, 0.1); 7 | --glass-background: rgba(255, 255, 255, 0.1); 8 | --glass-border: 1px solid rgba(255, 255, 255, 0.18); 9 | } 10 | 11 | * { 12 | box-sizing: border-box; 13 | margin: 0; 14 | padding: 0; 15 | } 16 | 17 | body { 18 | font-family: 'Roboto', sans-serif; 19 | line-height: 1.6; 20 | color: var(--text-color); 21 | background-color: var(--background-color); 22 | overflow-x: hidden; 23 | } 24 | 25 | .container { 26 | width: 90%; 27 | max-width: 1200px; 28 | margin: 0 auto; 29 | padding: 0 15px; 30 | } 31 | 32 | .background-animation { 33 | position: fixed; 34 | top: 0; 35 | left: 0; 36 | width: 100%; 37 | height: 100%; 38 | z-index: -1; 39 | background: linear-gradient(45deg, #000033, #000066); 40 | background-size: 400% 400%; 41 | animation: gradientBG 15s ease infinite; 42 | } 43 | 44 | @keyframes gradientBG { 45 | 0% { 46 | background-position: 0% 50%; 47 | } 48 | 50% { 49 | background-position: 100% 50%; 50 | } 51 | 100% { 52 | background-position: 0% 50%; 53 | } 54 | } 55 | 56 | .glass { 57 | background: var(--glass-background); 58 | backdrop-filter: blur(10px); 59 | border-radius: 10px; 60 | border: var(--glass-border); 61 | box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.37); 62 | } 63 | 64 | header { 65 | padding: 2rem 0; 66 | text-align: center; 67 | } 68 | 69 | header h1 { 70 | font-family: 'Orbitron', sans-serif; 71 | font-size: 2.5rem; 72 | margin-bottom: 1rem; 73 | text-shadow: 0 0 10px var(--primary-color); 74 | } 75 | 76 | header .version { 77 | font-size: 0.8rem; 78 | background-color: var(--secondary-color); 79 | padding: 0.2rem 0.5rem; 80 | border-radius: 10px; 81 | vertical-align: super; 82 | } 83 | 84 | .search-container { 85 | position: relative; 86 | max-width: 400px; 87 | margin: 0 auto; 88 | padding-bottom: 20px; 89 | } 90 | 91 | #searchInput { 92 | width: 100%; 93 | padding: 0.5rem 2.5rem 0.5rem 1rem; /* Increased right padding */ 94 | border: none; 95 | border-radius: 20px; 96 | font-size: 1rem; 97 | background-color: rgba(255, 255, 255, 0.1); 98 | color: var(--text-color); 99 | transition: all 0.3s ease; 100 | } 101 | 102 | #searchInput:focus { 103 | outline: none; 104 | box-shadow: 0 0 10px var(--primary-color); 105 | } 106 | 107 | .search-icon { 108 | position: absolute; 109 | right: 15px; /* Adjusted right position */ 110 | top: 30%; 111 | transform: translateY(-50%); 112 | color: var(--primary-color); 113 | pointer-events: none; /* Ensures the icon doesn't interfere with input */ 114 | } 115 | 116 | .filter-container { 117 | display: flex; 118 | justify-content: center; 119 | flex-wrap: wrap; 120 | margin: 1rem 1rem; 121 | padding: 1rem; 122 | } 123 | 124 | .filter-btn { 125 | background-color: transparent; 126 | color: var(--text-color); 127 | border: 1px solid var(--primary-color); 128 | padding: 0.5rem 1rem; 129 | margin: 0.25rem; 130 | cursor: pointer; 131 | border-radius: 20px; 132 | transition: all 0.3s ease; 133 | font-family: 'Orbitron', sans-serif; 134 | } 135 | 136 | .filter-btn:hover, .filter-btn.active { 137 | background-color: var(--primary-color); 138 | color: var(--background-color); 139 | box-shadow: 0 0 10px var(--primary-color); 140 | } 141 | 142 | .site-grid { 143 | display: grid; 144 | grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); 145 | gap: 1rem; 146 | padding: 1rem 0; 147 | } 148 | 149 | .site-card { 150 | background-color: var(--card-background); 151 | border-radius: 10px; 152 | box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); 153 | padding: 1rem; 154 | transition: all 0.3s ease; 155 | opacity: 0; 156 | transform: translateY(20px); 157 | } 158 | 159 | .site-card:hover { 160 | transform: translateY(-5px) scale(1.02); 161 | box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2); 162 | } 163 | 164 | .site-card img { 165 | width: 100%; 166 | height: 150px; 167 | object-fit: cover; 168 | border-radius: 5px; 169 | margin-bottom: 1rem; 170 | box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 171 | } 172 | 173 | .site-card h3 { 174 | margin-bottom: 0.5rem; 175 | font-family: 'Orbitron', sans-serif; 176 | } 177 | 178 | .site-card a { 179 | color: var(--primary-color); 180 | text-decoration: none; 181 | transition: color 0.3s ease; 182 | } 183 | 184 | .site-card a:hover { 185 | color: var(--secondary-color); 186 | } 187 | 188 | .site-card p { 189 | margin-bottom: 0.5rem; 190 | } 191 | 192 | .site-type { 193 | font-weight: bold; 194 | color: var(--secondary-color); 195 | } 196 | 197 | .status { 198 | text-align: center; 199 | margin: 1rem 0; 200 | font-weight: bold; 201 | font-family: 'Orbitron', sans-serif; 202 | text-transform: uppercase; 203 | letter-spacing: 2px; 204 | color: var(--primary-color); 205 | text-shadow: 0 0 5px var(--primary-color); 206 | } 207 | 208 | footer { 209 | text-align: center; 210 | padding: 1rem 0; 211 | margin-top: 2rem; 212 | } 213 | 214 | @media (max-width: 768px) { 215 | .site-grid { 216 | grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); 217 | } 218 | } 219 | 220 | @keyframes fadeInUp { 221 | from { 222 | opacity: 0; 223 | transform: translateY(20px); 224 | } 225 | to { 226 | opacity: 1; 227 | transform: translateY(0); 228 | } 229 | } 230 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Website Indexer 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 |
30 | 31 |

32 | Website Indexerv2.0 33 |

34 |
35 |
36 | 37 |
38 | All 39 | Manga 40 | LN 41 | Movie 42 | App 43 | Anime 44 |
45 | 46 |
47 | 48 |
49 | 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /providers.json: -------------------------------------------------------------------------------- 1 | { 2 | "PrmoviesProvider": { 3 | "name": "PRMovies", 4 | "url": "https://prmovies.email", 5 | "status": 3, 6 | "icon": "https://www.google.com/s2/favicons?domain=https://prmovies.pw&sz=128" 7 | }, 8 | "VidBingeProvider": { 9 | "name": "VidBinge", 10 | "url": "https://www.vidbinge.com", 11 | "status": 3, 12 | "icon": "https://www.google.com/s2/favicons?domain=https://www.vidbinge.com&sz=128" 13 | }, 14 | "VegaProvider": { 15 | "name": "VegaMovies", 16 | "url": "https://vegamovies.net.bz", 17 | "status": 3, 18 | "icon": "https://www.google.com/s2/favicons?domain=https://vegamovies.net.bz&sz=128" 19 | }, 20 | "KisskhProvider": { 21 | "name": "Kisskh", 22 | "url": "https://kisskh.co", 23 | "status": 3, 24 | "icon": "https://www.google.com/s2/favicons?domain=https://kisskh.co&sz=128" 25 | }, 26 | "BingeProvider": { 27 | "name": "Binge", 28 | "url": "https://binge.lol", 29 | "status": 3, 30 | "icon": "https://www.google.com/s2/favicons?domain=https://binge.lol&sz=128" 31 | }, 32 | "MyAsianTvProvider": { 33 | "name": "MyAsianTv", 34 | "url": "https://myasiantv.ac", 35 | "status": 3, 36 | "icon": "https://www.google.com/s2/favicons?domain=https://myasiantv.ac&sz=128" 37 | }, 38 | "ShowFlixProvider": { 39 | "name": "ShowFlix", 40 | "url": "https://showflix.xyz", 41 | "status": 3, 42 | "icon": "https://www.google.com/s2/favicons?domain=https://showflix.xyz&sz=128" 43 | }, 44 | "AsianflixProvider": { 45 | "name": "Asianflix", 46 | "url": "https://www.asianflix.one", 47 | "status": 3, 48 | "icon": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyT55NwmNqgOqqs6y4HQS0zGl2HILpByHZGochf1npiuoDKxbeZvy2b8Ys6iu6xkpbTl0KaMVdOPT5W3k4Hi9CzHityuU99Iec6Xa2ley4wgZ7pdyx2aqyOXbaZUxGpi_PVvTdJHoMbue7oZ0H2gSXbeXe82MhE_jxZLvft-VexOx52oJr1lKBwCvKUQJ6/s1600/icon-log.png" 49 | }, 50 | "456movieProvider": { 51 | "name": "456movie", 52 | "url": "https://456movie.com", 53 | "status": 3, 54 | "icon": "https://www.google.com/s2/favicons?domain=https://456movie.com&sz=128" 55 | }, 56 | "IOSMirrorProvider": { 57 | "name": "IOSMirror", 58 | "url": "https://iosmirror.cc/home", 59 | "status": 3, 60 | "icon": "https://www.google.com/s2/favicons?domain=https://iosmirror.cc&sz=128" 61 | }, 62 | "M4ufreeProvider": { 63 | "name": "M4ufree", 64 | "url": "https://m4ufree.se", 65 | "status": 3, 66 | "icon": "https://www.google.com/s2/favicons?domain=https://m4ufree.se&sz=128" 67 | }, 68 | "HianimeProvider": { 69 | "name": "Hianime", 70 | "url": "https://hianime.to", 71 | "status": 5, 72 | "icon": "https://hianime.to/images/logo.png?v=0.1" 73 | }, 74 | "KaidoProvider": { 75 | "name": "Kaido", 76 | "url": "https://kaido.to", 77 | "status": 5, 78 | "icon": "https://www.google.com/s2/favicons?domain=https://kaido.to&sz=128" 79 | }, 80 | "KickassanimesProvider": { 81 | "name": "KAA", 82 | "url": "https://kaas.ro", 83 | "status": 5, 84 | "icon": "https://www.google.com/s2/favicons?domain=https://kaas.ro&sz=128" 85 | }, 86 | "AnimepaheProvider": { 87 | "name": "AnimePahe", 88 | "url": "https://animepahe.ru", 89 | "status": 5, 90 | "icon": "https://www.google.com/s2/favicons?domain=https://animepahe.ru&sz=128" 91 | }, 92 | "MiruroProvider": { 93 | "name": "Miruro", 94 | "url": "https://www.miruro.tv", 95 | "status": 5, 96 | "icon": "https://www.google.com/s2/favicons?domain=https://www.miruro.tv&sz=128" 97 | }, 98 | "ReVancedProvider": { 99 | "name": "ReVanced", 100 | "url": "https://revanced.app", 101 | "status": 4, 102 | "icon": "https://avatars.githubusercontent.com/u/101597779?s=200&v=4" 103 | }, 104 | "LibreTubeProvider": { 105 | "name": "LibreTube", 106 | "url": "https://github.com/libre-tube/LibreTube", 107 | "status": 4, 108 | "icon": "https://rawcdn.githack.com/libre-tube/LibreTube/8e737afc7211b58ed845d3f8e7b635a252c7d2d4/app/src/main/res/mipmap-xxxhdpi/ic_gradient.png" 109 | }, 110 | "NewPipeProvider": { 111 | "name": "NewPipe", 112 | "url": "https://github.com/TeamNewPipe/NewPipe", 113 | "status": 4, 114 | "icon": "https://raw.githubusercontent.com/TeamNewPipe/NewPipe/refs/heads/dev/assets/new_pipe_icon_5.png" 115 | }, 116 | "uYouPlusProvider": { 117 | "name": "uYouPlus", 118 | "url": "https://github.com/qnblackcat/uYouPlus", 119 | "status": 4, 120 | "icon": "https://img.icons8.com/doodle/480/000000/youtube-play--v2.png" 121 | }, 122 | "SmartTubeProvider": { 123 | "name": "SmartTube", 124 | "url": "https://github.com/yuliskov/SmartTubeNext", 125 | "status": 4, 126 | "icon": "https://raw.githubusercontent.com/yuliskov/SmartTube/master/smarttubetv/src/ststable/res/mipmap-nodpi/app_icon.png" 127 | }, 128 | "NagramProvider": { 129 | "name": "Nagram", 130 | "url": "https://github.com/NextAlone/Nagram", 131 | "status": 4, 132 | "icon": "https://raw.githubusercontent.com/NextAlone/Nagram/main/TMessagesProj/src/main/ic_launcher_nagram_darkgreen-playstore.png" 133 | }, 134 | "NekogramProvider": { 135 | "name": "Nekogram", 136 | "url": "https://github.com/Nekogram/Nekogram", 137 | "status": 4, 138 | "icon": "https://nekogram.app/logo.webp" 139 | }, 140 | "GloomProvider": { 141 | "name": "Gloom", 142 | "url": "https://github.com/MateriiApps/Gloom", 143 | "status": 4, 144 | "icon": "https://user-images.githubusercontent.com/44992537/197398356-81d33bbf-35bc-43a6-96c1-002f1b1923cf.png" 145 | }, 146 | "AliucordProvider": { 147 | "name": "Aliucord", 148 | "url": "https://github.com/Aliucord/Aliucord", 149 | "status": 4, 150 | "icon": "https://rawcdn.githack.com/Aliucord/Aliucord/6df69dbbe0cadceadabde9ed270492e683c39964/installer/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" 151 | }, 152 | "SealProvider": { 153 | "name": "Seal", 154 | "url": "https://github.com/JunkFood02/Seal", 155 | "status": 4, 156 | "icon": "https://rawcdn.githack.com/JunkFood02/Seal/03ac92781e1dc1074297821ff589949cac54b54b/fastlane/metadata/android/en-US/images/icon.png" 157 | }, 158 | "YTDLnisProvider": { 159 | "name": "YTDLnis", 160 | "url": "https://github.com/deniscerri/ytdlnis", 161 | "status": 4, 162 | "icon": "https://rawcdn.githack.com/deniscerri/ytdlnis/811f3b07ecaa346cf441012071bf0575ccb1d6f0/app/src/main/ic_launcher-playstore.png" 163 | }, 164 | "MusifyProvider": { 165 | "name": "Musify", 166 | "url": "https://github.com/gokadzev/Musify", 167 | "status": 4, 168 | "icon": "https://rawcdn.githack.com/gokadzev/Musify/18f96936c597b3c057297df3c8ae384e05efe2ea/android/app/src/main/res/mipmap-xxxhdpi/launcher_icon.png" 169 | }, 170 | "CloudStreamProvider": { 171 | "name": "CS3", 172 | "url": "https://github.com/recloudstream/cloudstream", 173 | "status": 4, 174 | "icon": "https://rawcdn.githack.com/recloudstream/cloudstream/2ff90c03cadb97741b0cc08d3ff91b03aa8aad7a/app/src/main/ic_launcher-playstore.png" 175 | }, 176 | "LegadoProvider": { 177 | "name": "Legado", 178 | "url": "https://github.com/gedoor/legado", 179 | "status": 4, 180 | "icon": "https://rawcdn.githack.com/gedoor/legado/782bdbef5e5e928d3bada2a772f8e18daa7705a7/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" 181 | }, 182 | "KotatsuProvider": { 183 | "name": "Kotatsu", 184 | "url": "https://github.com/nv95/Kotatsu/", 185 | "status": 4, 186 | "icon": "https://rawcdn.githack.com/nv95/Kotatsu/9da5bdaad49f0f6b9263a110b8b6189d2e8a2813/app/src/main/res/drawable-xxxhdpi/ic_shortcut_default.png" 187 | }, 188 | "LNReaderProvider": { 189 | "name": "LNReader", 190 | "url": "https://github.com/LNReader/lnreader", 191 | "status": 4, 192 | "icon": "https://rawcdn.githack.com/LNReader/lnreader/518f73f6fdeba3b3a562ac382143cc910fe58fe1/.github/readme-images/icon_alt.png" 193 | }, 194 | "OtakuWorldProvider": { 195 | "name": "OtakuWorld", 196 | "url": "https://github.com/jakepurple13/OtakuWorld/", 197 | "status": 4, 198 | "icon": "https://rawcdn.githack.com/jakepurple13/OtakuWorld/d65269c3be5ba28564fbe4aa6cffa36d82e68e8c/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" 199 | }, 200 | "QuickNovelProvider": { 201 | "name": "QuickNovel", 202 | "url": "https://github.com/LagradOst/QuickNovel", 203 | "status": 4, 204 | "icon": "https://rawcdn.githack.com/LagradOst/QuickNovel/61d83d97f412b0af84e4fc7b6a357437f3908ff4/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png" 205 | }, 206 | "IReaderProvider": { 207 | "name": "IReader", 208 | "url": "https://github.com/IReaderorg/IReader", 209 | "status": 4, 210 | "icon": "https://rawcdn.githack.com/IReaderorg/IReader/a847214baf52c148add17beabccc49bf8afa5595/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" 211 | }, 212 | "NekoProvider": { 213 | "name": "Neko", 214 | "url": "https://github.com/CarlosEsco/Neko", 215 | "status": 4, 216 | "icon": "https://raw.githubusercontent.com/nekomangaorg/Neko/main/.github/assets/logo.png" 217 | }, 218 | "TetherFiProvider": { 219 | "name": "TetherFi", 220 | "url": "https://github.com/pyamsoft/tetherfi", 221 | "status": 4, 222 | "icon": "https://rawcdn.githack.com/pyamsoft/tetherfi/56c10cf60156c75a5f59da85b62e4968928af81e/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" 223 | }, 224 | "SuperImageProvider": { 225 | "name": "SuperImage", 226 | "url": "https://github.com/Lucchetto/SuperImage", 227 | "status": 4, 228 | "icon": "https://rawcdn.githack.com/Lucchetto/SuperImage/8c4fb84ecff07219d6c5ec3bdba2ebc39ab58e17/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png" 229 | }, 230 | "SpMpProvider": { 231 | "name": "SpMp", 232 | "url": "https://github.com/toasterofbread/spmp", 233 | "status": 4, 234 | "icon": "https://raw.githubusercontent.com/toasterofbread/spmp/main/metadata/en-US/images/icon_round.png" 235 | }, 236 | "SimpMusicProvider": { 237 | "name": "SimpMusic", 238 | "url": "https://github.com/maxrave-dev/SimpMusic", 239 | "status": 4, 240 | "icon": "https://raw.githubusercontent.com/maxrave-dev/SimpMusic/jetpack_compose/app/src/main/ic_launcher-playstore.png" 241 | }, 242 | "MiruProvider": { 243 | "name": "Miru", 244 | "url": "https://github.com/Mancrop/mancrop-miru", 245 | "status": 4, 246 | "icon": "https://raw.githubusercontent.com/miru-project/miru-app/dev/assets/icon/logo.png" 247 | }, 248 | "IMGBoxProvider": { 249 | "name": "IMGBox", 250 | "url": "https://github.com/T8RIN/ImageToolbox", 251 | "status": 4, 252 | "icon": "https://raw.githubusercontent.com/T8RIN/ImageToolbox/master/fastlane/metadata/android/en-US/images/logo/logo.png" 253 | }, 254 | "OSSDSProvider": { 255 | "name": "OSSDS", 256 | "url": "https://github.com/Akylas/OSS-DocumentScanner", 257 | "status": 4, 258 | "icon": "https://raw.githubusercontent.com/Akylas/OSS-DocumentScanner/master/App_Resources/documentscanner/Android/src/main/res/mipmap-xxxhdpi/ic_launcher.png" 259 | }, 260 | "ManganatoProvider": { 261 | "name": "Manganato", 262 | "url": "https://manganato.com", 263 | "status": 1, 264 | "icon": "https://manganato.com/themes/hm/images/logo.png" 265 | }, 266 | "MangadexProvider": { 267 | "name": "Mangadex", 268 | "url": "https://mangadex.org", 269 | "status": 1, 270 | "icon": "https://api.faviconkit.com/mangadex.com/144" 271 | }, 272 | "ComickProvider": { 273 | "name": "Comick", 274 | "url": "https://comick.io", 275 | "status": 1, 276 | "icon": "https://comick.io/_next/image?url=%2Fstatic%2Ficons%2Funicorn-64.png&w=144&q=75" 277 | }, 278 | "MangaparkProvider": { 279 | "name": "Mangapark", 280 | "url": "https://mangapark.net", 281 | "status": 1, 282 | "icon": "https://api.faviconkit.com/mangapark.net/144" 283 | }, 284 | "MangabuddyProvider": { 285 | "name": "Mangabuddy", 286 | "url": "https://mangabuddy.com", 287 | "status": 1, 288 | "icon": "https://mangabuddy.com/static/sites/mangabuddy/icons/apple-touch-icon.png" 289 | }, 290 | "MangapillProvider": { 291 | "name": "Mangapill", 292 | "url": "https://mangapill.com", 293 | "status": 1, 294 | "icon": "https://i.ibb.co/KqpH7HN/apple-touch-icon.png" 295 | }, 296 | "BatoProvider": { 297 | "name": "Bato", 298 | "url": "https://bato.to", 299 | "status": 1, 300 | "icon": "https://bato.to/amsta/img/btoto/logo-batoto.png?v0" 301 | }, 302 | "FictionzoneProvider": { 303 | "name": "Fictionzone", 304 | "url": "https://fictionzone.net", 305 | "status": 2, 306 | "icon": "https://www.google.com/s2/favicons?domain=https://fictionzone.net&sz=128" 307 | }, 308 | "NovelsemperorProvider": { 309 | "name": "NovelsEmp", 310 | "url": "https://novelsemperor.com", 311 | "status": 2, 312 | "icon": "https://www.google.com/s2/favicons?domain=https://novelsemperor.com&sz=128" 313 | }, 314 | "4kswProvider": { 315 | "name": "4ksw", 316 | "url": "http://www.4ksw.com", 317 | "status": 2, 318 | "icon": "https://www.google.com/s2/favicons?domain=http://www.4ksw.com&sz=128" 319 | }, 320 | "LnmtlProvider": { 321 | "name": "Lnmtl", 322 | "url": "https://lnmtl.com", 323 | "status": 2, 324 | "icon": "https://www.google.com/s2/favicons?domain=https://lnmtl.com&sz=128" 325 | }, 326 | "RoyalRoadProvider": { 327 | "name": "RoyalRoad", 328 | "url": "https://www.royalroad.com", 329 | "status": 2, 330 | "icon": "https://www.royalroad.com/dist/img/logo/rr-logo-gold-white-small-min.png" 331 | }, 332 | "ReadwnProvider": { 333 | "name": "Readwn", 334 | "url": "https://www.wuxiabox.com", 335 | "status": 2, 336 | "icon": "https://www.google.com/s2/favicons?domain=https://www.wuxiabox.com&sz=128" 337 | }, 338 | "FeiazwProvider": { 339 | "name": "Feiazw", 340 | "url": "https://m.feisxs.com", 341 | "status": 2, 342 | "icon": "https://i.ibb.co/djJ6CpX/144-1.png" 343 | }, 344 | "Ffxs8Provider": { 345 | "name": "Ffxs8", 346 | "url": "http://www.ffxs8.com", 347 | "status": 2, 348 | "icon": "https://i.ibb.co/7nzMk2x/mtlnation-mobile-logo.png" 349 | }, 350 | "38xsProvider": { 351 | "name": "38xs", 352 | "url": "https://m.38xs.com", 353 | "status": 2, 354 | "icon": "https://api.faviconkit.com/m.38xs.com/144" 355 | }, 356 | "Wtrlabrovider": { 357 | "name": "WTR LAB", 358 | "url": "https://wtr-lab.com", 359 | "status": 2, 360 | "icon": "https://www.google.com/s2/favicons?domain=https://wtr-lab.com&sz=128" 361 | }, 362 | "BixiangeProvider": { 363 | "name": "Bixiange", 364 | "url": "https://m.bixiange.me", 365 | "status": 2, 366 | "icon": "https://m.bixiange.me/images/logo.png" 367 | }, 368 | "UukanshuProvider": { 369 | "name": "Uukanshu", 370 | "url": "https://sj.zhaoshuyuan.com", 371 | "status": 2, 372 | "icon": "https://img.zhaoshuyuan.com/static/m/images/logo.png" 373 | }, 374 | "TrxsProvider": { 375 | "name": "Trxs", 376 | "url": "https://trxs.cc", 377 | "status": 2, 378 | "icon": "https://api.faviconkit.com/trxs.cc/144" 379 | }, 380 | "Jpxs123Provider": { 381 | "name": "Jpxs123", 382 | "url": "https://jpxs123.com", 383 | "status": 2, 384 | "icon": "https://www.google.com/s2/favicons?domain=https://jpxs123.com&sz=128" 385 | }, 386 | "KakuyomuProvider": { 387 | "name": "Kakuyomu", 388 | "url": "https://kakuyomu.jp", 389 | "status": 2, 390 | "icon": "https://cdn-static.kakuyomu.jp/images/brand/kakuyomu-logo.png" 391 | }, 392 | "CoronaProvider": { 393 | "name": "Corona-Ex", 394 | "url": "https://to-corona-ex.com", 395 | "status": 2, 396 | "icon": "https://to-corona-ex.com/assets/logo.svg" 397 | }, 398 | "NovelupProvider": { 399 | "name": "Novelup", 400 | "url": "https://novelup.plus", 401 | "status": 2, 402 | "icon": "https://novelup.plus/img/logo_2023.png" 403 | }, 404 | "AlphapolisProvider": { 405 | "name": "Alphapolis", 406 | "url": "https://www.alphapolis.co.jp", 407 | "status": 2, 408 | "icon": "https://www.alphapolis.co.jp/apple-touch-icon-precomposed.png?1594857104" 409 | }, 410 | "NovelismProvider": { 411 | "name": "Novelism", 412 | "url": "https://novelism.jp", 413 | "status": 2, 414 | "icon": "https://www.google.com/s2/favicons?domain=https://novelism.jp&sz=128" 415 | }, 416 | "YomouSyosetuProvider": { 417 | "name": "YSyosetu", 418 | "url": "https://yomou.syosetu.com", 419 | "status": 2, 420 | "icon": "https://static.syosetu.com/view/images/common/logo_yomou.png" 421 | }, 422 | "SyosetuProvider": { 423 | "name": "Syosetu", 424 | "url": "https://syosetu.org", 425 | "status": 2, 426 | "icon": "https://img.syosetu.org/image/icon-192x192.png" 427 | }, 428 | "MangaPlusProvider": { 429 | "name": "MangaPlus", 430 | "url": "https://mangaplus.shueisha.co.jp", 431 | "status": 2, 432 | "icon": "https://mangaplus.shueisha.co.jp/icn/app_icon_192.png" 433 | } 434 | } 435 | -------------------------------------------------------------------------------- /script.js: -------------------------------------------------------------------------------- 1 | var status = document.getElementById("status"); 2 | 3 | var mainContainer = document.getElementById("siteList"); 4 | 5 | var filter = "all"; 6 | 7 | status.innerHTML = "Fetching..."; 8 | 9 | function filterProviders() { 10 | $("li").each(function () { 11 | if (filter === "all") { 12 | $(this).show(); 13 | } else if ( 14 | $(this) 15 | .find(".siteValues") 16 | 17 | .text() 18 | 19 | .toLowerCase() 20 | 21 | .indexOf(filter.toLowerCase()) === -1 22 | ) { 23 | $(this).hide(); 24 | } else { 25 | $(this).show(); 26 | } 27 | }); 28 | } 29 | 30 | $("input[name='filter']").on("change", function () { 31 | filter = this.value; 32 | 33 | filterProviders(); 34 | }); 35 | 36 | $(document).ready(function () { 37 | $.getJSON("https://raw.githack.com/OshekharO/Web-Indexer/main/providers.json", function (data) { 38 | status.innerHTML = "Parsing..."; 39 | 40 | for (var key in data) { 41 | 42 | status.innerHTML = "Reading..." + key; 43 | 44 | if (data.hasOwnProperty(key)) { 45 | var value = data[key]; 46 | 47 | if (value.url == "NONE") { 48 | continue; 49 | } 50 | 51 | var _status = value.status; 52 | 53 | var _thumbNail = "https://cdn-cmlep.nitrocdn.com/DLSjJVyzoVcUgUSBlgyEUoGMDKLbWXQr/assets/images/optimized/rev-ea26883/www.stellarinfo.com/images/v7/dmca.png"; 54 | 55 | //Use defaut image if missing 56 | 57 | if (value.hasOwnProperty("icon")) { 58 | _thumbNail = value.icon; 59 | } 60 | 61 | //Create
  • node 62 | 63 | var node = document.createElement("li"); 64 | 65 | //Add
    to
  • node for items 66 | 67 | var _divMain = document.createElement("div"); //group below divs 68 | 69 | var _divImg = document.createElement("div"); //for image Thumbnail 70 | 71 | var _divText = document.createElement("div"); //for sitename + status 72 | 73 | var _img = document.createElement("img"); //Image thumbnail 74 | 75 | //Add image 76 | 77 | _img.className = "thumbnail"; 78 | 79 | _img.style.content = ""; 80 | 81 | _img.src = _thumbNail || "https://cdn-cmlep.nitrocdn.com/DLSjJVyzoVcUgUSBlgyEUoGMDKLbWXQr/assets/images/optimized/rev-ea26883/www.stellarinfo.com/images/v7/dmca.png"; 82 | 83 | _img.alt = "icon"; 84 | 85 | _img.loading = "lazy"; // Add this line to enable lazy loading 86 | 87 | _img.onerror = function () { 88 | _img.src = "https://cdn-cmlep.nitrocdn.com/DLSjJVyzoVcUgUSBlgyEUoGMDKLbWXQr/assets/images/optimized/rev-ea26883/www.stellarinfo.com/images/v7/dmca.png"; // Use a default image if loading fails 89 | }; 90 | 91 | //_img.src = "https://via.placeholder.com/150"; 92 | 93 | //_img.src = value.url.trimRight("/") + "/favicon.ico"; 94 | 95 | //Modify _divImg 96 | 97 | _divImg.className = "divthumb"; 98 | 99 | _divImg.appendChild(_img); 100 | 101 | _divMain.appendChild(_divImg); 102 | 103 | //Add siteName hyperlink text 104 | 105 | var _a = document.createElement("a"); 106 | 107 | _a.setAttribute("href", value.url); 108 | 109 | _a.innerHTML = value.name; 110 | 111 | _a.title = key; 112 | 113 | _a.style.color = "#fff"; 114 | 115 | _a.className = "siteName"; 116 | 117 | _divText.appendChild(_a); 118 | 119 | //Add status label 120 | 121 | var _p = document.createElement("p"); 122 | 123 | _p.innerHTML = "Type: "; 124 | 125 | _p.className = "siteLabels"; 126 | 127 | //Add status from json 128 | 129 | var _span = document.createElement("span"); 130 | 131 | _span.className = "siteValues"; 132 | 133 | var _statusText = "Unknown"; 134 | 135 | var _statusColor = "#eee"; 136 | 137 | switch (_status) { 138 | case 1: 139 | _statusText = "MANGA"; 140 | 141 | _statusColor = "#8bc34a"; 142 | 143 | break; 144 | 145 | case 2: 146 | _statusText = "LN"; 147 | 148 | _statusColor = "#ffc107"; 149 | 150 | break; 151 | 152 | case 3: 153 | _statusText = "MOVIE"; 154 | 155 | _statusColor = "#64b5f6"; 156 | 157 | break; 158 | 159 | case 4: 160 | _statusText = "APP"; 161 | 162 | _statusColor = "#64b5f6"; 163 | 164 | break; 165 | 166 | case 5: 167 | _statusText = "ANIME"; 168 | 169 | _statusColor = "#64b5f6"; 170 | 171 | break; 172 | } 173 | 174 | _span.style.color = _statusColor; 175 | 176 | _span.textContent = _statusText; 177 | 178 | _p.appendChild(_span); 179 | 180 | //Add (status + status label) to _divText 181 | 182 | _divText.appendChild(_p); 183 | 184 | //Add type, if it exists 185 | 186 | if (value.hasOwnProperty("type")) { 187 | var _pType = document.createElement("p"); 188 | 189 | _pType.innerHTML = "Type: "; 190 | 191 | _pType.className = "siteLabels"; 192 | 193 | var _spanType = document.createElement("span"); 194 | 195 | _spanType.className = "siteValues"; 196 | 197 | _spanType.textContent = value.type; 198 | 199 | _pType.appendChild(_spanType); 200 | 201 | _divText.appendChild(_pType); 202 | } 203 | 204 | //Add all texts for entry 205 | 206 | _divText.className = "divcaption"; 207 | 208 | _divMain.appendChild(_divText); 209 | 210 | //Add main container to node 211 | 212 | _divMain.className = "divMainContainer"; 213 | 214 | node.appendChild(_divMain); 215 | 216 | //Add
  • to