AceDroidX / frp-Android

A frp client for Android. 一个Android的frp客户端
Apache License 2.0
164 stars 29 forks source link

同样的配置文件在android无法运行,而在window可以 #15

Open EnderAvaritia opened 4 months ago

EnderAvaritia commented 4 months ago
serverAddr = " "
serverPort = 9000
dnsServer = "114.114.114.114"
auth.method = "token"
auth.token = " "
user = " "

log.level="debug"
log.disablePrintColor = true

[[visitors]]
name = "ETC-server-visitor"
type = "stcp"
serverName = "ETC-server"
secretKey = "ETC-space"
bindAddr = "127.0.0.1"
bindPort = 9000
transport.useEncryption = false
transport.useCompression = false
[[visitors]]
name = "ETC-qBittorrent-visitor"
type = "stcp"
serverName = "ETC-qBittorrent"
secretKey = "ETC-qBittorrent"
bindAddr = "127.0.0.1"
bindPort = 1389
transport.useEncryption = false
transport.useCompression = false
[[visitors]]
name = "ETC-jellyfin-visitor"
type = "stcp"
serverName = "ETC-jellyfin"
secretKey = "ETC-jellyfin"
bindAddr = "127.0.0.1"
bindPort = 13874
transport.useEncryption = false
transport.useCompression = false
[[visitors]]
name = "ETC-openwrt-visitor"
type = "stcp"
serverName = "openwrt"
secretKey = "openwrt"
bindAddr = "127.0.0.1"
bindPort = 2200
transport.useEncryption = false
transport.useCompression = false

会不会是时间的问题? Screenshot_2024-05-21-02-54-47-470_io github acedroidx frp ![Uploading Snipaste_2024-05-21_03-00-34.png…]()

AceDroidX commented 4 months ago

有无服务端和另一边客户端的日志

EnderAvaritia commented 4 months ago

有无服务端和另一边客户端的日志

服务端日志没有 以下是另一侧客户端的日志

C:\Program Files\frp\CraftKuro>.\frpc.exe -c frpc.ini
2024/05/21 10:26:44 [I] [service.go:349] [f415386c98b6c16b] login to server success, get run id [f415386c98b6c16b], server udp port [0]
2024/05/21 10:26:44 [I] [proxy_manager.go:144] [f415386c98b6c16b] proxy added: [etc.ETC-jellyfin etc.ETC-server etc.ETC-qBittorrent]
2024/05/21 10:26:44 [I] [control.go:181] [f415386c98b6c16b] [etc.ETC-jellyfin] start proxy success
2024/05/21 10:26:44 [I] [control.go:181] [f415386c98b6c16b] [etc.ETC-server] start proxy success
2024/05/21 10:26:44 [I] [control.go:181] [f415386c98b6c16b] [etc.ETC-qBittorrent] start proxy success

另一侧无日志更新

2024-05-21 10:28:54.246 [I] [sub/root.go:142] start frpc service for config file [frpc.toml]
2024-05-21 10:28:54.259 [I] [client/service.go:294] try to connect to server...
2024-05-21 10:28:54.357 [I] [client/service.go:286] [afdb57e62a07d0ae] login to server success, get run id [afdb57e62a07d0ae]
2024-05-21 10:28:54.357 [I] [visitor/visitor_manager.go:121] [afdb57e62a07d0ae] start visitor success
2024-05-21 10:28:54.358 [I] [visitor/visitor_manager.go:121] [afdb57e62a07d0ae] start visitor success
2024-05-21 10:28:54.358 [I] [visitor/visitor_manager.go:121] [afdb57e62a07d0ae] start visitor success
2024-05-21 10:28:54.358 [I] [visitor/visitor_manager.go:121] [afdb57e62a07d0ae] start visitor success
2024-05-21 10:28:54.358 [I] [visitor/visitor_manager.go:172] [afdb57e62a07d0ae] visitor added: [etc.ETC-server-visitor etc.ETC-qBittorrent-visitor etc.ETC-jellyfin-visitor etc.ETC-openwrt-visitor]
2024-05-21 10:28:54.378 [E] [client/control.go:150] [afdb57e62a07d0ae] StartWorkConn contains error: invalid NewWorkConn
2024-05-21 10:29:09.634 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:10.868 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:10.869 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:10.869 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:10.869 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.239 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.461 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.468 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.468 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.468 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.468 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.623 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.652 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.675 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection
2024-05-21 10:29:11.675 [D] [visitor/stcp.go:82] [afdb57e62a07d0ae] [etc.ETC-qBittorrent-visitor] get a new stcp user connection

用windows上面的frpc Screenshot_2024-05-21-10-31-11-107_io github acedroidx frp 使用该项目 Snipaste_2024-05-21_10-33-08 全过程另一侧frpc无日志更新

AceDroidX commented 4 months ago

2024-05-21 10:28:54.378 [E] [client/control.go:150] [afdb57e62a07d0ae] StartWorkConn contains error: invalid NewWorkConn Windows上的frpc也有这个报错 这真能访问吗

frp-Android v1.0.3 的frp版本是v0.56.0 可能是版本问题 给下其他客户端服务端的版本

EnderAvaritia commented 4 months ago

