ani-auto 1.0.0 → 1.0.1
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/README.md +29 -109
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,152 +1,73 @@
|
|
|
1
1
|
# ani-auto
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Watches your **AniList** list (or a manual list) and downloads new episodes the moment they appear on the site — with full quality/language control, a background daemon, cron scheduling etc.
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Requirements
|
|
8
|
-
|
|
9
|
-
- Node.js 18+
|
|
3
|
+
automatically downloads new anime episodes based on your anilist watching list.
|
|
10
4
|
|
|
11
5
|
---
|
|
12
6
|
|
|
13
|
-
##
|
|
7
|
+
## installation
|
|
14
8
|
|
|
15
9
|
```bash
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
cd ani-auto
|
|
19
|
-
npm install
|
|
20
|
-
|
|
21
|
-
# 2. Link the CLI globally (optional)
|
|
22
|
-
npm link
|
|
10
|
+
npm install -g ani-auto
|
|
23
11
|
```
|
|
24
12
|
|
|
25
13
|
---
|
|
26
14
|
|
|
27
|
-
##
|
|
15
|
+
## quick start
|
|
28
16
|
|
|
29
17
|
```bash
|
|
30
|
-
# First-time setup wizard
|
|
31
18
|
ani-auto setup
|
|
32
|
-
|
|
33
|
-
# Manually trigger one download cycle
|
|
34
19
|
ani-auto check
|
|
35
|
-
|
|
36
|
-
# Start the background daemon
|
|
37
|
-
ani-auto daemon
|
|
38
|
-
# or: npm start
|
|
39
20
|
```
|
|
40
21
|
|
|
41
22
|
---
|
|
42
23
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
1. **AniList** — queries your list for the configured statuses (e.g. `CURRENT`).
|
|
46
|
-
For each anime, it searches the download site, fetches the episode list, and downloads anything not already in the database.
|
|
47
|
-
|
|
48
|
-
2. **Manual list** — entries added via `ani-auto add` are checked the same way.
|
|
49
|
-
Manual entries support per-anime quality/language overrides.
|
|
50
|
-
|
|
51
|
-
3. **State** — SQLite (`~/.config/ani-auto/state.db`) tracks every episode as `pending → downloading → done / failed`. Already-downloaded episodes are never re-fetched.
|
|
24
|
+
## commands
|
|
52
25
|
|
|
53
|
-
|
|
54
|
-
- A **polling interval** (default: every 30 min)
|
|
55
|
-
- A **cron schedule** (default: `0 */2 * * *` — every 2 hours)
|
|
56
|
-
|
|
57
|
-
---
|
|
58
|
-
|
|
59
|
-
## Commands
|
|
60
|
-
|
|
61
|
-
| Command | Description |
|
|
26
|
+
| command | description |
|
|
62
27
|
|---|---|
|
|
63
|
-
| `setup` |
|
|
64
|
-
| `check` |
|
|
65
|
-
| `
|
|
66
|
-
| `
|
|
67
|
-
| `
|
|
68
|
-
| `
|
|
69
|
-
| `
|
|
70
|
-
| `
|
|
71
|
-
| `
|
|
72
|
-
| `
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
## Manual Add Options
|
|
77
|
-
|
|
78
|
-
```bash
|
|
79
|
-
# Default quality/language from global config
|
|
80
|
-
ani-auto add "Frieren: Beyond Journey's End"
|
|
81
|
-
|
|
82
|
-
# Per-anime overrides
|
|
83
|
-
ani-auto add "One Piece" --quality 720p --language dub
|
|
84
|
-
```
|
|
28
|
+
| `setup` | first-time setup wizard |
|
|
29
|
+
| `check` | download new episodes (interactive) |
|
|
30
|
+
| `check --auto` | download everything, no prompts |
|
|
31
|
+
| `list` | show tracked anime |
|
|
32
|
+
| `add "<title>"` | add anime to manual list |
|
|
33
|
+
| `remove` | remove from manual list |
|
|
34
|
+
| `enable` | re-enable a paused anime |
|
|
35
|
+
| `disable` | pause downloads for an anime |
|
|
36
|
+
| `status` | view recent download history |
|
|
37
|
+
| `config` | view or update settings |
|
|
38
|
+
| `config --open` | open config file in editor |
|
|
39
|
+
| `daemon` | start background auto-downloader |
|
|
85
40
|
|
|
86
41
|
---
|
|
87
42
|
|
|
88
|
-
##
|
|
43
|
+
## config options
|
|
89
44
|
|
|
90
45
|
```bash
|
|
91
46
|
ani-auto config --set-quality 1080p
|
|
92
47
|
ani-auto config --set-language sub
|
|
93
48
|
ani-auto config --set-concurrency 3
|
|
94
|
-
ani-auto config --set-output ~/
|
|
95
|
-
ani-auto config --set-interval 60
|
|
96
|
-
ani-auto config --
|
|
49
|
+
ani-auto config --set-output ~/videos/anime
|
|
50
|
+
ani-auto config --set-interval 60
|
|
51
|
+
ani-auto config --open
|
|
97
52
|
```
|
|
98
53
|
|
|
99
|
-
Full config lives at `~/.config/ani-auto/config.json`.
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## AniList Statuses
|
|
104
|
-
|
|
105
|
-
Configured during `setup` or by editing `config.json`:
|
|
106
|
-
|
|
107
|
-
| Status | Meaning |
|
|
108
|
-
|---|---|
|
|
109
|
-
| `CURRENT` | Currently watching (recommended) |
|
|
110
|
-
| `PLANNING` | Plan to watch |
|
|
111
|
-
| `PAUSED` | Paused |
|
|
112
|
-
| `REPEATING` | Re-watching |
|
|
113
|
-
|
|
114
54
|
---
|
|
115
55
|
|
|
56
|
+
## background service (linux)
|
|
116
57
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
## File Structure
|
|
121
|
-
|
|
122
|
-
```
|
|
123
|
-
ani-auto/
|
|
124
|
-
├── src/
|
|
125
|
-
│ ├── cli.js ← entry point for all commands
|
|
126
|
-
│ ├── daemon.js ← background daemon
|
|
127
|
-
│ ├── engine.js ← core run cycle logic
|
|
128
|
-
│ ├── scraper.js ← adapter over k-anime utils
|
|
129
|
-
│ ├── anilist.js ← AniList GraphQL client
|
|
130
|
-
│ ├── db.js ← SQLite state layer
|
|
131
|
-
│ └── config.js ← JSON config manager
|
|
132
|
-
├── package.json
|
|
133
|
-
├── utils.js
|
|
134
|
-
└── README.md
|
|
58
|
+
```bash
|
|
59
|
+
mkdir -p ~/.config/systemd/user
|
|
60
|
+
nano ~/.config/systemd/user/ani-auto.service
|
|
135
61
|
```
|
|
136
62
|
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## Systemd Service (Linux/Arch)
|
|
140
|
-
|
|
141
63
|
```ini
|
|
142
|
-
# ~/.config/systemd/user/ani-auto.service
|
|
143
64
|
[Unit]
|
|
144
|
-
Description=
|
|
65
|
+
Description=ani-auto daemon
|
|
66
|
+
After=network-online.target
|
|
145
67
|
|
|
146
68
|
[Service]
|
|
147
69
|
ExecStart=/usr/bin/node /path/to/ani-auto/src/daemon.js
|
|
148
70
|
Restart=on-failure
|
|
149
|
-
RestartSec=10
|
|
150
71
|
|
|
151
72
|
[Install]
|
|
152
73
|
WantedBy=default.target
|
|
@@ -154,6 +75,5 @@ WantedBy=default.target
|
|
|
154
75
|
|
|
155
76
|
```bash
|
|
156
77
|
systemctl --user enable --now ani-auto
|
|
157
|
-
systemctl --user status ani-auto
|
|
158
78
|
journalctl --user -u ani-auto -f
|
|
159
|
-
```
|
|
79
|
+
```
|