mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #5042] [Feature Request] Enable kcp encryption #3967
Labels
No labels
In Progress
WIP
WaitingForInfo
bug
doc
duplicate
easy
enhancement
future
help wanted
invalid
lifecycle/stale
need-issue-template
need-usage-help
no plan
proposal
pull-request
question
todo
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/frp#3967
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @f0re1gnKey on GitHub (Nov 2, 2025).
Original GitHub issue: https://github.com/fatedier/frp/issues/5042
Describe the feature request
According to the description of kcp-go, without encryption
The contents of the packets are completely anonymous with encryption, including the headers (FEC, KCP), checksums, and contents. Note that no matter which encryption method you choose at the upper layer, if you disable encryption, the transmission will be insecure, as the header is plaintext and susceptible to tampering, such as jamming the sliding window size, round-trip time, FEC properties, and checksums. AES-128 is suggested for minimal encryption, as modern CPUs come with AES-NI instructions and perform better than salsa20 (check the table above).
Q: Should I enable encryption?
A: Yes, for the security of the protocol, even if the upper layer has encryption.
Even if the upper layer has used tls encryption, the control header of kcp still needs to be encrypted and protected.
Describe alternatives you've considered
No response
Affected area
@fatedier commented on GitHub (Nov 3, 2025):
frp does not aim to provide traffic obfuscation. In frp, KCP is used solely to improve throughput in poor/unstable (lossy) network conditions.
@f0re1gnKey commented on GitHub (Nov 3, 2025):
This issue is closed because the author has explicitly stated that the KCP will not be protected.