XFile

关于XFile XFile架构 利用XFile打造家用文件服务系统 移动端应用 开发历史 下    载 授    权 联系我们

XFile架构

XFile由3个部分组成,包含windows服务器端(或者Linux服务器端),windows桌面端,以及android应用端.

XFile服务同时提供兼容Ftp协议的接口和Http流播放接口,

与常见的NAS软件不同, 常见的NAS软件例如FreeNAS等,都是通过将BSD UNIX或者Linux操作系统与SAMBA等服务软件进行打包构成的一个整体文件服务系统软件,虽然对常见的操作都通过WEB进行了图形化,但是兼容性和用户友好性不如Windows平台,对普通用户而言就是个黑盒子操作系统,维护成本比较高;而我们开发的XFile文件服务软件,是在Windows操作系统(和Linux)基础上安装的一个独立软件,使用户可以在windows或者Linux平台获得类似独立NAS的软件实现,在易用性和维护成本上更适合普通用户.

下面是几种常见文件共享传输协议的对比:

协议名称   实现原理 支持平台 安全认证 跨网段 优缺点
FTP/FTPS TCP文本协议,通过一套完整的针对整文件的操作指令来实现跨平台文件操作,读写模式:单向流.

 

所有平台 口令 支持 优点: 极为成熟的协议,跨平台,对于大文件传输效率极高.

缺点: 没有文件锁,无法支持远程即时编辑文件.

 

CIFS (包含Samba) TCP/UDP二进制协议,通过和Windows系统本身特性的整合实现的内部网络文件共享,Samba是在Linux/Unix系统下针对windows开发的基于SMB协议的简单文件和打印机共享软件,读写模式:双向块 基本是Windows专用 口令 不支持 优点: 可以锁定文件,对文件部分进行修改等操作,适合小文件模式.

缺点:二进制协议,从协议诞生起就漏洞不断,windows专用,大文件传输效率不高.

NFS TCP/UDP二进制协议,NFS V2(rfc1094), V3(rfc1813)V4(rfc3010),这是Linux/Unix系统下,通过RPC等几个服务基于IP的网络文件系统,目前windows中也有添加兼容客户端, 读写模式:双向块 Linux/Unix为主,目前兼容windows 只能基于IP或站点名 支持 优点: 可以锁定文件,对文件部分进行修改等操作,适合小文件模式.

缺点:需要大量的服务配合才能启用,漏洞不少,大文件传输效率不高.

 

Ftp协议兼容性说明:

为了方便使用,我们提供了对标准FTP协议的有限支持,需要注意的是,和老旧的FTP服务器软件不同,我们的XFile默认输出为主流的国际规范UTF-8编码,无论客户端是否使用UTF8 ON指令,XFile只支持UTF-8,始终输出UTF-8,我们自己的客户端采用的是专用加密登录,并支持双向认证,可以避免蜜罐式陷阱服务器套取账户和口令.为了节省服务器端开销,文件的修改时间会始终被固定为一个不相干的时间,因此切勿使用基于FTP LIST给出的最后修改时间来进行同步,而应该使用单独针对文件的新指令; 在执行LIST操作前,请务必切换到目标目录, 类似LIST /dir1/dir2/这样的目录会被忽略或者错误. 

除了我们自己的配套客户端软件,大部分兼容标准FTP [UTF-8扩展指令支持]的客户端软件或者流播放软件,基本可以兼容,初步测试主流播放软件兼容性如下,但不保证始终兼容:

windows平台 : File zilla client [免费 Ftp客户端软件] , Firefox [免费 浏览器] , cute ftp pro[共享软件 Ftp客户端软件], Internet explorer [windows自带浏览器, 需要在设置里打开UTF-8]

                           播放器支持: VLC [免费播放器,流播放而非本地缓冲播放]  MPlayer [免费播放器, 流播放而非本地缓冲播放] MPV Player[免费播放器,是从MPlayer发展出来的最新分支],Kodi [MPC-HC,是从经典的Media player classic发展出来的分支,免费播放器,对遥控器支持很好,注意选Http流优先]       具体选择可以 参考这里 

                                                  PotPlayer [免费播放器, 本地缓冲播放, 需要在我们的客户端中打开Http流优先]

Android平台: 特别提醒, VLC for android 播放器存在bug, 这个问题不是我们软件方面的,是VLC代码的问题,这个bug已经被提交,但是一直到2.0.6都没有被修复!!!

                         建议使用我们的配套客户端,这样可以将Ftp流在服务器端自动转换成Http流,在Android平台有非常好的兼容性,适合调用大部分播放器.

                         经过测试,常见的播放器都可以被兼容调用,除了VLC等少数几个,我们推荐从开源软件mplayer发展出来的mpv player,这个播放器没有mplayer名气大,但是整洁安全高效,我们推荐使用它[android 5.0以上平台], 其次,常见的MX播放器也支持在线播放[注意仅Http流模式], 而QQ浏览器自带的播霸播放器,虽然可以兼容[仅Http流模式],但是这个播放器是通过缓冲到本地来实现的,我们不建议长期使用.

Http协议兼容性说明:

XFile服务器软件本身已经提供了Ftp流映射到Http流的功能,但是因为安全原因,只能通过我们配套的客户端软件自动执行,Http只有流播放或者下载功能,没有提供列表功能!!!

 

XFile软件设计说明:

XFile的设计是针对家庭用户的多媒体文件点播下载,因此是以高效率响应,设置简单容易上手,优秀兼容性和稳定安全长时间运行为目标设计的,基于线程实现,最多支持64用户在线[每协议],如果您要用于大规模发布,本软件是不适合的,切记!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
(c) 2011-2018 phoenixp2p.com