All Projects → 9468305 → crsync

9468305 / crsync

Licence: Apache-2.0 License
A library and CLI tool of Client-side rsync over HTTP via curl, implemented by pure C.

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
QMake
1090 projects
CMake
9771 projects

Labels

Projects that are alternatives of or similar to crsync

Curl Noise
Implementation of curl noise for particles simulated on GPU with OpenGL
Stars: ✭ 42 (+100%)
Mutual labels:  curl
SimplecURL
Easy to use HTTP Client for PHP
Stars: ✭ 14 (-33.33%)
Mutual labels:  curl
php curl
Curl is an open source file transfer tool that uses URL syntax to work on the command line, where the basic functions of curl are encapsulated, such as COOKIES / encrypted transport / HTTP authentication / analog forms / upload files, etc.
Stars: ✭ 38 (+80.95%)
Mutual labels:  curl
Request
A simple PHP HTTP request class.
Stars: ✭ 49 (+133.33%)
Mutual labels:  curl
setup-linux-debian
Installs essential JavaScript development programs.
Stars: ✭ 16 (-23.81%)
Mutual labels:  curl
FritzBoxShell
Some shell scripts for controlling and checking the Fritz!Box/Fritz!Repeater
Stars: ✭ 80 (+280.95%)
Mutual labels:  curl
curl-fuzzer
Quality assurance testing for the curl project
Stars: ✭ 40 (+90.48%)
Mutual labels:  curl
go-axios
HTTP Request package for golang.
Stars: ✭ 29 (+38.1%)
Mutual labels:  curl
ionic-push-php
ionic-push-php is a library that allows you to consume the Ionic Cloud API for sending push notifications (normal and scheduled), get a paginated list of sending push notifications, get information of registered devices, remove registered devices by token, ...
Stars: ✭ 20 (-4.76%)
Mutual labels:  curl
borg-import
importer for rsync+hardlink based backups / rsnapshot
Stars: ✭ 33 (+57.14%)
Mutual labels:  rsync
email-checker
Provides email verification on the go.
Stars: ✭ 116 (+452.38%)
Mutual labels:  curl
crosware
Tools, things, stuff, miscellaneous, etc., for Chrome OS / Chromium OS
Stars: ✭ 36 (+71.43%)
Mutual labels:  curl
netbackup
A frontend for various backup programs (rsync, rdiff-backup, rclone) that simplifies local and remote backups.
Stars: ✭ 15 (-28.57%)
Mutual labels:  rsync
curly.hpp
Simple cURL C++17 wrapper
Stars: ✭ 48 (+128.57%)
Mutual labels:  curl
dePAC
seamless Proxy Auto-Config (a.k.a. Web Proxy Auto Discovery) for CLI apps
Stars: ✭ 26 (+23.81%)
Mutual labels:  curl
AmxxCurl
Curl module for amxmodx
Stars: ✭ 28 (+33.33%)
Mutual labels:  curl
magento2-fast-vm
Optimal vagrant developer box for Magento2. Folders synced by nfs/rsync. This box includes Magento developer utilities.
Stars: ✭ 89 (+323.81%)
Mutual labels:  rsync
gogs-bash
Bash Script for Interacting with the GOGS API
Stars: ✭ 31 (+47.62%)
Mutual labels:  curl
cibase
This is a toolkit for CI/CD provided by Choerodon.
Stars: ✭ 12 (-42.86%)
Mutual labels:  curl
HttpRequest
Simplified HTTP client, A simplie golang HTTP client library.
Stars: ✭ 134 (+538.1%)
Mutual labels:  curl

TODO

V0.1.0 可用,但性能有问题
V0.2.0 Commits on Jan 8, 2016。未打Tag,可用,性能优化。
V0.3.0 计划把整个工程从QMake切换至CMake,完善可用性。未完成。

crsync

A library and CLI tool of Client-side rsync over HTTP via curl, implemented by pure C.

Guide

基于rsync算法的客户端二进制增量差异更新组件。

  1. 纯C语言实现, 使用libcurl HTTP通讯,跨平台兼容性良好。
  2. 客户端使用rsync算法计算与服务器新版本的二进制差异,并增量下载更新数据。
  3. 服务器仅需支持HTTP File传输,普通CDN即可,无须搭建rsyncd。
  4. 目前已支持Android,Windows,理论上支持所有平台。
  5. 源码简单易懂,核心部分仅1000行,可随意扩展修改。

Workflow

  • 服务端生成新版本的摘要文件, 并部署到HTTP FileServer
  • 客户端使用libcurl下载资源,断点续传。
  • 客户端计算文件版本差异,增量下载差异内容并合并到本地。
  • 客户端附带一个轻量级版本控制策略组件。

Android Build

Run src/crsync-build.cmd, Output src/libs/TARGET_ARCH_ABI/libcrsync.so.

Qt MinGW Build

Build src/crsync.pro, Output src/m32/crsync.exe

Patent

一种数据文件的增量更新方法和服务器、客户端以及系统,由原团队成员 nwpu053741 撰写并申请。

License

   Copyright 2015 ChenQi

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].