1
0
mirror of https://github.com/fumiama/RVC-Models-Downloader.git synced 2026-01-22 15:53:47 +09:00

10 Commits

Author SHA1 Message Date
源文雨
ff8949393c feat(chtts): add copy asset/tokenizer & drop spk_stat 2024-08-05 21:40:46 +08:00
源文雨
bdb4b458b9 feat: add DVAE_full.pt 2024-07-18 18:15:23 +09:00
源文雨
2be2bcb536 feat(chtts): drop copy of config 2024-07-16 16:54:24 +09:00
源文雨
4c39b7de22 feat: support proxy from env (#4)
ref https://stackoverflow.com/questions/69789948/go-ignores-http-proxy-environment-variable
2024-07-10 18:55:26 +09:00
源文雨
24ed668d84 chore: update hf dns 2024-06-17 18:20:29 +09:00
源文雨
3808e901be feat: add chattts download & del unnecessaries 2024-06-17 18:08:52 +09:00
源文雨
2b6ca35a6d feat: customizable ua (#2) 2024-05-18 20:29:23 +09:00
源文雨
e6b2709814 Merge pull request #3 from pengooseDev/main
Docs: Add README_kr.md & Linting
2024-05-13 00:04:50 +09:00
pengoosedev
0bcc668b80 docs: add READ_kr link & Linting docs 2024-05-12 20:21:10 +09:00
pengoosedev
97c40d407e docs: add README_kr 2024-05-12 20:20:29 +09:00
40 changed files with 279 additions and 250 deletions

3
.gitignore vendored
View File

@@ -25,3 +25,6 @@ go.work
# MacOS system file # MacOS system file
.DS_Store .DS_Store
# build result
/build

View File

@@ -81,7 +81,7 @@ archives:
nfpms: nfpms:
- license: AGPL 3.0 - license: AGPL 3.0
homepage: https://github.com/RVC-Project/RVC-Models-Downloader homepage: https://github.com/fumiama/RVC-Models-Downloader
file_name_template: "rvcmd_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}" file_name_template: "rvcmd_{{ .Os }}_{{ .Arch }}{{ if .Arm }}v{{ .Arm }}{{ end }}"
formats: formats:
- deb - deb

33
Makefile Normal file
View File

@@ -0,0 +1,33 @@
PROJECT_NAME := rvcmd
BUILD_PATH := build
RUN_CMD := -h
GOOS := $(go env GOOS)
GOARCH := $(go env GOARCH)
GO_SRC_WIN := $(shell find . -maxdepth 1 -name '*.go' | grep -v '_test.go$$' | grep -v '_windows.go$$')
GO_SRC_NO_WIN := $(shell echo $(GO_SRC_WIN) | grep -v '_windows.go$$')
all:
@$(MAKE) -e bin
bin: gen dir tidy
@if [[ "$(GOARCH)" == "windows" ]]; then \
GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags "-s -w" -trimpath -o $(BUILD_PATH)/$(PROJECT_NAME).exe; \
else \
GOOS=$(GOOS) GOARCH=$(GOARCH) go build -ldflags "-s -w" -trimpath -o $(BUILD_PATH)/$(PROJECT_NAME); \
fi
run: bin
@if [[ "$(GOARCH)" == "windows" ]]; then \
$(BUILD_PATH)/$(PROJECT_NAME).exe $(RUN_CMD); \
else \
$(BUILD_PATH)/$(PROJECT_NAME) $(RUN_CMD); \
fi
gen:
@go generate
tidy:
@go mod tidy
dir:
@if [ ! -d "$(BUILD_PATH)" ]; then mkdir $(BUILD_PATH); fi
clean:
@if [ -d "$(BUILD_PATH)" ]; then \
rm -rf $(BUILD_PATH)/$(PROJECT_NAME)*; \
fi

View File

@@ -1,43 +1,53 @@
# RVC-Models-Downloader # RVC-Models-Downloader
English | [简体中文](README_sc.md)
English | [简体中文](README_sc.md) | [한국어](README_kr.md)
Easy tool to download a batch of files listed in yaml (ex. RVC models in Hugging Face 🤗). Easy tool to download a batch of files listed in yaml (ex. RVC models in Hugging Face 🤗).
![tui demo](https://github.com/RVC-Project/RVC-Models-Downloader/assets/41315874/db577dfb-8a6d-4909-b071-9d36cc77afc6) ![tui demo](https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/db577dfb-8a6d-4909-b071-9d36cc77afc6)
## Quick Start ## Quick Start
### Preparation ### Preparation
1. Download the program at [Release](https://github.com/RVC-Project/RVC-Models-Downloader/releases) page.
1. Download the program at [Release](https://github.com/fumiama/RVC-Models-Downloader/releases) page.
2. Put this program into the root directory of RVC (or whatever position you want to download some files into). 2. Put this program into the root directory of RVC (or whatever position you want to download some files into).
3. You can also add it to the `PATH` to use this tool everywhere. If you have installed this program by a package manager, it may be already in the `PATH`. 3. You can also add it to the `PATH` to use this tool everywhere. If you have installed this program by a package manager, it may be already in the `PATH`.
### Download ### Download
#### All Assets of RVC #### All Assets of RVC
```bash ```bash
rvcmd assets/all rvcmd assets/rvc
``` ```
#### Latest General Pack of RVC (Windows Only)
#### All Assets of ChatTTS
```bash ```bash
rvcmd packs/general/latest rvcmd -w 1 assets/chtts
```
#### ffmpeg Tools (Windows Only)
```bash
rvcmd tools/ffmpeg
``` ```
### Customized Download ### Customized Download
#### Ex.1. Download ffmpeg Tools & Latest Intel Pack
#### Ex.1. Download hubert & rmvpe
1. Write and save the following `cust.yaml`. 1. Write and save the following `cust.yaml`.
```yaml ```yaml
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Refer: tools/ffmpeg - Refer: hubert
- Refer: packs/intel/latest - Refer: rmvpe
``` ```
2. Run `rvcmd` in the same folder. 2. Run `rvcmd` in the same folder.
```bash ```bash
rvcmd -c cust rvcmd -c cust
``` ```
#### Ex.2. Download other Repositories in 🤗 #### Ex.2. Download other Repositories in 🤗
> Use [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5) as the example. > Use [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5) as the example.
1. Write and save the following `cust.yaml`. 1. Write and save the following `cust.yaml`.
```yaml ```yaml
BaseURL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main BaseURL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main
@@ -50,8 +60,11 @@ rvcmd tools/ffmpeg
Copy: # files to download Copy: # files to download
- vae/diffusion_pytorch_model.bin - vae/diffusion_pytorch_model.bin
``` ```
#### Ex.3. Download Releases in GitHub #### Ex.3. Download Releases in GitHub
> Use [yousa-ling-diffsinger-v1.3](https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/tag/v1.3) as the example. > Use [yousa-ling-diffsinger-v1.3](https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/tag/v1.3) as the example.
1. Write and save the following `cust.yaml`. 1. Write and save the following `cust.yaml`.
```yaml ```yaml
BaseURL: https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/download/v1.3 BaseURL: https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/download/v1.3
@@ -64,7 +77,9 @@ rvcmd tools/ffmpeg
```bash ```bash
rvcmd -c cust rvcmd -c cust
``` ```
## Full Usage ## Full Usage
```bash ```bash
Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download' Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download'
-c use custom yaml instruction -c use custom yaml instruction
@@ -75,35 +90,17 @@ Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download'
use standard TLS client use standard TLS client
-notui -notui
use plain text instead of TUI use plain text instead of TUI
-ua string
customize user agent (default "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0")
-w uint -w uint
connection waiting seconds (default 4) connection waiting seconds (default 4)
'target/to/download' 'target/to/download'
like packs/general/latest like packs/general/latest
All available targets: All available targets:
assets: assets:
all hubert rmvpe uvr5 v1 v2 chtts hubert rmvpe rvc uvr5 v1 v2
packs:
amd:
latest
v2:
20230813 20231006
general:
latest
v1:
20230331 20230416 20230428 20230508 20230513 20230516 20230717
v2:
20230528 20230618
intel:
latest
v2:
20230813 20231006
nvidia:
latest
v2:
20230813 20231006
tools:
ffmpeg
``` ```
## Demo Video ## Demo Video
https://github.com/RVC-Project/RVC-Models-Downloader/assets/41315874/da2b5827-8b1a-45f8-a9c0-03a5618ad5f8 https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/da2b5827-8b1a-45f8-a9c0-03a5618ad5f8

106
README_kr.md Normal file
View File

@@ -0,0 +1,106 @@
# RVC-Models-Downloader
[English](README.md) | [简体中文](README_sc.md) | 한국어
yaml의 batch 파일을 쉽게 다운로드 할 수 있는 도구입니다. (Hugging Face 🤗의 RVC 모델 등).
![tui demo](https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/db577dfb-8a6d-4909-b071-9d36cc77afc6)
## 빠른 시작
### 준비
1. [릴리스](https://github.com/fumiama/RVC-Models-Downloader/releases) 페이지에서 프로그램을 다운로드를 받아주세요.
2. 해당 프로그램을 RVC의 루트 디렉토리(또는 파일을 다운로드하고 싶은 위치)에 넣어주세요.
3. 이 도구를 어디에서나 사용할 수 있도록 `PATH`에 추가할 수도 있습니다. 패키지 매니저를 통해 이 프로그램을 설치했다면 이미 `PATH`에 등록되어 있을 수 있습니다.
### 다운로드
#### RVC의 모든 자산
```bash
rvcmd assets/rvc
```
#### ChatTTS의 모든 자산
```bash
rvcmd -w 1 assets/chtts
```
### 사용자 정의 다운로드
#### 예시 1. hubert & rmvpe 다운로드
1. 다음 내용을 포함한 `cust.yaml`을 작성하고 저장합니다.
```yaml
BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets:
- Refer: hubert
- Refer: rmvpe
```
2. 같은 폴더에서 `rvcmd`를 실행합니다.
```bash
rvcmd -c cust
```
#### 예시 2. 🤗의 다른 저장소 다운로드
> [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5)를 예시로 사용합니다.
1. 다음 내용을 포함한 `cust.yaml`을 작성하고 저장합니다.
```yaml
BaseURL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main
Targets:
- Folder: sd1.5 # 다운로드할 폴더
Copy: # 다운로드할 파일
- v1-5-pruned-emaonly.ckpt
- v1-5-pruned-emaonly.safetensors
- Folder: sd1.5/vae # 다운로드할 폴더
Copy: # 다운로드할 파일
- vae/diffusion_pytorch_model.bin
```
#### 예시 3. GitHub에서 릴리스 다운로드
> [yousa-ling-diffsinger-v1.3](https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/tag/v1.3)를 예시로 사용합니다.
1. 다음 내용을 포함한 `cust.yaml`을 작성하고 저장합니다.
```yaml
BaseURL: https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/download/v1.3
Targets:
- Folder: . # 다운로드할 폴더
Copy: # 다운로드할 파일
- yousaV1.3.zip
```
2. 같은 폴더에서 `rvcmd`를 실행합니다.
```bash
rvcmd -c cust
```
## 전체 사용법
```bash
Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download'
-c use custom yaml instruction
-dns string
custom dns.yaml
-f force download even file exists
-notrs
use standard TLS client
-notui
use plain text instead of TUI
-ua string
customize user agent (default "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0")
-w uint
connection waiting seconds (default 4)
'target/to/download'
like packs/general/latest
All available targets:
assets:
chtts hubert rmvpe rvc uvr5 v1 v2
```
## 데모 비디오
https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/da2b5827-8b1a-45f8-a9c0-03a5618ad5f8

View File

@@ -1,43 +1,52 @@
# RVC 模型下载器 # RVC 模型下载器
[English](README.md) | 简体中文
[English](README.md) | 简体中文 | [한국어](README_kr.md)
一个能够批量下载`yaml`清单内文件的简单工具(例如 Hugging Face 🤗 中的 RVC 模型)。 一个能够批量下载`yaml`清单内文件的简单工具(例如 Hugging Face 🤗 中的 RVC 模型)。
![tui demo](https://github.com/RVC-Project/RVC-Models-Downloader/assets/41315874/db577dfb-8a6d-4909-b071-9d36cc77afc6) ![tui demo](https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/db577dfb-8a6d-4909-b071-9d36cc77afc6)
## 快速开始 ## 快速开始
### 准备工作 ### 准备工作
1. 在[发布](https://github.com/RVC-Project/RVC-Models-Downloader/releases)页面下载程序。
1. 在[发布](https://github.com/fumiama/RVC-Models-Downloader/releases)页面下载程序。
2. 将此程序放入 RVC 的根目录(或您想要下载文件的任何位置)。 2. 将此程序放入 RVC 的根目录(或您想要下载文件的任何位置)。
3. 您也可以将它添加到`PATH`中以便在任何地方使用此工具。如果您已经通过包管理器安装了此程序,那么它可能已经位于`PATH` 3. 您也可以将它添加到`PATH`中以便在任何地方使用此工具。如果您已经通过包管理器安装了此程序,那么它可能已经位于`PATH`
### 下载 ### 下载
#### RVC 的所有资源文件 #### RVC 的所有资源文件
```bash ```bash
rvcmd assets/all rvcmd assets/all
``` ```
#### RVC的最新通用整合包仅限Windows
#### ChatTTS 的所有资源文件
```bash ```bash
rvcmd packs/general/latest rvcmd -w 1 assets/chtts
```
#### ffmpeg工具仅限Windows
```bash
rvcmd tools/ffmpeg
``` ```
### 自定义下载 ### 自定义下载
#### 示例1. 下载ffmpeg工具和最新的Intel包
#### 示例 1. 下载 hubert 和 rmvpe
1. 编写并保存以下`cust.yaml` 1. 编写并保存以下`cust.yaml`
```yaml ```yaml
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Refer: tools/ffmpeg - Refer: hubert
- Refer: packs/intel/latest - Refer: rmvpe
``` ```
2. 在同一文件夹中运行`rvcmd`。 2. 在同一文件夹中运行`rvcmd`。
```bash ```bash
rvcmd -c cust rvcmd -c cust
``` ```
#### 示例 2. 下载 🤗 中的其他仓库 #### 示例 2. 下载 🤗 中的其他仓库
> 以 [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5) 为例。 > 以 [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5) 为例。
1. 编写并保存以下`cust.yaml`。 1. 编写并保存以下`cust.yaml`。
```yaml ```yaml
BaseURL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main BaseURL: https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main
@@ -50,8 +59,11 @@ rvcmd tools/ffmpeg
Copy: # files to download Copy: # files to download
- vae/diffusion_pytorch_model.bin - vae/diffusion_pytorch_model.bin
``` ```
#### 示例 3. 下载 GitHub 中的发布版本 #### 示例 3. 下载 GitHub 中的发布版本
> 以 [yousa-ling-diffsinger-v1.3](https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/tag/v1.3) 为例。 > 以 [yousa-ling-diffsinger-v1.3](https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/tag/v1.3) 为例。
1. 编写并保存以下`cust.yaml`。 1. 编写并保存以下`cust.yaml`。
```yaml ```yaml
BaseURL: https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/download/v1.3 BaseURL: https://github.com/yousa-ling-official-production/yousa-ling-diffsinger-v1/releases/download/v1.3
@@ -64,7 +76,9 @@ rvcmd tools/ffmpeg
```bash ```bash
rvcmd -c cust rvcmd -c cust
``` ```
## 完整用法 ## 完整用法
```bash ```bash
Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download' Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download'
-c use custom yaml instruction -c use custom yaml instruction
@@ -75,36 +89,17 @@ Usage: rvcmd [-notrs] [-dns dns.yaml] 'target/to/download'
use standard TLS client use standard TLS client
-notui -notui
use plain text instead of TUI use plain text instead of TUI
-ua string
customize user agent (default "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0")
-w uint -w uint
connection waiting seconds (default 4) connection waiting seconds (default 4)
'target/to/download' 'target/to/download'
like packs/general/latest like packs/general/latest
All available targets: All available targets:
assets: assets:
all hubert rmvpe uvr5 v1 v2 chtts hubert rmvpe rvc uvr5 v1 v2
packs:
amd:
latest
v2:
20230813 20231006
general:
latest
v1:
20230331 20230416 20230428 20230508 20230513 20230516 20230717
v2:
20230528 20230618
intel:
latest
v2:
20230813 20231006
nvidia:
latest
v2:
20230813 20231006
tools:
ffmpeg
``` ```
## 示例录屏 ## 示例录屏
https://github.com/RVC-Project/RVC-Models-Downloader/assets/41315874/da2b5827-8b1a-45f8-a9c0-03a5618ad5f8 https://github.com/fumiama/RVC-Models-Downloader/assets/41315874/da2b5827-8b1a-45f8-a9c0-03a5618ad5f8

14
assets/chtts.yaml Normal file
View File

@@ -0,0 +1,14 @@
BaseURL: https://huggingface.co/2Noise/ChatTTS/resolve/main
Targets:
- Folder: asset
Copy:
- asset/DVAE.pt
- asset/DVAE_full.pt
- asset/Decoder.pt
- asset/GPT.pt
- asset/Vocos.pt
- Folder: asset/tokenizer
Copy:
- asset/tokenizer/special_tokens_map.json
- asset/tokenizer/tokenizer_config.json
- asset/tokenizer/tokenizer.json

View File

@@ -1,5 +1,5 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Folder: assets/hubert - Folder: assets/hubert
Copy: Copy:
- hubert_base.pt - hubert/hubert_base.pt

View File

@@ -1,6 +1,6 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Folder: assets/rmvpe - Folder: assets/rmvpe
Copy: Copy:
- rmvpe.pt - rmvpe/rmvpe.pt
- rmvpe.onnx - rmvpe/rmvpe.onnx

View File

@@ -1,4 +1,4 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Refer: hubert - Refer: hubert
- Refer: rmvpe - Refer: rmvpe

View File

@@ -1,4 +1,4 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Folder: assets/uvr5_weights - Folder: assets/uvr5_weights
Copy: Copy:

View File

@@ -1,4 +1,4 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Refer: hubert - Refer: hubert
- Folder: assets/pretrained - Folder: assets/pretrained

View File

@@ -1,4 +1,4 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main BaseURL: https://huggingface.co/fumiama/RVC-Pretrained-Models/resolve/main
Targets: Targets:
- Refer: hubert - Refer: hubert
- Folder: assets/pretrained_v2 - Folder: assets/pretrained_v2

View File

@@ -1,28 +1,28 @@
Servers: {} Servers: {}
Fallbacks: Fallbacks:
cdn-lfs.huggingface.co: cdn-lfs.huggingface.co:
- 3.163.218.77 - 13.249.146.70
- 3.163.218.75 - 13.249.146.79
- 3.163.218.60 - 13.249.146.118
- 3.163.218.88 - 13.249.146.81
- 2600:9000:26a9:6e00:11:f807:5180:93a1 - 2600:9000:2112:1200:11:f807:5180:93a1
- 2600:9000:26a9:8400:11:f807:5180:93a1 - 2600:9000:2112:5600:11:f807:5180:93a1
- 2600:9000:26a9:e400:11:f807:5180:93a1 - 2600:9000:2112:bc00:11:f807:5180:93a1
- 2600:9000:26a9:6400:11:f807:5180:93a1 - 2600:9000:2112:c200:11:f807:5180:93a1
- 2600:9000:26a9:f400:11:f807:5180:93a1 - 2600:9000:2112:da00:11:f807:5180:93a1
- 2600:9000:26a9:ec00:11:f807:5180:93a1 - 2600:9000:2112:7600:11:f807:5180:93a1
- 2600:9000:26a9:6600:11:f807:5180:93a1 - 2600:9000:2112:6600:11:f807:5180:93a1
- 2600:9000:26a9:fa00:11:f807:5180:93a1 - 2600:9000:2112:be00:11:f807:5180:93a1
huggingface.co: huggingface.co:
- 18.65.159.75 - 18.65.159.75
- 18.65.159.63 - 18.65.159.63
- 18.65.159.2 - 18.65.159.2
- 18.65.159.20 - 18.65.159.20
- 2600:9000:2218:9200:17:b174:6d00:93a1 - 2600:9000:2218:2400:17:b174:6d00:93a1
- 2600:9000:2218:e00:17:b174:6d00:93a1 - 2600:9000:2218:5c00:17:b174:6d00:93a1
- 2600:9000:2218:4800:17:b174:6d00:93a1 - 2600:9000:2218:de00:17:b174:6d00:93a1
- 2600:9000:2218:6c00:17:b174:6d00:93a1 - 2600:9000:2218:3600:17:b174:6d00:93a1
- 2600:9000:2218:b200:17:b174:6d00:93a1 - 2600:9000:2218:3000:17:b174:6d00:93a1
- 2600:9000:2218:6800:17:b174:6d00:93a1 - 2600:9000:2218:3200:17:b174:6d00:93a1
- 2600:9000:2218:c800:17:b174:6d00:93a1 - 2600:9000:2218:2600:17:b174:6d00:93a1
- 2600:9000:2218:2e00:17:b174:6d00:93a1 - 2600:9000:2218:a200:17:b174:6d00:93a1

2
go.mod
View File

@@ -3,7 +3,7 @@ module rvcmd
go 1.22.1 go 1.22.1
require ( require (
github.com/fumiama/terasu v0.0.0-20240502091919-c887e26289a8 github.com/fumiama/terasu v0.0.0-20240710095334-67a8daa3a979
github.com/gizak/termui/v3 v3.1.0 github.com/gizak/termui/v3 v3.1.0
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/sirupsen/logrus v1.9.3 github.com/sirupsen/logrus v1.9.3

4
go.sum
View File

@@ -5,8 +5,8 @@ github.com/RomiChan/syncx v0.0.0-20240418144900-b7402ffdebc7/go.mod h1:vD7Ra3Q9o
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/fumiama/terasu v0.0.0-20240502091919-c887e26289a8 h1:mVOgOhlrF0ra8/BkwVA71ev/1HkzAgDn8gWU2UNbDU8= github.com/fumiama/terasu v0.0.0-20240710095334-67a8daa3a979 h1:1xSO4SvPfiw5TVeaS5ASFcl82rXH3jG8Obab0+JOC/8=
github.com/fumiama/terasu v0.0.0-20240502091919-c887e26289a8/go.mod h1:UVx8YP1jKKL1Cj+uy+OnQRM2Ih6U36Mqy9GSf7jabsI= github.com/fumiama/terasu v0.0.0-20240710095334-67a8daa3a979/go.mod h1:UVx8YP1jKKL1Cj+uy+OnQRM2Ih6U36Mqy9GSf7jabsI=
github.com/gizak/termui/v3 v3.1.0 h1:ZZmVDgwHl7gR7elfKf1xc4IudXZ5qqfDh4wExk4Iajc= github.com/gizak/termui/v3 v3.1.0 h1:ZZmVDgwHl7gR7elfKf1xc4IudXZ5qqfDh4wExk4Iajc=
github.com/gizak/termui/v3 v3.1.0/go.mod h1:bXQEBkJpzxUAKf0+xq9MSWAvWZlE7c+aidmyFlkYTrY= github.com/gizak/termui/v3 v3.1.0/go.mod h1:bXQEBkJpzxUAKf0+xq9MSWAvWZlE7c+aidmyFlkYTrY=
github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o=

10
main.go
View File

@@ -18,9 +18,7 @@ import (
_ "rvcmd/console" _ "rvcmd/console"
) )
//go:generate ./pckcfg.sh assets packs tools //go:generate ./pckcfg.sh assets
const ua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0"
var ( var (
notui = false notui = false
@@ -33,10 +31,12 @@ func main() {
cust := flag.Bool("c", false, "use custom yaml instruction") cust := flag.Bool("c", false, "use custom yaml instruction")
force := flag.Bool("f", false, "force download even file exists") force := flag.Bool("f", false, "force download even file exists")
wait := flag.Uint("w", 4, "connection waiting seconds") wait := flag.Uint("w", 4, "connection waiting seconds")
ua := flag.String("ua", defua, "customize user agent")
h := flag.Bool("h", false, "display this help")
flag.BoolVar(&notui, "notui", false, "use plain text instead of TUI") flag.BoolVar(&notui, "notui", false, "use plain text instead of TUI")
flag.Parse() flag.Parse()
args := flag.Args() args := flag.Args()
if len(args) != 1 { if len(args) != 1 || *h {
fmt.Println("Usage:", os.Args[0], "[-notrs] [-dns dns.yaml] 'target/to/download'") fmt.Println("Usage:", os.Args[0], "[-notrs] [-dns dns.yaml] 'target/to/download'")
flag.PrintDefaults() flag.PrintDefaults()
fmt.Println(" 'target/to/download'\n like packs/general/latest") fmt.Println(" 'target/to/download'\n like packs/general/latest")
@@ -89,7 +89,7 @@ func main() {
} }
ch := make(chan struct{}) ch := make(chan struct{})
go func() { go func() {
err := usercfg.download(args[0], "", time.Second*time.Duration(*wait), *cust, !*ntrs, *force) err := usercfg.download(args[0], "", *ua, time.Second*time.Duration(*wait), *cust, !*ntrs, *force)
ch <- struct{}{} ch <- struct{}{}
if err != nil { if err != nil {
errorln(err) errorln(err)

10
net.go
View File

@@ -11,11 +11,11 @@ import (
"sync" "sync"
"time" "time"
"github.com/fumiama/terasu/http2" trshttp "github.com/fumiama/terasu/http"
"github.com/pkg/errors" "github.com/pkg/errors"
) )
func (c *config) download(path, prefix string, waits time.Duration, usecust, usetrs, force bool) error { func (c *config) download(path, prefix, ua string, waits time.Duration, usecust, usetrs, force bool) error {
for i, t := range c.Targets { for i, t := range c.Targets {
if t.Refer != "" { if t.Refer != "" {
refp := path[:strings.LastIndex(path, "/")+1] + t.Refer refp := path[:strings.LastIndex(path, "/")+1] + t.Refer
@@ -24,7 +24,7 @@ func (c *config) download(path, prefix string, waits time.Duration, usecust, use
if err != nil { if err != nil {
return err return err
} }
err = refcfg.download(refp, prefix+strconv.Itoa(i+1)+".", waits, usecust, usetrs, force) err = refcfg.download(refp, prefix+strconv.Itoa(i+1)+".", ua, waits, usecust, usetrs, force)
if err != nil { if err != nil {
return err return err
} }
@@ -70,10 +70,12 @@ func (c *config) download(path, prefix string, waits time.Duration, usecust, use
return return
} }
infof("#%s%d get: %s", prefix, i+1, req.URL) infof("#%s%d get: %s", prefix, i+1, req.URL)
if len(ua) > 0 {
req.Header.Add("user-agent", ua) req.Header.Add("user-agent", ua)
}
var resp *http.Response var resp *http.Response
if usetrs { if usetrs {
resp, err = http2.DefaultClient.Do(req) resp, err = trshttp.DefaultClient.Do(req)
} else { } else {
resp, err = http.DefaultClient.Do(req) resp, err = http.DefaultClient.Do(req)
} }

View File

@@ -1,3 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Refer: v2/20231006

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC0813AMD_Intel.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC1006AMD_Intel.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta-v20230331.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta20230416.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta20230428.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta20230508.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta-20230513.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta20230516.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta0717.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta-v2-0528.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC-beta-v2-0618.7z
OS: windows
Arch: amd64

View File

@@ -1,3 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Refer: v2/20231006

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC0813AMD_Intel.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC1006AMD_Intel.7z
OS: windows
Arch: amd64

View File

@@ -1,3 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Refer: v2/20231006

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC0813Nvidia.7z
OS: windows
Arch: amd64

View File

@@ -1,7 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- RVC1006Nvidia.7z
OS: windows
Arch: amd64

View File

@@ -1,8 +0,0 @@
BaseURL: https://huggingface.co/lj1995/VoiceConversionWebUI/resolve/main
Targets:
- Folder: .
Copy:
- ffmpeg.exe
- ffprobe.exe
OS: windows
Arch: amd64

5
ua.go Normal file
View File

@@ -0,0 +1,5 @@
//go:build !windows
package main
const defua = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0"

3
ua_windows.go Normal file
View File

@@ -0,0 +1,3 @@
package main
const defua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.0.0"