# FRP (Fast Reverse Proxy) FRP 内网穿透工具镜像,支持服务端 (frps) 和客户端 (frpc)。 ## 基础镜像 - `debian:latest` ## 包含组件 | 组件 | 版本 | |------|------| | frps | 0.66.0 | | frpc | 0.66.0 | ## 构建 ```bash # 默认构建 ./rebuild.sh frp # 指定版本 docker build --build-arg FRP_VERSION=0.66.0 -t timi/frp:latest ./frp # 通过代理下载 docker build --build-arg PROXY=http://proxy:8080 -t timi/frp:latest ./frp ``` ## 构建参数 | 参数 | 默认值 | 说明 | |------|--------|------| | `FRP_VERSION` | 0.66.0 | FRP 版本号 | | `PROXY` | (空) | 下载时使用的代理地址 | ## 暴露端口 | 端口 | 说明 | |------|------| | 7000 | frps 服务端口 | | 7500 | frps Dashboard | | 7400 | frps KCPTUN | ## 使用 ### 作为服务端 (frps) ```bash # 创建配置文件 cat > frps.toml << 'EOF' bindPort = 7000 webServer.addr = "0.0.0.0" webServer.port = 7500 EOF # 运行服务端 docker run -d --name frps \ -p 7000:7000 \ -p 7500:7500 \ -v $(pwd)/frps.toml:/etc/frp/frps.toml \ timi/frp:latest ``` ### 作为客户端 (frpc) ```bash # 创建配置文件 cat > frpc.toml << 'EOF' serverAddr = "your-server.com" serverPort = 7000 [[proxies]] name = "web" type = "http" localPort = 80 customDomains = ["example.com"] EOF # 运行客户端 docker run -d --name frpc \ -v $(pwd)/frpc.toml:/etc/frp/frpc.toml \ --entrypoint /usr/local/bin/frpc \ timi/frp:latest -c /etc/frp/frpc.toml ``` ### Docker Compose 示例 #### 服务端 ```yaml services: frps: image: timi/frp:latest ports: - "7000:7000" - "7500:7500" volumes: - ./frps.toml:/etc/frp/frps.toml restart: unless-stopped ``` #### 客户端 ```yaml services: frpc: image: timi/frp:latest entrypoint: /usr/local/bin/frpc command: ["-c", "/etc/frp/frpc.toml"] volumes: - ./frpc.toml:/etc/frp/frpc.toml restart: unless-stopped ``` ## 配置文件参考 FRP 官方文档: https://gofrp.org/zh-cn/docs/