zoukankan      html  css  js  c++  java
  • 打造自己的MyLifeOrganized 2(MLO2)云同步

    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_USERSoftwareMyLifeOrganized.netMyLifeWiFiSync ) ,手机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

  • 相关阅读:
    15.Numpy之点乘、算术运算、切片、遍历和下标取值
    13.python-列表排序
    [Js-c++]c++中的指针、引用和数组名
    [Hadoop]Windows下用eclipse远程连接hdfs报错Connection denied解决方案
    [Java-JVM]Centos7编译openjdk7
    [Js-Java SE]Java中的Native关键字与JNI
    [Js-C++]C++中赋值表达式的结果
    [Js-C++].h文件与#include详解
    [Js-C++]C++中*&(指针引用)和*(指针)的区别
    [Js-Python]解决pip安装安装源速度慢的问题
  • 原文地址:https://www.cnblogs.com/djian/p/mylifeorganized-own-clound-sync.html
Copyright © 2011-2022 走看看