HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
jewel
clearskies
Ruby2013–2014
jewel / clearskies

clearskies

Open source btsync clone

11Distinct people
15Mentions
1Explicit recommenders
1.4KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Open source btsync clone

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

Works well for me. For those who want to try it, this is what I did. Create a Dockerfile: # Ubuntu 12.04 + Python + Git FROM nlothian/python-git # Ruby RUN apt-get -y install…

nl used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week15 dated mentions

Observed mentions: 2013-09-30 20:30:48 UTC to 2014-04-04 23:09:53 UTC. Weeks start Monday, UTC.

02462013-09-30 00:00:00 UTC to 2013-10-07 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsSep 302013-10-07 00:00:00 UTC to 2013-10-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-14 00:00:00 UTC to 2013-10-21 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-10-21 00:00:00 UTC to 2013-10-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-10-28 00:00:00 UTC to 2013-11-04 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-11-04 00:00:00 UTC to 2013-11-11 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2013-11-11 00:00:00 UTC to 2013-11-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-18 00:00:00 UTC to 2013-11-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-11-25 00:00:00 UTC to 2013-12-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-02 00:00:00 UTC to 2013-12-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-09 00:00:00 UTC to 2013-12-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-16 00:00:00 UTC to 2013-12-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-23 00:00:00 UTC to 2013-12-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2013-12-30 00:00:00 UTC to 2014-01-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsDec 302014-01-06 00:00:00 UTC to 2014-01-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-13 00:00:00 UTC to 2014-01-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-20 00:00:00 UTC to 2014-01-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-01-27 00:00:00 UTC to 2014-02-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-03 00:00:00 UTC to 2014-02-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-10 00:00:00 UTC to 2014-02-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-17 00:00:00 UTC to 2014-02-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-02-24 00:00:00 UTC to 2014-03-03 00:00:00 UTC (exclusive): 7 mentions; 1 submissions, 6 comments2014-03-03 00:00:00 UTC to 2014-03-10 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2014-03-10 00:00:00 UTC to 2014-03-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-17 00:00:00 UTC to 2014-03-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2014-03-24 00:00:00 UTC to 2014-03-31 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2014-03-31 00:00:00 UTC to 2014-04-07 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsMar 31

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Sep 302013-09-30 00:00:00 UTC2013-10-07 00:00:00 UTC101
Oct 72013-10-07 00:00:00 UTC2013-10-14 00:00:00 UTC000
Oct 142013-10-14 00:00:00 UTC2013-10-21 00:00:00 UTC101
Oct 212013-10-21 00:00:00 UTC2013-10-28 00:00:00 UTC000
Oct 282013-10-28 00:00:00 UTC2013-11-04 00:00:00 UTC101
Nov 42013-11-04 00:00:00 UTC2013-11-11 00:00:00 UTC101
Nov 112013-11-11 00:00:00 UTC2013-11-18 00:00:00 UTC000
Nov 182013-11-18 00:00:00 UTC2013-11-25 00:00:00 UTC000
Nov 252013-11-25 00:00:00 UTC2013-12-02 00:00:00 UTC000
Dec 22013-12-02 00:00:00 UTC2013-12-09 00:00:00 UTC000
Dec 92013-12-09 00:00:00 UTC2013-12-16 00:00:00 UTC000
Dec 162013-12-16 00:00:00 UTC2013-12-23 00:00:00 UTC000
Dec 232013-12-23 00:00:00 UTC2013-12-30 00:00:00 UTC000
Dec 302013-12-30 00:00:00 UTC2014-01-06 00:00:00 UTC000
Jan 62014-01-06 00:00:00 UTC2014-01-13 00:00:00 UTC000
Jan 132014-01-13 00:00:00 UTC2014-01-20 00:00:00 UTC000
Jan 202014-01-20 00:00:00 UTC2014-01-27 00:00:00 UTC000
Jan 272014-01-27 00:00:00 UTC2014-02-03 00:00:00 UTC000
Feb 32014-02-03 00:00:00 UTC2014-02-10 00:00:00 UTC000
Feb 102014-02-10 00:00:00 UTC2014-02-17 00:00:00 UTC000
Feb 172014-02-17 00:00:00 UTC2014-02-24 00:00:00 UTC000
Feb 242014-02-24 00:00:00 UTC2014-03-03 00:00:00 UTC716
Mar 32014-03-03 00:00:00 UTC2014-03-10 00:00:00 UTC101
Mar 102014-03-10 00:00:00 UTC2014-03-17 00:00:00 UTC000
Mar 172014-03-17 00:00:00 UTC2014-03-24 00:00:00 UTC000
Mar 242014-03-24 00:00:00 UTC2014-03-31 00:00:00 UTC202
Mar 312014-03-31 00:00:00 UTC2014-04-07 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
ClearSkies ClearSkies is a sync program similar to DropBox, except it does not require a monthly fee. Instead, you set up shares between two or more computers and the sharing happens amongst them directly. ClearSkies is inspired by BitTorrent Sync, but it has an open protocol that can be audited for security. The protocol is layered in such a way that other applications can take advantage of it for purposes other than file sync. The Protocol The ClearSkies protocol has been documented and is in a draft state. It can be found in the protocol/ directory. protocol/core.md is a good starting place. The protocol features: Simple-to-share access codes Read-write sync Read-only sharing Encrypted connections Shallow copy (do not sync certain files from peer) Subtree copy (only sync certain directories from peer) Streaming support Rsync file transfer (extension) Gzip compression (extension) Encrypted backup sharing to an untrusted peer (future extension) Media streaming (future extension) Photo thumbnails (future extension) The protocol is designed to be a common base for other sync programs, so that they can interoperate with each other. For example, a hypothetical wifi-enabled MIDI piano could speak the protocol and thereby sync its saved files to the owner's computer or tablet, without the piano manufacturer needing to write any PC or tablet software. Where's the code? We are focusing our effort on making a C++ implementation, clearskies_core. The C++ library will be portable to a wide variety of operating systems, including Windows, Android and iOS. The C++ daemon is being built for Android in this repository. There is a proof-of-concept of the protocol that is written in ruby. It is currently out-of-date in relation to the latest protocol changes. There is a python control library and also a Desktop GUI. Debian/Ubuntu packages of the ruby proof-of-concept are also available. Security The software does not attempt to provide anonymity. Access code sharing is designed to reduce the impact of surveillance by using one-time codes by default, and using perfect forward secrecy on the wire. Setup of a share is vulnerable to an active man-in-the-middle attack if the channel used to send the access code is insecure. For example, if Bob sends Alice an access code over SMS, Eve can try to connect to Bob before Alice does. Alice will not be able to connect to the share. Eve can even create another share and issue the same access code to fool Alice into thinking she has connected to Bob. It is believed that security-conscious users will automatically avoid this problem by sharing the access codes over secure channels. Contributing If you are a professional cryptographer with interest in this project, any feedback on the protocol is very welcome. A major area that needs work is creating GUIs for each platform, such as GTK, Cocoa, QT, Android, iOS, browser-based, and a Windows program. GUIs do not need to be written in any particular language, since they can control the daemon using a simple JSON protocol, which is documented in protocol/control.md. Issues and pull requests are welcome. The project mailing list is on google groups. (It is possible to participate via email if you do not have a google account.)
Read the full README on GitHub

