Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a6f37a961c | |||
| 9d4c7d57b8 | |||
| ae6c580d25 |
@ -51,8 +51,13 @@
|
|||||||
- :hammer: 重构代码!使用mpsc进行线程通讯。
|
- :hammer: 重构代码!使用mpsc进行线程通讯。
|
||||||
|
|
||||||
|
|
||||||
## [2.5.10] - 2025.3.15
|
## [2.5.11] - 2025.3.15
|
||||||
|
- 修正依赖版本号
|
||||||
### Features :sparkles:
|
### Features :sparkles:
|
||||||
- 重新进度条支持!美观了不少啊
|
- 重新进度条支持!美观了不少啊
|
||||||
### Refactoring
|
### Refactoring
|
||||||
- :hammer: 重构大量代码!
|
- :hammer: 重构大量代码!
|
||||||
|
|
||||||
|
## [2.6.11] - 2025.3.15
|
||||||
|
### Features :sparkles:
|
||||||
|
- 更新自动打开文件夹选项,当解密结束后自动调用文件管理器打开输出目录
|
||||||
7
Cargo.lock
generated
7
Cargo.lock
generated
@ -331,11 +331,10 @@ checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "colored"
|
name = "colored"
|
||||||
version = "2.2.0"
|
version = "3.0.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c"
|
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"lazy_static",
|
|
||||||
"windows-sys",
|
"windows-sys",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -812,7 +811,7 @@ checksum = "07dcca13d1740c0a665f77104803360da0bdb3323ecce2e93fa2c959a6d52806"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ncmmiao"
|
name = "ncmmiao"
|
||||||
version = "2.5.10"
|
version = "2.6.11"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aes",
|
"aes",
|
||||||
"audiotags",
|
"audiotags",
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "ncmmiao"
|
name = "ncmmiao"
|
||||||
version = "2.5.10"
|
version = "2.6.11"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Lkhsss <lkhsss1019@gmail.com>"]
|
authors = ["Lkhsss <lkhsss1019@gmail.com>"]
|
||||||
description = "A magic tool convert ncm to flac"
|
description = "A magic tool convert ncm to flac"
|
||||||
@ -17,8 +17,8 @@ audiotags = {version = "0.5.0",default-features = false}
|
|||||||
base64 = {version = "0.22.*"}
|
base64 = {version = "0.22.*"}
|
||||||
chrono = {version = "0.4.*",features = ["clock"],default-features = false}
|
chrono = {version = "0.4.*",features = ["clock"],default-features = false}
|
||||||
clap = { version = "4.5.*", features = ["derive","std"]}
|
clap = { version = "4.5.*", features = ["derive","std"]}
|
||||||
colored = {version = "*",default-features = false}
|
colored = {version = "3.0.0",default-features = false}
|
||||||
env_logger = {version = "*",default-features = false}
|
env_logger = {version = "0.11.7",default-features = false}
|
||||||
hex = "0.4.3"
|
hex = "0.4.3"
|
||||||
image = "0.25.*"
|
image = "0.25.*"
|
||||||
indicatif = "0.17.9"
|
indicatif = "0.17.9"
|
||||||
|
|||||||
@ -1,14 +1,16 @@
|
|||||||
# NcmMiao :tada:
|
# NcmMiao :tada:
|
||||||
[](https://github.com/Lkhsss/NcmMiao/actions/workflows/build.yml)
|
[](https://github.com/Lkhsss/NcmMiao/actions/workflows/build.yml)
|
||||||
|
|
||||||
一个使用Rust语言编写的ncm文件解密工具(第一!😆)。
|
一个使用Rust语言编写的ncm文件解密工具😆。
|
||||||
|
|
||||||
### 功能及特点
|
### 功能及特点
|
||||||
- 支持单一文件,多文件夹递归批量解密。
|
- 支持单一文件,多文件夹递归批量解密。
|
||||||
- 完善的日志功能
|
- 完善的日志功能
|
||||||
- Colorful
|
- Colorful
|
||||||
- 编译文件小,解密快
|
- 编译文件小,解密快
|
||||||
- [New!]支持自动添加封面!
|
- 支持自动添加封面!
|
||||||
|
- 自动打开输出文件夹
|
||||||
|
- 简约美观
|
||||||
|
|
||||||
## 编译
|
## 编译
|
||||||
```
|
```
|
||||||
|
|||||||
@ -19,4 +19,8 @@ pub struct Cli {
|
|||||||
/// 强制覆盖保存开关
|
/// 强制覆盖保存开关
|
||||||
#[arg(short, long, name = "强制覆盖开关")]
|
#[arg(short, long, name = "强制覆盖开关")]
|
||||||
pub forcesave: bool,
|
pub forcesave: bool,
|
||||||
|
|
||||||
|
/// 自动打开输出目录
|
||||||
|
#[arg(short,long,name="自动打开输出目录")]
|
||||||
|
pub autoopen:bool,
|
||||||
}
|
}
|
||||||
|
|||||||
10
src/main.rs
10
src/main.rs
@ -19,6 +19,7 @@ mod ncmdump;
|
|||||||
mod pathparse;
|
mod pathparse;
|
||||||
mod test;
|
mod test;
|
||||||
mod threadpool;
|
mod threadpool;
|
||||||
|
mod opendir;
|
||||||
use ncmdump::Ncmfile;
|
use ncmdump::Ncmfile;
|
||||||
|
|
||||||
const DEFAULT_MAXWORKER:usize = 8;
|
const DEFAULT_MAXWORKER:usize = 8;
|
||||||
@ -118,7 +119,14 @@ fn main() {
|
|||||||
successful.to_string().bright_green(),
|
successful.to_string().bright_green(),
|
||||||
(taskcount - successful).to_string().bright_red(),
|
(taskcount - successful).to_string().bright_red(),
|
||||||
showtime()
|
showtime()
|
||||||
)
|
);
|
||||||
|
|
||||||
|
// 自动打开输出文件夹
|
||||||
|
if cli.autoopen{
|
||||||
|
opendir::opendir(outputdir.into());
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
lazy_static! {
|
lazy_static! {
|
||||||
|
|||||||
34
src/opendir.rs
Normal file
34
src/opendir.rs
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
use log::error;
|
||||||
|
use std::{path::PathBuf, process::Command};
|
||||||
|
|
||||||
|
#[cfg(target_os = "windows")]
|
||||||
|
pub fn opendir(dir: PathBuf) {
|
||||||
|
match Command::new("explorer")
|
||||||
|
.arg(&dir) // <- Specify the directory you'd like to open.
|
||||||
|
.spawn()
|
||||||
|
{
|
||||||
|
Err(_) => error!("无法打开输出文件夹:[{}]", dir.display()),
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
pub fn opendir(dir: PathBuf) {
|
||||||
|
match Command::new("open")
|
||||||
|
.arg(&dir) // <- Specify the directory you'd like to open.
|
||||||
|
.spawn()
|
||||||
|
{
|
||||||
|
Err(_) => error!("无法打开输出文件夹:[{}]", dir.display()),
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#[cfg(target_os = "macos")]
|
||||||
|
pub fn opendir(dir: PathBuf) {
|
||||||
|
match Command::new("open")
|
||||||
|
.arg(&dir) // <- Specify the directory you'd like to open.
|
||||||
|
.spawn()
|
||||||
|
{
|
||||||
|
Err(_) => error!("无法打开输出文件夹:[{}]", dir.display()),
|
||||||
|
_ => (),
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user