anichi 2.6.2 → 2.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +24 -0
- package/README.md +129 -315
- package/dist/api.d.ts +6 -1
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +16 -16
- package/dist/api.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +52 -2
- package/dist/config.js.map +1 -1
- package/dist/history.d.ts +6 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +81 -0
- package/dist/history.js.map +1 -0
- package/dist/index.js +353 -312
- package/dist/index.js.map +1 -1
- package/dist/player.d.ts +5 -1
- package/dist/player.d.ts.map +1 -1
- package/dist/player.js +192 -50
- package/dist/player.js.map +1 -1
- package/dist/resume.d.ts +8 -0
- package/dist/resume.d.ts.map +1 -0
- package/dist/resume.js +104 -0
- package/dist/resume.js.map +1 -0
- package/dist/types.d.ts +113 -116
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -0
- package/dist/types.js.map +1 -1
- package/dist/ui.d.ts +13 -1
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +164 -93
- package/dist/ui.js.map +1 -1
- package/package.json +3 -2
package/LICENSE
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<<<<<<< HEAD
|
|
1
2
|
MIT License
|
|
2
3
|
|
|
3
4
|
Copyright (c) 2026 ShDitz
|
|
@@ -19,3 +20,26 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
19
20
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
21
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
22
|
SOFTWARE.
|
|
23
|
+
=======
|
|
24
|
+
MIT License
|
|
25
|
+
|
|
26
|
+
Copyright (c) 2026 Aditya Kurniawan
|
|
27
|
+
|
|
28
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
29
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
30
|
+
in the Software without restriction, including without limitation the rights
|
|
31
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
32
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
33
|
+
furnished to do so, subject to the following conditions:
|
|
34
|
+
|
|
35
|
+
The above copyright notice and this permission notice shall be included in all
|
|
36
|
+
copies or substantial portions of the Software.
|
|
37
|
+
|
|
38
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
39
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
40
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
41
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
42
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
43
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
44
|
+
SOFTWARE.
|
|
45
|
+
>>>>>>> 0699e02fa22fd1cd4157e38435ca9f1b64cb27b9
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
<div align="center">
|
|
4
4
|
|
|
5
|
-

|
|
6
6
|

|
|
7
7
|

|
|
8
8
|

