XFile

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

XFile架构

XFile由3个部分组成,包含windows服务器端(或者Linux服务器端),windows桌面端(可以支持linux桌面),以及android应用端 ,此外提供了跨平台简化客户端的python实现(含源代码,支持windows linux unix mac等,只支持最基本的ftp点播功能,属于备胎软件),以及sync 备份同步软件的python版本[含源代码],以及证书制作工具和xfile电子邮件解析独立命令行程序等.

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

 

XFile实现的整体网络示例图:

 

 

登录流程

新加入的聚合传输协议对比:

 

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

几种常见文件共享传输协议的对比

 

 

 

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平台:

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

 经过测试,常见的播放器都可以被兼容调用,VLC 可以使用FTP/http模式执行流播放 (3.3.x最新版  已经修复了最关键的bug,稳定了),我们推荐从开源软件mplayer发展出来的mpv player,这个播放器没有mplayer和vlc名气大,但是整洁安全高效,我们推荐使用它[android 5.0以上平台,目前主要的bug是播放某些avi格式视频mpv存在问题, ..avi视频建议用vlc 3.3.x ], 其次,常见的MX播放器也支持在线播放[注意仅Http流模式], 而QQ浏览器自带的播霸播放器,虽然可以兼容[仅Http流模式],但是这个播放器是通过缓冲到本地来实现的,我们不建议长期使用.

Http协议兼容性说明:

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

 

XFile软件设计说明:

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
(c) 2015-2023 phoenixp2p.com