标签归档:Open-Wrt

SyncY多任务多线程版发布(v2.0.0)

SyncY v2版正式发布了,相比v1版本变化很大,可以支持多任务、多线程,同时可以设定限速时间段。多线程大家都很了解,pc上的下载程序都支持,不多说,让大家赶快来体验能在路由上运行的多任务多线程同步软件。

V2版程序新增3个配置项(speedlimitperiod、tasknumber、threadnumber):

speedlimitperiod:限速时间段,在此时间内按照设定设置的最大上传或下载速度限速,设置格式与运行时间段相同,默认值为0-0,表示不限速;
tasknumber:同时同步的任务数,即同时上传或下载的文件个数,默认值为2,最小值为1;
threadnumber:每个任务的线程数,该设置值表示每个任务的最大线程数,默认值为2,最小值为1.

v2版内存耗用比v1版大很多,根据我观察看,每增加一个线程需要耗用2M左右的内存,默认情况下(2任务2线程)有2个下载任务在运行时,内存耗用在20M左右(同步文件数量大且开启同步信息缓存时内存耗用还会增加),32M内存的路由跑起来压力很大,64M及以上的应该没什么问题。

下载地址:http://www.syncy.cn/index.php/download/

配置文件说明:http://www.syncy.cn/index.php/syncyconfighelp/

SyncY更新(Python 1.0.16)

修改内容:

1、修复了秒传文件失败后不能上传文件的bug(此bug只在1.0.15版本中出现,本是想解决百度偶发的误报没权限访问文件的问题,却不料导致秒传文件失败后不能正常上传文件)。
2、修复了一个在较低概率情况下匹配文件列表失败,导致程序崩溃的bug。

luci版升级的,如不想重新绑定及设置同步目录,请先备份/etc/config/syncy文件,安装完之后恢复此文件。非luci版的,直接替换syncy.py文件

进入下载页面

SyncY更新(Python 1.0.15)

​修改内容:

1、完善了对部分发行版系统luci的支持。
​2、新增分片下载模式,解决在某些特殊情况下下载下来的文件大小与云端大小不一致。

luci版升级的,如不想重新绑定及设置同步目录,请先备份/etc/config/syncy文件,安装完之后恢复此文件。
非luci版的,直接替换syncy.py文件,另外新增如下配置项:

    option slicedownload ‘on’  #是否开启分片下载文件,on-开启,off-关闭。

详细配置文件设置请浏览配置文件说明

说明:

slicedownload设置为on后,软件将按照blocksize设置的大小来分片下载文件,只有当相应的分片一次下载成功后才会合并大原始文件中,否则将重新下载整个文件,这有效了解决当经常发生curl(18)错误后,下载下来的文件大小与云端大小不一致,同时也实现了断点下载。开启后下载大文件的整体平均下载速度可能比关闭后有所降低,但可靠性要高些。

slicedownload设置为off时,超过blocksize设定值的文件下载也有断点下载,只是断点下载有curl来控制,这样在少数情况下下载下来的文件与云端大小不一致,syncy将删除下载的文件,如果文件特别大,将浪费很多时间,并有可能多次下载完后都发现文件不一致。

之前有网友提出,下载下来的文件能否检查md5来确定是否正确下载,通过对百度接口的再次检查,发现此功能是实现不了的,只要是分片上传的文件,百度返回的md5码不是文件的真实md5码,因此没法比对。同时该网友提出刚下载的文件不能秒传上传,这种情况是存在的,经过我的测试,分片上传的文件,在上传完成后再次上传是没有秒传,说文件不存在,而第二天则可以秒传,因此百度后台有些工作也不是实时进行的,可能有单独的服务器来延时完成相应工作,这就有个时间差。

SyncY更新

Python版更新至1.0.12

修改内容:
1、修复了当在不同硬件平台设备上挂载同一个移动硬盘来同步数据时,造成之前同步的数据会认为没有同步而再次同步的问题。
2、增加了判断错误日志和运行日志设置的检查,但设置的是指向一个文件夹时将添加默认的日志文件。

下载地址:http://www.syncy.cn/index.php/download/

SyncY安装配置方法

SyncY-Perl-Luci 1.0.5版发布(适用于OpenWrt)

Perl版含luci的界面的今天也弄完了,openwrt系统可以在界面上进行绑定操作、修改配置文件、查看错误日志了。其他类型系统还只能通过ssh终端来操作。新版本与之前版本的配置文件不通用。

同时授权网址更改为:https://syncyhome.duapp.com/syserver

下载地址:http://www.syncy.cn/index.php/download/
(openwrt系统只需要下载SyncY-Perl-v1.0.5文件夹中的ipk文件)

SyncY安装配置方法

SyncY-Python-Luci 1.0.10版发布(适用于OpenWrt)

luci的界面总算弄出来了,openwrt系统可以在界面上进行绑定操作、修改配置文件、查看错误日志了。其他类型系统还只能通过ssh终端来操作。新版本与之前版本的配置文件不通用。

