打造自己的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再往后发展,我们的界面可以看到基本上是没有什么变化的,但本质发生了很大的变化,我们经过了一些协议优化,发展到今天 ...
随机推荐
- Javascript中replace()的一些用法总结
关于定义 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 关于语法 stringObject.replace(regexp/substr,repla ...
- android SQLiteOpenHelper使用示例
我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的 ...
- 运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such file or directory
运行编译后的程序报错 error while loading shared libraries: lib*.so: cannot open shared object file: No such f ...
- HTTP Content-type
文件扩展名 Content-Type 文件扩展名 Content-Type .* application/octet-stream .tif image/tiff .001 applicat ...
- [转载]iTOP-4412开发板搭建最小linux系统
本文转迅为电子论坛:http://www.topeetboard.com 最小linux系统所需资料下载:http://pan.baidu.com/s/1kTNan0j 开发板不仅可以运行Androi ...
- 边工作边刷题:70天一遍leetcode: day 85
Find the Celebrity 要点: 这题从solution反过来想比较好:loop through n同时maintain一个candidate:如果cand认识某个i,那么modify c ...
- codeforces 721C C. Journey(dp)
题目链接: C. Journey time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...
- hdu-5495 LCS(置换)
题目链接: LCS Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total S ...
- Spring整合Hibernate详细步骤
阅读目录 一.概述 二.整合步骤 回到顶部 一.概述 Spring整合Hibernate有什么好处? 1.由IOC容器来管理Hibernate的SessionFactory 2.让Hibernate使 ...
- 在Android Studio中使用shareSDK进行社会化分享(图文教程)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...