What Hacker News says

15 sources
nl·Feb 24, 2014Recommendation phrase
Works well for me. For those who want to try it, this is what I did. Create a Dockerfile: # Ubuntu 12.04 + Python + Git FROM nlothian/python-git # Ruby RUN apt-get -y install libgnutls26 ruby1.9.1 RUN apt-get -y install ruby1.9.1-dev RUN gem install rb-inotify ffi RUN git clone https://github.com/jewel/clearskies Build: sudo docker build -t clearskies . Run: sudo docker run -i -t clearskies /bin/bash Then: mkdir /testdir echo 'testing' > afile cd /clearskies ./clearskies start ./clearskies share /testdir That will print something out in the form: clearskies:SYNCXXXXXXXXXXXXXXXXXXXXXXXX Note this, then start another clearskies docker container. In that one: mkdir /testdir cd /clearskies ./clearskies start ./clearskies attach clearskies:SYNCXXXXXXXXXXXXXXXXX /sharedir Wait a few seconds, and yo
Read the rest
ur file should appear.
In ClearSkies – open-source file syncing without cloud
Looks like there are various modes of discovery, see under "Peer discovery": https://github.com/jewel/clearskies/blob/master/protocol/cor... I can't find any references to DHT in the code (but the protocol lists that as an extension). For lan udp broadcast: https://github.com/jewel/clearskies/blob/master/lib/broadcas... For tracker client (apparently gets a list of tracker URIs from the config): https://github.com/jewel/clearskies/blob/master/lib/tracker_... https://github.com/jewel/clearskies/blob/master/lib/conf.rb
In ClearSkies – open-source file syncing without cloud
I like that "untrusted peers" are defined in the protocol, but unfortunately it's only an optional addendum [1]. To me, untrusted peering is the most important feature and I hope that not being defined in the main protocol does not mean it will be step-mothered in the implementation. BitTorrent Sync only supports untrusted peers via API [2], and the only other open-source BitTorrent Sync alternative that I am aware of [3] left it out completely. [1] https://github.com/jewel/clearskies/blob/master/protocol/unt... [2] http://www.bittorrent.com/intl/de/sync/developers/api [3] https://github.com/calmh/syncthing/wiki
In ClearSkies – open-source file syncing without cloud
How do the peers find each other? The installation instructions suggest that I just need to run 'clearskies share ...' on one computer, and 'clearskies attach ...' on the second computer. How will they find each other (on a LAN or, especially, if they're each behind different NAT routers)? I see that there is some 'tracker' code in the repo:https://github.com/jewel/clearskies/tree/master/tracker Must I run that somewhere that both computers can access, and tell them its address?
In ClearSkies – open-source file syncing without cloud

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.