diff --git a/README.md b/README.md index f7e1066..76cd280 100644 --- a/README.md +++ b/README.md @@ -105,12 +105,14 @@ frp-panel可选docker和直接运行模式部署,直接部署请到release下 - master ```bash -docker run -d -p 9000:9000 \ - -p 9001:9001 \ +docker run -d -p 9000:9000 \ # API控制台端口 + -p 9001:9001 \ # rpc端口 + -p 7000:7000 \ # frps 端口 + -p 20000-20050:20000-20050 \ # 给frps预留的端口 --restart=unless-stopped \ - -v /opt/frp-panel:/data \ + -v /opt/frp-panel:/data \ # 数据存储位置 -e APP_GLOBAL_SECRET=your_secret \ # Master的secret注意不要泄漏,客户端和服务端的是通过Master生成的 - -e MASTER_RPC_HOST=0.0.0.0 \ + -e MASTER_RPC_HOST=0.0.0.0 \ # 这里要改成你服务器的外部IP vaalacat/frp-panel # 或者 docker run -d \ @@ -118,7 +120,7 @@ docker run -d \ --restart=unless-stopped \ -v /opt/frp-panel:/data \ -e APP_GLOBAL_SECRET=your_secret \ # Master的secret注意不要泄漏,客户端和服务端的是通过Master生成的 - -e MASTER_RPC_HOST=0.0.0.0 \ + -e MASTER_RPC_HOST=0.0.0.0 \ # 这里要改成你服务器的外部IP vaalacat/frp-panel ``` - client @@ -127,7 +129,7 @@ docker run -d \ docker run -d \ --network=host \ --restart=unless-stopped \ - vaalacat/frp-panel client -s xxx -i xxx # 在master WebUI复制的参数 + vaalacat/frp-panel client -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数 ``` - server @@ -135,24 +137,25 @@ docker run -d \ docker run -d \ --network=host \ --restart=unless-stopped \ - vaalacat/frp-panel server -s xxx -i xxx # 在master WebUI复制的参数 + vaalacat/frp-panel server -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数 ``` ### 直接运行(Linux) - master - + +注意修改IP ``` APP_GLOBAL_SECRET=your_secret MASTER_RPC_HOST=0.0.0.0 frp-panel master ``` -- client +- client ``` -frp-panel client -s xxx -i xxx # 在master WebUI复制的参数 +frp-panel client -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数 ``` - server ``` -frp-panel server -s xxx -i xxx # 在master WebUI复制的参数 +frp-panel server -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数 ``` ### 直接运行(Windows) 在下载的可执行文件同名文件夹下创建一个 `.env` 文件(注意不要有后缀名),然后输入以下内容保存后运行对应命令,注意,client和server的对应参数需要在web页面复制 @@ -166,9 +169,9 @@ DB_DSN=data.db client 和 server 要使用在 master WebUI复制的参数 -- client: `frp-panel-amd64.exe client -s xxx -i xxx` +- client: `frp-panel-amd64.exe client -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数` -- server: `frp-panel-amd64.exe server -s xxx -i xxx` +- server: `frp-panel-amd64.exe server -s xxxx -i xxxx -a xxxx -r 127.0.0.1 -c 9001 -p 9000 -e http # 在master WebUI复制的参数` ### 配置说明 diff --git a/www/components/client_item.tsx b/www/components/client_item.tsx index 2022276..0073169 100644 --- a/www/components/client_item.tsx +++ b/www/components/client_item.tsx @@ -44,7 +44,7 @@ export type ClientTableSchema = { export const columns: ColumnDef[] = [ { accessorKey: 'id', - header: 'ID', + header: 'ID(点击查看安装命令)', cell: ({ row }) => { return }, @@ -76,7 +76,7 @@ export const columns: ColumnDef[] = [ }, { accessorKey: 'secret', - header: '连接密钥', + header: '连接密钥(点击查看启动命令)', cell: ({ row }) => { const client = row.original return @@ -161,20 +161,13 @@ export const ClientSecret = ({ client }: { client: ClientTableSchema }) => {
setShowSecrect(true)} onMouseLeave={() => setShowSecrect(false)} - onClick={() => { - if (platformInfo) { - navigator.clipboard.writeText(ExecCommandStr('client', client, platformInfo)) - toast({ description: '复制成功' }) - } else { - toast({ description: '获取平台信息失败' }) - } - }} className="font-medium hover:rounded hover:bg-slate-100 p-2 font-mono whitespace-nowrap" > {showSecrect ? client.secret : fakeSecret}
- + +
运行命令(需要点击这里自行下载文件)
{platformInfo === undefined ? '获取平台信息失败' : ExecCommandStr('client', client, platformInfo)}
@@ -231,15 +224,19 @@ export const ClientActions: React.FC = ({ client, table }) => { 操作 { - if (platformInfo) { - navigator.clipboard.writeText(ExecCommandStr('client', client, platformInfo)) - toast({ description: '复制成功,如果复制不成功,请点击ID字段手动复制' }) - } else { + try { + if (platformInfo) { + navigator.clipboard.writeText(ExecCommandStr('client', client, platformInfo)) + toast({ description: '复制成功,如果复制不成功,请点击ID字段手动复制' }) + } else { + toast({ description: '获取平台信息失败,如果复制不成功,请点击ID字段手动复制' }) + } + } catch (error) { toast({ description: '获取平台信息失败,如果复制不成功,请点击ID字段手动复制' }) } }} > - 复制启动命令 + 复制启动命令(也可点击列表中的密钥查看) = ({ client, table }) => { router.push({ pathname: '/clientedit', query: { clientID: client.id } }) }} > - 修改 + 修改客户端配置 删除 diff --git a/www/components/frpc_card.tsx b/www/components/frpc_card.tsx index 95b98b4..ff97812 100644 --- a/www/components/frpc_card.tsx +++ b/www/components/frpc_card.tsx @@ -73,7 +73,10 @@ export const FRPCFormCard: React.FC = ({ 编辑隧道 - 选择客户端和服务端以编辑隧道 + +
注意⚠️:选择的「服务端」必须提前配置!
+
选择客户端和服务端以编辑隧道
+
diff --git a/www/components/frpc_form.tsx b/www/components/frpc_form.tsx index 5600ea1..5436e04 100644 --- a/www/components/frpc_form.tsx +++ b/www/components/frpc_form.tsx @@ -123,7 +123,7 @@ export const FRPCForm: React.FC = ({ clientID, serverID }) => { - 代理配置 + 代理配置(点击展开) {clientProxyConfigs.map((item) => { @@ -188,7 +188,7 @@ export const FRPCForm: React.FC = ({ clientID, serverID }) => { })} - + {/* Visitor 配置 @@ -254,7 +254,7 @@ export const FRPCForm: React.FC = ({ clientID, serverID }) => { ) })} - + */}