Forwarded from Aera
https://github.com/GUI-for-Cores/GUI.for.SingBox/releases/tag/v1.2.8
GUI.for.SingBox v1.2.8版本发布了
主要更新内容如下:
1.合并了GUI.for.Clash v1.3.0中介绍的新特性
3.支持在应用内创建和编辑本地规则集文件
4.支持在应用内创建和编辑本地订阅文件
5.修复了在Fake-IP Range(IPV*)在为空时,错误的生成了inet*_range字段的问题
6.支持了应用内手动清除核心的持久化缓存文件
7.内联规则更新了新的json编辑器UI
GUI.for.SingBox v1.2.8版本发布了
主要更新内容如下:
1.合并了GUI.for.Clash v1.3.0中介绍的新特性
3.支持在应用内创建和编辑本地规则集文件
4.支持在应用内创建和编辑本地订阅文件
5.修复了在Fake-IP Range(IPV*)在为空时,错误的生成了inet*_range字段的问题
6.支持了应用内手动清除核心的持久化缓存文件
7.内联规则更新了新的json编辑器UI
GUI.for.Clash 【v1.3.1 已发布】
Features
- 主页添加重启core按钮
- 请求支持系统代理,如订阅、更新APP、更新core
- 更多的排序:代理编辑、规则编辑
- chore: 更好的节点延迟颜色
- fix: 编辑节点失败时错误的关闭了编辑器
- fix: 部分组件ID相同引起的BUG
- fix: 代码编辑器的主题切换
- fix: 重复的订阅代理前缀
下载地址
Features
- 主页添加重启core按钮
- 请求支持系统代理,如订阅、更新APP、更新core
- 更多的排序:代理编辑、规则编辑
- chore: 更好的节点延迟颜色
- fix: 编辑节点失败时错误的关闭了编辑器
- fix: 部分组件ID相同引起的BUG
- fix: 代码编辑器的主题切换
- fix: 重复的订阅代理前缀
下载地址
Forwarded from Aera
https://github.com/GUI-for-Cores/GUI.for.SingBox/releases/tag/v1.2.9
GUI.for.SingBox v1.2.9版本发布了
主要更新内容如下:
- 合并了GUI.for.Clash v1.3.1中介绍的内容
- 添加了"手动管理"规则集类型
- 添加了"手动管理"的订阅类型
GUI.for.SingBox v1.2.9版本发布了
主要更新内容如下:
- 合并了GUI.for.Clash v1.3.1中介绍的内容
- 添加了"手动管理"规则集类型
- 添加了"手动管理"的订阅类型
GUI.for.Clash 【v1.3.2 已发布 - 插件系统尝鲜版】
重要:因为插件系统提供的能力太强,请不要随意安装来历不明,代码加密,难以审计的插件!
Features
- 支持更多的内核dns配置
- 插件系统
下载地址
重要:因为插件系统提供的能力太强,请不要随意安装来历不明,代码加密,难以审计的插件!
Features
- 支持更多的内核dns配置
- 插件系统
下载地址
👍3
插件系统使用说明:
目前支持4种触发器:手动触发、更新订阅时、生成配置时、启动APP时。
添加面板参数说明:
“需要安装”:开启时需要在代码里写onInstall和onUninstall方法,分别在点击安装和卸载按钮时触发;还需要添加一个onRun方法,在点击运行按钮时触发。
1、手动触发插件代码示例
2、更新订阅时插件代码示例
3、生成配置时插件代码示例
4、启动APP时插件代码示例
插件具有的能力可以按下Ctrl+Shift+F12打开开发者面板,切换到控制台,输入Plugins并回车查看。
因插件系统开放了全部能力,请使用者不要随意安装插件!避免系统受损。
请勿安装加密、过于复杂、代码难以审计的插件。
目前支持4种触发器:手动触发、更新订阅时、生成配置时、启动APP时。
添加面板参数说明:
“需要安装”:开启时需要在代码里写onInstall和onUninstall方法,分别在点击安装和卸载按钮时触发;还需要添加一个onRun方法,在点击运行按钮时触发。
1、手动触发插件代码示例
const onInstall = async () => {}
const onUninstall = async () => {}
const onRun = async () => {}
2、更新订阅时插件代码示例
// proxies可能是base64字符串,也可能是一个数组
// 请返回一个代理数组[]
const onSubscribe = (proxies) => {
if(Plugins.isValidBase64(proxies)) {
// 待实现
return []
}
// 示例:把节点名称中的新加坡替换为空
proxies = proxies.map(v => {
return {
...v,
name: v.name.replace('新加坡', '')
}
})
return proxies
}
3、生成配置时插件代码示例
const onGenerate = (config) => {
// 移除tun配置
delete config.tun
// 关闭DNS服务器
config.dns.enable = false
return config
}
4、启动APP时插件代码示例
const onStartup = () => {
alert('APP启动了')
}
插件具有的能力可以按下Ctrl+Shift+F12打开开发者面板,切换到控制台,输入Plugins并回车查看。
因插件系统开放了全部能力,请使用者不要随意安装插件!避免系统受损。
请勿安装加密、过于复杂、代码难以审计的插件。
GUI.for.Clash 【v1.3.3 已发布 - 插件系统尝鲜版】
重要:因为插件系统提供的能力太强,请不要随意安装来历不明、代码加密、难以审计的插件!
Features
- 增加
- 修改部分API、增加部分API
关闭APP时触发器需要在500ms内处理完毕,请勿做耗时操作。
示例:
下载地址
重要:因为插件系统提供的能力太强,请不要随意安装来历不明、代码加密、难以审计的插件!
Features
- 增加
关闭APP时触发器- 修改部分API、增加部分API
关闭APP时触发器需要在500ms内处理完毕,请勿做耗时操作。
示例:
const onShutdown = () => {
Plugins.Writefile('data/shutdown.txt', 'shutdown')
}
下载地址
🥰1
GUI.for.Clash 【v1.3.4 已发布 插件系统正式版】
重要:因为插件系统提供的能力太强,请不要随意安装来历不明、代码加密、难以审计的插件!
Features
- 插件支持热更新
- 插件支持多触发器
- 插件支持消息提示
- 更多的插件能力:配置管理、订阅管理、规则组管理、插件管理、内核控制、APP设置
- docs: 更新主页图片
新增的插件使用示例:
下载地址
重要:因为插件系统提供的能力太强,请不要随意安装来历不明、代码加密、难以审计的插件!
Features
- 插件支持热更新
- 插件支持多触发器
- 插件支持消息提示
- 更多的插件能力:配置管理、订阅管理、规则组管理、插件管理、内核控制、APP设置
- docs: 更新主页图片
新增的插件使用示例:
// 消息提示示例
const { id } = Plugins.message.info('GUI.for.Cores', 4_000)
await Plugins.sleep(1_000)
Plugins.message.update(id, 'is')
await Plugins.sleep(1_000)
Plugins.message.update(id, 'powerful')
await Plugins.sleep(1_000)
Plugins.message.destroy(id)
// APP设置示例
const appSettings = Plugins.useAppSettingsStore()
appSettings.app.theme = 'dark' // light
appSettings.app.lang = 'en' // zh
// 系统代理管理示例
const envStore = Plugins.useEnvStore()
envStore.setSystemProxy()
envStore.clearSystemProxy()
envStore.switchSystemProxy()
// 内核管理示例
const kernelApiStore = Plugins.useKernelApiStore()
kernelApiStore.startKernel()
kernelApiStore.stopKernel()
kernelApiStore.restartKernel()
// 配置管理示例
const profilesStore = Plugins.useProfilesStore()
profilesStore.addProfile(p: ProfileType)
profilesStore.editProfile(id: string, p: ProfileType)
profilesStore.deleteProfile(id: string)
// 订阅管理示例
const subscribesStore = Plugins.useSubscribesStore()
subscribesStore.addSubscribe(s: SubscribeType)
subscribesStore.editSubscribe(id: string, s: SubscribeType)
subscribesStore.deleteSubscribe(id: string)
subscribesStore.updateSubscribe(id: string)
// 规则组管理示例
const rulesetsStore = Plugins.useRulesetsStore()
rulesetsStore.addRuleset(r: RuleSetType)
rulesetsStore.editRuleset(id: string, r: RuleSetType)
rulesetsStore.deleteRuleset(id: string)
rulesetsStore.updateRuleset(id: string)
// 插件管理示例
const pluginsStore = Plugins.usePluginsStore()
pluginsStore.addPlugin(p: PluginType)
pluginsStore.editPlugin(id: string, p: PluginType)
pluginsStore.deletePlugin(id: string)
pluginsStore.updatePlugin(id: string)
pluginsStore.reloadPlugin(plugin: PluginType, code = '')
pluginsStore.updatePluginTrigger(plugin: PluginType)
下载地址
👍1🥰1🆒1
Forwarded from Aera
https://github.com/GUI-for-Cores/GUI.for.SingBox/releases/tag/v1.3.3
GUI.for.SingBox v1.3.3版本已发布
主要更新内容如下:
- 合并了GUI.for.Clash v1.3.2-v1.3.4中介绍的插件模块
- 主程序、订阅转换器、内核更新后不再保留备份文件
- README中加入了社区文档的链接
GUI.for.SingBox v1.3.3版本已发布
主要更新内容如下:
- 合并了GUI.for.Clash v1.3.2-v1.3.4中介绍的插件模块
- 主程序、订阅转换器、内核更新后不再保留备份文件
- README中加入了社区文档的链接
👍3❤1
GUI.for.Clash 【v1.3.5 已发布】
Features
- feat: 支持逻辑规则
- chore: 默认不启用内置DNS服务器
- chore: 默认添加禁用QUIC协议规则
- fix: 代码编辑器获取值的API
下载地址
Features
- feat: 支持逻辑规则
- chore: 默认不启用内置DNS服务器
- chore: 默认添加禁用QUIC协议规则
- fix: 代码编辑器获取值的API
下载地址