mirror of
https://github.com/fatedier/frp.git
synced 2026-05-15 08:05:49 -06:00
[GH-ISSUE #5038] Unable to connect to stcp client #3966
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#3966
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 @smac89 on GitHub (Oct 31, 2025).
Original GitHub issue: https://github.com/fatedier/frp/issues/5038
Bug Description
I have the following stcp proxy running on a remote client (A):
On my machine (B), I have frpc configured with the following:
When I start frpc on (A), I see:
When I start frpc on (B), I see the following output:
Now on (B), I run the command:
And it fails. See the output in the logs.
At the same time, this is the new output of frpc running on (B):
The output of (A) hasn't changed. The server running on (A) is just:
frpc Version
0.65.0
frps Version
0.65.0
System Architecture
linux/amd64
Configurations
// [Client A]
// [Client B]
Logs
// [Curl output]
// [Client A logs]
// [Client B logs]
Steps to reproduce
...
Affected area
@fatedier commented on GitHub (Oct 31, 2025):
Not an STCP bug—this is a namespace mismatch caused by different user values.
Your STCP listener is registered as [A.python_server] (because the client on the server side uses user = A), but the visitor is trying to connect to [B.python_server]. When serverUser is not set on the visitor, it defaults to the visitor’s local user (i.e., B), so FRP can’t find the listener and prints: custom listener for [B.python_server] doesn't exist.
Fix (pick one)
Set serverUser on the visitor to point at A
Make the user the same on both sides
Use the same user in both clients’ common config (or leave it unset on both), so the default visitor behavior resolves to the correct
<user>.<proxyName>.@smac89 commented on GitHub (Oct 31, 2025):
@fatedier
So I tried your suggestion above using the first option of setting
serverUser = "A", but this also failed to work. The new error I get is:So I had to go into client A and modify its configuration to look like:
This was the only way to make it work.
The current configuration of
Bis now:Yes it works, but seems rather redundant. If
allowUsers = [...]onAis somehow supposed to control what users are allowed to connect to the client, then what is the point of also having to specifyserverUser = "A"on other clients?@fatedier commented on GitHub (Nov 2, 2025):
Your STCP listener is registered as [A.python_server] , not [python_server].
@smac89 commented on GitHub (Nov 3, 2025):
I'm not sure how to interpret this. Are you saying that what you suggested was wrong, or are you talking about another way of setting up the listener? In my last comment, I explained that your suggestion worked because I added the
allowUsersfield to A.@github-actions[bot] commented on GitHub (Nov 18, 2025):
Issues go stale after 14d of inactivity. Stale issues rot after an additional 3d of inactivity and eventually close.