Dev

frp v0.70 Released, Completes API v2 Transition and Formalizes Compatibility Policy

The open-source NAT traversal tool frp has released v0.70. With the transition to Dashboard API v2 complete, WebSocket/WSS compatibility is improved. Version v0.69 also introduced the first compatibility policy.

5 min read Reviewed & edited by the SINGULISM Editorial Team

frp v0.70 Released, Completes API v2 Transition and Formalizes Compatibility Policy
Photo by Scott Rodgerson on Unsplash

According to a report by Xiaozhong Software’s Qing Xiaowa, the open-source NAT traversal tool “frp” has been updated to version v0.70. This version completes the transition of the frps (server-side) Dashboard API to v2, improves compatibility for WebSocket/WSS, and fixes bugs related to the Proxy Protocol. Additionally, the compatibility policy first outlined in v0.69 has been formally introduced, clarifying the tool’s direction toward stability for long-term operations.

Key Updates in v0.70

The most notable update in this release is the full transition of the frps Dashboard API to v2. Specifically, new modules have been added or improved, including client overview, proxy lists, server overview, client details, and proxy details. The platform now supports pagination, search, filtering by proxy type, and the retrieval of proxy traffic history and server system information. This lays the groundwork for managing frp operations via external tools or APIs.

Regarding WebSocket/WSS, the transmission method has been changed to Binary Frame. According to Xiaozhong Software’s report, compatibility has been enhanced for environments behind reverse proxies such as Cloudflare and Nginx, while unexpected disconnections caused by UTF-8 checks have been prevented. This represents a practical improvement for users employing frp in proxy configurations.

As for the Proxy Protocol, a bug in the tls2raw plugin that prevented headers from being correctly written when the Proxy Protocol was enabled has been fixed. Additionally, configuration checks have been enhanced: if duplicate Proxy or Visitor names exist within the same configuration, the previous silent overwriting behavior has been changed to output an error. This modification enables early detection of configuration errors, helping to prevent potential malfunctions.

Introduction of the Compatibility Policy

The compatibility policy introduced in v0.69 serves as a crucial framework supporting the long-term operation of frp. The official documentation clearly specifies the range of mutual compatibility between versions of frpc and frps. For instance, frpc v0.69 is mutually compatible with frps versions ranging from v0.61 to v0.77, and vice versa. Compatibility beyond this range is not guaranteed, although the tool may still function correctly in many cases.

When upgrading in a hybrid version environment, it is recommended to first upgrade frps (the server-side) and then upgrade frpc (the client-side). This ensures that the server can support the protocol behavior of newer clients, facilitating a smoother upgrade process. Since frp often involves separate updates to the server and client, this policy holds significant practical value.

Persistent Storage and API Functionality

The persistent storage feature introduced in v0.68 can be enabled by adding a [store] section to the frpc client configuration. The configuration is saved in a db.json file, allowing states to be retained even after restarting frpc. However, it should be noted that the webServer must also be enabled to utilize the API capabilities.

By leveraging the API functionality, users can dynamically add, modify, and delete proxies using tools like the curl command, without needing to restart frpc. Xiaozhong Software’s Qing Xiaowa described this API functionality as being “designed for AI,” suggesting that it is intended for managing dynamic tunneling through agents.

An example of adding a proxy from the terminal using a curl command is as follows:

curl -u appinn:appinnadmin http://192.168.1.111:7500/api/store/proxies \
-H "Content-Type: application/json" \
-d '{ "name": "openclaw", "type": "tcp", "tcp": { "localPort": 17321, "remotePort": 47321 } }'

Modifications to proxies can be made using the PUT method, deletions with the DELETE method, and all proxies can be queried using the GET method. These API operations enable dynamic configuration management of frp.

tokenSource and Security Enhancements

In v0.64.0, a new tokenSource feature was added, allowing authentication tokens to be read from a file. This eliminates the need to write tokens in plain text within the configuration file, thereby reducing the risk of exposing sensitive settings. A sample configuration in the frps.toml file is as follows:

auth.tokenSource.type = "file" 
auth.tokenSource.file.path = "/etc/frp/token" 

Custom keys can be written into the token file and used for authentication between frp instances. This change significantly reduces the risk of inadvertently exposing authentication information when managing configuration files via tools like Git.

Editorial Opinion

In the short term, the completion of the Dashboard API v2 transition in v0.70 establishes a solid foundation for managing frp operations through external APIs. This makes integration with existing monitoring tools and CI/CD pipelines more seamless, which could reduce the operational burden for organizations managing multiple frp nodes. The improved WebSocket/WSS compatibility may also encourage adoption behind reverse proxies like Cloudflare and Nginx.

From a long-term perspective, the formalization of an official compatibility policy marks a significant step forward for enterprise adoption of frp. By clearly defining the range of guaranteed compatibility between versions, the policy simplifies upgrade planning and enhances reliability in production environments, where long-term operation is key.

Additionally, the expansion of persistent storage and API functionality indicates a shift in frp’s role, transforming it from a mere tunneling tool into a more comprehensive configuration management platform. The design, which appears to consider integration with AI agents, aligns with broader trends toward network automation.

References

  • “frp v0.70:开源内网穿透工具教程,完善 API、规定兼容性策略”, by 青小蛙 — 小众软件, 2026-07-12T08:50:38.000Z (ARR)
  • Source URL: https://www.appinn.com/frp/

Frequently Asked Questions

What is frp?
frp is an open-source NAT traversal tool written in Go. It allows external access to devices behind firewalls or NAT by using servers with fixed public IPs (e.g., VPS) as relay nodes. It supports Windows, macOS, and Linux, and accommodates TCP/UDP/HTTP/HTTPS tunneling.
What are the advantages of the persistent storage feature?
By adding a `[store]` section to the frpc configuration, proxy settings can be saved in a `db.json` file, which retains the settings even after a restart. This eliminates the need to edit configuration files directly and is particularly useful when controlling frp through AI agents or automation scripts, as it allows changes to tunnel configurations without requiring a restart.
Why is the compatibility policy important?
Since frp operates with separate server (frps) and client (frpc) versions, incompatible version combinations could previously lead to unexpected behaviors. The compatibility policy introduced in v0.69 ensures that mutual compatibility is guaranteed within defined version ranges, simplifying risk management and upgrade planning, especially in production environments. ## References - [Xiaozhong Software: frp v0.70: Open-Source NAT Traversal Tool Tutorial, Improved API, and Formalized Compatibility Policy](https://www.appinn.com/frp/) — Published on 2026-07-12 - [frp Official GitHub Release Notes](https://github.com/fatedier/frp/releases/tag/v0.70) — Published on 2026-07-12 (estimated)
Source: 小众软件

Comments

← Back to Home