mirror of
https://github.com/nitezs/sub2sing-box.git
synced 2024-12-23 14:34:41 -05:00
⚡Auto detect if need country group
This commit is contained in:
parent
59a258f4ef
commit
5fea337b6c
@ -21,13 +21,15 @@ data 为 base64 URL 编码(将编码字符串中`/`替换为`_`,`+`替换为`-
|
|||||||
"template": "模板路径/网络地址",
|
"template": "模板路径/网络地址",
|
||||||
"delete": "",
|
"delete": "",
|
||||||
"rename": {"原文本": "新文本"},
|
"rename": {"原文本": "新文本"},
|
||||||
"group": false,
|
|
||||||
"group-type": "selector",
|
"group-type": "selector",
|
||||||
"sort": "name",
|
"sort": "name",
|
||||||
"sort-type": "asc"
|
"sort-type": "asc"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
该 JSON 同时可用于 `convert` 的 `--config` 参数,以便本地生成 sing-box 配置。
|
||||||
|
例如将上方 JSON 内容存放于 `config.json` 后执行 `sub2sing-box convert -c ./config.json` 即可生成 sing-box 配置,免去每次生成时重复设置参数
|
||||||
|
|
||||||
## Template 占位符
|
## Template 占位符
|
||||||
|
|
||||||
- `<all-proxy-tags>`: 插入所有节点标签
|
- `<all-proxy-tags>`: 插入所有节点标签
|
||||||
|
@ -19,7 +19,6 @@ var (
|
|||||||
output string
|
output string
|
||||||
delete string
|
delete string
|
||||||
rename map[string]string
|
rename map[string]string
|
||||||
group bool
|
|
||||||
groupType string
|
groupType string
|
||||||
sortKey string
|
sortKey string
|
||||||
sortType string
|
sortType string
|
||||||
@ -33,7 +32,6 @@ func init() {
|
|||||||
convertCmd.Flags().StringVarP(&output, "output", "o", "", "output file path")
|
convertCmd.Flags().StringVarP(&output, "output", "o", "", "output file path")
|
||||||
convertCmd.Flags().StringVarP(&delete, "delete", "d", "", "delete proxy with regex")
|
convertCmd.Flags().StringVarP(&delete, "delete", "d", "", "delete proxy with regex")
|
||||||
convertCmd.Flags().StringToStringVarP(&rename, "rename", "r", nil, "rename proxy with regex")
|
convertCmd.Flags().StringToStringVarP(&rename, "rename", "r", nil, "rename proxy with regex")
|
||||||
convertCmd.Flags().BoolVarP(&group, "group", "g", false, "group proxies by country")
|
|
||||||
convertCmd.Flags().StringVarP(&groupType, "group-type", "G", "selector", "group type, selector or urltest")
|
convertCmd.Flags().StringVarP(&groupType, "group-type", "G", "selector", "group type, selector or urltest")
|
||||||
convertCmd.Flags().StringVarP(&sortKey, "sort", "S", "tag", "sort key, tag or num")
|
convertCmd.Flags().StringVarP(&sortKey, "sort", "S", "tag", "sort key, tag or num")
|
||||||
convertCmd.Flags().StringVarP(&sortType, "sort-type", "T", "asc", "sort type, asc or desc")
|
convertCmd.Flags().StringVarP(&sortType, "sort-type", "T", "asc", "sort type, asc or desc")
|
||||||
|
@ -90,7 +90,13 @@ func Convert(
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
reg := regexp.MustCompile("\"<[A-Za-z]{2}>\"")
|
reg := regexp.MustCompile("\"<[A-Za-z]{2}>\"")
|
||||||
if reg.MatchString(templateDate) || strings.Contains(templateDate, constant.AllCountryTags) {
|
group := false
|
||||||
|
for _, v := range model.CountryEnglishName {
|
||||||
|
if strings.Contains(templateDate, v) {
|
||||||
|
group = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if reg.MatchString(templateDate) || strings.Contains(templateDate, constant.AllCountryTags) || group {
|
||||||
outbounds = AddCountryGroup(outbounds, groupType, sortKey, sortType)
|
outbounds = AddCountryGroup(outbounds, groupType, sortKey, sortType)
|
||||||
}
|
}
|
||||||
var template model.Config
|
var template model.Config
|
||||||
|
Loading…
Reference in New Issue
Block a user