Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk6 min

How to Put a Local Service on the Public Internet with FRP

A practical FRP guide to running frps on a public server and frpc beside your local service, starting with a minimal TCP tunnel and adding security or hostname routing as needed.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To expose a service behind a NAT or firewall with FRP, run frps on an internet-reachable server and frpc beside the service. The client connects outward to the public server, which opens a separate public port for outside users. Start with one TCP proxy: it makes the three port numbers—and the two configuration files—easy to keep straight.

Understand the two machines and three ports

FRP (Fast Reverse Proxy) relays connections from a public server to a local service. Its official project describes it as a way to expose a local server behind NAT or a firewall to the internet: the FRP project README.

As an Amazon Associate I earn from qualifying purchases.

  • Public server (Server A): runs frps and must be reachable from the internet.
  • LAN machine (Server B): runs frpc beside the service you want to expose. The client initiates a connection to Server A.
  • Local service: the address and port the client can reach on Server B, such as 127.0.0.1:22 for SSH.

There are three different port settings in the basic example. bindPort on the server and serverPort on the client are the FRP connection port and must match. localPort is the private service port. remotePort is the public port outside users connect to on Server A.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Set up one TCP tunnel first

Use TOML for the first configuration. The official examples use it, and the README lists TOML, YAML, and JSON as supported formats since v0.52.0; it says INI is deprecated and planned for removal. Check the documentation for the exact FRP version you install, since supported formats and settings can change.

#1 Best Overall
Sale
ASUS RT-AX1800S Dual Band WiFi 6 Extendable Router, Subscription-Free Network Security, Parental Control, Built-in VPN, AiMesh Compatible, Gaming & Streaming, Smart Home
  • New-Gen WiFi Standard – WiFi 6(802.11ax) standard supporting MU-MIMO and OFDMA technology for better efficiency and throughput.Antenna : External antenna x 4. Processor : Dual-core (4 VPE). Power Supply : AC Input : 110V~240V(50~60Hz), DC Output : 12 V with max. 1.5A current.
  • Ultra-fast WiFi Speed – RT-AX1800S supports 1024-QAM for dramatically faster wireless connections
  • Increase Capacity and Efficiency – Supporting not only MU-MIMO but also OFDMA technique to efficiently allocate channels, communicate with multiple devices simultaneously
  • 5 Gigabit ports – One Gigabit WAN port and four Gigabit LAN ports, 10X faster than 100–Base T Ethernet.
  • Commercial-grade Security Anywhere – Protect your home network with AiProtection Classic, powered by Trend Micro. And when away from home, ASUS Instant Guard gives you a one-click secure VPN.

On the public server: configure and start frps

Create frps.toml on Server A with the connection port:

bindPort = 7000

Start the server from the directory containing the configuration file and binary:

./frps -c ./frps.toml

On the LAN machine: configure and start frpc

Create frpc.toml on Server B. This SSH example forwards the service on local port 22 to public port 6000 on Server A:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
serverAddr = "PUBLIC_SERVER_IP"
serverPort = 7000

auth.method = "token"
auth.token = "REPLACE_WITH_A_LONG_UNIQUE_SECRET"

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

Set PUBLIC_SERVER_IP to Server A’s public IP address, and replace the example secret with a strong, unique token. Configure the same authentication method and token in frps.toml:

Rank #2
NETGEAR Nighthawk WiFi 6 Router R6700AX, Up to 1,500 sq ft, 1.8 Gbps | Reliable Performance, Easy Set Up, 20 devices, 4× Gigabit Port, Dual Band, AX1800
  • NIGHTHAWK WIFI 6 ROUTER FOR YOUR WHOLE HOME: Delivers fast, reliable WiFi across every room of your apartment or small home for streaming, gaming, video calls, and smart home devices, all running at the same time without slowing each other down.
  • WORKS WITH YOUR EXISTING INTERNET SERVICE: Pairs with your existing modem or gateway via ethernet. Compatible with most cable, fiber, DSL, and satellite providers. Some gateways and modem router combos may require bridge mode. No coax needed.
  • SET UP AND MANAGE YOUR NETWORK WITH THE NIGHTHAWK APP: Download the free Nighthawk app on iOS or Android for guided setup. Manage WiFi, run speed tests, pause devices, and set up guest networks from anywhere. Active internet required.
  • READY FOR THE DEVICES YOU ALREADY OWN: Your phones, laptops, and TVs work right out of the box. WiFi 6 delivers speeds up to 1.8 Gbps across 2.4 GHz and 5 GHz bands. Backward compatible with WiFi 5 and earlier.
  • COVERAGE IN EVERY ROOM: Covers up to 1,500 sq. ft. for up to 20 connected devices. Walls, floors, and interference can reduce range. Larger or multi-story homes may benefit from a NETGEAR Orbi mesh WiFi system.
