[GH-ISSUE #1584] [Feature] Forwarding all ports with filter #1255

Closed
opened 2026-05-05 12:48:08 -06:00 by gitea-mirror · 3 comments
Owner

Originally created by @DKingAlpha on GitHub (Dec 28, 2019).
Original GitHub issue: https://github.com/fatedier/frp/issues/1584

实现了一个转发全部端口的功能,支持定期刷新,支持自动发现端口时使用各种条件过滤端口。

已在fork中实现,参考Commit

功能描述

所有端口映射

在frpc的配置文件中可以指定映射本机所有开放端口,并周期性地刷新端口配置,且支持各种黑名单避免转发敏感端口。

这个功能可以使你的机器表现得像拥有一个公网IP。目前只支持tcp与udp类型。

这一功能通过在 common 段落中设置 forward_all 选项来实现。示例如下:

[common]
forward_all = tcp+udp
forward_all_refresh_interval = 10
all_use_encryption = true
all_use_compression = false
blacklist_ip = [fe80::7dd0:36c9:5993:6225], 127.0.0.1, 192.168.1.100, 192.168.1.0/24
blacklist_ipport = 127.0.0.1:1434, 0.0.0.0:135
blacklist_port = 135, 139, 443, 445, 1433
blacklist_process = chrome.exe, System, svchost.exe, vmware-hostd.exe, wininit.exe, spoolsv.exe, services.exe
  • forward_all: 可设置为 false, tcp, udp, true(即tcp+udp), tcp/udp(任意分割符均可)
  • forward_all_refresh_interval: 端口状态刷新间隔,单位是秒。当本机端口未变化时不会导致代理配置重载。
  • all_use_encryption: 这些自动发现的端口是否使用加密
  • all_use_compression: 这些自动发现的端口是否使用压缩

为什么不使用VPN: vpn协议被ban成马了,速度奇慢


Feature Description

All ports mapping

Set forward_all in common section to forward all open ports on your local machine, which refreshes periodically. Varieties of blacklist are provided to avoid forwarding any risky ports.

This works like having assigned a shadow public IP address to frpc host. Connecting to frps is equivalent to directly connecting to your local machine. Currently only TCP&UDP are supported.

[common]
forward_all = tcp+udp
forward_all_refresh_interval = 10
all_use_encryption = true
all_use_compression = false
blacklist_ip = [fe80::7dd0:36c9:5993:6225], 127.0.0.1, 192.168.1.100, 192.168.1.0/24
blacklist_ipport = 127.0.0.1:1434, 0.0.0.0:135
blacklist_port = 135, 139, 443, 445, 1433
blacklist_process = chrome.exe, System, svchost.exe, vmware-hostd.exe, wininit.exe, spoolsv.exe, services.exe
Originally created by @DKingAlpha on GitHub (Dec 28, 2019). Original GitHub issue: https://github.com/fatedier/frp/issues/1584 实现了一个转发全部端口的功能,支持定期刷新,支持自动发现端口时使用各种条件过滤端口。 已在fork中实现,参考[Commit](https://github.com/DKingCN/frp/commit/342f2c91a09912a2479529633d55095332689447) ### [**功能描述**](https://github.com/DKingCN/frp/blob/master/README_zh.md#%E6%89%80%E6%9C%89%E7%AB%AF%E5%8F%A3%E6%98%A0%E5%B0%84) ### 所有端口映射 在frpc的配置文件中可以指定映射本机所有开放端口,并周期性地刷新端口配置,且支持各种黑名单避免转发敏感端口。 这个功能可以使你的机器表现得像拥有一个公网IP。目前只支持tcp与udp类型。 这一功能通过在 `common` 段落中设置 `forward_all` 选项来实现。示例如下: ```ini [common] forward_all = tcp+udp forward_all_refresh_interval = 10 all_use_encryption = true all_use_compression = false blacklist_ip = [fe80::7dd0:36c9:5993:6225], 127.0.0.1, 192.168.1.100, 192.168.1.0/24 blacklist_ipport = 127.0.0.1:1434, 0.0.0.0:135 blacklist_port = 135, 139, 443, 445, 1433 blacklist_process = chrome.exe, System, svchost.exe, vmware-hostd.exe, wininit.exe, spoolsv.exe, services.exe ``` * **forward_all**: 可设置为 false, tcp, udp, true(即tcp+udp), tcp/udp(任意分割符均可) * **forward_all_refresh_interval**: 端口状态刷新间隔,单位是秒。当本机端口未变化时不会导致代理配置重载。 * **all_use_encryption**: 这些自动发现的端口是否使用加密 * **all_use_compression**: 这些自动发现的端口是否使用压缩 **为什么不使用VPN**: vpn协议被ban成马了,速度奇慢 ----------- ### [**Feature Description**](https://github.com/DKingCN/frp#all-ports-mapping) ### All ports mapping Set `forward_all` in `common` section to forward all open ports on your local machine, which refreshes periodically. Varieties of blacklist are provided to avoid forwarding any risky ports. This works like having assigned a **shadow** public IP address to frpc host. Connecting to frps is equivalent to directly connecting to your local machine. Currently only TCP&UDP are supported. ```ini [common] forward_all = tcp+udp forward_all_refresh_interval = 10 all_use_encryption = true all_use_compression = false blacklist_ip = [fe80::7dd0:36c9:5993:6225], 127.0.0.1, 192.168.1.100, 192.168.1.0/24 blacklist_ipport = 127.0.0.1:1434, 0.0.0.0:135 blacklist_port = 135, 139, 443, 445, 1433 blacklist_process = chrome.exe, System, svchost.exe, vmware-hostd.exe, wininit.exe, spoolsv.exe, services.exe ```
gitea-mirror 2026-05-05 12:48:08 -06:00
  • closed this issue
  • added the
    doc
    label
Author
Owner

@deadlineOvO commented on GitHub (Jan 2, 2020):

这种有没有考虑过一些情况下 frpc 端口不能被 frps 按照相同端口反代的问题
例如说 frpc 有 ssh 的 22 ,但是在 frps 的 22 上已经有一个 sshd 了

<!-- gh-comment-id:570121989 --> @deadlineOvO commented on GitHub (Jan 2, 2020): 这种有没有考虑过一些情况下 frpc 端口不能被 frps 按照相同端口反代的问题 例如说 frpc 有 ssh 的 22 ,但是在 frps 的 22 上已经有一个 sshd 了
Author
Owner

@DKingAlpha commented on GitHub (Jan 3, 2020):

这种有没有考虑过一些情况下 frpc 端口不能被 frps 按照相同端口反代的问题
例如说 frpc 有 ssh 的 22 ,但是在 frps 的 22 上已经有一个 sshd 了

frps在这种情况下将对相应端口报错,不影响整体映射。

<!-- gh-comment-id:570538313 --> @DKingAlpha commented on GitHub (Jan 3, 2020): > 这种有没有考虑过一些情况下 frpc 端口不能被 frps 按照相同端口反代的问题 > 例如说 frpc 有 ssh 的 22 ,但是在 frps 的 22 上已经有一个 sshd 了 frps在这种情况下将对相应端口报错,不影响整体映射。
Author
Owner

@fatedier commented on GitHub (Jan 5, 2020):

在这个项目中目前不会考虑这个功能了,但是你给用户提供了一种额外的选择,感觉很不错,后面考虑在此项目的文档上附加上链接,对这样的项目加以说明,有一些特殊需求的用户可以多一种选择。

<!-- gh-comment-id:570849267 --> @fatedier commented on GitHub (Jan 5, 2020): 在这个项目中目前不会考虑这个功能了,但是你给用户提供了一种额外的选择,感觉很不错,后面考虑在此项目的文档上附加上链接,对这样的项目加以说明,有一些特殊需求的用户可以多一种选择。
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#1255
No description provided.