# Frp 簡介及建置教程

# Frp 簡介

Frp 是一個專注於內網穿透的高性能的反向代理應用,支持 TCP、UDP、HTTP、HTTPS 等多種協議。可以將內網服務以安全、便捷的方式通過具有公網 IP 節點的中轉暴露到公網。

項目地址: https://github.com/fatedier/frp

# 部屬教程

# 建立 docker-compose.yml 檔案

version: "3.9"
services:
    frps:
        container_name: frps
        stdin_open: true
        tty: true
        image: myzzzz01/frps
        network_mode: host
        restart: always
        environment:
            PLATFORM: linux_amd64
        volumes:
            - frp:/frp
volumes:
    frp:

# 啟動容器

docker-compose up -d

# 自行編譯

# 建立 Dockerfile

會從 Github 獲取最新的 release 版本

FROM ubuntu:20.04
ENV PLATFORM=linux_amd64
RUN apt update && \
    apt-get install -y curl wget tar
WORKDIR /
RUN wget  $(curl -s https://api.github.com/repos/fatedier/frp/releases/latest | grep browser_download_url |grep $PLATFORM | sed -E 's/.*"([^"]+)".*/\1/')
RUN tar zxvf frp* && \
    rm frp*.tar.gz && \
    mv frp* frp
WORKDIR /frp
VOLUME ["/frp"]
CMD [ "./frps", "-c", "./frps.ini" ]

# 編譯鏡像

docker build -t frp .

# 將容器內的配置拷貝出來

docker create --name frpcopy frp
mkdir -p /volumes/frp
docker cp frpcopy:/frp /volumes/
docker rm -v frpcopy

# 啟動容器

docker run -itd \
    --net host \
    --name frps \
    -e PLATFORM="linux_amd64" \
    -v /volumes/frp:/frp \
    --restart=always \
    frp