Skip to content

Commit

Permalink
4.5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
anidl-git committed Jan 20, 2020
0 parents commit 0d8ef58
Show file tree
Hide file tree
Showing 14 changed files with 1,183 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
env:
commonjs: true
es6: true
node: true
extends: 'eslint:recommended'
globals:
Atomics: readonly
SharedArrayBuffer: readonly
parserOptions:
ecmaVersion: 2018
rules:
no-empty:
- error
- { "allowEmptyCatch": true }
indent:
- error
- 4
- { "SwitchCase": 1 }
linebreak-style:
- error
- windows
quotes:
- error
- single
semi:
- error
- always
18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG] "
labels: bug
assignees: ''

---

<!-- Please fill in the placeholders.-->

** Main info: **

Script version:
Show ID:
Episode ID:

** Additional Info: **
12 changes: 12 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/node_modules/
.DS_Store
ffmpeg
mkvmerge
token.yml
package-lock.json
*.exe
*.dll
*.ts
*.mkv
*.mp4
*.srt
21 changes: 21 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2019 AniDL

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Empty file added bin/.gitkeep
Empty file.
3 changes: 3 additions & 0 deletions cmd-here.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off
title CmdHere
cmd /k PROMPT @$S$P$_$_$G$S
2 changes: 2 additions & 0 deletions config/bin-path.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ffmpeg: ./bin/ffmpeg
mkvmerge: ./bin/mkvmerge
7 changes: 7 additions & 0 deletions config/cli-defaults.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
releaseGroup: Funimation
videoLayer: 7
fileSuffix: SIZEp
nServer: 1
mp4mux: false
muxSubs: false
noCleanUp: false
2 changes: 2 additions & 0 deletions config/dir-path.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
content: ./videos/
trash: ./videos/_trash/
169 changes: 169 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
## Change Log

### 4.5.0 (2020/01/21)
- Resume downloading
- Known bug: Proxy not working

### 4.4.2 (2019/07/21)
- Better proxy handling for stream download

### 4.4.1 (2019/07/21)
- Fixed proxy for stream download

### 4.4.0 (2019/06/04)
- Added `--novids` option (Thanks to @subdiox)
- Update modules

### 4.3.2 (2019/05/09)
- Code improvements
- Fix `hls-download` error printing

### 4.3.1 (2019/05/09)
- Fix auto detection max quality (Regression in d7d280c)