bindPort = 7000

auth.method = "token"
auth.token = "REPLACE_WITH_A_LONG_UNIQUE_SECRET"

Do not publish a real token in a public configuration file, screenshot, or example. Start the client on Server B:

./frpc -c ./frpc.toml

Outside the LAN, connect to the forwarded SSH service using Server A’s address and the public proxy port:

ssh -p 6000 USER@PUBLIC_SERVER_IP

For a different TCP service, change localPort to the port the service actually listens on and choose an available remotePort on Server A. The client and server commands and settings above follow the project’s official SSH-over-TCP example; adapt access credentials and network rules to your own hosts.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Allow only the traffic this tunnel needs

On Server A, permit inbound connections to the FRP connection port and the public proxy port you chose. Permit only the proxy ports needed for the service; host firewall and provider security-group steps differ, so use the controls for your particular server. The LAN machine must be able to reach the local service at the configured address and port.

Rank #3
NETGEAR Nighthawk WiFi 6 Router (RAX36) – Router Only, AX3000 3 Gbps Wireless Speed – Dual-Band Gigabit Internet – Covers 2,000 sq. ft., 25 Devices – Built-in VPN, USB 3.0, Gaming
  • Coverage up to 2,000 sq. ft. for up to 25 devices
  • Ultrafast AX3000 speeds up to 3Gbps with WiFi 6 technology for uninterrupted streaming, HD video gaming, and web conferencing
  • This router does not include a built-in cable modem. A separate cable modem (with coax inputs) is required for internet service.
  • Connects to your existing cable modem and replaces your WiFi router. Compatible with any internet service provider up to 1Gbps including cable, satellite, fiber, and DSL
  • Plug in computers, game consoles, streaming players, and more with 4 x 1G Ethernet ports

The full server example documents allowPorts to restrict which ports clients may bind. If you use that control, make sure the chosen remotePort is allowed. Do not copy the complete example configuration as a production setup: the project labels it reference material and warns that direct use may cause issues.

Choose TCP ports or HTTP/HTTPS hostnames

A TCP proxy is the simplest option for SSH and other TCP services: users connect to the public server’s address and assigned port. If you want people to reach web services by domain name, FRP also supports HTTP and HTTPS virtual-host routing. That adds DNS and server-side listener configuration.

Approach What the outside user connects to What you need
TCP proxy Public server address and the proxy’s remotePort A reachable FRP server connection port and an available public proxy port
HTTP/HTTPS hostname routing A hostname directed to the public server DNS pointed to Server A, the relevant FRP virtual-host listener, and a client proxy configured with the matching hostname

Route a web service by hostname

The official server example uses vhostHTTPPort = 80 and vhostHTTPSPort = 443 for HTTP and HTTPS virtual-host listeners. It also uses subDomainHost when routing subdomains. The client example configures an HTTP proxy with a customDomains hostname or a subdomain; its HTTPS example follows a similar hostname-based pattern. See the full frps example and full frpc example for the project’s configuration patterns.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For hostname routing, point the chosen domain or subdomain’s DNS record at Server A, configure the relevant virtual-host listener on frps, and make the client proxy hostname match the name visitors request. Use a domain only if this routing is useful; it is not required for the basic TCP tunnel.

