Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
vscodev committed Jul 18, 2024
0 parents commit 18fbff3
Show file tree
Hide file tree
Showing 10 changed files with 246 additions and 0 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/docker-image-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Publish Docker dev image

on:
workflow_dispatch:

jobs:
docker:
name: Push Docker dev image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: ${{ secrets.GH_REPO }}
token: ${{ secrets.GH_PAT }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x'
cache: 'yarn'
cache-dependency-path: web/yarn.lock

- name: Build frontend
run: |
yarn install --frozen-lockfile --non-interactive
yarn quasar build
cp -a dist/spa/. $GITHUB_WORKSPACE/public/dist/
working-directory: ./web

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
push: true
tags: vscodev/kikoeru:dev
49 changes: 49 additions & 0 deletions .github/workflows/docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Publish Docker image

on:
workflow_dispatch:

jobs:
docker:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
repository: ${{ secrets.GH_REPO }}
token: ${{ secrets.GH_PAT }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18.x'
cache: 'yarn'
cache-dependency-path: web/yarn.lock

- name: Build frontend
run: |
yarn install --frozen-lockfile --non-interactive
yarn quasar build
cp -a dist/spa/. $GITHUB_WORKSPACE/public/dist/
working-directory: ./web

- name: Set up QEMU
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/386,linux/arm/v6,linux/s390x
push: true
tags: vscodev/kikoeru:latest
31 changes: 31 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Created by .ignore support plugin (hsz.mobi)
### Go template
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
# vendor/
public/dist/*
!public/dist/README.md

# JetBrains
.idea/

# MacOS
.DS_Store
.AppleDouble
.LSOverride

# Kikoeru
kikoeru
kikoeru.log
113 changes: 113 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
# Kikoeru

[![dockeri.co](https://dockerico.blankenship.io/image/vscodev/kikoeru)](https://hub.docker.com/r/vscodev/kikoeru)

*一个自托管的 DLsite 作品整理和媒体播放软件, 使用 Go 和 Vue.js。*

## 推广

如果你希望将 Kikoeru 部署在VPS上,推荐使用轻量应用服务器,性价比更高。

- [阿里云轻量应用服务器](https://www.aliyun.com/product/swas?source=5176.11533457&userCode=6lssewap)
- [腾讯云轻量应用服务器](https://curl.qcloud.com/UiP0o3BV)

## 功能

- 自动从 DLsite 爬取作品元数据,支持所有作品类型(RJ/BJ/VJ),包括已下架的作品。
- 支持多种存储,你可以从本机存储、阿里云盘、百度网盘以及 OneDrive 中刮削作品资源。
- 强大的个性化搜索功能,支持多关键字、多标签检索,支持对搜索结果二级筛选过滤。
- 支持多种格式的字幕显示,`.lrc``.srt``.vtt` 以及 `.ass` ,支持字幕偏移。

## 预览

![home](assets/home.png)

![works](assets/works.png)

![work](assets/work.png)

![histories](assets/histories.png)

![storages](assets/storages.png)

## 安装

创建一个工作目录,例如 `kikoeru`

```sh
mkdir kikoeru
cd kikoeru
```

拉取 Kikoeru 镜像,创建容器并运行。

```sh
docker run -d --name kikoeru -p 2333:2333 -v $PWD/data:/opt/kikoeru/data -e TZ=Asia/Shanghai -e PUID=$(id -u) -e PGID=$(id -g) -e UMASK=022 --restart unless-stopped vscodev/kikoeru:latest
```

首次运行 Kikoeru 会自动创建管理员帐号,你可通过 `docker logs` 命令查看。

```sh
docker logs kikoeru
```

忘记密码可通过 `kikoeru admin` 命令重置。

```sh
docker exec -it kikoeru ./kikoeru admin
```

## 添加存储

Kikoeru 支持添加多种存储,配置填写可参考 [Alist](https://alist.nn.ci/zh/guide/) 。注意,OneDrive 自定义客户端需要设置回调URI为 `https://www.voicehub.top/oauth/onedrive`

> [!IMPORTANT]
> 网盘存储通过调用官方SDK实现,Kikoeru 仅做302重定向/流量转发,不拦截、存储、篡改任何用户数据。本程序是面向个人开发的,禁止用于搭建公共站点,多IP/频繁访问很可能会触发网盘的QPS限制,甚至导致帐号被封禁。使用时应遵守相关法律法规,切勿滥用,否则后果自负!
## 导入作品

每个作品对应一个目录,且文件夹名称必须包含一个有效的作品ID,示例:

```
RJ334212
[みやぢ屋][RJ334212]ガチ恋不可避の耳リフレ2~ぼくっこ店員ゆずるの出張サービス~
```

点击「扫描」按钮 Kikoeru 会在后台扫描相应存储的的作品资源,自动从 DLsite 爬取作品元数据并导入到媒体库。

同一时间点最多只能执行1个扫描任务,你可以在新标签页打开「仪表盘」页面查看系统日志,等待当前存储扫描结束后再扫描下一个。

**不要包含重复的作品,否则会被覆盖,而且顺序是不确定的。**

## 反向代理

你需要在 NGINX 网站配置文件的 `server` 字段中添加

```
location / {
proxy_pass http://127.0.0.1:2333;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
# Proxy SSL
proxy_ssl_server_name on;
# Proxy headers
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Forwarded $proxy_add_forwarded;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_set_header Range $http_range;
proxy_set_header If-Range $http_if_range;
# Proxy timeouts
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
```
Binary file added assets/histories.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/home.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/storages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/work.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/works.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions giscus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"origins": ["https://www.voicehub.top"],
"originsRegex": ["http://localhost:[0-9]+"]
}

0 comments on commit 18fbff3

Please sign in to comment.