GUI.for.Cores 滚动更新日志
- 新建配置的restful api密钥将采用16进制编码的256位密钥
- Switch组件添加切换动画
- 测节点延迟时,失败也更新延迟数值
- 优化首页控制器鼠标滚轮事件,减少误操作,提升动画性能
- 增加控制器面板关闭模式,可选仅按钮关闭
GUI.for.SingBox
- fix: 修复http3类型的DNS格式问题
GUI.for.Clash
- feat: URLTest类型策略组可手动固定节点与清除固定
提示:为了进一步加强安全,可编辑配置 - 通用设置 - RESTful API密钥 - 点击右侧刷新按钮,生成更长的密钥
请使用【滚动发行】插件完成上述更新。
- 新建配置的restful api密钥将采用16进制编码的256位密钥
- Switch组件添加切换动画
- 测节点延迟时,失败也更新延迟数值
- 优化首页控制器鼠标滚轮事件,减少误操作,提升动画性能
- 增加控制器面板关闭模式,可选仅按钮关闭
GUI.for.SingBox
- fix: 修复http3类型的DNS格式问题
GUI.for.Clash
- feat: URLTest类型策略组可手动固定节点与清除固定
提示:为了进一步加强安全,可编辑配置 - 通用设置 - RESTful API密钥 - 点击右侧刷新按钮,生成更长的密钥
请使用【滚动发行】插件完成上述更新。
❤3
GUI.for.Cores 滚动更新日志
- 在概览界面 - 核心管理处添加自定义操作 API
关键代码:
使用教程:
请使用【滚动发行】插件完成更新。
- 在概览界面 - 核心管理处添加自定义操作 API
关键代码:
// target目前可取值:core_state
// actions为组件配置,可传入单个或多个
const removeFn = Plugins.useAppStore().addCustomActions(target, actions);
使用教程:
// 保存插件状态
window[Plugin.id] = window[Plugin.id] || {};
const onRun = async () => {
const appStore = Plugins.useAppStore();
onRemove();
// 把移除方法存到插件状态里
window[Plugin.id].remove = appStore.addCustomActions("core_state", [
{
component: "Button",
componentProps: {
size: "small",
onClick: () => {
Plugins.message.success("点击了按钮");
},
},
componentSlots: {
default: "一个按钮",
},
},
{
component: "Switch",
componentSlots: {
default: "一个开关",
},
componentProps: {
size: "small",
modelValue: true,
onChange: (vvv) => {
console.log(vvv);
},
},
},
{
component: "CheckBox",
componentProps: {
size: "small",
modelValue: ["1"],
options: [
{ label: "多选1", value: "1" },
{ label: "多选2", value: "2" },
],
onChange: (vvv) => {
console.log(vvv);
},
},
},
{
component: "Radio",
componentProps: {
size: "small",
modelValue: "1",
options: [
{ label: "单选1", value: "1" },
{ label: "单选2", value: "2" },
],
onChange: (vvv) => {
console.log(vvv);
},
},
},
{
component: "Dropdown",
componentProps: {
size: "small",
style: { color: "green", fontSize: "12px" },
},
componentSlots: {
default: "下拉菜单",
overlay: ({ h }) => {
return h("div", [
h(
"Button",
{
onClick: () => {
console.log("点了菜单1");
},
},
() => "菜单1"
),
h(
"Button",
{
onClick: () => {
console.log("点了菜单2");
},
},
() => "菜单2"
),
]);
},
},
},
{
component: "div",
componentProps: {
style: {
color: "red",
},
},
componentSlots: {
default: () => {
return "一个div";
},
},
},
{
component: "Icon",
componentProps: {
icon: "refresh",
},
},
{
component: "Tag",
componentProps: {
color: "cyan",
},
componentSlots: {
default: "👍",
},
},
]);
Plugins.message.success("添加自定义操作成功");
};
const onRemove = () => {
// 从插件状态拿移除方法并执行
window[Plugin.id].remove?.();
Plugins.message.success("移除自定义操作成功");
};
请使用【滚动发行】插件完成更新。
👍2❤1👎1🆒1
GUI.for.Cores 滚动更新日志
- 重构 WebSocket 连接处理
- 启动 core 后将发起 3 条常驻连接(/memory、/traffic、/connections)
- /logs 连接将按需开启并自动关闭
- 增加 onLogs、onTraffic、onMemory、onConnections API
新增 API 使用示例:
请使用【滚动发行】插件完成更新
- 重构 WebSocket 连接处理
- 启动 core 后将发起 3 条常驻连接(/memory、/traffic、/connections)
- /logs 连接将按需开启并自动关闭
- 增加 onLogs、onTraffic、onMemory、onConnections API
新增 API 使用示例:
const kernelApi = Plugins.useKernelApiStore();
// 处理核心的日志信息
const unregisterLogsHandler = kernelApi.onLogs((data) => {
console.log("onLogs", data);
});
// 处理核心的流量信息
const unregisterTrafficHandler = kernelApi.onTraffic((data) => {
console.log("onTraffic", data);
});
// 处理核心的内存信息
const unregisterMemoryHandler = kernelApi.onMemory((data) => {
console.log("onMemory", data);
});
// 处理核心的连接信息
const unregisterConnections = kernelApi.onConnections((data) => {
console.log("onConnections", data);
});
// 1分钟后移除所有注册的回调
setTimeout(() => {
unregisterLogsHandler();
unregisterTrafficHandler();
unregisterMemoryHandler();
unregisterConnections();
}, 60_000);
请使用【滚动发行】插件完成更新
GUI.for.Cores 滚动更新日志
- 新增插件触发器:onCoreStarted(核心启动后)、onCoreStopped(核心停止后)
使用教程:
请使用【滚动发行】插件完成更新
- 新增插件触发器:onCoreStarted(核心启动后)、onCoreStopped(核心停止后)
使用教程:
/* 触发器 核心启动后 */
const onCoreStarted = async () => {
console.log(`[${Plugin.name}]`, "核心启动了");
};
/* 触发器 核心停止后 */
const onCoreStopped = async () => {
console.log(`[${Plugin.name}]`, "核心停止了");
};
请使用【滚动发行】插件完成更新
👍1
GUI.for.Cores 滚动更新日志
- 新增插件触发器:onBeforeCoreStart(核心启动前)、onBeforeCoreStop(核心停止前)
使用教程:
请使用【滚动发行】插件完成更新
- 新增插件触发器:onBeforeCoreStart(核心启动前)、onBeforeCoreStop(核心停止前)
使用教程:
/* 触发器 核心启动前 */
const onBeforeCoreStart = async (config, profile) => {
console.log(`[${Plugin.name}]`, 'onBeforeCoreStart')
return config
}
/* 触发器 核心停止前 */
const onBeforeCoreStop = async () => {
console.log(`[${Plugin.name}]`, 'onBeforeCoreStop')
}
请使用【滚动发行】插件完成更新
❤1
GUI.for.Cores 滚动更新日志
- 新增设置项【将代理组添加到托盘菜单】。
该设置默认关闭,以减少托盘菜单的刷新频率。
开启后,在切换【展示不可用节点】或【按延迟排序】时,托盘菜单将随之更新;此外,节点的可用性变化或延迟排序的更新也会触发托盘菜单的刷新。
- 新增设置项【将代理组添加到托盘菜单】。
该设置默认关闭,以减少托盘菜单的刷新频率。
开启后,在切换【展示不可用节点】或【按延迟排序】时,托盘菜单将随之更新;此外,节点的可用性变化或延迟排序的更新也会触发托盘菜单的刷新。
❤1
插件发布 【SNI 伪造】
插件ID:plugin-sni-spoofing
插件说明:通过为浏览器添加启动参数和运行 Nginx 反代服务,实现免代理访问被墙网站。Supported by: 泡泡茶壶
通用插件
插件ID:plugin-sni-spoofing
插件说明:通过为浏览器添加启动参数和运行 Nginx 反代服务,实现免代理访问被墙网站。Supported by: 泡泡茶壶
通用插件
👏7❤2
GUI.for.Cores 滚动更新日志
- 增加插件API: Plugins.modal
- 插件支持自定义UI,提供完整的Vue3框架能力
使用示例:
更多示例请参考插件【插件UI示例】
- 增加插件API: Plugins.modal
- 插件支持自定义UI,提供完整的Vue3框架能力
使用示例:
const onRun = async () => {
const ui = createUIModal()
ui.open()
}
const createUIModal = () => {
const { h, defineComponent } = Vue
const component1 = () => 'component1'
const component2 = {
template: '{{msg}}',
setup() {
return { msg: 'component2' }
}
}
const component3 = defineComponent(() => {
return () => h('div', 'component3')
})
const component4 = defineComponent({
render() {
return h('div', 'component4')
}
})
const modal = Plugins.modal({ title: '自定义UI使用示例', component: h(component4) })
return modal
}
更多示例请参考插件【插件UI示例】
👍3❤2
插件发布 【WARP 配置生成】
插件ID:plugin-generate-warp-config
插件说明:自动注册并生成 Cloudflare WARP 的配置信息。Supported by: 泡泡茶壶
通用插件
插件ID:plugin-generate-warp-config
插件说明:自动注册并生成 Cloudflare WARP 的配置信息。Supported by: 泡泡茶壶
通用插件
❤2
GUI.for.Cores 滚动更新日志
- 新增插件元数据:【是否具有用户界面】
配合【手动触发】触发器使用,开启后运行按钮前有个bling bling✨的小图标
- 新增插件元数据:【是否具有用户界面】
配合【手动触发】触发器使用,开启后运行按钮前有个bling bling✨的小图标
❤3
插件发布 【插件UI开发助手】
插件ID:plugin-ui-dev-helper
插件说明:可热更新代码,实时预览插件UI改动。
通用插件
插件ID:plugin-ui-dev-helper
插件说明:可热更新代码,实时预览插件UI改动。
通用插件
👍3
插件发布 【链式代理助手】
插件ID: plugin-relay-proxy-helper
插件说明: 帮助用户快速生成可添加代理链的配置脚本。Supported by: 泡泡茶壶
通用插件
插件ID: plugin-relay-proxy-helper
插件说明: 帮助用户快速生成可添加代理链的配置脚本。Supported by: 泡泡茶壶
通用插件
👍6
插件发布 【Gitea】
插件ID: plugin-gitea
插件说明: 🌱 轻量级自托管 Git 服务,支持一键安装与管理。Supported by: Fromsko
通用插件
插件ID: plugin-gitea
插件说明: 🌱 轻量级自托管 Git 服务,支持一键安装与管理。Supported by: Fromsko
通用插件
👎3🔥1
GUI.for.Cores 【v1.9.8-Alpha】已发布
- APP 启动页增加进度指示器, 并按顺序执行 onStartup、onReady 钩子,执行出错指示器变色
- APP 退出时按顺序 onShutdown 钩子,执行出错或超时(10s)中断退出
- 代理延迟测试增加可配置参数:并发数量(默认 20)
- 清理核心缓存由【设置-通用】界面移动到【设置-内核】界面
- 订阅支持自定义请求方法(默认 GET)
- Plugins.KillProcess 增加超时参数 1
- Plugins.Notify 增加可选参数 2
- Plugins.Download/Upload 支持自定义请求方法 3
- Plugins.Requests 支持配置自动转换响应体 4
[1] Plugins.KillProcess
[2] Plugins.Notify
[3] Plugins.Download/Upload
[4] Plugins.Requests
- APP 启动页增加进度指示器, 并按顺序执行 onStartup、onReady 钩子,执行出错指示器变色
- APP 退出时按顺序 onShutdown 钩子,执行出错或超时(10s)中断退出
- 代理延迟测试增加可配置参数:并发数量(默认 20)
- 清理核心缓存由【设置-通用】界面移动到【设置-内核】界面
- 订阅支持自定义请求方法(默认 GET)
- Plugins.KillProcess 增加超时参数 1
- Plugins.Notify 增加可选参数 2
- Plugins.Download/Upload 支持自定义请求方法 3
- Plugins.Requests 支持配置自动转换响应体 4
[1] Plugins.KillProcess
Plugins.KillProcess(pid, 10); // 10秒超时
[2] Plugins.Notify
Plugins.Notify("title", "message", "success", {
AppName: "GUI.for.Cores",
Beep: true, // 蜂鸣声
});[3] Plugins.Download/Upload
Plugins.Download("http://", "/path/to/save", header, progress, {
Method: "POST",
});[4] Plugins.Requests
Plugins.Requests({
url: "http://",
method: "GET",
autoTransformBody: true,
});👍4❤1
关于移除插件【
原因:更换为开源方案
-------------------------
可使用新插件【OpenList】替换
Alist】的通知原因:更换为开源方案
-------------------------
可使用新插件【OpenList】替换
👍17
插件发布 【下载守卫者】
插件ID:plugin-download-speed-guard
插件说明:监测下载速率,超出阈值时切换至下一个节点,避免因单个节点流量过大造成的机场限速。
通用插件
插件ID:plugin-download-speed-guard
插件说明:监测下载速率,超出阈值时切换至下一个节点,避免因单个节点流量过大造成的机场限速。
通用插件
👍3😁2
插件发布 【日志记录器】
插件ID:plugin-log-record
插件说明:记录内核输出的日志到文件中,方便后续调试。Supported by: 泡泡茶壶
通用插件
插件ID:plugin-log-record
插件说明:记录内核输出的日志到文件中,方便后续调试。Supported by: 泡泡茶壶
通用插件
❤2👍1
Forwarded from 助手
GUI.for.Cores 滚动更新日志
- 前端样式系统重构: 引入实用工具类 CSS,提升开发效率和样式一致性。
- 优化组件结构与布局: 简化核心 UI 组件,提升界面简洁性和声明式布局。
- 增强模态框功能: 提升模态框的灵活性和可配置性。
- 调整视图组件: 统一各页面布局和元素对齐方式。
请使用【滚动发行】插件完成更新
⚠️ AI 的回答无法保证百分百准确,请自行判断!
⚠️ AI 的回答无法保证百分百准确,请自行判断!
- 前端样式系统重构: 引入实用工具类 CSS,提升开发效率和样式一致性。
- 优化组件结构与布局: 简化核心 UI 组件,提升界面简洁性和声明式布局。
- 增强模态框功能: 提升模态框的灵活性和可配置性。
- 调整视图组件: 统一各页面布局和元素对齐方式。
请使用【滚动发行】插件完成更新
⚠️ AI 的回答无法保证百分百准确,请自行判断!
⚠️ AI 的回答无法保证百分百准确,请自行判断!
❤1