Rank #4
Sale
AVID POWER Compact Wood Router Tool for Woodworking 630W 5.3 Amp, Trim Bits
  • Strong Motor, Power for Your Woodworks: With 630W 5.3 Amp motor, this trim router provides sufficient power & smooth operation for woodworking projects, no excessive vibration. Air vent prevents overheat and motor burnt-out during prolonged use. Replacement brushes for extended lifespan & consistent performance over time
  • High Speed & 3 Guide Modes for Efficient Woodworking: 35,000 RPM allow users to finish work pieces efficiently, with straight guide and roller gudie included, suitable for intricate detailed cutting, routing, slotting, grooving and trimming door hinges, etc.
  • Precise Depth Adjustments & Secure Fixed Base: This hand router features smooth depth adjustment system for precise height setting. Secure fix base ensures stable fine positioning for intricate cuts during routing
  • Collet, Router Bits & Accessories Included, Easy to Install: Palm router includes 1/4” collet and 5pcs 1/4 shank router bits, edge & roller router guide. It’s easy to change router bit with 2 wrenches
  • Ergonomic & Comfortable to Use: Rubber handheld router base secures grip. Corded electric and lightweight design enhances flexibility

Know where HTTPS terminates

FRP’s HTTPS proxy settings do not, by themselves, establish where application TLS terminates for every setup. Decide whether TLS is handled by the local application or another component in your setup, and verify that design before describing the connection as end-to-end encrypted. The HTTP/HTTPS proxy examples alone do not determine a universal certificate setup.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Harden the tunnel without confusing transport security with access control

The README documents token authentication configured with auth.method and auth.token on both ends; the token values must match. It also documents file-based token sourcing and OIDC client credentials as alternatives. For a simple deployment, use a long, unique token and keep it private.

The README says that since v0.50.0, TLS is enabled by default for the client-to-server transport settings transport.tls.enable and transport.tls.disableCustomTLSFirstByte. It also documents transport.tls.force = true as an optional server setting to accept only TLS connections. These settings concern transport between frpc and frps; they do not add application-level login or make a deliberately public service private.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The full server example binds its dashboard to 127.0.0.1 and includes example credentials. Do not expose a dashboard with default example credentials. If you enable a dashboard, bind and protect it according to your needs rather than making it publicly accessible by default.

Best Value
TEMO Solid Carbide Fiberglass Router Bit w 1/4" Shank and 3/4" Cutting Head
  • Solid Carbide Fiberglass Router Bit
  • Excellent for cutting through fiberglass, carbon fiber, fiber cement, drywall, resin, FRP, GRP, and other composite materials
  • 135 degree cutting point
  • 2" total length, 3/4" long cutting head 1/4" diameter shank
  • US-BASED CUSTOMER SERVICE: Available by chat, email, phone, or visit us at our customer service center in La Crosse, WI.

Check the configuration and troubleshoot in order

Before adding more proxies or options, verify each part of the route from the public server toward the local service:

  1. Check Server A: confirm frps is running and its bindPort is reachable from the internet.
  2. Check the client target: confirm serverAddr resolves to the intended public host and serverPort matches bindPort.
  3. Check the local service: from Server B, confirm the service is listening at the configured localIP and localPort.
  4. Check the public proxy port: confirm the chosen remotePort is permitted and not already occupied on Server A.
  5. Check authentication: verify both sides have matching authentication settings and token.
  6. For hostname routing, check DNS and names: confirm DNS points to Server A, the relevant virtual-host listener is configured, and the client proxy hostname matches the requested hostname.
  7. Validate and inspect: use the commands below, then read the client and server logs for connection errors before adding more configuration.

The README documents these client checks:

./frpc verify -c ./frpc.toml
./frpc status -c ./frpc.toml

Verification checks the configuration before use. Retrieving proxy status requires enabling the client web API, as described in the README. Consult the documentation for the version you installed for its web API settings.

If an antivirus product quarantines frpc, the project README warns that some products may mistakenly flag it because reverse proxy tools can bypass firewall port restrictions. Treat that as the project’s warning, not proof that any particular detection is a false positive; check the file’s origin and your security tools’ guidance.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you need before starting

This setup assumes you have a server with a public IP address or another suitable route that makes frps reachable from the internet. Existing public infrastructure may already meet that need; a domain is optional for the TCP example and useful for hostname-based web routing.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.