diff --git a/.github/audit-exceptions.yml b/.github/audit-exceptions.yml index 61baa6e380..b71422a78a 100644 --- a/.github/audit-exceptions.yml +++ b/.github/audit-exceptions.yml @@ -5,14 +5,14 @@ exceptions: severity: high reason: "Admin export only; switched to dynamic import to reduce exposure (CVE-2023-30533)" mitigation: "Load only on export; restrict export permissions and data scope" - expires_on: "2026-07-07" + expires_on: "2026-07-06" owner: "security@your-domain" - package: xlsx advisory: "GHSA-5pgg-2g8v-p4x9" severity: high reason: "Admin export only; switched to dynamic import to reduce exposure (CVE-2024-22363)" mitigation: "Load only on export; restrict export permissions and data scope" - expires_on: "2026-07-07" + expires_on: "2026-07-06" owner: "security@your-domain" - package: lodash advisory: "GHSA-r5fr-rjxr-66jc" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c51b3c075e..b729c575ea 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -115,7 +115,7 @@ jobs: - name: Verify Go version run: | - go version | grep -q 'go1.26.1' + go version | grep -q 'go1.26.2' # Docker setup for GoReleaser - name: Set up QEMU diff --git a/README.md b/README.md index 99753e4569..25bef4730b 100644 --- a/README.md +++ b/README.md @@ -45,17 +45,41 @@ Sub2API is an AI API gateway platform designed to distribute and manage API quot - **Admin Dashboard** - Web interface for monitoring and management - **External System Integration** - Embed external systems (e.g. payment, ticketing) via iframe to extend the admin dashboard -## Don't Want to Self-Host? +## ❤️ Sponsors + +> [Want to appear here?](mailto:support@pincc.ai)
![]() |
PinCC is the official relay service built on Sub2API, offering stable access to Claude Code, Codex, Gemini and other popular models — ready to use, no deployment or maintenance required. |
![]() |
Thanks to PackyCode for sponsoring this project! PackyCode is a reliable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides special discounts for our software users: register using this link and enter the "sub2api" promo code during first recharge to get 10% off. |
![]() |
+Thanks to Poixe Ai for sponsoring this project! Poixe AI provides reliable LLM API services. You can leverage the platform's API endpoints to seamlessly build AI-powered products. Additionally, you can become a vendor by providing AI API resources to the platform and earn revenue. Register through the exclusive sub2api referral link and receive a bonus of $5 USD on your first top-up. | +
![]() |
+Thanks to CTok.ai for sponsoring this project! CTok.ai is dedicated to building a one-stop AI programming tool service platform. We offer professional Claude Code packages and technical community services, with support for Google Gemini and OpenAI Codex. Through carefully designed plans and a professional tech community, we provide developers with reliable service guarantees and continuous technical support, making AI-assisted programming a true productivity tool. Click here to register! | +
![]() |
+Thanks to SilkAPI for sponsoring this project! SilkAPI is a relay service built on Sub2API, specializing in providing high-speed and stable Codex API relay. | +
![]() |
+Thanks to YLS Code for sponsoring this project! YLS Code is dedicated to building secure enterprise-grade Coding Agent productivity services, offering stable and fast Codex / Claude / Gemini subscription services along with pay-as-you-go API options for flexible choices. Register now for a limited-time 3-day Codex trial bonus! | +
![]() |
PinCC 是基于 Sub2API 搭建的官方中转服务,提供 Claude Code、Codex、Gemini 等主流模型的稳定中转,开箱即用,免去自建部署与运维烦恼。 |
![]() |
感谢 PackyCode 赞助了本项目!PackyCode 是一家稳定、高效的API中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。PackyCode 为本软件的用户提供了特别优惠,使用此链接注册并在充值时填写"sub2api"优惠码,首次充值可以享受9折优惠! |
![]() |
+感谢 Poixe AI 赞助了本项目!Poixe AI 提供可靠的 AI 模型接口服务,您可以使用平台提供的 LLM API 接口轻松构建 AI 产品,同时也可以成为供应商,为平台提供大模型资源以赚取收益。通过 此链接 专属链接注册,充值额外赠送 $5 美金 | +
![]() |
+感谢 CTok.ai 赞助了本项目!CTok.ai 致力于打造一站式 AI 编程工具服务平台。我们提供 Claude Code 专业套餐及技术社群服务,同时支持 Google Gemini 和 OpenAI Codex。通过精心设计的套餐方案和专业的技术社群,为开发者提供稳定的服务保障和持续的技术支持,让 AI 辅助编程真正成为开发者的生产力工具。点击这里注册! | +
![]() |
+感谢 丝绸API 赞助了本项目! 丝绸API 是基于 Sub2API 搭建的中转服务,专注于提供 Codex 高速稳定API中转。 | +
![]() |
+感谢 伊莉思Code 赞助了本项目! 伊莉思Code 致力于构建安全的企业级Coding Agent生产力服务,提供稳定快速的 Codex / Claude / Gemini 订阅服务与即用即付API多种方案灵活选择,限时注册赠送 3 天 Codex 试用福利! | +
![]() |
PackyCode のご支援に感謝します!PackyCode は Claude Code、Codex、Gemini などのリレーサービスを提供する信頼性の高い API 中継プラットフォームです。本ソフト利用者向けに特別割引があります:このリンクで登録し、チャージ時に「sub2api」クーポンを入力すると 10% オフになります。 |
![]() |
+Poixe AI のご支援に感謝します!Poixe AI は信頼性の高い LLM API サービスを提供しています。プラットフォームの API エンドポイントを活用して、AI 搭載プロダクトをシームレスに構築できます。また、ベンダーとして AI API リソースをプラットフォームに提供し、収益を得ることも可能です。専用の sub2api 紹介リンクから登録すると、初回チャージ時に $5 USD のボーナスがもらえます。 | +
![]() |
+CTok.ai のご支援に感謝します!CTok.ai はワンストップ AI プログラミングツールサービスプラットフォームの構築に取り組んでいます。Claude Code の専用プランと技術コミュニティサービスを提供し、Google Gemini や OpenAI Codex もサポートしています。丁寧に設計されたプランと専門的な技術コミュニティを通じて、開発者に安定したサービス保証と継続的な技術サポートを提供し、AI アシスト プログラミングを真の生産性向上ツールにします。こちらから登録! | +
![]() |
+SilkAPI のご支援に感謝します!SilkAPI は Sub2API をベースに構築された中継サービスで、高速かつ安定した Codex API 中継の提供に特化しています。 | +
![]() |
+YLS Code のご支援に感謝します!YLS Code は安全なエンタープライズグレードの Coding Agent 生産性サービスの構築に取り組んでおり、安定かつ高速な Codex / Claude / Gemini サブスクリプションサービスと従量課金 API の柔軟なプランを提供しています。期間限定で新規登録者に 3 日間の Codex 試用特典をプレゼント中! | +
|
+
+
diff --git a/frontend/src/components/common/Pagination.vue b/frontend/src/components/common/Pagination.vue
index abb0e5667f..2bfc68722d 100644
--- a/frontend/src/components/common/Pagination.vue
+++ b/frontend/src/components/common/Pagination.vue
@@ -122,7 +122,7 @@ import { computed, ref } from 'vue'
import { useI18n } from 'vue-i18n'
import Icon from '@/components/icons/Icon.vue'
import Select from './Select.vue'
-import { setPersistedPageSize } from '@/composables/usePersistedPageSize'
+import { getConfiguredTablePageSizeOptions, normalizeTablePageSize } from '@/utils/tablePreferences'
const { t } = useI18n()
@@ -141,7 +141,7 @@ interface Emits {
}
const props = withDefaults(defineProps
@@ -68,7 +76,7 @@
-
+
+
{{ formatDateTime(value) }}
@@ -236,7 +244,7 @@
diff --git a/frontend/src/views/admin/ChannelsView.vue b/frontend/src/views/admin/ChannelsView.vue
index afd3faab9d..ebfc1b5a40 100644
--- a/frontend/src/views/admin/ChannelsView.vue
+++ b/frontend/src/views/admin/ChannelsView.vue
@@ -48,7 +48,15 @@
-
@@ -267,9 +348,13 @@
width="normal"
@close="closeCreateModal"
>
-
+
- {{ value }}x
+ {{ value }}x
- {{ value ? t('admin.groups.exclusive') : t('admin.groups.public') }}
+ {{
+ value ? t("admin.groups.exclusive") : t("admin.groups.public")
+ }}
@@ -19,38 +21,44 @@
@input="handleSearch"
/>
-
-
-
+
+
+
+
-
- {{ t('admin.groups.accountsAvailable') }}
- {{ (row.active_account_count || 0) - (row.rate_limited_account_count || 0) }}
- {{ t('admin.groups.accountsUnit') }}
+ {{
+ t("admin.groups.accountsAvailable")
+ }}
+ {{
+ (row.active_account_count || 0) -
+ (row.rate_limited_account_count || 0)
+ }}
+ {{ t("admin.groups.accountsUnit") }}
- {{ t('admin.groups.accountsRateLimited') }}
- {{ row.rate_limited_account_count }}
- {{ t('admin.groups.accountsUnit') }}
+ {{
+ t("admin.groups.accountsRateLimited")
+ }}
+ {{ row.rate_limited_account_count }}
+ {{ t("admin.groups.accountsUnit") }}
- {{ t('admin.groups.accountsTotal') }}
- {{ row.account_count || 0 }}
- {{ t('admin.groups.accountsUnit') }}
+ {{
+ t("admin.groups.accountsTotal")
+ }}
+ {{ row.account_count || 0 }}
+ {{ t("admin.groups.accountsUnit") }}
—
- {{ t('admin.groups.usageToday') }}
- ${{ formatCost(usageMap.get(row.id)?.today_cost ?? 0) }}
+ {{
+ t("admin.groups.usageToday")
+ }}
+ ${{
+ formatCost(usageMap.get(row.id)?.today_cost ?? 0)
+ }}
- {{ t('admin.groups.usageTotal') }}
- ${{ formatCost(usageMap.get(row.id)?.total_cost ?? 0) }}
+ {{
+ t("admin.groups.usageTotal")
+ }}
+ ${{
+ formatCost(usageMap.get(row.id)?.total_cost ?? 0)
+ }}
|
|---|