naiba
2ff923220f
fix: migrate to tailwind v4 and TS6, add oauth2 dashboard_host setting
...
- migrate Tailwind v3->v4 (postcss @tailwindcss/postcss, CSS-first @theme/@plugin/@custom-variant)
- fix TS6 build: ignoreDeprecations for baseUrl, react-day-picker v10 classNames, test type fixes
- add dashboard_host setting field with i18n
2026-06-06 01:39:25 +00:00
naiba
005b4a0b3b
feat(service): replace show-in-service with hide-for-guest toggle
...
Mirror the server HideForGuest flag on services: rename the
enable_show_in_service field to hide_for_guest across the form, schema
and generated types, reuse the existing HideForGuest label, and drop the
now-orphaned ShowInService i18n keys. Services are now visible to guests
by default and hidden only when the box is checked, matching servers.
2026-06-02 03:07:36 +00:00
naiba and cloudcode
964684f1bf
feat(settings): add reserved hosts field and surface NAT errors
...
Add the reserved_hosts setting (input + i18n across all locales) so operators
behind a reverse proxy can declare public dashboard hostnames members must not
register as NAT domains (GHSA-x6fg-52vr-hj4w).
Show the backend error message on NAT create/update failure instead of a
generic "unexpected error", so a reserved-host rejection is explained.
Co-authored-by: cloudcode <cloudcode@users.noreply.github.com >
2026-05-31 02:04:47 +00:00
naiba and cloudcode
f07c557029
feat(api-tokens): add PAT management UI, CSRF handling, and auth-loading fixes
...
Add an API tokens management route to create, list, and revoke PATs, showing
the plaintext token once on creation with scope and server-id selection.
Mirror the nz-csrf cookie into the X-CSRF-Token header on unsafe fetcher
methods (POST/PUT/PATCH/DELETE) for the server-side double-submit check, and
self-heal expired sessions via refresh-token without a recursive fetch loop.
Gate protected routes behind resolved auth state to avoid pre-auth SWR fetches,
and fix the login loading/race so stale probes cannot clobber the session.
Add i18n keys for the new screens across all locales.
Co-authored-by: cloudcode <cloudcode@users.noreply.github.com >
2026-05-30 15:56:53 +00:00
naiba
b23a6c0be1
feat: server transfer rotation
2026-05-25 10:15:24 +00:00
胡说丷刂 and huYang
63338eee67
service 增加权重 ( #150 )
...
* 服务增加权重
* 避免显示成 undefined
---------
Co-authored-by: huYang <306061454@qq.com >
2026-02-14 10:10:24 +08:00
UUBulb
f1e4ff8fb9
feat(notification): add option to convert metric units in request body ( #147 )
...
* feat(notification): add option to convert metric units in request body
* rename fields
* add prettierignore
* chore: auto-fix linting and formatting issues
2026-01-10 17:27:13 +08:00
Chillln and Guccen
c27a13a67b
Fix and update ( #139 )
...
* refactor(ui): 统一组件引用类型为ComponentRef
更新所有UI组件中的forwardRef类型,从ElementRef改为ComponentRef以保持一致性
迁移postcss配置至mjs格式并更新依赖版本
* refactor: 优化表单类型定义和验证逻辑
移除自定义的 asOptionalField 工具函数,直接使用 Zod 的 optional() 方法,并明确定义表单数据类型。
* style: 更新UI主题配置和样式变量
将主题风格从default切换为new-york,并重构CSS变量使用OKLCH色彩空间。同时添加tailwindcss-animate插件支持。
* style: 统一页面头部按钮组样式
优化多个页面头部按钮组的布局样式,增加响应式设计和flex-wrap支持
* fix(server): 修复对话框交互问题并优化SWR配置
修复对话框关闭逻辑并阻止外部交互,同时禁用SWR的自动重新验证功能以提升性能。
* feat: 添加日历组件及账单相关国际化
实现基于 react-day-picker 的日历组件,并添加账单管理相关的多语言支持
* style(components): 统一按钮样式并格式化代码
为删除和禁用按钮添加text-white类名,同时调整ServerCard组件中的代码缩进格式。
* perf(build): 优化Vite打包配置与代码分割策略
调整Vite构建配置,改进第三方依赖的分组逻辑并添加UUID支持到安装命令组件
* fix: 修正页面标题翻译不一致问题
将CronPage和ServicePage的标题从"Server"分别改为"Task"和"Service",并优化NotificationGroupPage的按钮组布局。
* fix(auth): 改进登录错误处理和国际化支持
优化登录错误提示,添加多语言支持并移除控制台错误日志。同时修复头部组件透明度样式问题。
* feat: 添加服务器操作下拉菜单
为服务器卡片添加统一的下拉菜单操作入口,整合终端、配置和安装命令功能。
* feat[alert-rule]: 优化告警规则组件性能
重构告警规则组件代码结构,提升渲染效率并减少内存占用。
* docs(i18n): 新增翻译字段
为界面添加"Add"、"Delete"、"AdvancedJSON"和"Save"等关键操作的翻译字段,支持中英文双语显示。
* perf(vite): 优化分包策略以提升构建性能
重构 manualChunks 逻辑,按功能类别分组依赖项,并增加大型库的独立分包规则。
* style: 统一危险操作按钮的文字颜色
在所有确认操作的弹窗按钮中添加白色文字样式,保持视觉一致性。
* fix(components): 调整下拉菜单对齐方式
根据菜单项状态动态设置下拉菜单的对齐方向和起始位置。
* fix(types): 修复在线用户API分页类型
添加ModelOnlineUserApi接口类型,包含分页信息,并移除index.ts中重复的类型定义。
* chore: auto-fix linting and formatting issues
* feat(locales): 添加无过期相关翻译项
为英文和中文翻译文件添加"NoExpiry"、"SetNoExpiry"等无过期相关字段的翻译。
fix(components): 移除重复的图标按钮选项
从IconButton组件中删除重复的"more"图标选项。
* feat(ServerCard): 优化日期选择器并添加下拉提示
为日期选择器添加下拉布局和年份范围限制,并在公共笔记区域增加下拉项生效提示文本。
* chore: auto-fix linting and formatting issues
* style: 优化多个组件的UI交互细节
统一按钮悬停样式并简化国际化文本调用,移除冗余的单位显示和空值判断逻辑。
* refactor(ServerCard): 移除网络路由相关代码
删除 ServerCard 组件中与 plan.networkRoute 相关的字段验证和错误显示逻辑。
* chore: auto-fix linting and formatting issues
* feat(ui): 添加Switch组件并改进服务器表单交互
- 新增Radix UI Switch组件依赖及实现
- 将IPv4/IPv6输入改为开关控件,优化用户体验
- 添加"按量付费"选项和新的翻译字段
- 改进网络路由和备注输入的占位提示
- 修复暗黑模式下的按钮背景色
* style(components): 为禁止按钮添加白色文本样式
* chore: auto-fix linting and formatting issues
* fix(ServerCard): 修复日期选择器样式和滚动问题
调整日期选择器的宽度和高度限制,添加滚动容器以解决内容溢出问题
* refactor(server-config): 简化复选框checked属性的布尔转换
使用!!操作符简化controllerField.value的布尔值转换,使代码更简洁
* feat(国际化): 添加告警规则和搜索框的国际化支持
为告警规则组件添加多语言支持,包括服务器监控选项、忽略提示和示例文本。同时将搜索框的占位文本替换为国际化字段。
* chore: auto-fix linting and formatting issues
* fix(switch): 修正 Switch 组件 ref 类型定义错误
---------
Co-authored-by: Guccen <171530509+Chillln@users.noreply.github.com >
2025-10-02 14:23:11 +08:00
naiba
01ed6eae54
feat: 批量转移服务器给其他用户
2025-06-16 23:44:30 +08:00
TomyJan
1f2a187d7b
feat: separate real ip header of frontend/agent ( #130 )
...
* feat: separate real ip header of frontend/agent
* test(ci): test
* Revert "test(ci): test"
This reverts commit 7d2f16ed24e5f95f6101dc3ac67816ece2dc5ade.
* chore: auto-fix linting and formatting issues
2025-04-13 18:40:35 +08:00
UUBulb
1ca8ea4627
update setting api ( #123 )
2025-03-08 18:42:55 +08:00
UUBulb
a56238bed7
update settings api ( #121 )
...
* update settings api
* chore: auto-fix linting and formatting issues
2025-02-28 22:00:07 +08:00
UUBulb
a52bf64779
feat: batch set server config ( #114 )
...
* feat: batch set server config
* make every field optional
* chore: auto-fix linting and formatting issues
* update
* [WIP] improve batch edit ux
* chore: auto-fix linting and formatting issues
2025-02-04 11:19:52 +08:00
UUBulb
a00bf5826a
feat: edit server config online ( #112 )
...
* feat: edit server config online
* fix schema
* fix error
2025-01-31 13:32:16 +08:00
UUBulb
1b19f74935
ddns: allow overriding domains per configuration ( #111 )
2025-01-30 12:15:21 +08:00
naiba
f6ce25d466
feat: disable nat
2025-01-21 22:21:52 +08:00
UUBulb and uubulb
5d8a0404b7
update oauth2 ( #84 )
...
* update oauth2
* i18n
* fix validation
* chore: auto-fix linting and formatting issues
---------
Co-authored-by: uubulb <uubulb@users.noreply.github.com >
2024-12-31 23:11:41 +08:00
18c832d553
optimize fm ( #82 )
...
* optimize fm
* chore: auto-fix linting and formatting issues
* fix: type
* chore: auto-fix linting and formatting issues
---------
Co-authored-by: uubulb <uubulb@users.noreply.github.com >
Co-authored-by: naiba <hi@nai.ba >
Co-authored-by: naiba <naiba@users.noreply.github.com >
2024-12-29 22:19:50 +08:00
naiba
718bff0abb
feat: oauth2 登录
2024-12-28 23:50:24 +08:00
仓鼠 and hamster1963
7fdac38291
User Role ( #69 )
...
* fix: window.DisableAnimatedMan as boolean
* chore: auto-fix linting and formatting issues
* feat: user role
* feat: use user agent_secret
* feat: hide setting when user role is not admin
* feat: new waf api
* chore: auto-fix linting and formatting issues
* fix: admin settings page
* feat: online-user setting
* fix: pagination
---------
Co-authored-by: hamster1963 <hamster1963@users.noreply.github.com >
2024-12-22 23:17:20 +08:00
仓鼠 and hamster1963
540bb0185d
Dashboard Redesign ( #48 )
...
* feat: add user_template setting
* style: header
* style: page padding
* style: header
* feat: header now time
* style: login page
* feat: nav indicator
* style: button inset shadow
* style: footer text size
* feat: header show login_ip
* fix: error toast
* fix: frontend_templates setting
* fix: lint
* feat: pr auto format
* chore: auto-fix linting and formatting issues
---------
Co-authored-by: hamster1963 <hamster1963@users.noreply.github.com >
2024-12-13 23:51:33 +08:00
UUBulb
aa53b8cedc
fix: custom_nameservers should be dns_servers ( #46 )
...
* fix: custom_nameservers should be dns_servers
* fix ipv6 address conversion
2024-12-13 22:27:05 +08:00
naiba
dc2f28979f
feat: api update
2024-12-10 22:19:31 +08:00
仓鼠
982ecc7086
feat: add user_template setting ( #36 )
2024-12-07 01:17:00 +08:00
UUBulb
d21daa47f9
update service api ( #29 )
...
* update service api
* update api.ts
2024-12-05 21:00:48 +08:00
UUBulb
950318417f
fix: missing notification group input in settings ( #24 )
...
* fix: missing notification group input in settings
* change script name
* license
* update settings api
* improve: cell width
* feat: site name
2024-12-04 20:03:16 +08:00
naiba
c49bbb54e1
fix: waf page
2024-11-30 21:31:55 +08:00
naiba
c98632bc17
feat: 修改用户名,简化代码
2024-11-30 15:02:42 +08:00
UUBulb
7759c3e9ad
fix: server api schema ( #6 )
2024-11-28 17:06:37 +08:00
UUBulb
3f3a585a62
fix validation & implement profile page ( #5 )
...
* fix validation
* implement profile page
* catch error
2024-11-26 21:20:56 +08:00
UUBulb
3b5023061b
implement setting page ( #12 )
2024-11-23 21:59:48 +08:00
UUBulb
1c8494cd59
feat: responsive fm card ( #11 )
...
* feat: responsive fm card
* delete meaningless words
* fix joinIP
2024-11-22 22:15:41 +08:00
UUBulb
8248d6c910
implement remaining features of the server page ( #9 )
...
* implement remaining features of the server page
* fix fm init
* ?
2024-11-21 22:20:14 +08:00
UUBulb
059c33eda4
implement notification page ( #8 )
2024-11-20 21:37:03 +08:00
UUBulb
0e4bcd3938
implement cron page ( #7 )
2024-11-20 00:19:40 +08:00
UUBulb
a487e6cb99
implement group page ( #6 )
...
* implement group page
* group state, search box
* rename some field
* update api types
2024-11-19 21:40:03 +08:00
UUBulb
f4fbc9f488
further implementing service page ( #3 )
2024-11-17 10:05:20 +08:00
uubulb
b1a9a231a7
fix api types, add more form fields
2024-11-15 21:28:48 +08:00
naiba
f842d5aeec
feat: auto generate api types
2024-11-09 00:07:21 +08:00