|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
Built by Aditya K.
|
|
13
13
|
|
|
14
|
-
[Features](#-features) • [Installation](#-installation) • [Usage](#-usage) • [
|
|
14
|
+
[Features](#-features) • [Installation](#-installation) • [Usage](#-usage) • [Setup Guide](#-setup-guide-mpv--yt-dlp) • [Troubleshooting](#-troubleshooting) • [License](#-license)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
@@ -19,116 +19,66 @@ Built by Aditya K.
|
|
|
19
19
|
|
|
20
20
|
## 🌟 Features
|
|
21
21
|
|
|
22
|
-
Anichi brings
|
|
22
|
+
Anichi brings a premium anime streaming experience to your terminal with a focus on speed and aesthetics, powered by the **ShivraAPI**:
|
|
23
23
|
|
|
24
|
-
-
|
|
24
|
+
- **📡 Powered by ShivraAPI**: High-performance API integration (`https://shivraapi.my.id/otd`) providing fast, reliable, and up-to-date anime data including schedules, genres, and streaming links.
|
|
25
|
+
- **🎨 Premium Modern UI**: Gradient banners, elegant tables, ASCII art, and vibrant color themes powered by `chalk`, `boxen`, `figlet`, and `gradient-string`.
|
|
25
26
|
- **📂 Comprehensive Browsing**:
|
|
26
|
-
- **Ongoing Anime**:
|
|
27
|
-
- **Completed Anime**: Explore finished series with
|
|
28
|
-
- **Popular Anime**: Discover trending and
|
|
29
|
-
- **Search by Genre**: Filter anime by categories (Action, Adventure, Comedy,
|
|
30
|
-
- **Anime Schedule**: View broadcast schedule by day of the week
|
|
31
|
-
-
|
|
32
|
-
- **📺 Streaming**:
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
27
|
+
- **Ongoing Anime**: Track currently airing series with release days and latest episodes.
|
|
28
|
+
- **Completed Anime**: Explore finished series with ratings and scores.
|
|
29
|
+
- **Popular Anime**: Discover trending and high-rated titles.
|
|
30
|
+
- **Search by Genre**: Filter anime by categories (Action, Adventure, Comedy, etc.).
|
|
31
|
+
- **Anime Schedule**: View broadcast schedule organized by day of the week.
|
|
32
|
+
- **Smart Search**: Instantly search anime by title with detailed metadata.
|
|
33
|
+
- **📺 Optimized Streaming**:
|
|
34
|
+
- Play episodes directly using **MPV**.
|
|
35
|
+
- **Browser Fallback**: Automatic fallback to browser if MPV is unavailable.
|
|
36
|
+
- **⬇️ Download Support**:
|
|
37
|
+
- **Single Episode**: Download with multiple resolution and provider options.
|
|
38
|
+
- **Batch Downloads**: Download entire series with format/quality selection.
|
|
39
|
+
- **⚙️ Configuration & History**:
|
|
40
|
+
- **Config Management**: Customize player paths and arguments easily.
|
|
41
|
+
- **Watch History**: Automatically tracks your recently watched episodes.
|
|
42
|
+
- **⚡ Performance**: Built-in intelligent caching with rate-limiting protection to ensure smooth API interactions.
|
|
40
43
|
|
|
41
44
|
---
|
|
42
45
|
|
|
43
46
|
## 🛠️ Tech Stack
|
|
44
47
|
|
|
45
|
-
Anichi is built with modern,
|
|
48
|
+
Anichi is built with modern, efficient libraries:
|
|
46
49
|
|
|
47
50
|
- **Language**: TypeScript 5.x
|
|
48
51
|
- **Runtime**: Node.js 18+
|
|
49
|
-
- **
|
|
50
|
-
- **
|
|
51
|
-
- **
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- `gradient-string` - Gradient text effects
|
|
56
|
-
- `figlet` - ASCII art banners
|
|
57
|
-
- `chalk-animation` - Animated text
|
|
58
|
-
- **User Interaction**:
|
|
59
|
-
- `inquirer` - Interactive CLI prompts
|
|
60
|
-
- `terminal-kit` - Terminal utilities
|
|
61
|
-
- `readline` - Command-line input
|
|
62
|
-
- **Performance**:
|
|
63
|
-
- `node-cache` - Fast in-memory caching
|
|
64
|
-
- `log-symbols` - Standard symbols (✓, ✗, ℹ, ⚠)
|
|
65
|
-
- `ora` - Loading spinners
|
|
66
|
-
- **Utilities**:
|
|
67
|
-
- `open` - Cross-platform URL/file opening
|
|
68
|
-
- `update-notifier` - Update notifications
|
|
69
|
-
- `string-width` - Text width calculation
|
|
70
|
-
- `wrap-ansi` - ANSI text wrapping
|
|
71
|
-
- **Cross-Platform**: Optimized for Windows, macOS, and Linux
|
|
52
|
+
- **Data Source**: [ShivraAPI](https://shivraapi.my.id) - Open Anime Data API
|
|
53
|
+
- **CLI Framework**: Commander.js
|
|
54
|
+
- **HTTP Client**: Axios (with Node-Cache)
|
|
55
|
+
- **UI/Styling**: `chalk`, `cli-table3`, `boxen`, `gradient-string`, `figlet`
|
|
56
|
+
- **Process Management**: `ora` (spinners), `open` (cross-platform opener)
|
|
57
|
+
- **Video Player**: Optimized for MPV with `yt-dlp` integration
|
|
72
58
|
|
|
73
59
|
---
|
|
74
60
|
|
|
75
|
-
## 📦
|
|
61
|
+
## 📦 Requirements
|
|
76
62
|
|
|
77
|
-
Anichi
|
|
63
|
+
Before installing Anichi, ensure you have the following:
|
|
78
64
|
|
|
79
|
-
|
|
65
|
+
1. **Node.js** version `18.0.0` or higher.
|
|
66
|
+
2. **MPV Player** (Recommended for the best experience).
|
|
67
|
+
3. **yt-dlp** (Required for MPV to stream video links).
|
|
80
68
|
|
|
81
|
-
**
|
|
82
|
-
|
|
83
|
-
**Installation Locations:**
|
|
84
|
-
|
|
85
|
-
- **Windows**:
|
|
86
|
-
- Scoop: `~/scoop/apps/mpv/current/mpv.exe`
|
|
87
|
-
- Program Files: `C:\Program Files\mpv\mpv.exe`
|
|
88
|
-
- Program Files (x86): `C:\Program Files (x86)\mpv\mpv.exe`
|
|
89
|
-
- Chocolatey: `C:\ProgramData\chocolatey\bin\mpvio.install\tools\mpv.exe`
|
|
90
|
-
- AppData: `%APPDATA%\Local\Programs\mpv\mpv.exe`
|
|
91
|
-
- **macOS**:
|
|
92
|
-
- Homebrew: `/opt/homebrew/bin/mpv`
|
|
93
|
-
- MacPorts: `/opt/local/bin/mpv`
|
|
94
|
-
- App Bundle: `/Applications/mpv.app/Contents/MacOS/mpv`
|
|
95
|
-
- **Linux**:
|
|
96
|
-
- Snap: `/snap/bin/mpv`
|
|
97
|
-
- Flatpak: `/var/lib/flatpak/exports/bin/io.github.mpv.mpv`
|
|
98
|
-
- Package Manager: `/usr/bin/mpv` or `/usr/local/bin/mpv`
|
|
99
|
-
|
|
100
|
-
### Fallback: Browser
|
|
101
|
-
|
|
102
|
-
If no compatible player is found, streams automatically open in your default web browser.
|
|
103
|
-
|
|
104
|
-
### Important: yt-dlp Requirement
|
|
105
|
-
|
|
106
|
-
MPV requires **yt-dlp** to extract direct streaming URLs from various sources. Without it, some streams may fail to play.
|
|
107
|
-
|
|
108
|
-
**Install yt-dlp:**
|
|
109
|
-
|
|
110
|
-
- Windows: `choco install yt-dlp`
|
|
111
|
-
- macOS: `brew install yt-dlp`
|
|
112
|
-
- Linux: `sudo apt install yt-dlp` or `sudo pacman -S yt-dlp`
|
|
69
|
+
> 💡 **Note**: Without `yt-dlp`, MPV cannot open most streaming links, and Anichi will automatically fallback to your web browser.
|
|
113
70
|
|
|
114
71
|
---
|
|
115
72
|
|
|
116
73
|
## 🚀 Installation
|
|
117
74
|
|
|
118
|
-
###
|
|
119
|
-
|
|
120
|
-
- **Node.js 18.0.0** or higher
|
|
121
|
-
- **npm** or **yarn** package manager
|
|
122
|
-
- **MPV player** (recommended) - See [Supported Video Players](#-supported-video-players)
|
|
123
|
-
- **yt-dlp** (required for streaming) - See [Supported Video Players](#-supported-video-players)
|
|
124
|
-
|
|
125
|
-
### Install Globally via NPM
|
|
75
|
+
### Install via NPM
|
|
126
76
|
|
|
127
77
|
```bash
|
|
128
78
|
npm install -g anichi
|
|
129
79
|
```
|
|
130
80
|
|
|
131
|
-
### Install
|
|
81
|
+
### Install via Yarn
|
|
132
82
|
|
|
133
83
|
```bash
|
|
134
84
|
yarn global add anichi
|
|
@@ -138,7 +88,7 @@ yarn global add anichi
|
|
|
138
88
|
|
|
139
89
|
```bash
|
|
140
90
|
anichi --version
|
|
141
|
-
# Output: 2.6
|
|
91
|
+
# Output: 2.8.6
|
|
142
92
|
|
|
143
93
|
anichi --help
|
|
144
94
|
# Shows available commands
|
|
@@ -150,287 +100,154 @@ anichi --help
|
|
|
150
100
|
|
|
151
101
|
### Launch Interactive Menu
|
|
152
102
|
|
|
153
|
-
Start the application
|
|
103
|
+
Start the application:
|
|
154
104
|
|
|
155
105
|
```bash
|
|
156
|
-
an home
|
|
106
|
+
anichi home or an home
|
|
157
107
|
```
|
|
158
108
|
|
|
159
|
-
or
|
|
109
|
+
This launches the main menu. Navigate using number inputs or specific keywords.
|
|
160
110
|
|
|
161
|
-
|
|
162
|
-
anichi home
|
|
163
|
-
```
|
|
111
|
+
### Command Line Options
|
|
164
112
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
### Menu Options
|
|
168
|
-
|
|
169
|
-
#### 1. 🔄 Ongoing Anime
|
|
113
|
+
#### Direct Playback
|
|
170
114
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
- View release day and latest episode information
|
|
174
|
-
- Pagination support (25 items per page)
|
|
175
|
-
- Navigate: `n` for next, `p` for previous
|
|
176
|
-
- Select anime by number to view details and streaming options
|
|
177
|
-
|
|
178
|
-
#### 2. ✅ Completed Anime
|
|
179
|
-
|
|
180
|
-
Explore finished anime series:
|
|
181
|
-
|
|
182
|
-
- View completion status and ratings/scores
|
|
183
|
-
- Pagination support
|
|
184
|
-
- Access to all completed episodes
|
|
185
|
-
|
|
186
|
-
#### 3. 🌟 Popular Anime
|
|
187
|
-
|
|
188
|
-
Discover trending and popular titles:
|
|
189
|
-
|
|
190
|
-
- See what the community is watching
|
|
191
|
-
- Ratings and current status
|
|
192
|
-
- Pagination support
|
|
193
|
-
|
|
194
|
-
#### 4. 🔍 Search Anime
|
|
195
|
-
|
|
196
|
-
Find anime by title:
|
|
115
|
+
Skip the menu and play a specific episode immediately:
|
|
197
116
|
|
|
198
117
|
```bash
|
|
199
|
-
|
|
200
|
-
Enter keyword: Naruto
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
- Displays all matching results
|
|
204
|
-
- Shows status and score
|
|
205
|
-
- Select to view details
|
|
206
|
-
|
|
207
|
-
#### 5. 🎬 Search by Genre
|
|
208
|
-
|
|
209
|
-
Filter anime by category:
|
|
210
|
-
|
|
211
|
-
- Browse available genres (Action, Adventure, Comedy, Drama, etc.)
|
|
212
|
-
- Select genre to view paginated anime list
|
|
213
|
-
- Search within genre results
|
|
214
|
-
|
|
215
|
-
#### 6. 📅 Schedule Anime
|
|
216
|
-
|
|
217
|
-
View anime broadcast schedule:
|
|
218
|
-
|
|
219
|
-
- Organized by day of the week (Senin - Minggu)
|
|
220
|
-
- Shows airing time when available
|
|
221
|
-
|
|
222
|
-
#### 7. ❓ FAQ
|
|
223
|
-
|
|
224
|
-
Frequently asked questions:
|
|
225
|
-
|
|
226
|
-
- Player installation guides
|
|
227
|
-
- Troubleshooting common issues
|
|
228
|
-
- Performance tips
|
|
229
|
-
- Command reference
|
|
230
|
-
|
|
231
|
-
---
|
|
232
|
-
|
|
233
|
-
### 📺 Episode Viewing & Streaming
|
|
234
|
-
|
|
235
|
-
When viewing an anime's episode list, you have several options:
|
|
236
|
-
|
|
237
|
-
```
|
|
238
|
-
Perintah:
|
|
239
|
-
• [nomor] atau 'latest' - Watch episode
|
|
240
|
-
• 'b' atau 'batch' - Download entire series (if available)
|
|
241
|
-
• 'd' atau 'download' - Download single episode
|
|
242
|
-
• 'back' - Return to anime list
|
|
118
|
+
anichi play <slug> <episode>
|
|
243
119
|
```
|
|
244
120
|
|
|
245
|
-
**Example
|
|
246
|
-
|
|
247
|
-
```
|
|
248
|
-
Peintah: 10
|
|
249
|
-
# Starts streaming episode 10 with MPV player
|
|
121
|
+
**Example:**
|
|
250
122
|
|
|
251
|
-
|
|
252
|
-
|
|
123
|
+
```bash
|
|
124
|
+
anichi play one-piece 1070
|
|
253
125
|
```
|
|
254
126
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
1. Select episode number
|
|
258
|
-
2. Choose video quality
|
|
259
|
-
3. MPV player launches automatically
|
|
127
|
+
#### Configuration Management
|
|
260
128
|
|
|
261
|
-
|
|
129
|
+
```bash
|
|
130
|
+
# View current config
|
|
131
|
+
anichi config show
|
|
262
132
|
|
|
263
|
-
|
|
133
|
+
# Set custom MPV path
|
|
134
|
+
anichi config set playerPath "C:\mpv\mpv.exe"
|
|
264
135
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
# Shows available qualities with file sizes
|
|
268
|
-
# Select quality → Select provider → Opens download link in browser
|
|
136
|
+
# Set MPV arguments (e.g., force fullscreen)
|
|
137
|
+
anichi config set playerArgs "--fullscreen"
|
|
269
138
|
```
|
|
270
139
|
|
|
271
|
-
|
|
140
|
+
#### Cache Management
|
|
272
141
|
|
|
273
|
-
|
|
142
|
+
Clear cached data to force fresh API fetches:
|
|
274
143
|
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
# Select format (720p, 1080p, etc.)
|
|
278
|
-
# Select quality within format
|
|
279
|
-
# Select provider (drive, mega, etc.)
|
|
280
|
-
# Opens download link in browser
|
|
144
|
+
```bash
|
|
145
|
+
anichi cache clear
|
|
281
146
|
```
|
|
282
147
|
|
|
283
148
|
---
|
|
284
149
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
#### Direct Episode Playback
|
|
150
|
+
## 🎬 Menu Guide
|
|
288
151
|
|
|
289
|
-
|
|
152
|
+
#### 1. 🔄 Ongoing Anime
|
|
290
153
|
|
|
291
|
-
|
|
292
|
-
anichi play <slug> <episode>
|
|
293
|
-
```
|
|
154
|
+
Browse anime currently airing. Shows release day, latest episode, and air date.
|
|
294
155
|
|
|
295
|
-
**
|
|
156
|
+
- **Nav**: `n` (Next), `p` (Prev), `[number]` (Select Anime).
|
|
296
157
|
|
|
297
|
-
|
|
298
|
-
anichi play one-piece-sub-indo 1070
|
|
299
|
-
# Directly streams One Piece episode 1070
|
|
300
|
-
```
|
|
158
|
+
#### 2. ✅ Completed Anime
|
|
301
159
|
|
|
302
|
-
|
|
160
|
+
Browse finished series sorted by completion date and rating.
|
|
303
161
|
|
|
304
|
-
|
|
162
|
+
#### 3. 🌟 Popular Anime
|
|
305
163
|
|
|
306
|
-
|
|
307
|
-
# View current configuration
|
|
308
|
-
anichi config show
|
|
164
|
+
Discover top-rated and trending anime.
|
|
309
165
|
|
|
310
|
-
|
|
311
|
-
anichi config set playerPath "C:\mpv\mpv.exe"
|
|
312
|
-
```
|
|
166
|
+
#### 4. 🔍 Search Anime
|
|
313
167
|
|
|
314
|
-
|
|
168
|
+
Find anime by title.
|
|
315
169
|
|
|
316
|
-
-
|
|
317
|
-
- macOS/Linux: `~/.config/anichi/config.json`
|
|
170
|
+
- **Input**: Type anime name (e.g., "Naruto").
|
|
318
171
|
|
|
319
|
-
####
|
|
172
|
+
#### 5. 🎬 Search by Genre
|
|
320
173
|
|
|
321
|
-
|
|
174
|
+
Filter anime by specific categories (Action, Isekai, Slice of Life, etc.).
|
|
322
175
|
|
|
323
|
-
|
|
324
|
-
# Clear all cached anime data
|
|
325
|
-
anichi cache clear
|
|
326
|
-
```
|
|
176
|
+
#### 6. 📅 Schedule Anime
|
|
327
177
|
|
|
328
|
-
|
|
178
|
+
View the weekly broadcast schedule organized by day (Senin - Minggu).
|
|
329
179
|
|
|
330
|
-
|
|
331
|
-
- Outdated episode information
|
|
332
|
-
- To reset pagination
|
|
180
|
+
#### 7. 🕒 History Anime
|
|
333
181
|
|
|
334
|
-
|
|
182
|
+
View and resume your recently watched episodes.
|
|
335
183
|
|
|
336
|
-
|
|
184
|
+
#### 8. ❓ FAQ
|
|
337
185
|
|
|
338
|
-
|
|
186
|
+
Built-in help guide for installation and troubleshooting.
|
|
339
187
|
|
|
340
|
-
|
|
188
|
+
---
|
|
341
189
|
|
|
342
|
-
|
|
190
|
+
## 🛠️ Setup Guide: MPV & yt-dlp
|
|
343
191
|
|
|
344
|
-
|
|
345
|
-
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
346
|
-
```
|
|
192
|
+
For the best experience, using **MPV** is highly recommended.
|
|
347
193
|
|
|
348
|
-
|
|
194
|
+
### Windows (Recommended: Chocolatey)
|
|
349
195
|
|
|
350
|
-
|
|
351
|
-
choco install mpv yt-dlp -y
|
|
352
|
-
```
|
|
196
|
+
1. **Install Chocolatey** (Run PowerShell as Admin):
|
|
353
197
|
|
|
354
|
-
|
|
198
|
+
```powershell
|
|
199
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
200
|
+
```
|
|
355
201
|
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
yt-dlp
|
|
359
|
-
```
|
|
202
|
+
2. **Install Tools**:
|
|
203
|
+
```powershell
|
|
204
|
+
choco install mpv yt-dlp -y
|
|
205
|
+
```
|
|
360
206
|
|
|
361
|
-
|
|
207
|
+
### macOS (Homebrew)
|
|
362
208
|
|
|
363
209
|
```bash
|
|
364
|
-
# Install Homebrew
|
|
210
|
+
# Install Homebrew if needed
|
|
365
211
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
366
212
|
|
|
367
213
|
# Install MPV and yt-dlp
|
|
368
214
|
brew install mpv yt-dlp
|
|
369
|
-
|
|
370
|
-
# Verify
|
|
371
|
-
mpv --version
|
|
372
|
-
yt-dlp --version
|
|
373
215
|
```
|
|
374
216
|
|
|
375
|
-
|
|
217
|
+
### Linux (Ubuntu/Debian)
|
|
376
218
|
|
|
377
219
|
```bash
|
|
378
|
-
# Update package manager
|
|
379
220
|
sudo apt update
|
|
380
|
-
|
|
381
|
-
# Install MPV and yt-dlp
|
|
382
221
|
sudo apt install mpv yt-dlp -y
|
|
383
|
-
|
|
384
|
-
# Verify
|
|
385
|
-
mpv --version
|
|
386
|
-
yt-dlp --version
|
|
387
222
|
```
|
|
388
223
|
|
|
389
224
|
---
|
|
390
225
|
|
|
391
226
|
## 🐛 Troubleshooting
|
|
392
227
|
|
|
393
|
-
### "MPV
|
|
394
|
-
|
|
395
|
-
**Solution 1: Install MPV**
|
|
396
|
-
|
|
397
|
-
- Windows: `choco install mpv`
|
|
398
|
-
- macOS: `brew install mpv`
|
|
399
|
-
- Linux: `sudo apt install mpv`
|
|
400
|
-
|
|
401
|
-
**Solution 2: Set Custom Path**
|
|
402
|
-
|
|
403
|
-
```bash
|
|
404
|
-
anichi config set playerPath "C:\path\to\mpv.exe"
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
### Stream won't load in MPV
|
|
408
|
-
|
|
409
|
-
**Common Cause:** Missing yt-dlp
|
|
410
|
-
|
|
411
|
-
**Solution:**
|
|
228
|
+
### ❓ "MPV Player tidak ditemukan" (MPV Not Found)
|
|
412
229
|
|
|
413
|
-
-
|
|
414
|
-
|
|
415
|
-
|
|
230
|
+
- **Solution**: Ensure MPV is installed and added to your system PATH. If installed in a custom location, set it manually:
|
|
231
|
+
```bash
|
|
232
|
+
anichi config set playerPath "C:\Path\To\Your\mpv.exe"
|
|
233
|
+
```
|
|
416
234
|
|
|
417
|
-
###
|
|
235
|
+
### ❓ Video doesn't play / MPV closes immediately
|
|
418
236
|
|
|
419
|
-
|
|
237
|
+
- **Cause**: You likely do not have **yt-dlp** installed.
|
|
238
|
+
- **Solution**: MPV requires `yt-dlp` to extract direct video streams from hosting sites. Install it using commands in the [Setup Guide](#-setup-guide-mpv--yt-dlp) above. If `yt-dlp` is missing, Anichi will automatically fallback to opening the video in your browser.
|
|
420
239
|
|
|
421
|
-
|
|
422
|
-
- Automatic retry with exponential backoff
|
|
423
|
-
- Integrated caching to minimize requests
|
|
240
|
+
### ❓ "Rate Limiting" / "Too Many Requests"
|
|
424
241
|
|
|
425
|
-
**
|
|
242
|
+
- **Cause**: The API has rate limits to prevent abuse.
|
|
243
|
+
- **Solution**: Anichi has built-in delays and caching. Avoid rapidly switching pages (mashing Next/Prev) to allow the cooldown to reset.
|
|
426
244
|
|
|
427
|
-
### Pagination
|
|
245
|
+
### ❓ Pagination stuck or wrong data
|
|
428
246
|
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
```
|
|
247
|
+
- **Solution**: Clear the cache to fetch fresh data:
|
|
248
|
+
```bash
|
|
249
|
+
anichi cache clear
|
|
250
|
+
```
|
|
434
251
|
|
|
435
252
|
---
|
|
436
253
|
|
|
@@ -439,21 +256,18 @@ anichi cache clear
|
|
|
439
256
|
```
|
|
440
257
|
anichi/
|
|
441
258
|
├── src/
|
|
442
|
-
│ ├── index.ts # Main
|
|
443
|
-
│ ├── api.ts #
|
|
444
|
-
│ ├── ui.ts # Terminal UI, tables, colors
|
|
445
|
-
│ ├── player.ts #
|
|
259
|
+
│ ├── index.ts # Main logic, commands, and CLI flow
|
|
260
|
+
│ ├── api.ts # HTTP client (Axios) and caching logic
|
|
261
|
+
│ ├── ui.ts # Terminal UI, tables, and colors
|
|
262
|
+
│ ├── player.ts # MPV detection and spawning logic
|
|
446
263
|
│ ├── config.ts # Configuration file handling
|
|
447
|
-
│
|
|
264
|
+
│ ├── types.ts # TypeScript interfaces
|
|
265
|
+
│ └── history.ts # Watch history management
|
|
448
266
|
├── bin/
|
|
449
|
-
│ └── anichi #
|
|
450
|
-
├──
|
|
451
|
-
├──
|
|
452
|
-
|
|
453
|
-
├── jest.config.js # Test configuration
|
|
454
|
-
├── README.md # This file
|
|
455
|
-
├── CHANGELOG.md # Version history
|
|
456
|
-
└── LICENSE # MIT License
|
|
267
|
+
│ └── anichi # Entry point
|
|
268
|
+
├── package.json
|
|
269
|
+
├── tsconfig.json
|
|
270
|
+
└── README.md
|
|
457
271
|
```
|
|
458
272
|
|
|
459
273
|
---
|
|
@@ -464,20 +278,20 @@ This project is licensed under the **MIT License** - see the [LICENSE](LICENSE)
|
|
|
464
278
|
|
|
465
279
|
---
|
|
466
280
|
|
|
467
|
-
##
|
|
281
|
+
## 🤝 Contributors
|
|
468
282
|
|
|
469
|
-
|
|
470
|
-
- **Email**: adityarabbyoka3@gmail.com
|
|
471
|
-
- **Built With**: TypeScript, Node.js, and amazing open-source libraries
|
|
283
|
+
We would like to thank the following contributors who have helped improve this project:
|
|
472
284
|
|
|
473
|
-
|
|
285
|
+
- [Hafast 2008](https://github.com/Hafiz2818)
|
|
474
286
|
|
|
475
|
-
|
|
287
|
+
---
|
|
476
288
|
|
|
477
|
-
|
|
289
|
+
## 🙏 Credits
|
|
478
290
|
|
|
479
|
-
|
|
480
|
-
|
|
291
|
+
- **Created By**: Aditya K.
|
|
292
|
+
- **Email**: adityarabbyoka3@gmail.com
|
|
293
|
+
- **Data API**: [ShivraAPI](https://shivraapi.my.id) by ShDitz
|
|
294
|
+
- **Special Thanks**: Open Source Community
|
|
481
295
|
|
|
482
296
|
---
|
|
483
297
|
|
|
@@ -485,6 +299,6 @@ Need help? Check these resources:
|
|
|
485
299
|
|
|
486
300
|
### Made with ❤️ and ☕ by Aditya K.
|
|
487
301
|
|
|
488
|
-
|
|
302
|
+
If you find Anichi useful, please give it a ⭐ on GitHub!
|
|
489
303
|
|
|
490
304
|
</div>
|
package/dist/api.d.ts
CHANGED
|
@@ -10,7 +10,12 @@ declare class ApiClient {
|
|
|
10
10
|
getAnime(slug: string): Promise<any>;
|
|
11
11
|
getGenre(): Promise<any>;
|
|
12
12
|
getEpisode(slug: string): Promise<any>;
|
|
13
|
-
getServer(id: string): Promise<
|
|
13
|
+
getServer(id: string): Promise<{
|
|
14
|
+
meta: {
|
|
15
|
+
status: boolean;
|
|
16
|
+
};
|
|
17
|
+
data: {};
|
|
18
|
+
}>;
|
|
14
19
|
getBatch(slug: string): Promise<any>;
|
|
15
20
|
getSearch(keyword: string): Promise<any>;
|
|
16
21
|
getSchedule(): Promise<any>;
|
package/dist/api.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAuBA,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,eAAe,CAAa;;YAUtB,OAAO;IA6Cf,OAAO;IAIP,UAAU,CAAC,IAAI,GAAE,MAAU;IAI3B,YAAY,CAAC,IAAI,GAAE,MAAU;IAI7B,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,QAAQ;IAIR,UAAU,CAAC,IAAI,EAAE,MAAM;IAIvB,SAAS,CAAC,EAAE,EAAE,MAAM;;;;;;IAIpB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAIrB,SAAS,CAAC,OAAO,EAAE,MAAM;IAIzB,WAAW;IAIX,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAU;IAIlD,UAAU;CAIX;;AAED,wBAA+B"}
|