Skip to content

Commit fee6031

Browse files
authored
chore: rename crate from proxy-convert to subforge (#9)
- Cargo.toml: package/lib/bin name, repository URL, description, keywords - Cargo.lock: regenerated with new package name - .github/workflows/{build,release}.yml: BINARY_NAME → subforge - src/**, tests/**, README*: update all references to the new name No behavioral change.
1 parent a24af8c commit fee6031

17 files changed

Lines changed: 167 additions & 162 deletions

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
branches: [main, master]
99

1010
env:
11-
BINARY_NAME: proxy-convert
11+
BINARY_NAME: subforge
1212
RUST_BACKTRACE: 1
1313

1414
jobs:

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- 'v*'
77

88
env:
9-
BINARY_NAME: proxy-convert
9+
BINARY_NAME: subforge
1010
RUST_BACKTRACE: 1
1111

1212
jobs:

Cargo.lock

Lines changed: 29 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
[package]
2-
name = "proxy-convert"
2+
name = "subforge"
33
version = "2.0.0"
44
edition = "2021"
55
authors = ["Messica <Messica@example.com>"]
6-
description = "A modern, extensible tool for converting between different proxy configuration formats with multi-input integration support (Clash, Sing-box, V2Ray, etc.)"
6+
description = "A modern, extensible tool for forging unified proxy configurations from multiple subscription sources (Clash, Sing-box, V2Ray, etc.) with template-driven node selection."
77
license = "MIT"
8-
repository = "https://github.com/picopock/proxy-convert"
9-
keywords = ["proxy", "clash", "sing-box", "v2ray", "subscription", "converter", "configuration", "multi-input", "integration"]
8+
repository = "https://github.com/bitxwave/subforge"
9+
keywords = ["proxy", "clash", "sing-box", "v2ray", "subscription"]
1010
categories = ["command-line-utilities", "network-programming"]
1111

1212
[lib]
13-
name = "proxy_convert"
13+
name = "subforge"
1414
path = "src/lib.rs"
1515

1616
[dependencies]
@@ -50,7 +50,7 @@ tempfile = "3.23"
5050
wiremock = "0.6"
5151

5252
[[bin]]
53-
name = "proxy-convert"
53+
name = "subforge"
5454
path = "src/main.rs"
5555

5656
[profile.release]

README.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
# Proxy Config Converter
1+
# SubForge
22

3-
A modern, extensible proxy configuration conversion tool supporting conversion and multi-source integration between various proxy configuration formats.
3+
> Forge unified proxy configurations from multiple subscription sources.
4+
5+
A modern, extensible Rust CLI that merges multiple proxy subscription sources (Clash, Sing-box, V2Ray, etc.) into a single configuration via template-driven node selection.
46

57
## 🚀 Features
68

@@ -21,15 +23,15 @@ A modern, extensible proxy configuration conversion tool supporting conversion a
2123
### Build from source
2224

2325
```bash
24-
git clone https://github.com/your-username/proxy-convert.git
25-
cd proxy-convert
26+
git clone https://github.com/bitxwave/subforge.git
27+
cd subforge
2628
cargo build --release
2729
```
2830

2931
### Install via Cargo
3032

3133
```bash
32-
cargo install --git https://github.com/your-username/proxy-convert.git
34+
cargo install --git https://github.com/bitxwave/subforge.git
3335
```
3436

3537
## 🎯 Quick Start
@@ -38,20 +40,20 @@ cargo install --git https://github.com/your-username/proxy-convert.git
3840

3941
```bash
4042
# Recommended: URL-style (path/url + query params)
41-
proxy-convert convert --source "./clash.yaml?type=clash"
42-
proxy-convert convert --source "https://example.com/sub?type=clash&name=my&flag=clash" -o config.json
43+
subforge convert --source "./clash.yaml?type=clash"
44+
subforge convert --source "https://example.com/sub?type=clash&name=my&flag=clash" -o config.json
4345

4446
# Legacy: name@type@source or type@source
45-
proxy-convert convert --source "clash1@clash@./clash.yaml" --source "singbox1@sing-box@./singbox.json" -o config.json
47+
subforge convert --source "clash1@clash@./clash.yaml" --source "singbox1@sing-box@./singbox.json" -o config.json
4648

4749
# Validate config file
48-
proxy-convert validate config.json
50+
subforge validate config.json
4951

5052
# Generate template
51-
proxy-convert template singbox --output template.json
53+
subforge template singbox --output template.json
5254

5355
# Show version info
54-
proxy-convert version
56+
subforge version
5557
```
5658

5759
## 🔧 Multi-Source Mode
@@ -212,7 +214,7 @@ When using `source-name@tag` format, the final node tags automatically include s
212214
### `convert` - Convert config format
213215

214216
```bash
215-
proxy-convert convert [OPTIONS] --source <SOURCE> [--source <SOURCE>...]
217+
subforge convert [OPTIONS] --source <SOURCE> [--source <SOURCE>...]
216218
```
217219

218220
**Arguments:**
@@ -231,7 +233,7 @@ proxy-convert convert [OPTIONS] --source <SOURCE> [--source <SOURCE>...]
231233
### `validate` - Validate config format
232234

233235
```bash
234-
proxy-convert validate <FILE> [OPTIONS]
236+
subforge validate <FILE> [OPTIONS]
235237
```
236238

237239
**Arguments:**
@@ -245,7 +247,7 @@ proxy-convert validate <FILE> [OPTIONS]
245247
### `template` - Generate template
246248

247249
```bash
248-
proxy-convert template [OPTIONS]
250+
subforge template [OPTIONS]
249251
```
250252

251253
**Options:**
@@ -256,7 +258,7 @@ proxy-convert template [OPTIONS]
256258
### `version` - Show version info
257259

258260
```bash
259-
proxy-convert version
261+
subforge version
260262
```
261263

262264
## ⚙️ Configuration
@@ -266,21 +268,21 @@ proxy-convert version
266268
The program will look for config files in the following order:
267269

268270
1. `config.yaml` or `config.yml` in the current directory
269-
2. `proxy-convert/config.yaml` or `config.yml` in the user config directory
271+
2. `subforge/config.yaml` or `config.yml` in the user config directory
270272

271273
### Config Example
272274

273275
```yaml
274276
# config.yaml
275-
user_agent: "ProxyConfigConverter/3.0.0"
277+
user_agent: "SubForge/2.0.0"
276278
timeout_seconds: 30
277279
retry_count: 3
278280
cache_ttl_seconds: 3600
279281
log_level: info
280282
output_format: json
281283
default_input_format: clash
282284
default_output_format: singbox
283-
template_dir: ~/.config/proxy-convert/templates
285+
template_dir: ~/.config/subforge/templates
284286
# sources: same format as --source, e.g. ["path?type=clash&name=my"]
285287
# sources:
286288
# - "./clash.yaml?type=clash&name=clash1"
@@ -289,12 +291,12 @@ template_dir: ~/.config/proxy-convert/templates
289291

290292
### Environment Variables
291293

292-
All config items can be overridden by environment variables in the format `PROXY_CONVERT_<KEY>`:
294+
All config items can be overridden by environment variables in the format `SUBFORGE_<KEY>`:
293295

294296
```bash
295-
export PROXY_CONVERT_LOG_LEVEL=debug
296-
export PROXY_CONVERT_TIMEOUT_SECONDS=60
297-
export PROXY_CONVERT_DEFAULT_OUTPUT_FORMAT=v2ray
297+
export SUBFORGE_LOG_LEVEL=debug
298+
export SUBFORGE_TIMEOUT_SECONDS=60
299+
export SUBFORGE_DEFAULT_OUTPUT_FORMAT=v2ray
298300
```
299301

300302
## 🏗️ Project Structure

README.zh-CN.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
# Proxy Config Converter
1+
# SubForge
22

3-
一个现代化、可扩展的代理配置转换工具,支持多种代理配置格式之间的转换和多输入整合。
3+
> 多源订阅锻造为一份统一代理配置。
4+
5+
现代化、可扩展的 Rust CLI 工具:把多个代理订阅源(Clash、Sing-box、V2Ray 等)按模板规则锻造成一份统一的代理配置。
46

57
## 📑 目录
68

@@ -34,15 +36,15 @@
3436
### 源码编译
3537

3638
```bash
37-
git clone https://github.com/your-username/proxy-convert.git
38-
cd proxy-convert
39+
git clone https://github.com/bitxwave/subforge.git
40+
cd subforge
3941
cargo build --release
4042
```
4143

4244
### 使用 Cargo 安装
4345

4446
```bash
45-
cargo install --git https://github.com/your-username/proxy-convert.git
47+
cargo install --git https://github.com/bitxwave/subforge.git
4648
```
4749

4850
## 🎯 快速开始
@@ -54,7 +56,7 @@ cargo install --git https://github.com/your-username/proxy-convert.git
5456
- 转换订阅
5557

5658
```bash
57-
proxy-convert convert [OPTIONS] --source <SOURCE> [--source <SOURCE>...]
59+
subforge convert [OPTIONS] --source <SOURCE> [--source <SOURCE>...]
5860
```
5961

6062
**选项:**
@@ -82,40 +84,40 @@ cargo install --git https://github.com/your-username/proxy-convert.git
8284
- **验证配置文件**:验证配置文件的格式
8385
8486
```bash
85-
proxy-convert validate <FILE> [-f, --format <FORMAT>]
87+
subforge validate <FILE> [-f, --format <FORMAT>]
8688
```
8789

8890
- **生成模板**
8991

9092
```bash
91-
proxy-convert template [-o, --output <OUTPUT>] [-t, --template-type <TYPE>]
93+
subforge template [-o, --output <OUTPUT>] [-t, --template-type <TYPE>]
9294
```
9395

9496
- **显示版本信息**
9597

9698
```bash
97-
proxy-convert version
99+
subforge version
98100
```
99101

100102
#### 使用示例
101103

102104
```bash
103105
# 单源
104-
proxy-convert convert --source "./clash.yaml?type=clash"
106+
subforge convert --source "./clash.yaml?type=clash"
105107

106108
# 多源(可带 name、flag)
107-
proxy-convert convert \
109+
subforge convert \
108110
--source "https://example.com/sub?type=clash&name=my&flag=clash" \
109111
--source "examples/sources/Eternal Network?type=singbox" \
110112
-o config.json
111113

112114
# 使用配置文件(sources 格式与 --source 一致)
113-
proxy-convert convert --config examples/config.yaml -o config.json
115+
subforge convert --config examples/config.yaml -o config.json
114116

115117
# 其他命令
116-
proxy-convert validate config.json
117-
proxy-convert template singbox --output template.json
118-
proxy-convert version
118+
subforge validate config.json
119+
subforge template singbox --output template.json
120+
subforge version
119121
```
120122

121123
## 📋 插值规则系统 ✨
@@ -289,7 +291,7 @@ proxy-convert version
289291
程序会按以下顺序查找配置文件:
290292

291293
1. 当前目录下的 `config.yaml``config.yml`
292-
2. 用户配置目录下的 `proxy-convert/config.yaml``config.yml`
294+
2. 用户配置目录下的 `subforge/config.yaml``config.yml`
293295

294296
**配置文件优先级:**
295297

@@ -299,7 +301,7 @@ proxy-convert version
299301

300302
```yaml
301303
# config.yaml
302-
user_agent: "ProxyConfigConverter/3.0.0"
304+
user_agent: "SubForge/2.0.0"
303305
timeout_seconds: 30
304306
retry_count: 3
305307
log_level: info
@@ -325,12 +327,12 @@ default_output_format: singbox
325327

326328
### 环境变量
327329

328-
所有配置项均可通过环境变量覆盖,格式为 `PROXY_CONVERT_<KEY>`(嵌套键使用 `__`):
330+
所有配置项均可通过环境变量覆盖,格式为 `SUBFORGE_<KEY>`(嵌套键使用 `__`):
329331

330332
```bash
331-
export PROXY_CONVERT_LOG_LEVEL=debug
332-
export PROXY_CONVERT_TIMEOUT_SECONDS=60
333-
export PROXY_CONVERT_DEFAULT_OUTPUT_FORMAT=v2ray
333+
export SUBFORGE_LOG_LEVEL=debug
334+
export SUBFORGE_TIMEOUT_SECONDS=60
335+
export SUBFORGE_DEFAULT_OUTPUT_FORMAT=v2ray
334336
```
335337

336338
**配置优先级:** 命令行 > 环境变量 > 配置文件 > 默认值

0 commit comments

Comments
 (0)