2024-05-21 10:28:54.378 [E] [client/control.go:150] [afdb57e62a07d0ae] StartWorkConn contains error: invalid NewWorkConn Windows上的frpc也有这个报错 这真能访问吗

frp-Android v1.0.3 的frp版本是v0.56.0 可能是版本问题 给下其他客户端服务端的版本

Snipaste_2024-05-21_13-38-23 确实是可访问的

frps与windows上的frpc是0.57.0,作为被访问的frpc是0.42.0(今天晚上回去更新被访问的设备的配置文件)

EnderAvaritia commented 4 months ago

2024-05-21 10:28:54.378 [E] [client/control.go:150] [afdb57e62a07d0ae] StartWorkConn contains error: invalid NewWorkConn Windows上的frpc也有这个报错 这真能访问吗

frp-Android v1.0.3 的frp版本是v0.56.0 可能是版本问题 给下其他客户端服务端的版本

除android以外全部更新了v0.57.0,没有任何区别,除了android以外均可用,仍旧出现invalid NewWorkConn但无影响

AceDroidX commented 4 months ago

会不会是时间的问题?

这怎么说 是设备没有同步NTP时间 还是设备在不同时区

先试试最小化配置 并确保(内网设备和访问者设备)到服务器的连接通畅 如果有跨国连接注意防火墙干扰 服务器配置(frps):

/usr/bin/frps --bind_port 7000 --log_level info --token <token>

内网设备配置(frpc):

serverAddr = "<服务器地址>"
serverPort = 7000
auth.token = "<token>"
user = "test"

[log]
level = "debug"
disablePrintColor = true

[[proxies]]
name = "secret_web"
type = "stcp"
secretKey = "<secret>"
localIP = "127.0.0.1"
localPort = 8000

访问者设备配置(frp-Android):

serverAddr = "<服务器地址>"
serverPort = 7000
auth.token = "<token>"
dnsServer = "119.29.29.29"
user = "test"

[log]
level = "debug"
disablePrintColor = true

[[visitors]]
name = "secret_web_visitor"
type = "stcp"
serverName = "secret_web"
secretKey = "<secret>"
bindAddr = "127.0.0.1"
bindPort = 9000
transport.useEncryption = false
transport.useCompression = false

这一套下来我这是没问题的

EnderAvaritia commented 4 months ago

会不会是时间的问题?

这怎么说 是设备没有同步NTP时间 还是设备在不同时区

先试试最小化配置 并确保(内网设备和访问者设备)到服务器的连接通畅 如果有跨国连接注意防火墙干扰 服务器配置(frps):

/usr/bin/frps --bind_port 7000 --log_level info --token <token>

内网设备配置(frpc):

serverAddr = "<服务器地址>"
serverPort = 7000
auth.token = "<token>"
user = "test"

[log]
level = "debug"
disablePrintColor = true

[[proxies]]
name = "secret_web"
type = "stcp"
secretKey = "<secret>"
localIP = "127.0.0.1"
localPort = 8000

访问者设备配置(frp-Android):

serverAddr = "<服务器地址>"
serverPort = 7000
auth.token = "<token>"
dnsServer = "119.29.29.29"
user = "test"

[log]
level = "debug"
disablePrintColor = true

[[visitors]]
name = "secret_web_visitor"
type = "stcp"
serverName = "secret_web"
secretKey = "<secret>"
bindAddr = "127.0.0.1"
bindPort = 9000
transport.useEncryption = false
transport.useCompression = false

这一套下来我这是没问题的

serverAddr = " "
serverPort = 9000
dnsServer = "119.29.29.29"
auth.method = "token"
auth.token = " "
user = "etc"

log.level="debug"
log.disablePrintColor = true

[[visitors]]
name = "ETC-qBittorrent-visitor"
type = "stcp"
serverName = "ETC-qBittorrent"
secretKey = " "
bindAddr = "127.0.0.1"
bindPort = 1389
transport.useEncryption = false
transport.useCompression = false

Screenshot_2024-05-22-12-51-37-847_io github acedroidx frp

已测试最小配置,无效 应该不是服务端那边的问题,毕竟window上是能连上的 我总觉得是时区问题,app上用的似乎是UTC,但是其他所有时间都是UTC+8,不对头啊 但问题是应该时间戳不出问题就没事,不然跨国握手不都得寄掉 我也没看到在哪能设置时区啊

EnderAvaritia commented 4 months ago

话说这每次改完配置文件大概率闪退一次是不是也有关系?

AceDroidX commented 4 months ago

把user和transport删了试试吧 这再不行我也不知道咋办了

AceDroidX commented 4 months ago

话说这每次改完配置文件大概率闪退一次是不是也有关系?

不是闪退 是界面跳转写错了 把单例的页面给关闭了

EnderAvaritia commented 4 months ago

把user和transport删了试试吧 这再不行我也不知道咋办了

也不行……悲…… 试着抓了一下包,都是200,看着也没问题 Snipaste_2024-05-22_15-02-14 看日志像是workconn出了什么问题,不理解……

auth.additionalScopes = ["HeartBeats"] 加了个这个也没用,连上之后瞬间断连,也不知道是不是心跳包也出了什么问题