[GH-ISSUE #219] 以后会考虑支持ftp协议么? #150

Closed
opened 2026-05-05 11:52:12 -06:00 by gitea-mirror · 19 comments
Owner

Originally created by @jacobzeng on GitHub (Jan 10, 2017).
Original GitHub issue: https://github.com/fatedier/frp/issues/219

感谢提供这么好的工具,以后会考虑支持ftp协议么?

Originally created by @jacobzeng on GitHub (Jan 10, 2017). Original GitHub issue: https://github.com/fatedier/frp/issues/219 感谢提供这么好的工具,以后会考虑支持ftp协议么?
Author
Owner

@wxyzh commented on GitHub (Jan 10, 2017):

ftp协议有点麻烦,因为FTP需要至少两个端口,需要在服务器上做一些设置。
以被动模式为例:

FTP客户端 打开两个非特权端口A和B
FTP服务端打开21端口和一个非特权端口C
客户端端口A连接服务器的21端口。
客户端的端口B,连接服务端的端口C

你要做的是,在frp服务端设置并转发一批端口出去用于数据传输

<!-- gh-comment-id:271512803 --> @wxyzh commented on GitHub (Jan 10, 2017): ftp协议有点麻烦,因为FTP需要至少两个端口,需要在服务器上做一些设置。 以被动模式为例: ``` FTP客户端 打开两个非特权端口A和B FTP服务端打开21端口和一个非特权端口C 客户端端口A连接服务器的21端口。 客户端的端口B,连接服务端的端口C ```` 你要做的是,在frp服务端设置并转发一批端口出去用于数据传输
Author
Owner

@jacobzeng commented on GitHub (Jan 10, 2017):

你说的这个我尝试过用tcp的方式来弄,无论是被动还是主动,然后可以连接上,但是无法得到数据,所以我感觉还是有些地方是不是要特殊处理

<!-- gh-comment-id:271546653 --> @jacobzeng commented on GitHub (Jan 10, 2017): 你说的这个我尝试过用tcp的方式来弄,无论是被动还是主动,然后可以连接上,但是无法得到数据,所以我感觉还是有些地方是不是要特殊处理
Author
Owner

@fatedier commented on GitHub (Jan 10, 2017):

都是直接用 scp,很久没用 ftp 了,我找时间测试下。

<!-- gh-comment-id:271552020 --> @fatedier commented on GitHub (Jan 10, 2017): 都是直接用 scp,很久没用 ftp 了,我找时间测试下。
Author
Owner

@wxyzh commented on GitHub (Jan 10, 2017):

被动模式,ftp数据端口和frp转发的端口一一对应呢

fatedier notifications@github.com于2017年1月10日周二 19:27写道:

都是直接用 scp,很久没用 ftp 了,我找时间测试下。


You are receiving this because you commented.

Reply to this email directly, view it on GitHub
https://github.com/fatedier/frp/issues/219#issuecomment-271552020, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASpHqSMiy5_F0gaRFJ0B92iWX4X1OhbZks5rQ2sTgaJpZM4LfHS7
.

<!-- gh-comment-id:271553822 --> @wxyzh commented on GitHub (Jan 10, 2017): 被动模式,ftp数据端口和frp转发的端口一一对应呢 fatedier <notifications@github.com>于2017年1月10日周二 19:27写道: > 都是直接用 scp,很久没用 ftp 了,我找时间测试下。 > > — > You are receiving this because you commented. > > > Reply to this email directly, view it on GitHub > <https://github.com/fatedier/frp/issues/219#issuecomment-271552020>, or mute > the thread > <https://github.com/notifications/unsubscribe-auth/ASpHqSMiy5_F0gaRFJ0B92iWX4X1OhbZks5rQ2sTgaJpZM4LfHS7> > . >
Author
Owner

@jacobzeng commented on GitHub (Jan 10, 2017):

proxy server和host server完全映射相同端口我也试过,关掉ftp的对来源ip的限制等也尝试过,最终没成功,后来只有换成sftp。

<!-- gh-comment-id:271566610 --> @jacobzeng commented on GitHub (Jan 10, 2017): proxy server和host server完全映射相同端口我也试过,关掉ftp的对来源ip的限制等也尝试过,最终没成功,后来只有换成sftp。
Author
Owner

@fatedier commented on GitHub (Jan 11, 2017):

我研究了下,发现了问题是这样的:

FTP客户端 打开两个非特权端口A和B
FTP服务端打开21端口和一个非特权端口C
客户端端口A连接服务器的21端口。
客户端的端口B,连接服务端的端口C

@wxyzh 说的这个流程中,非特权端口 C 很关键。FTP 服务端会打开一个特权端口 C 并将这个端口告知 FTP 客户端,FTP 客户端需要连接服务端的端口 C。

但是经过 frps 中转后,frps 所在服务器并没有监听端口 C,也就是 FTP 客户端连不到真实的 FTP 服务端的端口 C。

端口 C 是随机的, 但是查了下应该可以指定被动模式使用的端口 C 的范围,比如 5000 - 5005,然后在 frps 和 FTP 服务端将这几个端口之间一一对应起来,这样可能可以。总的来说,对于 ftp 并不能很好的支持,如果有其他可选方案,还是换其他的比较好,或者采用 VPN 这样的工具。

<!-- gh-comment-id:271937007 --> @fatedier commented on GitHub (Jan 11, 2017): 我研究了下,发现了问题是这样的: ``` FTP客户端 打开两个非特权端口A和B FTP服务端打开21端口和一个非特权端口C 客户端端口A连接服务器的21端口。 客户端的端口B,连接服务端的端口C ``` @wxyzh 说的这个流程中,非特权端口 C 很关键。FTP 服务端会打开一个特权端口 C 并将这个端口告知 FTP 客户端,FTP 客户端需要连接服务端的端口 C。 但是经过 frps 中转后,frps 所在服务器并没有监听端口 C,也就是 FTP 客户端连不到真实的 FTP 服务端的端口 C。 端口 C 是随机的, 但是查了下应该可以指定被动模式使用的端口 C 的范围,比如 5000 - 5005,然后在 frps 和 FTP 服务端将这几个端口之间一一对应起来,这样可能可以。总的来说,对于 ftp 并不能很好的支持,如果有其他可选方案,还是换其他的比较好,或者采用 VPN 这样的工具。
Author
Owner

@wxyzh commented on GitHub (Jan 12, 2017):

端口 C 是随机的, 但是查了下应该可以指定被动模式使用的端口 C 的范围,比如 5000 - 5005,然后在 frps 和 FTP 服务端将这几个端口之间一一对应起来,这样可能可以。总的来说,对于 ftp 并不能很好的支持,如果有其他可选方案,还是换其他的比较好,或者采用 VPN 这样的工具。

@fatedier 可能会比较复杂,我测试过了,在服务器端指定数据端口C的范围,比如5000-5005 然后frps也去对应5000-5005。在测试过程中又出现了另外一个问题:ftpd需要判断客户端的来源(客户端是来自lan还是来自frps?)来自lan的连接需要使用ftpd的lan ip,来自frps的连接需要使用frps 的ip。

@jacobzeng 使用代理ftp需要解决的问题是

  • ftpd使用被动模式,并且能指定数据端口的范围
  • ftpd要能够自动判断或指定被动模式使用的ip
    • 如果可以指定被动模式使用的ip,那么可以让lan内的连接也使用frps
    • 如果可以自动判断地址,那么lan内可以直接连接,lan外可以使用frps,这样比较玩美
    • 如果无法指定或判断使用的ip,就不能使用frps

@fatedier #154

<!-- gh-comment-id:272054942 --> @wxyzh commented on GitHub (Jan 12, 2017): > 端口 C 是随机的, 但是查了下应该可以指定被动模式使用的端口 C 的范围,比如 5000 - 5005,然后在 frps 和 FTP 服务端将这几个端口之间一一对应起来,这样可能可以。总的来说,对于 ftp 并不能很好的支持,如果有其他可选方案,还是换其他的比较好,或者采用 VPN 这样的工具。 @fatedier 可能会比较复杂,我测试过了,在服务器端指定数据端口C的范围,比如5000-5005 然后frps也去对应5000-5005。在测试过程中又出现了另外一个问题:ftpd需要判断客户端的来源(客户端是来自lan还是来自frps?)来自lan的连接需要使用ftpd的lan ip,来自frps的连接需要使用frps 的ip。 @jacobzeng 使用代理ftp需要解决的问题是 - ftpd使用被动模式,并且能指定数据端口的范围 - ftpd要能够自动判断或指定被动模式使用的ip - 如果可以指定被动模式使用的ip,那么可以让lan内的连接也使用frps - 如果可以自动判断地址,那么lan内可以直接连接,lan外可以使用frps,这样比较玩美 - 如果无法指定或判断使用的ip,就不能使用frps @fatedier #154
Author
Owner

@fatedier commented on GitHub (Jan 12, 2017):

考虑各种应用层的协议会变的非常复杂,不打算在 frp 中支持,重点还是 tcp 和 http。

<!-- gh-comment-id:272137666 --> @fatedier commented on GitHub (Jan 12, 2017): 考虑各种应用层的协议会变的非常复杂,不打算在 frp 中支持,重点还是 tcp 和 http。
Author
Owner

@icanoncn commented on GitHub (Mar 1, 2018):

特意注册了个账号,感谢作者的无私奉献。

最近成功实现了 vsftpd 的内网穿透。
虽然不专业,但我还是简单写一下过程吧,希望能帮到正在看这篇文章的朋友。
如有错误,还请谅解。

我一台 OpenWrt / LEDE 路由器,运行 vsftpd,作为二级路由。
主路由上没做任何端口转发。

我想从外网访问二级路由上的 FTP 服务。
有一台,VPS ,公网 IP,Debian 9 系统,可以用来转发数据。

1.vsftpd 的设置。
listen_port=10000
pasv_enable=YES
pasv_max_port=10003
pasv_min_port=10001
pasv_address=VPS公网IP

这一步似乎是关键。
我用的是被动模式,之前 Filezilla 出现过 “读取目录列表失败”的错误。是因为 FTP 被动模式 会产生随机端口,而这些随机端口无法让 frp 知道。所以需要 通过 'pasv_max_port' 和 'pasv_min_port' 设置随机端口的范围,把范围内的端口填到 frpc.ini 里。
P.S. 'pasv_max_port' 一定要比 'pasv_min_port' 大,否则无法生效,也没有错误提示,我就是因为眼花填错了,折腾了好久……

也出现过“服务器发回了不可路由的地址”,是因为 vsftp 被动模式返回的是二级路由 WAN 口的网址,192.168.1.1。所以需要 pasv_address 设置成 VPS 的公网 IP。

2.frps.ini 的设置。
设置了 bind_port,privilege_token。

3.frpc.ini 的设置。
设置好 bind_port,privilege_token,与 frps.ini 相同。
打开 10000,10001,10002,10003 端口。

4.VPS 的设置。
iptables 打开 10000,10001,10002,10003 端口,和 bind_port 端口。

<!-- gh-comment-id:369576040 --> @icanoncn commented on GitHub (Mar 1, 2018): 特意注册了个账号,感谢作者的无私奉献。 最近成功实现了 vsftpd 的内网穿透。 虽然不专业,但我还是简单写一下过程吧,希望能帮到正在看这篇文章的朋友。 如有错误,还请谅解。 我一台 OpenWrt / LEDE 路由器,运行 vsftpd,作为二级路由。 主路由上没做任何端口转发。 我想从外网访问二级路由上的 FTP 服务。 有一台,VPS ,公网 IP,Debian 9 系统,可以用来转发数据。 1.vsftpd 的设置。 listen_port=10000 pasv_enable=YES pasv_max_port=10003 pasv_min_port=10001 pasv_address=VPS公网IP 这一步似乎是关键。 我用的是被动模式,之前 Filezilla 出现过 “读取目录列表失败”的错误。是因为 FTP 被动模式 会产生随机端口,而这些随机端口无法让 frp 知道。所以需要 通过 'pasv_max_port' 和 'pasv_min_port' 设置随机端口的范围,把范围内的端口填到 frpc.ini 里。 P.S. 'pasv_max_port' 一定要比 'pasv_min_port' 大,否则无法生效,也没有错误提示,我就是因为眼花填错了,折腾了好久…… 也出现过“服务器发回了不可路由的地址”,是因为 vsftp 被动模式返回的是二级路由 WAN 口的网址,192.168.1.1。所以需要 pasv_address 设置成 VPS 的公网 IP。 2.frps.ini 的设置。 设置了 bind_port,privilege_token。 3.frpc.ini 的设置。 设置好 bind_port,privilege_token,与 frps.ini 相同。 打开 10000,10001,10002,10003 端口。 4.VPS 的设置。 iptables 打开 10000,10001,10002,10003 端口,和 bind_port 端口。
Author
Owner

@quzhaojing commented on GitHub (Mar 15, 2018):

@icanoncn , 我按照你的方式,用filezilla 传数据或者下载数据还是不行, 下面是我的连接信息,虽然也能传,但是中间很慢,还没有sftp快,同时经常被“服务器发回了不可路由的地址。使用服务器地址代替。”
状态: 尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败。
错误: 无法连接到服务器
状态: 正在等待重试...
错误: 尝试连接被用户终止
命令: RETR gltf-viewer-win32-ia32.zip
响应: 150 Opening BINARY mode data connection for gltf-viewer-win32-ia32.zip (57669819 bytes).
错误: 传输了 530,492 字节 (用时242 秒)后用户中止了文件传输
状态: 连接被服务器关闭
状态: 正在连接 [公网ip]:10000...
状态: 连接建立,等待欢迎消息...
响应: 220 (vsFTPd 3.0.3)
命令: AUTH TLS
响应: 530 Please login with USER and PASS.
命令: AUTH SSL
响应: 530 Please login with USER and PASS.
状态: 不安全的服务器,不支持 FTP over TLS。
命令: USER vic
响应: 331 Please specify the password.
命令: PASS *****
响应: 230 Login successful.
状态: 服务器不支持非 ASCII 字符。
状态: 已登录
状态: 读取目录列表...
状态: 列出“/”的目录成功
状态: 已从服务器断开
状态: 正在连接 [公网ip]:10000...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 服务器不支持非 ASCII 字符。
状态: 已登录
状态: 读取目录列表...
状态: 列出“/”的目录成功
状态: 已从服务器断开
状态: 正在连接 [公网ip]:10000...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 服务器不支持非 ASCII 字符。
状态: 已登录
状态: 读取目录列表...
状态: 服务器发回了不可路由的地址。被动模式失败。
命令: PORT 172,17,39,156,217,87
响应: 500 Illegal PORT command.
错误: 读取目录列表失败
状态: 已从服务器断开
状态: 正在连接 [公网ip]:10000...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 服务器不支持非 ASCII 字符。
状态: 已登录
状态: 读取目录列表...
状态: 列出“/”的目录成功
状态: 读取“/Software/Driver”的目录列表...
状态: 服务器发回了不可路由的地址。使用服务器地址代替。
状态: 列出“/Software/Driver”的目录成功
状态: 读取“/Software”的目录列表...
状态: 列出“/Software”的目录成功
状态: 读取“/Software/windows”的目录列表...
状态: 服务器发回了不可路由的地址。使用服务器地址代替。
状态: 列出“/Software/windows”的目录成功
状态: 正在连接 [公网ip]:10000...
状态: 连接建立,等待欢迎消息...
状态: 不安全的服务器,不支持 FTP over TLS。
状态: 服务器不支持非 ASCII 字符。
状态: 已登录
状态: 开始下载 /Software/windows/clay-viewer-0.2.1-win.zip
状态: 服务器发回了不可路由的地址。使用服务器地址代替。

<!-- gh-comment-id:373298361 --> @quzhaojing commented on GitHub (Mar 15, 2018): @icanoncn , 我按照你的方式,用filezilla 传数据或者下载数据还是不行, 下面是我的连接信息,虽然也能传,但是中间很慢,还没有sftp快,同时经常被“服务器发回了不可路由的地址。使用服务器地址代替。” 状态: 尝试连接“ECONNREFUSED - 连接被服务器拒绝”失败。 错误: 无法连接到服务器 状态: 正在等待重试... 错误: 尝试连接被用户终止 命令: RETR gltf-viewer-win32-ia32.zip 响应: 150 Opening BINARY mode data connection for gltf-viewer-win32-ia32.zip (57669819 bytes). 错误: 传输了 530,492 字节 (用时242 秒)后用户中止了文件传输 状态: 连接被服务器关闭 状态: 正在连接 [公网ip]:10000... 状态: 连接建立,等待欢迎消息... 响应: 220 (vsFTPd 3.0.3) 命令: AUTH TLS 响应: 530 Please login with USER and PASS. 命令: AUTH SSL 响应: 530 Please login with USER and PASS. 状态: 不安全的服务器,不支持 FTP over TLS。 命令: USER vic 响应: 331 Please specify the password. 命令: PASS ***** 响应: 230 Login successful. 状态: 服务器不支持非 ASCII 字符。 状态: 已登录 状态: 读取目录列表... 状态: 列出“/”的目录成功 状态: 已从服务器断开 状态: 正在连接 [公网ip]:10000... 状态: 连接建立,等待欢迎消息... 状态: 不安全的服务器,不支持 FTP over TLS。 状态: 服务器不支持非 ASCII 字符。 状态: 已登录 状态: 读取目录列表... 状态: 列出“/”的目录成功 状态: 已从服务器断开 状态: 正在连接 [公网ip]:10000... 状态: 连接建立,等待欢迎消息... 状态: 不安全的服务器,不支持 FTP over TLS。 状态: 服务器不支持非 ASCII 字符。 状态: 已登录 状态: 读取目录列表... 状态: 服务器发回了不可路由的地址。被动模式失败。 命令: PORT 172,17,39,156,217,87 响应: 500 Illegal PORT command. 错误: 读取目录列表失败 状态: 已从服务器断开 状态: 正在连接 [公网ip]:10000... 状态: 连接建立,等待欢迎消息... 状态: 不安全的服务器,不支持 FTP over TLS。 状态: 服务器不支持非 ASCII 字符。 状态: 已登录 状态: 读取目录列表... 状态: 列出“/”的目录成功 状态: 读取“/Software/Driver”的目录列表... 状态: 服务器发回了不可路由的地址。使用服务器地址代替。 状态: 列出“/Software/Driver”的目录成功 状态: 读取“/Software”的目录列表... 状态: 列出“/Software”的目录成功 状态: 读取“/Software/windows”的目录列表... 状态: 服务器发回了不可路由的地址。使用服务器地址代替。 状态: 列出“/Software/windows”的目录成功 状态: 正在连接 [公网ip]:10000... 状态: 连接建立,等待欢迎消息... 状态: 不安全的服务器,不支持 FTP over TLS。 状态: 服务器不支持非 ASCII 字符。 状态: 已登录 状态: 开始下载 /Software/windows/clay-viewer-0.2.1-win.zip 状态: 服务器发回了不可路由的地址。使用服务器地址代替。
Author
Owner

@icanoncn commented on GitHub (Mar 17, 2018):

@CharellKing “PORT 172,17,39,156,217,87”看这个好像是 vsftp 某些配置没有生效吧,返回的
IP 是 172.17.39.156,端口 217*256+87=55639(好像是这么算的,记不清了),是内网 IP 和随机端口。但却可以传输,不知道为何。传输的时候 在 服务器端 netstat -tunap 看一下服务器打开的端口,是否跟设置的一样吧。

<!-- gh-comment-id:373898476 --> @icanoncn commented on GitHub (Mar 17, 2018): @CharellKing “PORT 172,17,39,156,217,87”看这个好像是 vsftp 某些配置没有生效吧,返回的 IP 是 172.17.39.156,端口 217*256+87=55639(好像是这么算的,记不清了),是内网 IP 和随机端口。但却可以传输,不知道为何。传输的时候 在 服务器端 netstat -tunap 看一下服务器打开的端口,是否跟设置的一样吧。
Author
Owner

@sirius4gnu commented on GitHub (Apr 12, 2018):

ftp只使用了tcp协议,frp是完全可以支持的,icanoncn的方法是正确的,我这边测试通过.
注意点:ftp需要使用被动模式,主动模式下ftp服务器需要穿透出本地内网,再穿透入客户端内网,成功率很低.
pasv_enable=YES
pasv_min_port=10001
pasv_max_port=10003
pasv_address=VPS公网IP

<!-- gh-comment-id:380676650 --> @sirius4gnu commented on GitHub (Apr 12, 2018): ftp只使用了tcp协议,frp是完全可以支持的,icanoncn的方法是正确的,我这边测试通过. 注意点:ftp需要使用被动模式,主动模式下ftp服务器需要穿透出本地内网,再穿透入客户端内网,成功率很低. pasv_enable=YES pasv_min_port=10001 pasv_max_port=10003 pasv_address=VPS公网IP
Author
Owner

@shellus commented on GitHub (Oct 8, 2018):

我使用 FileZilla Server 成功了。
主要设置点在于
1、使用固定的被动模式端口
2、使用frp映射被动模式端口,本地和远程端口号需要对应
3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名)
4、关闭安全设置里面的来源IP检查(disable IP check)

就可以了

<!-- gh-comment-id:427741964 --> @shellus commented on GitHub (Oct 8, 2018): 我使用 FileZilla Server 成功了。 主要设置点在于 1、使用固定的被动模式端口 2、使用frp映射被动模式端口,本地和远程端口号需要对应 3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名) 4、关闭安全设置里面的来源IP检查(disable IP check) 就可以了
Author
Owner

@snowdream commented on GitHub (Feb 22, 2019):

希望frp官方支持ftp协议。
我现在链接ftp,可以连接成功,但是无法列出目录。

<!-- gh-comment-id:466281014 --> @snowdream commented on GitHub (Feb 22, 2019): 希望frp官方支持ftp协议。 我现在链接ftp,可以连接成功,但是无法列出目录。
Author
Owner

@fatedier commented on GitHub (Feb 22, 2019):

@snowdream 不会支持 FTP 这一陈旧且不安全的协议,请寻找其他支持的软件或替代协议。

<!-- gh-comment-id:466286817 --> @fatedier commented on GitHub (Feb 22, 2019): @snowdream 不会支持 FTP 这一陈旧且不安全的协议,请寻找其他支持的软件或替代协议。
Author
Owner

@blankhang commented on GitHub (Jul 25, 2019):

我参照@icanoncn @shellus
用 FileZilla Server 也成功了。
主要设置点在于
1、使用固定的被动模式端口
2、使用frp映射被动模式端口,本地和远程端口号需要对应
3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名)
4、关闭安全设置里面的来源IP检查(disable IP check)

<!-- gh-comment-id:514870300 --> @blankhang commented on GitHub (Jul 25, 2019): 我参照@icanoncn @shellus 用 FileZilla Server 也成功了。 主要设置点在于 1、使用固定的被动模式端口 2、使用frp映射被动模式端口,本地和远程端口号需要对应 3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名) 4、关闭安全设置里面的来源IP检查(disable IP check)
Author
Owner

@snowdream commented on GitHub (Jul 25, 2019):

我参照@icanoncn @shellus
用 FileZilla Server 也成功了。
主要设置点在于
1、使用固定的被动模式端口
2、使用frp映射被动模式端口,本地和远程端口号需要对应
3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名)
4、关闭安全设置里面的来源IP检查(disable IP check)

建议走sftp,和ssh共用默认端口22.

<!-- gh-comment-id:514871174 --> @snowdream commented on GitHub (Jul 25, 2019): > 我参照@icanoncn @shellus > 用 FileZilla Server 也成功了。 > 主要设置点在于 > 1、使用固定的被动模式端口 > 2、使用frp映射被动模式端口,本地和远程端口号需要对应 > 3、设置被动模式服务器地址(use the following IP)为frp服务器外网地址(可以是域名) > 4、关闭安全设置里面的来源IP检查(disable IP check) 建议走sftp,和ssh共用默认端口22.
Author
Owner

@shellus commented on GitHub (Jul 25, 2019):

@snowdream 主要是某些客户端不支持啊,例如ios上的oplayer,只支持ftp,没办法

<!-- gh-comment-id:514873972 --> @shellus commented on GitHub (Jul 25, 2019): @snowdream 主要是某些客户端不支持啊,例如ios上的oplayer,只支持ftp,没办法
Author
Owner

@zhaoxf4 commented on GitHub (Apr 16, 2021):

@snowdream 主要是某些客户端不支持啊,例如ios上的oplayer,只支持ftp,没办法

不是还有webdev和http么,非把自己捆在ftp上干嘛

<!-- gh-comment-id:821111642 --> @zhaoxf4 commented on GitHub (Apr 16, 2021): > @snowdream 主要是某些客户端不支持啊,例如ios上的oplayer,只支持ftp,没办法 不是还有webdev和http么,非把自己捆在ftp上干嘛
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#150
No description provided.