TailscaleのWireGuardデータプレーン経由で、アカウントやコントロールプレーンなしに2台を接続するnetcat風CLI兼Goライブラリ。
- スター
- 110,048
- フォーク
- 15,248
- 未解決の Issue
- 34
- 最終コミット
- 一昨日
これは何?
frpはGoで書かれたリバースプロキシで、NATやファイアウォールの内側にあるローカルサーバーをインターネットに公開できます。2つのプログラムで動作します。パブリックIPを持つマシンでfrpsを、サービスをホストするマシンでfrpcを実行します。クライアントはサーバーへの接続を維持し、受信したトラフィックをローカルサービスに転送します。
TCPとUDPの転送に加え、ドメイン名やサブドメインに基づいてリクエストを振り分けるHTTP・HTTPSプロキシに対応しており、複数の内部サイトを1台のパブリックサーバーで共有できます。また、事前共有キーが必要なSTCPモード、ピア間で直接データを転送するXTCPモード、代替のトランスポートプロトコルとしてKCPとQUICも利用できます。
運用向けの機能として、TOML・YAML・JSONによる設定、環境変数のテンプレート化、サーバーダッシュボード、ホットリロード対応のクライアント管理UI、Prometheusメトリクス、トークン認証とOIDC認証、TLS暗号化、帯域幅制限、ロードバランシング、ヘルスチェックを備えています。
主な機能
- 01パブリックサーバーからローカルサービスへ、TCP・UDP・HTTP・HTTPSのトラフィックを転送します。
- 02カスタムドメインやサブドメインに基づいて、HTTP・HTTPSリクエストを内部サイトに振り分けます。
- 03事前共有キーを使うSTCPと、ピア間のデータ転送に使うXTCPを利用できます。
- 04TCP、KCP、QUICのトランスポートに対応し、暗号化と圧縮も必要に応じて利用できます。
- 05サーバーダッシュボード、クライアント管理UI、ホットリロード、Prometheusメトリクスを提供します。
- 06トークン認証とOIDC認証、帯域幅制限、ロードバランシング、ヘルスチェックを備えています。
ユースケース
- パブリックIPがなくても、自宅やオフィスのSSHサーバー、開発用Webアプリをインターネットに公開できます。
- カスタムドメインを使い、複数の内部サイトを1台のパブリックサーバーでホストできます。
- ローカルの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やファイアウォールの内側にあるローカルサーバーをインターネットに公開できます。2つのプログラムで動作します。パブリックIPを持つマシンでfrpsを、サービスをホストするマシンでfrpcを実行します。クライアントはサーバーへの接続を維持し、受信したトラフィックをローカルサービスに転送します。
- frp は無料で使えますか?ライセンスは?
- frp は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- frp は今もメンテナンスされていますか?
- 活発にメンテナンス中。frp の最終コミットは 2026年10月20日 です。
- frp は何に使えますか?
- パブリックIPがなくても、自宅やオフィスのSSHサーバー、開発用Webアプリをインターネットに公開できます。 カスタムドメインを使い、複数の内部サイトを1台のパブリックサーバーでホストできます。 ローカルの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 の数値は毎日更新されます。
関連プロジェクト
独自ドメインとサーバーを使って、localhostのサービスをインターネットに公開するGo製セルフホスト型トンネル。
公開鍵でアプリ同士を接続するRustライブラリ。QUIC、ホールパンチング、リレーへのフォールバックに対応。
コマンド1つでローカルHTTPサーバーを公開HTTPS URLにできる、オープンソースのngrok代替ツール。
GoとVueで開発された、Nginxのサイト、証明書、設定、ログ、サーバー統計を管理するセルフホスト型Web UI。
ゼロトラストネットワーク経由で、ファイアウォールやポートフォワーディングの設定なしに、ローカルのWebサービス、ファイル、TCP/UDPリソースを安全に共有できます。