Skip to content

Commit c94bb12

Browse files
committed
Merge remote-tracking branch 'github/master'
2 parents 79cd2c5 + 2c2d213 commit c94bb12

File tree

1 file changed

+28
-29
lines changed

1 file changed

+28
-29
lines changed

README.md

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ sites: [github](https://github.com/basiliscos/syncspirit), [abf](https://github.
44
[gitflic](https://gitflic.ru/project/basiliscos/syncspirit)
55

66
`syncspirit` is a continuous file synchronization program, which synchronizes files between devices.
7-
It is build using C++ [rotor](github.com/basiliscos/cpp-rotor) actor framework. It implements
8-
[BEP-protocol](https://docs.syncthing.net/specs/bep-v1.html) for files syncrhonization, or,
9-
simplistically speaking, it is [syncthing](https://syncthing.net)-compatible syncrhonization
10-
program, which uses [syncthing](https://syncthing.net) infrastructure (for global discovery
11-
and relaying)
7+
It is built using the C++ [rotor](https://github.com/basiliscos/cpp-rotor) actor framework. It implements
8+
the [BEP-protocol](https://docs.syncthing.net/specs/bep-v1.html) for files synchronization, or,
9+
simplistically speaking, it is a [syncthing](https://syncthing.net)-compatible synchronization
10+
program, which uses the [syncthing](https://syncthing.net) infrastructure (for global discovery
11+
and relaying).
1212

13-
Despite of being functional `syncspirit` is much less feature-rich then [syncthing](https://syncthing.net)
14-
and still is in heavy development.
13+
Despite being functional, `syncspirit` is much less feature-rich than [syncthing](https://syncthing.net)
14+
and is still in heavy development.
1515

1616

1717
# status
@@ -30,8 +30,7 @@ and still is in heavy development.
3030

3131
# missing features
3232

33-
This list is probably incomplete, here are the most important changes
34-
33+
This list is probably incomplete. Here are the most important changes:
3534

3635
- [ ] conflict resolution
3736

@@ -63,22 +62,22 @@ the output should be like
6362
[![asciicast](https://asciinema.org/a/474217.svg)](https://asciinema.org/a/474217)
6463

6564
i.e. it records some peer, adds a folder, then shares the folder with the peer device, connects to
66-
the peer and downloads all files into `/tmp/my_dir/data` . The peer device currently can be
67-
only [syncthing](https://syncthing.net). Then `syncspirit` either exits after 2 minutes of inactivity
68-
or when you press `ctrl+c`. The output is successful, because I previousy authorized this device
69-
with [syncthing](https://syncthing.net) web interface, and shared the folder with this device
65+
the peer and downloads all files into `/tmp/my_dir/data` . The peer device currently can only be
66+
[syncthing](https://syncthing.net). Then `syncspirit` either exits after 2 minutes of inactivity
67+
or when you press `ctrl+c`. The output is successful, because I previously authorized this device
68+
with the [syncthing](https://syncthing.net) web interface, and shared the folder with this device
7069
(`syncspirit`).
7170

7271
I also assume some familiarity with [syncthing](https://syncthing.net), so you should understand
73-
whats going on here.
72+
what's going on here.
7473

7574
For more details see [ui-daemon](docs/ui-daemon.md) docs and [configuration](docs/config.md) docs.
7675

7776
# design and ideas
7877

7978
[syncthing](https://syncthing.net) is implemented using [go](https://go.dev/) programming
80-
language, which good fits for services. As the result, [syncthing](https://syncthing.net)
81-
itself is written as web-service, which exposes REST-API for clients. So, yes, the end-user
79+
language, which is a good fit for services. As a result, [syncthing](https://syncthing.net)
80+
itself is written as a web-service, which exposes a REST-API for clients. So, yes, the end-user
8281
software should also have a front-end, which is usually web-browser (or embeds web-browser),
8382
which is written in different programming language (e.g. javascript or java).
8483

@@ -88,17 +87,17 @@ ecological, secure, manageable, have lower CPU and memory pressures.
8887

8988
The [actor model](https://en.wikipedia.org/wiki/Actor_model), blurs the boundaries between
9089
classical desktop and client-server application models. I think,
91-
[rotor](github.com/basiliscos/cpp-rotor) makes it possible to have (and embed) some
90+
[rotor](https://github.com/basiliscos/cpp-rotor) makes it possible to have (and embed) some
9291
"core" into multiple different user interfaces (GUIs).
9392

94-
Currently, there syncspirit has only "daemon-ui", i.e. a simple non-interactive application,
95-
which shows synchronization log, and the only possibility is just to stop it. However, as soon
96-
as the "core" will be complete, there are plans to develop multiple `syncspirit` UIs:
97-
[wx-widgets](https://www.wxwidgets.org/), qt, gtk, may be native, may be even native mobile UIs...
93+
Currently, syncspirit has only a "daemon-ui", i.e. a simple non-interactive application,
94+
which shows a synchronization log, and the only possibility is just to stop it. However, as soon
95+
as the "core" is complete, there are plans to develop multiple `syncspirit` UIs:
96+
[wx-widgets](https://www.wxwidgets.org/), qt, gtk, maybe native, maybe even native mobile UIs...
9897

99-
Another major idea is scripting support: it should be possible to have exposes the "core" to lua
100-
scripts, and have some user-defined actions like synchonizing files with external folders including
101-
flash-sticks, user-defined files ordering and filtering for synchronization, may be even selective
98+
Another major idea is scripting support: it should be possible to expose the "core" to lua
99+
scripts, and have some user-defined actions like synchronizing files with external folders including
100+
flash-sticks, user-defined files ordering and filtering for synchronization, maybe even selective
102101
sync, like in [resilio](https://www.resilio.com/). This, however, still needs to be researched,
103102
after the core completion.
104103

@@ -112,8 +111,8 @@ after the core completion.
112111

113112
- linux
114113
- windows
115-
- (may be) *nix
116-
- (may be) mac os x
114+
- (maybe) *nix
115+
- (maybe) mac os x
117116

118117
# changes
119118

@@ -122,18 +121,18 @@ after the core completion.
122121
- [build, docs] improved build documentation
123122

124123
## 0.3.0 (14-Apr-2024)
125-
- [feature] implemented complete files syncrhonisation
124+
- [feature] implemented complete files synchronization
126125
- [feature] added local files watcher and updates streamer
127126
- [build] switched from git submodules to [conan2](https://conan.io)
128127
- [win32] better platform support
129128

130129

131130
## 0.2.0 (22-May-2022)
132131
- [feature] implement [relay transport](https://docs.syncthing.net/specs/relay-v1.html),
133-
the relay is randombly chosen from the public relays [pool](https://relays.syncthing.net/endpoint)
132+
the relay is randomly chosen from the public relays [pool](https://relays.syncthing.net/endpoint)
134133
- [feature] output binary is compressed via [upx](https://upx.github.io)
135134
- [feature] small optimization, use thread less in overall program
136-
- [bugfix] sometimes fs::scan_actor request timeout ocurrs, which is fatal
135+
- [bugfix] sometimes fs::scan_actor request timeout occurs, which is fatal
137136
- [bugfix] global discovery sometimes skipped announcements
138137

139138
## 0.1.0 (18-Arp-2022)

0 commit comments

Comments
 (0)