Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
nortonandrews committed Aug 8, 2019
0 parents commit b1c9ef0
Show file tree
Hide file tree
Showing 44 changed files with 14,829 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"presets": [
"@babel/preset-env"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
"@babel/plugin-syntax-jsx",
["babel-plugin-inferno", {"imports": true}]
]
}
13 changes: 13 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"parser": "babel-eslint",
"extends": ["airbnb"],
"env": {
"browser": true,
"node": true
},
"rules": {
"import/no-extraneous-dependencies": [ 2, {"devDependencies": true}],
"react/react-in-jsx-scope": 0,
"react/prop-types": 0
}
}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.vscode
node_modules
dist
db.sqlite3
*.log

675 changes: 675 additions & 0 deletions LICENSE.md

Large diffs are not rendered by default.

66 changes: 66 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
<p align="center">
<img width="192" height="192" src="static/android-chrome-192x192.png" style="box-shadow: 0px 3px 8px #000">
</p>
A self-hosted web media player for listening to your DLsite voice works.

## Features
- Automatically scrapes metadata from HVDB
- Browse works by circle, tag or VA
- Queue functionality: mix and match tracks from many different works, in whichever order you want

## Quick Start
Requires both Node.js and npm installed in your system to run. Assuming you've downloaded from the releases page:
```bash
# Install dependencies
npm install --only=prod

# Change `rootDir` in `config.json` to the
# directory where you keep your voice works.

# Each folder must have an RJ code somewhere
# in its name for the scanner to detect it.

# Scan works into the database
npm run scan

# Start the server
npm start

# App is now available at http://0.0.0.0:8888
```

If you instead cloned this repository or just want more details, read below:
## Instructions
### Build from source
```bash
# Install dependencies
npm install

# Build app bundle
npm run build

# Start the production server
npm start

# App is now available at http://0.0.0.0:8888
```

### Configuration
You must change `rootDir` in the `config.json` to point to the directory where you keep your voice works. Each work must be a folder containing an RJ code anywhere in its name.

After this is done, you may run the initial scan:
```bash
npm run scan
```
This will create a file named `db.sqlite3`, containing metadata scraped from HVDB for each work found by the scanner. This file can safely be deleted if you wish to rebuild the database. It will also create a folder called `Images` inside your `rootDir` containing work cover images.

Subsequent runs of the scan command will do two things:
- Look for new works add them to the database
- Remove works which have been deleted from disk since last scan

It is important to note that the scanner is *not* recursive. That is to say, inside of the `rootDir` directory, every folder must contain a single work. If you have subdirectories for circles, VAs or anything like that the scanner will fail to find anything.

## Disclaimer
At the moment, although this works well enough for regular usage, you can expect to find small quirks and bugs.

This was developed on macOS and tested on Chrome for Android. It should run on Linux. I have no clue about Windows.
4 changes: 4 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"rootDir": "/mnt/Media/Voice",
"worksPerPage": 12
}
3 changes: 3 additions & 0 deletions nodemon.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"watch": ["src/server/"]
}
Loading

0 comments on commit b1c9ef0

Please sign in to comment.