[PR #5129] [CLOSED] feat/frps: Add pagination to the Proxies API #5140

Closed
opened 2026-05-05 14:55:29 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fatedier/frp/pull/5129
Author: @hellozhongying
Created: 1/15/2026
Status: Closed

Base: devHead: dev


📝 Commits (2)

  • 7d68713 server: implement optional pagination for proxy info API response
  • 4a1b61d web/frps: enhance proxy management with pagination and improved API response handling

📊 Changes

8 files changed (+7074 additions, -142 deletions)

View changed files

📝 server/api/controller.go (+78 -3)
📝 server/api/types.go (+4 -1)
📝 web/frps/components.d.ts (+3 -0)
web/frps/package-lock.json (+6792 -0)
📝 web/frps/src/api/proxy.ts (+17 -2)
📝 web/frps/src/types/proxy.ts (+3 -0)
📝 web/frps/src/views/Proxies.vue (+85 -1)
📝 web/frps/yarn.lock (+92 -135)

📄 Description

WHY
1.server: implement optional pagination for proxy info API response
2.web/frps: enhance proxy management with pagination and improved API response handling

PR Summary
This PR adds optional pagination support to the frps dashboard proxy list API and updates the frps dashboard UI to display proxies with pagination.

Backend changes
Added optional query parameters page and page_size to GET /api/proxy/{type}.
Backward compatible: if page_size is not provided, the API returns the full list as before.
When pagination is enabled, the response additionally includes total, page, and pageSize (as optional fields).
Pagination is applied after sorting by name, keeping the existing ordering behavior stable.
Frontend changes (frps dashboard)
Added pagination UI to the Proxies page and updated the request to use page/page_size when not in search mode.
Kept search behavior consistent by fetching the full list for searching, then paginating client-side.
Restored page size options to 10/20/50/100/All; selecting All sends no page_size parameter.

Updated typings for the extended proxy list response.

Tooling / lockfile
Updated web/frps/yarn.lock to include both Windows and macOS platform-specific packages for esbuild and @parcel/watcher, ensuring builds work on both platforms with a single lockfile.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fatedier/frp/pull/5129 **Author:** [@hellozhongying](https://github.com/hellozhongying) **Created:** 1/15/2026 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `dev` --- ### 📝 Commits (2) - [`7d68713`](https://github.com/fatedier/frp/commit/7d68713bb4fad35691f2d40c66a5a453888578c8) server: implement optional pagination for proxy info API response - [`4a1b61d`](https://github.com/fatedier/frp/commit/4a1b61d1714251c9849b9dc070a51a71fec17eb0) web/frps: enhance proxy management with pagination and improved API response handling ### 📊 Changes **8 files changed** (+7074 additions, -142 deletions) <details> <summary>View changed files</summary> 📝 `server/api/controller.go` (+78 -3) 📝 `server/api/types.go` (+4 -1) 📝 `web/frps/components.d.ts` (+3 -0) ➕ `web/frps/package-lock.json` (+6792 -0) 📝 `web/frps/src/api/proxy.ts` (+17 -2) 📝 `web/frps/src/types/proxy.ts` (+3 -0) 📝 `web/frps/src/views/Proxies.vue` (+85 -1) 📝 `web/frps/yarn.lock` (+92 -135) </details> ### 📄 Description WHY 1.server: implement optional pagination for proxy info API response 2.web/frps: enhance proxy management with pagination and improved API response handling PR Summary This PR adds optional pagination support to the frps dashboard proxy list API and updates the frps dashboard UI to display proxies with pagination. Backend changes Added optional query parameters page and page_size to GET /api/proxy/{type}. Backward compatible: if page_size is not provided, the API returns the full list as before. When pagination is enabled, the response additionally includes total, page, and pageSize (as optional fields). Pagination is applied after sorting by name, keeping the existing ordering behavior stable. Frontend changes (frps dashboard) Added pagination UI to the Proxies page and updated the request to use page/page_size when not in search mode. Kept search behavior consistent by fetching the full list for searching, then paginating client-side. Restored page size options to 10/20/50/100/All; selecting All sends no page_size parameter. Updated typings for the extended proxy list response. Tooling / lockfile Updated web/frps/yarn.lock to include both Windows and macOS platform-specific packages for esbuild and @parcel/watcher, ensuring builds work on both platforms with a single lockfile. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 14:55:29 -06:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#5140
No description provided.