### 4.3.0 (2019/05/09)
- Better server selection (Closes #42)

### 4.2.1 (2019/05/04)
- Filter duplicate urls for cloudfront.net (Closes #40)

### 4.2.0 (2019/05/02)
- Replace `request` module with `got`
- Changed proxy cli options
- Changed `login` option name to `auth`
- Changed `hls-download` parallel download configuration from 5 parts to 10
- Update modules

### 4.1.0 (2019/04/05)
- CLI options for login moved to CUI
- Removed showing set token at startup

### 4.0.5 (2019/02/09)
- Fix downloading shows with autoselect max quality

### 4.0.4 (2019/01/26)
- Fix search when shows not found
- Update modules

### 4.0.3 (2018/12/06)
- Select only non-encrypted (HLS) streams, encrypted streams is MPEG-DASH

### 4.0.2 (2018/11/25)
- Fix typos and update modules

### 4.0.1 (2018/11/23)
- Code refactoring and small fixes

### 4.0.0 RC 1 (2018/11/17)
- Select range of episodes using hyphen-sequence
- Skip muxing if executables not found
- Fixed typos and duplicate options

### 4.0.0 Beta 2 (2018/11/12)
- Select alternative server
- Updated readme

### 4.0.0 Beta 1 (2018/11/10)
- Rearrange folders structure
- Configuration changed to yaml format
- Muxing changed to MKV by default
- tsMuxeR+mp4box replaced with FFMPEG
- Updated commands help and readme
- Fixed typos and duplicate options
- `ttml2srt` moved to separate module
- Drop `m3u8-stream-list` module
- Code improvements

### 3.2.8 (2018/06/16)
- Fix video request when token not specified

### 3.2.7 (2018/06/15)
- Update modules

### 3.2.6 (2018/02/18)
- Fix commands help

### 3.2.5 (2018/02/12)
- Fixes and update modules

### 3.2.4 (2018/02/01)
- Update modules

### 3.2.3 (2018/01/31)
- Rearrange folders structure

### 3.2.2 (2018/01/16)
- Update modules

### 3.2.1 (2018/01/16)
- Update modules
- Small fixes

### 3.2.0 (2018/01/16)
- `hls-download` module moved to independent module
- Auth for socks proxy

### 3.1.0 (2017/12/30)
- Convert DXFP (TTML) subtitles to SRT format

### 3.0.1 (2017/12/05)
- Check subtitles availability
- Download subtitles in SRT format instead of VTT
- Extended hls download progress info

### 3.0.0 Beta 3 (2017/12/03)
- Restored MKV and MP4 muxing
- Convert VTT subtitles to SRT format

### 3.0.0 Beta 2 (2017/10/18)
- Fix video downloading

### 3.0.0 Beta 1 (2017/10/17)
- Major code changes and improvements
- Drop Streamlink and added own module for hls download

### 2.5.0 (2017/09/04)
- `nosubs` option
- Request video with app api

### 2.4.1 (2017/09/02)
- Fixed typo in package.json
- Fix #11: URL for getting video stream url was changed

### 2.4.0 (2017/07/04)
- IPv4 Socks5 proxy support

### 2.3.3 (2017/06/19)
- Removed forgotten debug code

### 2.3.2 (2017/06/19)
- Fix #5: Script fails to multiplex unique file names

### 2.3.1 (2017/04/29)
- Code improvements

### 2.3.0 (2017/04/27)
- Code improvements

### 2.2.5 (2017/04/17)
- Minor code improvements and fixes

### 2.1.4 (2017/04/10)
- Minor changes

### 2.1.3 (2017/04/10)
- Minor changes and fixes

### 2.1.2 (2017/04/10)
- Fix config path

### 2.1.1 (2017/04/10)
- Minor text changes
- Fix config
- Minor changes

### 2.1.0 (2017/04/10)
- First stable release

### 2.0.0 Beta (lost in time)
- First public release
84 changes: 84 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# Funimation Downloader NX

Funimation Downloader NX is capable of downloading videos from the *Funimation* streaming service.

Fork of @seiya-dev's Funimation Downloader NX

## Legal Warning

This application is not endorsed by or affiliated with *Funimation*. This application enables you to download videos for offline viewing which may be forbidden by law in your country. The usage of this application may also cause a violation of the *Terms of Service* between you and the stream provider. This tool is not responsible for your actions; please make an informed decision before using this application.

## Prerequisites

* NodeJS >= 12.4.0 (https://nodejs.org/)
* NPM >= 6.9.0 (https://www.npmjs.org/)
* ffmpeg >= 4.0.0 (https://www.videohelp.com/software/ffmpeg)
* MKVToolNix >= 20.0.0 (https://www.videohelp.com/software/MKVToolNix)

### Paths Configuration

By default this application uses the following paths to programs (main executables):
* `./bin/mkvmerge`
* `./bin/ffmpeg`

To change these paths you need to edit `bin-path.yml` in `./config/` directory.

### Node Modules

After installing NodeJS with NPM go to directory with `package.json` file and type: `npm i`.
* [check dependencies](https://david-dm.org/anidl/funimation-downloader-nx)

## CLI Options

### Authentication

* `--auth` enter auth mode

### Get Show ID

* `--search <s>` sets the show title for search

### Download Video

* `-s <i> -e <s>` sets the show id and episode ids (comma-separated, hyphen-sequence)
* `-q <i>` sets the video layer quality [1...10] (optional, 0 is max)
* `--alt` alternative episode listing (if available)
* `--sub` switch from English dub to Japanese dub with subtitles
* `--simul` force select simulcast version instead of uncut version
* `-x` select server
* `--novids` skip download videos (for downloading subtitles only)
* `--nosubs` skip download subtitles for Dub (if available)

### Proxy

* `--proxy <s>` http(s)/socks proxy WHATWG url (ex. https://myproxyhost:1080)
* `--proxy-auth <s>` Colon-separated username and password for proxy
* `--ssp` don't use proxy for stream downloading

### Muxing

`[note] this application mux into mkv by default`
* `--mp4` mux into mp4
* `--mks` add subtitles to mkv or mp4 (if available)

### Filenaming (optional)

* `-a <s>` release group ("Funimation" by default)
* `-t <s>` show title override
* `--ep <s>` episode number override (ignored in batch mode)
* `--suffix <s>` filename suffix override (first "SIZEp" will be replaced with actual video size, "SIZEp" by default)

### Utility

* `--nocleanup` move unnecessary files to trash folder after completion instead of deleting
* `-h`, `--help` show all options

## Filename Template

[`release group`] `title` - `episode` [`suffix`].`extension`

## CLI Examples

* `node funi --search "My Hero"` search "My Hero" in title
* `node funi -s 124389 -e 1,2,3` download episodes 1-3 from show with id 124389
* `node funi -s 124389 -e 1-3,2-7,s1-2` download episodes 1-7 and "S"-episodes 1-2 from show with id 124389
Loading

0 comments on commit 0d8ef58

Please sign in to comment.