toggleSection(section.title)}
- className={`flex items-center gap-2 cursor-pointer px-3 py-2 rounded-sm transition-colors ${finalExpandedSections[section.title] && !collapsed ? 'bg-blue-50' : 'hover:bg-slate-50'}`}
+ onClick={() => toggleGroup(section.group)}
+ className={`flex items-center gap-2 cursor-pointer px-3 py-2 rounded-sm transition-colors ${
+ finalExpandedGroups[section.group] && !collapsed
+ ? 'bg-blue-50'
+ : 'hover:bg-slate-50'
+ }`}
>
-
-
+
+
{!collapsed && (
- {section.title}
+ {section.group}
)}
- {finalExpandedSections[section.title] && (
+ {finalExpandedGroups[section.group] && (
- {section.items.map((item) => {
- const isActive = currentItemKey === item.key
- const href = getItemHref(section.sectionKey, item.key)
+ {section.items.map(item => {
+ const isActive = currentKey === item.key
+ const href = getItemHref(item.key)
return (
-
{item.label}
diff --git a/src/app/(home)/docs/socks5-usage/page.mdx b/src/app/(home)/docs/socks5-usage/page.mdx
new file mode 100644
index 0000000..84c1977
--- /dev/null
+++ b/src/app/(home)/docs/socks5-usage/page.mdx
@@ -0,0 +1,29 @@
+# 使用 Socks5 代理上网
+
+Socks5 是一种网络代理协议,用于在计算机之间传递数据,同时提供匿名性和安全性。
+
+## Socks5 代理的优点
+
+1. **更高的安全性**:Socks5 协议支持加密传输,可以确保数据在传输过程中的安全性。
+2. **更高的匿名性**:Socks5 协议支持 UDP 和 TCP 流量代理,并且支持不同的身份验证方式,可以帮助用户隐藏真实 IP 地址,保护隐私。
+3. **更高的灵活性**:Socks5 代理可以让应用程序无需修改代码即可使用代理 IP,同时支持多种身份验证方式和传输协议,提高了灵活性和可用性。
+
+## Socks5 代理工作流程
+
+1. 用户向代理服务器发送连接请求。
+2. 代理服务器收到连接请求后,根据用户请求的目标地址和端口,向目标服务器发起连接请求。
+3. 目标服务器收到代理服务器的连接请求后,回复确认连接。
+4. 代理服务器收到目标服务器的确认连接后,将数据转发给目标服务器。
+5. 目标服务器接收到数据后,将数据返回给代理服务器。
+6. 代理服务器收到数据后,将数据转发给用户。
+
+在这个过程中,Socks5 代理服务器起到了中间传输的作用,将用户的请求转发给目标服务器,并将目标服务器的响应返回给用户。由于传输过程中使用的是代理服务器的 IP 地址和端口号,所以用户的真实 IP 地址和端口号得到了隐藏。
+
+## 配置方法概览
+
+| 方法 | 适用场景 | 复杂度 | 持久性 |
+|------|----------|--------|--------|
+| 手动设置 | 单用户临时使用 | 低 | 重启浏览器失效 |
+| 自动代理(PAC) | 企业环境 | 中 | 永久 |
+| 扩展程序 | 灵活切换规则 | 高 | 永久 |
+| 系统级代理 | 全局代理 | 低 | 系统重启失效 |
diff --git a/src/app/(home)/docs/windows10-proxy/page.mdx b/src/app/(home)/docs/windows10-proxy/page.mdx
new file mode 100644
index 0000000..bb5adab
--- /dev/null
+++ b/src/app/(home)/docs/windows10-proxy/page.mdx
@@ -0,0 +1,7 @@
+# Windows10 电脑设置代理教程
+
+1、点击桌面右下角网络连接图标,选择"网络和Internet设置"选项
+
+2、点击"代理",将"使用代理服务器"设置为开,输入地址和端口后保存
+
+3、浏览器打开百度,输入IP地址查询,若查询结果和设置的代理IP一致,则代理设置成功
diff --git a/src/docs/extract.mdx b/src/components/composites/extract/extract.mdx
similarity index 99%
rename from src/docs/extract.mdx
rename to src/components/composites/extract/extract.mdx
index 6dbbd7f..28ed9e9 100644
--- a/src/docs/extract.mdx
+++ b/src/components/composites/extract/extract.mdx
@@ -65,4 +65,3 @@ GET https://lanhuip.com/api/extract?i=1&t=2&a=广东省&b=广州市&s=移动&d=1
}
]
```
-
\ No newline at end of file
diff --git a/src/components/composites/extract/index.tsx b/src/components/composites/extract/index.tsx
index 62ed49d..b434868 100644
--- a/src/components/composites/extract/index.tsx
+++ b/src/components/composites/extract/index.tsx
@@ -18,7 +18,7 @@ import {toast} from 'sonner'
import {merge} from '@/lib/utils'
import {Combobox} from '@/components/ui/combobox'
import cities from './_assets/cities.json'
-import ExtractDocs from '@/docs/extract.mdx'
+import ExtractDocs from './extract.mdx'
import Link from 'next/link'
import {useProfileStore} from '@/components/stores/profile'
diff --git a/src/components/composites/purchase/long/right.tsx b/src/components/composites/purchase/long/right.tsx
index f913792..db74a7e 100644
--- a/src/components/composites/purchase/long/right.tsx
+++ b/src/components/composites/purchase/long/right.tsx
@@ -174,7 +174,7 @@ function BalanceOrLogin(props: {
mode: Number(props.mode),
live: Number(props.live),
daily_limit: props.dailyLimit,
- expire: Number(props.expire),
+ expire_at: Number(props.expire),
quota: props.quota,
},
}}/>
diff --git a/src/components/composites/purchase/short/right.tsx b/src/components/composites/purchase/short/right.tsx
index 6fb17f2..a3dde70 100644
--- a/src/components/composites/purchase/short/right.tsx
+++ b/src/components/composites/purchase/short/right.tsx
@@ -166,7 +166,7 @@ function BalanceOrLogin(props: {
mode: Number(props.mode),
live: Number(props.live),
quota: props.quota,
- expire: Number(props.expire),
+ expire_at: Number(props.expire),
daily_limit: props.dailyLimit,
},
}}/>
diff --git a/src/docs/mac-proxy.mdx b/src/docs/mac-proxy.mdx
deleted file mode 100644
index ee8a40b..0000000
--- a/src/docs/mac-proxy.mdx
+++ /dev/null
@@ -1,30 +0,0 @@
-# macOS 设置代理教程
-本教程详细指导您在 iPhone 和 iPad 上配置代理服务器的完整步骤。
-# 开始前的准备
-在开始配置前,请确保您已获得以下信息:
-- **代理服务器地址**(如:proxy.example.com 或 192.168.1.100)
-- **端口号**(如:8080、8888)
-- 如需认证:**用户名和密码**
-- 企业网络可能需要的 **自动配置脚本 URL**
-
-## 📱 Wi-Fi 网络代理设置(主要方式)
-
-### 第一步:进入网络设置
-1. 打开 **"设置"** 应用
-2. 点击 **"无线局域网"**(Wi-Fi)
-3. 确保已连接到需要设置代理的 Wi-Fi 网络
-4. 点击当前 Wi-Fi 名称右侧的 **蓝色信息图标 (ⓘ)**
-
-### 第二步:找到代理配置选项
-1. 在 Wi-Fi 详细信息页面中向下滑动
-2. 找到 **"配置代理"** 选项(通常在页面底部)
-3. 默认状态为 **"关闭"**
-
-### 第三步:选择代理模式
-点击"配置代理",您会看到三种选项:
-
-```yaml
-# 模式选择说明
-关闭: 不使用代理
-自动: 使用自动配置脚本(.pac文件)
-手动: 手动输入代理服务器信息
\ No newline at end of file
diff --git a/src/docs/official-tutorial.mdx b/src/docs/official-tutorial.mdx
deleted file mode 100644
index c05cb86..0000000
--- a/src/docs/official-tutorial.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-# 浏览器设置代理教程
-
-打开IE浏览器,选择“设置”,点击“Internet选项”,在弹出的“局域网LAN设置”中,代理服务器的复选框打上勾,并填写从神龙HTTP获取的ip地址及端口号,点击确定,刷新浏览器,浏览器的IP就改变了。
-
-1、打开IE浏览器,选择“设置”;
-
-2、点击“Internet选项”;
-
-3、弹出“Internet选项”弹窗,选择连接—局域网设置;
-
-4、在弹出的“局域网LAN设置”中,代理服务器的复选框打上勾,并填写从神龙HTTP代理获取的ip地址及端口。点击确定,即设置成功了。
\ No newline at end of file
diff --git a/src/docs/realname-auth.mdx b/src/docs/realname-auth.mdx
deleted file mode 100644
index 79b0c3a..0000000
--- a/src/docs/realname-auth.mdx
+++ /dev/null
@@ -1,3 +0,0 @@
-# HTTP 代理实名认证操作
-
-说明实名认证流程、所需材料与常见问题。
diff --git a/src/docs/socks5-usage.mdx b/src/docs/socks5-usage.mdx
deleted file mode 100644
index f0a554d..0000000
--- a/src/docs/socks5-usage.mdx
+++ /dev/null
@@ -1,43 +0,0 @@
-# 使用 Socks5 代理上网
-
-Firefox 提供了多种代理设置方式,支持 HTTP/HTTPS 和 SOCKS5 协议。本教程将详细介绍各种配置方法。
-
-## 配置方法概览
-
-| 方法 | 适用场景 | 复杂度 | 持久性 |
-|------|----------|--------|--------|
-| 手动设置 | 单用户临时使用 | 低 | 重启浏览器失效 |
-| 自动代理(PAC) | 企业环境 | 中 | 永久 |
-| 扩展程序 | 灵活切换规则 | 高 | 永久 |
-| 系统级代理 | 全局代理 | 低 | 系统重启失效 |
-
-## 手动代理设置
-
-### 打开代理设置页面
-
-1. **点击菜单按钮**(右上角三横线)
-2. 选择 **设置**(或直接访问 `about:preferences`)
-3. 滚动到页面底部
-4. 点击 **网络设置** → **设置**
-
-```javascript
-// 快速访问代理设置的地址
-about:preferences#general
-// 或直接
-about:preferences
-SOCKS5代理IP是一种网络代理协议,用于在计算机之间传递数据,同时提供匿名性和安全性。SOCKS5协议可以让应用程序通过一个中间服务器,使用另一个主机上的网络资源,实现代理访问,从而隐藏客户端的真实IP地址。
-与其他代理协议不同,SOCKS5代理协议可以支持不同的身份验证方式,包括用户名/密码身份验证和GSSAPI身份验证。SOCKS5协议还可以提供UDP和TCP流量代理,使得应用程序可以在不改变代码的情况下使用代理IP。
-SOCKS5代理IP的主要优点包括:
-1、更高的安全性:SOCKS5协议支持加密传输,可以确保数据在传输过程中的安全性。
-2、更高的匿名性:SOCKS5协议支持UDP和TCP流量代理,并且支持不同的身份验证方式,可以帮助用户隐藏真实IP地址,保护隐私。
-3、更高的灵活性:SOCKS5代理可以让应用程序无需修改代码即可使用代理IP,同时支持多种身份验证方式和传输协议,提高了灵活性和可用性。
-总之,SOCKS5代理IP是一种高安全性和高匿名性的代理协议,可以帮助用户隐藏真实IP地址并保护隐私,同时提高灵活性和可用性。
-
-SOCKS5代理的流程如下:
-1、用户向代理服务器发送连接请求。
-2、代理服务器收到连接请求后,根据用户请求的目标地址和端口,向目标服务器发起连接请求。
-3、目标服务器收到代理服务器的连接请求后,回复确认连接。
-4、代理服务器收到目标服务器的确认连接后,将数据转发给目标服务器。
-5、目标服务器接收到数据后,将数据返回给代理服务器。
-6、代理服务器收到数据后,将数据转发给用户。
-在这个过程中,SOCKS5代理服务器起到了中间传输的作用,将用户的请求转发给目标服务器,并将目标服务器的响应返回给用户。由于传输过程中使用的是代理服务器的IP地址和端口号,所以用户的真实IP地址和端口号得到了隐藏。
\ No newline at end of file
diff --git a/src/docs/windows10-proxy.mdx b/src/docs/windows10-proxy.mdx
deleted file mode 100644
index ab8abfe..0000000
--- a/src/docs/windows10-proxy.mdx
+++ /dev/null
@@ -1,7 +0,0 @@
-# Windows10 电脑设置代理教程
-
-1、点击桌面右下角网络连接图标,选择“网络和Internet设置”选项
-
-2、点击“代理”,将“使用代理服务器”设置为开,输入地址和端口后保存
-
-3、浏览器打开百度,输入IP地址查询,若查询结果和设置的代理IP一致,则代理设置成功S
diff --git a/src/docs/windows7-proxy.mdx b/src/docs/windows7-proxy.mdx
deleted file mode 100644
index e060f36..0000000
--- a/src/docs/windows7-proxy.mdx
+++ /dev/null
@@ -1,37 +0,0 @@
-# Windows7 电脑设置代理教程
-
-## 🚀 30秒快速设置法
-
-### 第一步:打开设置面板
-1. 按 `Win` + `R` 打开运行框
-2. 输入 `inetcpl.cpl`
-3. 按回车
-
-### 第二步:配置代理
-1. 点击顶部 **"连接"** 标签
-2. 点击右下角 **"局域网设置"** 按钮
-3. **勾选** "为LAN使用代理服务器"
-4. 填写代理信息:
- - **地址**:`proxy.example.com` 或 `192.168.1.100`
- - **端口**:`8080` 或 `3128`
-5. 点击两次 **"确定"** 保存
-
-### 第三步:测试验证
-打开浏览器访问任意网站,检查是否正常
-
-## 🌐 浏览器专用代理方案
-
-### Chrome / Edge / Firefox 推荐方案
-```javascript
-// 最佳实践:使用代理管理扩展
-// 1. 安装 SwitchyOmega 或 Proxy SwitchySharp
-// 2. 配置代理服务器信息
-// 3. 一键切换,不影响系统设置
-
-// 配置示例
-const proxyConfig = {
- type: 'HTTP', // 或 HTTPS / SOCKS5
- host: 'proxy.company.com',
- port: 8080,
- bypassList: ['localhost', '*.internal'] // 例外列表
-};
\ No newline at end of file