同时授权网址更改为:https://syncyhome.duapp.com/syserver

下载地址:http://www.syncy.cn/index.php/download/
(openwrt系统只需要下载SyncY-Pyton-v1.0.10文件夹中的ipk文件)

SyncY安装配置方法

Perl v1.0.5版下载

SyncY安装配置方法

一、环境准备

1、Python版的安装:
在openwrt12.09系统必须安装如下包:

libcurl
libopenssl
kmod-nls-utf8
Python
python-curl

安装以上包需要4M左右的空闲空间,如空间空间不足,只有通过u盘来扩展了,这个是没法精简了,除非有能人自己编译把不需要的删除了。 如是其它版本系统,请对应的安装相应的包。

Windows系统上安装SyncY:
分别安装如下几个包

python2.7
pywin32
pycurl
pycrypto

以上包在本地下载里面有下载。windows系统上配置文件默认和程序文件在一个文件夹下面,如果不在一个文件夹下面,请修改syncy.py文件中的配置文件地址。配置文件中设置的文件夹分隔符请使用“/”,而不要使用windows默认的“\”,如D盘下的test目录,请设置为“d:/test”。Windows系统默认字符集为GBK,如果同步下来的中文文件名存在乱码,请根据自己的系统环境修改字符集,用编辑器打开syncy.py文件,搜索“__CHARSET__ = ‘GBK’”,把GBK改成需要的字符集即可。

加密设置注意事项(v2.5.0及之后版本):

        一旦启用加密,请牢记密钥及设置的加密方法,将来下载文件时加密密钥或加密方法错误将会导致下载的文件数据不正确。某个同步文件夹一旦设置为启用加密,所有上传和下载的文件都将进行加密或解密操作,因此云端的加密文件夹下面请勿手动添加明文文件!如果已有文件上传至云端,要想修改加密方法或密钥,最好全部重新上传所有文件,否则会导致云端存在不同加密方法或密钥加密出来的文件,将来下载时将无法区分,导致部分文件无法解密!

加密设置请参考配置文件说明

Perl和Bash版已不再提供支持,请安装Python版,Python V2版支持多任务多线程,功能更强。
2、Perl v1.0.4版的安装:
1.0.4 Perl版及之后的是精简过后的,安装包少了不少,安装空间占用在1M左右,安装包如下:

libcurl
libopenssl

kmod-nls-utf8
perl
perlbase-essential
perlbase-digest
perl-www-curl
perlbase-xsloader
perlbase-dynaloader
perlbase-config
perlbase-autoloader
perlbase-utf8

 如是其它系统,请对应的安装相应的包,在cpan.org网站上可通过perlbase-后面的名称来搜索相应的包并下载源码,各个包还可能依赖别的包,如运行报错,提示缺少包,请根据提示安装相应的包。

3、Bash版的安装:
Bash版的安装在openwrt上需要以下包:

curl
libopenssl
kmod-nls-utf8
bash

bash版本最好是4.2的,3.x版的使用存在一些问题,curl能安装最新版最好安装最新版,其他类型系统请对应安装相应的包。

二、安装SyncY

1、OpenWrt系统(含luci界面): OpenWrt系统安装最新的luci版本(只有Python和Perl语言的有)的,下载安装包并上传到tmp目录,完成后执行 #opkg install /tmp/SyncY-Python-luci_1.0.10-1_all.ipk(Perl版对于修改文件名),后面的配置从luci界面配置即可。

2、ssh安装:
a)、复制配置文件syncy到/etc/config目录下,复制syncy.py到/usr/bin目录下,授予syncy.py可执行权限;
b)、执行syncy.py获取用户码, 获取用户码后按照提示打开百度授权页面https://openapi.baidu.com/device,如下图:
a1.jpg
输入用户码(用户码有效期30分钟),输入完成用户码后点“继续”按钮进入授权确认界面,如下图:
a2.jpg
最后点“授权”完成授权。
a3.jpga4.jpg
c)、完成授权后回到ssh终端按回车键完成本地的授权操作,但显示“Get device token success.”表示授权完成。

三、设置自动启动

只适用于OpenWrt系统不含luci的Python版和Perl版,含luci的在安装时已经设置了相应内容,只需要在luci界面上配置即可,bash版只能通过计划任务来设置。
在/etc/init.d目录下建立syncy文件并授予可执行权限,文件内容如下:

#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org

START=99
STOP=10

start() {
/usr/bin/syncy.py &
}

stop() {
[ -e /var/run/syncy.pid ] && {
sypid=$(cat /var/run/syncy.pid)
kill $sypid
}
}

restart() {
[ -e /var/run/syncy.pid ] && {
sypid=$(cat /var/run/syncy.pid)
kill $sypid
}
sleep 1
/usr/bin/syncy.py &
}

保存文件并执行#/etc/init.d/syncy enable来启用自动启动,Perl版对应的吧syncy.py改成syncy.pl。其他类型的系统请参照设置,不了解的可以百度一下。