Tailscale 계정이나 제어 플레인 없이 WireGuard 데이터 플레인으로 두 기기를 연결하는 netcat 스타일 CLI 및 Go 라이브러리
- 스타
- 110,048
- 포크
- 15,248
- 열린 이슈
- 34
- 마지막 커밋
- 그저께
어떤 프로젝트인가요?
frp는 Go로 작성된 리버스 프록시로, NAT나 방화벽 뒤에 있는 로컬 서버를 공용 인터넷에 공개할 수 있습니다. 프로그램은 두 가지로 구성됩니다. 공인 IP가 있는 머신에서는 frps를, 서비스를 호스팅하는 머신에서는 frpc를 실행합니다. 클라이언트는 서버와 연결을 유지하고, 들어오는 트래픽을 로컬 서비스로 전달합니다.
TCP와 UDP 포워딩을 지원하며, 도메인 이름이나 서브도메인을 기준으로 요청을 라우팅하는 HTTP 및 HTTPS 프록시도 지원합니다. 따라서 여러 내부 웹사이트가 하나의 공용 서버를 공유할 수 있습니다. 사전 공유 키가 필요한 STCP 모드, 직접 피어 투 피어 데이터 전송을 위한 XTCP 모드, 대체 전송 프로토콜인 KCP와 QUIC도 제공합니다.
운영 기능으로는 TOML, YAML, JSON 설정, 환경 변수 템플릿 기능, 서버 대시보드, 핫 리로드를 지원하는 클라이언트 관리 UI, Prometheus 메트릭, 토큰 및 OIDC 인증, TLS 암호화, 대역폭 제한, 로드 밸런싱, 상태 확인이 있습니다.
핵심 기능
- 01공용 서버에서 로컬 서비스로 TCP, UDP, HTTP, HTTPS 트래픽을 전달합니다.
- 02사용자 지정 도메인이나 서브도메인을 기준으로 HTTP 및 HTTPS 요청을 내부 사이트로 라우팅합니다.
- 03사전 공유 키를 사용하는 STCP와 피어 투 피어 데이터 전송을 위한 XTCP를 제공합니다.
- 04선택적 암호화 및 압축과 함께 TCP, KCP, QUIC 전송을 지원합니다.
- 05서버 대시보드, 클라이언트 관리 UI, 핫 리로드, Prometheus 메트릭을 제공합니다.
- 06토큰 및 OIDC 인증, 대역폭 제한, 로드 밸런싱, 상태 확인 기능을 포함합니다.
활용 사례
- 공인 IP 없이 집이나 사무실의 SSH 서버 또는 개발 웹 앱을 인터넷에 공개합니다.
- 사용자 지정 도메인을 사용해 여러 내부 웹사이트를 하나의 공용 서버에서 호스팅합니다.
- 공용 호스트를 통해 로컬 DNS 리졸버나 기타 UDP 서비스를 포워딩합니다.
- 사전 공유 키를 사용해 원격 협업자에게 내부 서비스에 대한 보안 액세스를 제공합니다.
빠른 시작
- 1
Releases 페이지에서 사용 중인 OS에 맞는 최신 frp 프로그램을 다운로드하세요
- 2
공인 IP 주소가 있는 서버에서 설정 파일을 지정해 frps를 시작하세요
./frps -c ./frps.toml - 3
NAT 또는 방화벽 뒤에 있는 머신에서 설정 파일을 지정해 frpc를 시작하세요
./frpc -c ./frpc.toml
사용 전 알아둘 점
- frps를 실행하려면 공인 IP 주소가 있는 자체 서버가 필요합니다.
- README에 따르면 출시 예정인 v2는 v1과 호환되지 않습니다.
- 일부 백신 프로그램이 frpc를 악성코드로 잘못 탐지할 수 있습니다.
토픽
자주 묻는 질문
- frp은(는) 무엇인가요?
- NAT나 방화벽 뒤의 로컬 서버를 TCP, UDP, HTTP, HTTPS를 통해 인터넷에 공개하는 고속 리버스 프록시입니다. frp는 Go로 작성된 리버스 프록시로, NAT나 방화벽 뒤에 있는 로컬 서버를 공용 인터넷에 공개할 수 있습니다. 프로그램은 두 가지로 구성됩니다. 공인 IP가 있는 머신에서는 frps를, 서비스를 호스팅하는 머신에서는 frpc를 실행합니다. 클라이언트는 서버와 연결을 유지하고, 들어오는 트래픽을 로컬 서비스로 전달합니다.
- frp은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- frp은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- frp은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. frp의 마지막 커밋은 2026년 10월 20일입니다.
- frp은(는) 어디에 사용할 수 있나요?
- 공인 IP 없이 집이나 사무실의 SSH 서버 또는 개발 웹 앱을 인터넷에 공개합니다. 사용자 지정 도메인을 사용해 여러 내부 웹사이트를 하나의 공용 서버에서 호스팅합니다. 공용 호스트를 통해 로컬 DNS 리졸버나 기타 UDP 서비스를 포워딩합니다. 사전 공유 키를 사용해 원격 협업자에게 내부 서비스에 대한 보안 액세스를 제공합니다.
- frp는 어떻게 설치하나요?
- Releases 페이지에서 사용 중인 OS에 맞는 최신 frp 프로그램을 다운로드하세요 공인 IP 주소가 있는 서버에서 설정 파일을 지정해 frps를 시작하세요: ./frps -c ./frps.toml NAT 또는 방화벽 뒤에 있는 머신에서 설정 파일을 지정해 frpc를 시작하세요: ./frpc -c ./frpc.toml
- frp은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/fatedier/frp
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
NAT 통과와 WireGuard를 지원해 기기를 가상 LAN으로 연결하는 Rust 기반 탈중앙화 메시 VPN입니다.
Go로 작성된 자체 호스팅 터널로, 자체 도메인과 서버를 통해 localhost 서비스를 인터넷에 공개합니다.
공개 키로 앱을 연결하고 QUIC 전송, 홀 펀칭, 릴레이 대체 경로를 제공하는 Rust 라이브러리입니다.
명령 하나로 로컬 HTTP 서버를 공개 HTTPS URL에 연결하는 오픈소스 ngrok 대안입니다.
Go와 Vue로 만든 셀프 호스팅 웹 UI로, Nginx 사이트, 인증서, 설정, 로그 및 서버 통계를 관리합니다.