From 3d87ea57977a00c4eafea9cdcaf318ce3abaf540 Mon Sep 17 00:00:00 2001 From: t8y2 Date: Fri, 9 Oct 2026 16:21:43 +0800 Subject: [PATCH] docs(sponsors): add JumpServer card and move TrustAsia below AstraFlow --- README.md | 33 +++++++++++++++-------- README.zh-CN.md | 33 +++++++++++++++-------- docs/app/[lang]/page.tsx | 28 +++++++++++++------ docs/app/[lang]/sponsors/page.tsx | 28 +++++++++++++------ docs/public/sponsors/jumpserver-card.png | Bin 0 -> 14132 bytes 5 files changed, 84 insertions(+), 38 deletions(-) create mode 100644 docs/public/sponsors/jumpserver-card.png diff --git a/README.md b/README.md index 12ac4f7a87..bd8a31cd70 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,17 @@ ## ❤️ Sponsors + + + + - - - - + + + +
+ + JumpServer + + + JumpServer is an Open-source Privileged Access Management (PAM) platform with AI-powered capabilities, providing DevOps and IT teams a unified workspace to securely access SSH, RDP, Kubernetes, databases, websites, RemoteApp, VirtualApp, and more. + Visit JumpServer +
@@ -80,17 +91,6 @@ Visit RainYun
- - TrustAsia - - - TrustAsia provides cloud-based code signing service for DBX, enabling trusted software through automated CI/CD builds. - Visit TrustAsia -
@@ -135,6 +135,17 @@ Visit UCloud
+ + TrustAsia + + + TrustAsia provides cloud-based code signing service for DBX, enabling trusted software through automated CI/CD builds. + Visit TrustAsia +
diff --git a/README.zh-CN.md b/README.zh-CN.md index 48ca00bf87..238020161d 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -69,6 +69,17 @@ ## ❤️ 赞助商 + + + + - - - - + + + +
+ + JumpServer + + + JumpServer 是具备 AI 能力的开源特权访问管理(PAM)平台,为 DevOps 和 IT 团队提供统一的工作空间,安全访问 SSH、RDP、Kubernetes、数据库、网站、RemoteApp、VirtualApp 等资源。 + 访问 JumpServer +
@@ -80,17 +91,6 @@ 访问雨云
- - TrustAsia - - - 由 TrustAsia 提供代码签名云签服务,实现 CICD 自动化构建可信软件。 - 访问 TrustAsia -
@@ -135,6 +135,17 @@ 访问 UCloud 优刻得
+ + TrustAsia + + + 由 TrustAsia 提供代码签名云签服务,实现 CICD 自动化构建可信软件。 + 访问 TrustAsia +
diff --git a/docs/app/[lang]/page.tsx b/docs/app/[lang]/page.tsx index 24b95f8921..f8d67735d6 100644 --- a/docs/app/[lang]/page.tsx +++ b/docs/app/[lang]/page.tsx @@ -381,6 +381,8 @@ const i18nText = { qiniuSponsorAction: "Visit", rainyunSponsorDesc: "RainYun is a cloud service provider offering cloud servers, physical servers, game hosting, and developer-friendly infrastructure services.", rainyunSponsorAction: "Visit", + jumpserverSponsorDesc: "JumpServer is a widely popular open-source bastion host.", + jumpserverSponsorAction: "Visit", easysearchSponsorDesc: "Easysearch is an enterprise-grade distributed search engine compatible with Elasticsearch APIs, combining full-text, vector, geospatial search, real-time analytics, and AI capabilities in one platform.", easysearchSponsorAction: "Visit", atlasCloudSponsorDesc: "Atlas Cloud gives developers one unified API for 400+ AI models across chat, image, video, and audio.", @@ -426,6 +428,8 @@ const i18nText = { qiniuSponsorAction: "访问", rainyunSponsorDesc: "雨云是面向开发者和站长的云服务提供商,提供云服务器、物理服务器、游戏云和配套基础设施服务。", rainyunSponsorAction: "访问", + jumpserverSponsorDesc: "广受欢迎的开源堡垒机", + jumpserverSponsorAction: "访问", easysearchSponsorDesc: "Easysearch 是一款企业级分布式搜索引擎,兼容 ES API、融合全文检索、向量检索、地理空间位置检索、实时分析与 AI 能力,为企业提供统一的数据检索与智能分析基础设施。", easysearchSponsorAction: "访问", atlasCloudSponsorDesc: "Atlas Cloud 为开发者提供统一的多模态 AI API,可通过一个接口访问聊天、图像、视频和音频等 400+ 模型。", @@ -490,6 +494,14 @@ export default async function LandingPage({ params }: { params: Promise<{ lang: const testimonialItems = localizedTestimonials[l]; const softwareStructuredData = buildSoftwareApplicationStructuredData(l, initialDownloadVersion); const sponsorItems = [ + { + name: "JumpServer", + href: "https://www.jumpserver.org/", + logo: "/sponsors/jumpserver-card.png", + logoClass: "w-full max-w-[120px] object-contain", + description: t.jumpserverSponsorDesc, + action: t.jumpserverSponsorAction, + }, { name: "RainYun", href: "https://www.rainyun.com/MTE5Mjc4Ng==_", @@ -498,14 +510,6 @@ export default async function LandingPage({ params }: { params: Promise<{ lang: description: t.rainyunSponsorDesc, action: t.rainyunSponsorAction, }, - { - name: "TrustAsia", - href: "https://www.trustasia.com/ssl/trustasia/code-signing", - logo: "/sponsors/trustasia.png", - logoClass: "w-full max-w-[120px] object-contain", - description: t.trustasiaSponsorDesc, - action: t.trustasiaSponsorAction, - }, { name: "Jalapeño Cloud", href: "https://www.jalapeno-cloud.ai/DBX", @@ -538,6 +542,14 @@ export default async function LandingPage({ params }: { params: Promise<{ lang: description: t.astraflowSponsorDesc, action: t.astraflowSponsorAction, }, + { + name: "TrustAsia", + href: "https://www.trustasia.com/ssl/trustasia/code-signing", + logo: "/sponsors/trustasia.png", + logoClass: "w-full max-w-[120px] object-contain", + description: t.trustasiaSponsorDesc, + action: t.trustasiaSponsorAction, + }, { name: "Atlas Cloud", href: "https://www.atlascloud.ai/?ref=6YYXWA", diff --git a/docs/app/[lang]/sponsors/page.tsx b/docs/app/[lang]/sponsors/page.tsx index 8dbd2bf297..4bef874db8 100644 --- a/docs/app/[lang]/sponsors/page.tsx +++ b/docs/app/[lang]/sponsors/page.tsx @@ -16,6 +16,8 @@ const i18n = { qiniuSponsorAction: "Visit", rainyunSponsorDesc: "RainYun is a cloud service provider offering cloud servers, physical servers, game hosting, and developer-friendly infrastructure services.", rainyunSponsorAction: "Visit", + jumpserverSponsorDesc: "JumpServer is a widely popular open-source bastion host.", + jumpserverSponsorAction: "Visit", easysearchSponsorDesc: "Easysearch is an enterprise-grade distributed search engine compatible with Elasticsearch APIs, combining full-text, vector, geospatial search, real-time analytics, and AI capabilities in one platform.", easysearchSponsorAction: "Visit", atlasCloudSponsorDesc: "Atlas Cloud gives developers one unified API for 400+ AI models across chat, image, video, and audio.", @@ -44,6 +46,8 @@ const i18n = { qiniuSponsorAction: "访问", rainyunSponsorDesc: "雨云是面向开发者和站长的云服务提供商,提供云服务器、物理服务器、游戏云和配套基础设施服务。", rainyunSponsorAction: "访问", + jumpserverSponsorDesc: "广受欢迎的开源堡垒机", + jumpserverSponsorAction: "访问", easysearchSponsorDesc: "Easysearch 是一款企业级分布式搜索引擎,兼容 ES API、融合全文检索、向量检索、地理空间位置检索、实时分析与 AI 能力,为企业提供统一的数据检索与智能分析基础设施。", easysearchSponsorAction: "访问", atlasCloudSponsorDesc: "Atlas Cloud 为开发者提供统一的多模态 AI API,可通过一个接口访问聊天、图像、视频和音频等 400+ 模型。", @@ -83,6 +87,14 @@ export default async function SponsorsPage({ params }: { params: Promise<{ lang: const locale = resolveLang(lang); const t = i18n[locale]; const sponsorItems = [ + { + name: "JumpServer", + href: "https://www.jumpserver.org/", + logo: "/sponsors/jumpserver-card.png", + logoClass: "w-full max-w-[136px] object-contain", + description: t.jumpserverSponsorDesc, + action: t.jumpserverSponsorAction, + }, { name: "RainYun", href: "https://www.rainyun.com/MTE5Mjc4Ng==_", @@ -91,14 +103,6 @@ export default async function SponsorsPage({ params }: { params: Promise<{ lang: description: t.rainyunSponsorDesc, action: t.rainyunSponsorAction, }, - { - name: "TrustAsia", - href: "https://www.trustasia.com/ssl/trustasia/code-signing", - logo: "/sponsors/trustasia.png", - logoClass: "w-full max-w-[160px] object-contain", - description: t.trustasiaSponsorDesc, - action: t.trustasiaSponsorAction, - }, { name: "Jalapeño Cloud", href: "https://www.jalapeno-cloud.ai/DBX", @@ -131,6 +135,14 @@ export default async function SponsorsPage({ params }: { params: Promise<{ lang: description: t.astraflowSponsorDesc, action: t.astraflowSponsorAction, }, + { + name: "TrustAsia", + href: "https://www.trustasia.com/ssl/trustasia/code-signing", + logo: "/sponsors/trustasia.png", + logoClass: "w-full max-w-[160px] object-contain", + description: t.trustasiaSponsorDesc, + action: t.trustasiaSponsorAction, + }, { name: "Atlas Cloud", href: "https://www.atlascloud.ai/?ref=6YYXWA", diff --git a/docs/public/sponsors/jumpserver-card.png b/docs/public/sponsors/jumpserver-card.png new file mode 100644 index 0000000000000000000000000000000000000000..01c7e2863e327b5f7f9eb5ec33ce7f002c4f19ff GIT binary patch literal 14132 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 N(&7qYl_EyL{|g1eIeP#A literal 0 HcmV?d00001