AI prompts
base on A user-friendly desktop GUI client for FRP on Windows. # FRP Manager
[](https://github.com/koho/frpmgr/releases)
[](https://github.com/fatedier/frp)
[](https://github.com/koho/frpmgr/releases)
English | [简体中文](README_zh.md)
FRP Manager is a multi-node, graphical reverse proxy tool designed for [FRP](https://github.com/fatedier/frp) on Windows. It allows users to setup reverse proxy easily without writing the configuration file. FRP Manager offers a complete solution including editor, launcher, status tracking, and hot reload.
The tool was inspired by a common use case where we often need to combine multiple tools including client, configuration file, and launcher to create a stable service that exposes a local server behind a NAT or firewall to the Internet. Now, with FRP Manager, an all-in-one solution, you can avoid many tedious operations when deploying a reverse proxy.
The latest release requires at least Windows 10 or Server 2016. Please visit the **[Wiki](https://github.com/koho/frpmgr/wiki)** for comprehensive guides.

## Features
- **Closable GUI:** All launched configurations will run independently as background services, so you can close the GUI after finishing all settings.
- **Auto-start:** A launched configuration is registered as an auto-start service by default and starts automatically during system boot (no login required).
- **Hot reload:** Allows users to apply proxy changes to a running configuration without restarting the service and without losing proxy state.
- **Multiple configurations:** It's easy to connect to multiple nodes by creating multiple configurations.
- **Import and export configurations:** Provides the option to import configuration file from multiple sources, including local file, clipboard, and HTTP.
- **Self-destructing configuration:** A special configuration that disappears and becomes unreachable after a certain amount of time.
- **Status tracking:** You can check the proxy status directly in the table view without looking at the logs.
Visit the **[Wiki](https://github.com/koho/frpmgr/wiki)** for comprehensive guides, including:
- **[Installation Instructions](https://github.com/koho/frpmgr/wiki#how-to-install):** Install or upgrade FRP Manager on Windows.
- **[Quick Start Guide](https://github.com/koho/frpmgr/wiki/Quick-Start):** Learn how to connect to your node and setup a proxy in minutes.
- **[Configuration](https://github.com/koho/frpmgr/wiki/Configuration):** Explore configuration, proxy, visitor, and log.
- **[Examples](https://github.com/koho/frpmgr/wiki/Examples):** There are some common examples to help you learn FRP Manager.
## Building
To build FRP Manager from source, you need to install the following dependencies:
- Go
- [Windows SDK](https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/)
- [MinGW](https://github.com/mstorsjo/llvm-mingw)
- [WiX Toolset](https://wixtoolset.org/) v3.14
Once installed, the `WindowsSdkVerBinPath` environment variable should be set to tell build script where to find the specific version of Windows SDK, e.g., `set WindowsSdkVerBinPath=C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\`. You should also add the `bin` directory of MinGW to the `PATH` environment variable.
You can compile the project by opening the terminal:
```shell
git clone https://github.com/koho/frpmgr
cd frpmgr
build.bat
```
The generated installation files are located in the `bin` directory.
You can also skip building the installation package and get a portable application by passing the `-p` option to the `build` command:
```shell
build.bat -p
```
In this case, you only need to install Go and MinGW.
### Debugging
If you're building the project for the first time, you need to compile resources:
```shell
go generate
```
The command does not need to be executed again unless the project's resources change.
After that, the application can be run directly:
```shell
go run ./cmd/frpmgr
```
## Sponsors
> We are really thankful for all of our users, contributors, and sponsors that has been keeping this project alive and well. We are also giving our gratitude for these company/organization for providing their service for us.
1. SignPath Foundation for providing us free code signing!
<p align=center>
<a href="https://about.signpath.io/">
<img src="./docs/sponsor_signpath.png" alt="SignPath Logo" height=50 />
</a>
</p>
## Code Signing Policy
Free code signing provided by [SignPath.io](https://about.signpath.io/), certificate by [SignPath Foundation](https://signpath.org/).
Team roles:
- Committers and reviewers: [Members team](https://github.com/koho/frpmgr/graphs/contributors)
- Approvers: [Owners](https://github.com/koho)
Read our full [Privacy Policy](#privacy-policy).
## Privacy Policy
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
FRP Manager has integrated the following services for additional functions, which can be enabled or disabled at any time in the settings:
- [api.github.com](https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement) (Check for program updates)
## Donation
If this project is useful to you, consider supporting its development in one of the following ways:
- [**WeChat**](/docs/donate-wechat.jpg)
", Assign "at most 3 tags" to the expected json: {"id":"12762","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"