0x01 官方云同步,付费也很卡

MyLifeOrganized(MLO)是Windows平台下强大的GTD软件,PC版本和Android版本需要分别购买授权,云同步还要再买包月或包年服务真不便宜,关键是用了一段时间官方的云同步后,发现服务器(在国外)速度很慢还经常同步失败,用的很不爽。

0x02 屌丝的春天,免费云同步

就没有其他的同步方法了吗?有的,PC之间只要同步“.ml”文件就可以了,很简单。手机购买授权后也有wifi同步功能,能与PC软件同步数据。

最简单的同步方式就是:在公司电脑和家里笔记本都安装“坚果云”之类的工具来同步PC端的数据,再将家里ip和公司ip设置成一样,方便手机wifi同步,否则换个地方,IP变了,手机wifi同步的时候又要重新输一遍IP和匹配码。

当然,缺点也有。比如我在家工作需要VPN连到公司,IP不能设置成一样;打开PC软件的时候,“.ml”文件会被占用不能及时同步;外出的时候,没有电脑,手机不能立即同步,过后容易忘记。

0x03 私有云同步,纵享丝滑来

还有其他方案吗?当然有,俗话说方法总比困难多。

  1. 用FTP同步功能,就可以解决文件被占用无法立即同步的问题了;
  2. 通过域名就可以解决手机wifi同步需要频繁修改IP的问题;
  3. 软件部署在自己服务器上就可以解决外出无法及时同步的问题了;

玩起来相对复杂了一点,需要一台Windows服务器、FTP软件、一个域名。

  • 域名你可以用免费的花生壳之类的ddns服务,也可以像我一个购买一个域名再加上DNSPod,速度快很多;
  • 公网IP(不是固定IP哦,重启路由器会变的),家里可能没有公网IP,比如我用的铁通宽带,可以打电话到10086申请,一般都会给你;
  • 服务器,自己想办法吧,单独为这么个功能购买云服务器有点不划算。我刚好家里跑着一台Gen8服务器(装了Windows Server2012+Seafile作为NAS,24小时运行费不了多少电,当然也可以设置夜里自动休眠早上自动唤醒,私密性比那些免费的网盘好,又不用担心哪天网盘关闭的问题);
  • FTP我用的是FileZilla(尝试过用IIS自带的FTP,最后还是失败了,数据传输总是不成功);
  1. 总的思路就是在服务器上放一个 “.ml”文件,作为数据中心,通过FTP开放给PC,再做一个小软件开放给手机。
  2. PC软件通过FTP同步(也可以用含自动同步功能的云盘来进行同步,不过MLO软件打开的时候会占用文件,需要关闭后才可以同步,还不如FTP同步按一下F9就可以了);
  3. 服务器上需要安装MLO软件作为手机wifi同步的服务端,但是“.ml”文件又不能一直打开,否则文件被占用FTP就不能同步了。所以这里,我们需要一个小软件,当手机wifi同步的时候打开“.ml”文件,同步完成后关闭它。
  4. 小软件的原理也很简单:MLO软件打开后会监听21030端口(可以在注册表查看到该端口KEY_CURRENT_USER\Software\MyLifeOrganized.net\MyLife\WiFiSync ) ,手机wifi同步的时候会连接到这个端口。我们可以通过路由器上的端口映射功能,拦截该端口,将21030端口转发到服务器的其他端口,比如 21031。我们的小软件监听21031,当有连接建立的时候说明需要手机wifi同步了,这时候小软件立即打开MLO软件(打开“.ml”文件),再与真实的21030建立连接,然后将两个连接的数据包互相转发即可,其实就是一个简单的SOCKET代理。最后,当一段时间没有数据通信的时候关闭MLO软件(关闭“.ml”文件)。

最终效果 (3M大图 流量预警)

部署的时候注意一下:

  1. 在路由器上将FTP端口映射出去,包括控制端口和数据端口;
  2. 路由器上将21030端口映射到服务器21031端口上;
  3. 服务器上安装MLO软件,并在 Tools|Options|Behaviour 页面,将“Close to system tray” 的对勾去掉。
  4. 小软件拷到服务器上,并配置MLO2Syncer.exe.config文件;
  5. 手机第一次同步的时候需要远程登录到服务器上,进行一次PIN码匹配;

MLO2Syncer 小软件下载
源代码 C# & .NET 4.0 & VS2010

作者:Sweetjian
转载请注明原作者和出处: http://www.cnblogs.com/djian/p/mylifeorganized-own-clound-sync.html

最新文章

  1. uC/OS-II应用程序代码
  2. 关于PHP位运算的简单权限设计
  3. 用c#开发微信 (12) 微统计 - 阅读分享统计系统 2 业务逻辑实现
  4. python使用zlib实现压缩与解压字符串
  5. Floyd-Warshall算法,简称Floyd算法
  6. Castle ActiveRecord学习实践
  7. jQuery 参考手册 - 效果
  8. R语言学习笔记之外部文件读取
  9. Storm具体的解释(二)、成为第一Storm申请书
  10. Python的特性(property)
  11. PyChram简单使用教程
  12. kafka的设计
  13. v8:: fatalProcessOutOfMemory
  14. UVa156
  15. java连接数据库报了ssl连接的警告
  16. 窗体监听事件WindowListener
  17. Centos6安装FreeSWITCH 1.5时./configure问题解决记录
  18. Centos7:Failed to start LSB: Bring up/down networking
  19. Socket网络编程--简单Web服务器(5)
  20. .NET:不要使用扩展方法扩展Object对象。

热门文章

  1. inux下文件权限设置中的数字表示权限,比如777,677等,这个根据什么得来的
  2. Watchdog
  3. apache性能测试工具ab使用详解
  4. 1.素数判定(如何输出\n,\t,不用关键字冲突)
  5. UIView.frame的骗局
  6. 谷歌开源项目Google Preview Image Extractor(PIEX) (附上完整demo代码)
  7. 二分图最大匹配算法-Hopcroft-Karp模板
  8. 合唱队形2 洛谷U5874
  9. [cb]Unity 项目架构
  10. JAVA NIO概述(一):I/O模型