打造自己的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 私有云同步,纵享丝滑来
还有其他方案吗?当然有,俗话说方法总比困难多。
- 用FTP同步功能,就可以解决文件被占用无法立即同步的问题了;
- 通过域名就可以解决手机wifi同步需要频繁修改IP的问题;
- 软件部署在自己服务器上就可以解决外出无法及时同步的问题了;
玩起来相对复杂了一点,需要一台Windows服务器、FTP软件、一个域名。
- 域名你可以用免费的花生壳之类的ddns服务,也可以像我一个购买一个域名再加上DNSPod,速度快很多;
- 公网IP(不是固定IP哦,重启路由器会变的),家里可能没有公网IP,比如我用的铁通宽带,可以打电话到10086申请,一般都会给你;
- 服务器,自己想办法吧,单独为这么个功能购买云服务器有点不划算。我刚好家里跑着一台Gen8服务器(装了Windows Server2012+Seafile作为NAS,24小时运行费不了多少电,当然也可以设置夜里自动休眠早上自动唤醒,私密性比那些免费的网盘好,又不用担心哪天网盘关闭的问题);
- FTP我用的是FileZilla(尝试过用IIS自带的FTP,最后还是失败了,数据传输总是不成功);

- 总的思路就是在服务器上放一个 “.ml”文件,作为数据中心,通过FTP开放给PC,再做一个小软件开放给手机。
- PC软件通过FTP同步(也可以用含自动同步功能的云盘来进行同步,不过MLO软件打开的时候会占用文件,需要关闭后才可以同步,还不如FTP同步按一下F9就可以了);
- 服务器上需要安装MLO软件作为手机wifi同步的服务端,但是“.ml”文件又不能一直打开,否则文件被占用FTP就不能同步了。所以这里,我们需要一个小软件,当手机wifi同步的时候打开“.ml”文件,同步完成后关闭它。
- 小软件的原理也很简单:MLO软件打开后会监听21030端口(可以在注册表查看到该端口KEY_CURRENT_USER\Software\MyLifeOrganized.net\MyLife\WiFiSync ) ,手机wifi同步的时候会连接到这个端口。我们可以通过路由器上的端口映射功能,拦截该端口,将21030端口转发到服务器的其他端口,比如 21031。我们的小软件监听21031,当有连接建立的时候说明需要手机wifi同步了,这时候小软件立即打开MLO软件(打开“.ml”文件),再与真实的21030建立连接,然后将两个连接的数据包互相转发即可,其实就是一个简单的SOCKET代理。最后,当一段时间没有数据通信的时候关闭MLO软件(关闭“.ml”文件)。
部署的时候注意一下:
- 在路由器上将FTP端口映射出去,包括控制端口和数据端口;
- 路由器上将21030端口映射到服务器21031端口上;
- 服务器上安装MLO软件,并在 Tools|Options|Behaviour 页面,将“Close to system tray” 的对勾去掉。
- 小软件拷到服务器上,并配置MLO2Syncer.exe.config文件;
- 手机第一次同步的时候需要远程登录到服务器上,进行一次PIN码匹配;
MLO2Syncer 小软件下载
源代码 C# & .NET 4.0 & VS2010
作者:Sweetjian
转载请注明原作者和出处: http://www.cnblogs.com/djian/p/mylifeorganized-own-clound-sync.html
打造自己的MyLifeOrganized 2(MLO2)云同步的更多相关文章
- 和我一起打造个简单搜索之Logstash实时同步建立索引
用过 Solr 的朋友都知道,Solr 可以直接在配置文件中配置数据库连接从而完成索引的同步创建,但是 ElasticSearch 本身并不具备这样的功能,那如何建立索引呢?方法其实很多,可以使用 J ...
- 配置mac百度云同步盘
1. 选择同步盘在电脑中的位置,该文件夹中的内容与云端保持一致.默认位置/Users/LemonVerbena/百度云同步盘.电脑同步盘的作用与百度云网盘的主页一样,下面可以包括多个同步文件夹. 2. ...
- 黄聪:VPS实现自动定时备份网站数据以及Mysql数据库到百度云同步盘
建站多了,备份成了头疼的问题,因为你不知道你的VPS什么时候会宕机或者服务商跑路,一旦网站数据丢失,那么相当于前功尽弃了,所以自己研究出了一套自动备份的方法. 需要的东西: 1.一个VPS(虚拟空间没 ...
- 小白也能用Git管理团队项目了:百度云同步+Git Extensions+Git Source Control Provider
百度云同步 百度云同步,会将本地的某个文件目录和云端进行同步.如果在本地将这个同步的目录设置为Git的中心服务器,那么本地push到中心服务器的内容也会被同步到云端.其他开发者只要也进行相同的设置,就 ...
- 打造强势智能手表平台:Testin云測携手索尼招募全球开发人员
打造强势智能手表平台:Testin云測携手索尼招募全球开发人员 2014/10/27 · Testin · 业界资讯 日前,全球最大的移动游戏.应用真机和用户云測试平台Testin云測宣布联手索尼公司 ...
- 使用百度云同步盘和Git Extensions进行代码托管
一.软件安装 百度云同步盘和Git Extensions的安装和配置略过. 二.建立Git代码库,以[GHO2VMDK转换工具]项目为例 1. 建立本地代码库 进入[GHO2VMDK转换工具]项目文件 ...
- leanote使用本地账户+坚果云同步
1. 换机器后笔记无法显示 这是因为新建账户与原账户userid不一致. 正确的同步方式为: 下载leanote并解压,不运行,不新建账户 从坚果云同步leanote数据 创建leanote的数据目录 ...
- cartographer 点云同步处理
1.点云同步处理的类 RangeDataCollator class RangeDataCollator { public: explicit RangeDataCollator( const st ...
- 亿级日PV的魅族云同步的核心协议与架构实践(转)
云同步的业务场景 这是魅族云同步的演进,第一张是M8.M9,然后到后面的是MX系统,M9再往后发展,我们的界面可以看到基本上是没有什么变化的,但本质发生了很大的变化,我们经过了一些协议优化,发展到今天 ...
随机推荐
- session失效后跳转到登陆页面
一.编写Filter拦截器类 package com.pv.utils; import java.io.IOException; import java.io.PrintWriter; import ...
- grub条目示例
https://wiki.archlinux.org/index.php/GRUB#Install_to_disk /boot/grub/menu.lst default=0 timeout=5 ti ...
- 系统调用wait、waitpid和exec函数
本文介绍了Linux下的进程的一些概念,并着重讲解了与Linux进程管理相关的重要系统调用wait,waitpid和exec函数族,辅助一些例程说明了它们的特点和使用方法. 1.7 背景 在前面的文章 ...
- tfs witadmin
有时候对TFS的操作需要使用命令行,因为无图形界面进行操作. 我们可以进入Visual Studio Tools使用Developer Command Prompt进行操作. 使用命令 witadmi ...
- Linux gcc命令
一.简介 GCC 的意思也只是 GNU C Compiler 而已.经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言:它现在还支持 Ada 语言.C++ 语言.Java 语言.Objectiv ...
- 矩阵乘法快速幂 codevs 1574 广义斐波那契数列
codevs 1574 广义斐波那契数列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description 广义的斐波那契数列是指形如 ...
- SharePoint Error:a system restart from a previous installation or update is pending
run:regedit 打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 删除PendingFileR ...
- URAL 1416 Confidential --最小生成树与次小生成树
题意:求一幅无向图的最小生成树与最小生成树,不存在输出-1 解法:用Kruskal求最小生成树,标记用过的边.求次小生成树时,依次枚举用过的边,将其去除后再求最小生成树,得出所有情况下的最小的生成树就 ...
- 权限框架 - shiro 简单入门实例
前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 <!-- shiro --> <dependen ...
- 2D Tookit (一) 精灵切割
Sprite Dicing 精灵切割 图一:原图 Diced 设置 Diced[切割]对比图 文档 http://www.2dtoolkit.com/docs/latest/advanced/sp ...