Skip to content

Commit 7688ef9

Browse files
committed
update Changes, use upx
1 parent 3c5170b commit 7688ef9

File tree

3 files changed

+40
-23
lines changed

3 files changed

+40
-23
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ find_package(OpenSSL REQUIRED)
2424
find_package(Protobuf REQUIRED)
2525
find_package(ZLIB REQUIRED)
2626

27-
set(SYNCSPIRIT_VERSION "v0.1.0")
27+
set(SYNCSPIRIT_VERSION "v0.2.0")
2828

2929
configure_file(misc/syncspirit-config.h.in include/syncspirit-config.h @ONLY)
3030
set(Protobuf_IMPORT_DIRS ${syncspirit_SOURCE_DIR}/src)

README.md

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,52 @@
11
# syncspirit
22

3-
sites: [github](https://github.com/basiliscos/syncspirit), [abf](https://github.com/basiliscos/syncspirit)
3+
sites: [github](https://github.com/basiliscos/syncspirit), [abf](https://github.com/basiliscos/syncspirit),
4+
[gitflic](https://gitflic.ru/project/basiliscos/syncspirit)
45

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

1113
Despite of being functional `syncspirit` is much less feature-rich then [syncthing](https://syncthing.net)
1214
and still is in heavy development.
1315

1416

1517
# status
1618

17-
[x] downloading files from peer devices (aka all folders are receive only)
19+
- [x] downloading files from peer devices (aka all folders are receive only)
1820

19-
[x] [global peer discovery](https://docs.syncthing.net/specs/globaldisco-v3.html)
21+
- [x] [global peer discovery](https://docs.syncthing.net/specs/globaldisco-v3.html)
2022

21-
[x] [local (LAN) peer discovery](https://docs.syncthing.net/specs/localdisco-v4.html)
23+
- [x] [local (LAN) peer discovery](https://docs.syncthing.net/specs/localdisco-v4.html)
2224

23-
[x] upnp & nat passthough
25+
- [x] upnp & nat passthough
2426

25-
[x] certificates generation
27+
- [x] certificates generation
2628

29+
- [x] relay transport
2730

2831
# missing features
2932

3033
This list is probably incomplete, here are the most important changes
3134

32-
[ ] relay transport
35+
- [ ] full-powered files synchronization (aka send and receive)
3336

34-
[ ] full-powered files synchronization (aka send and receive)
37+
- [ ] conflict resolution
3538

36-
[ ] conflict resolution
39+
- [ ] ignoring files
3740

38-
[ ] ingoring files
41+
- [ ] [QUIC transport](https://en.wikipedia.org/wiki/QUIC)
3942

40-
[ ] [QUIC transport](https://en.wikipedia.org/wiki/QUIC)
43+
- [ ] introducer support
4144

42-
[ ] introducer support
45+
- [ ] outgoing messages compression
4346

44-
[ ] outgoing messages compression
47+
- [ ] [untrusted devices encryption](https://docs.syncthing.net/specs/untrusted.html)
4548

46-
[ ] [untrusted devices encryption](https://docs.syncthing.net/specs/untrusted.html)
47-
48-
[ ] ...
49+
- [ ] ...
4950

5051
# run
5152

@@ -63,7 +64,7 @@ the output should be like
6364
[![asciicast](https://asciinema.org/a/474217.svg)](https://asciinema.org/a/474217)
6465

6566
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+
the peer and downloads all files into `/tmp/my_dir/data` . The peer device currently can be
6768
only [syncthing](https://syncthing.net). Then `syncspirit` either exits after 2 minutes of inactivity
6869
or when you press `ctrl+c`. The output is successful, because I previousy authorized this device
6970
with [syncthing](https://syncthing.net) web interface, and shared the folder with this device
@@ -92,7 +93,7 @@ classical desktop and client-server application models. I think,
9293
"core" into multiple different user interfaces (GUIs).
9394

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

@@ -117,6 +118,14 @@ after the core completion.
117118

118119
# changes
119120

121+
## 0.2.0 (22-May-2022)
122+
- [feature] implement [relay transport](https://docs.syncthing.net/specs/relay-v1.html),
123+
the relay is randombly chosen from the public relays [pool](https://relays.syncthing.net/endpoint)
124+
- [feature] output binary is compressed via [upx](https://upx.github.io)
125+
- [feature] small optimization, use thread less in overall program
126+
- [bugfix] sometimes fs::scan_actor request timeout ocurrs, which is fatal
127+
- [bugfix] global discovery sometimes skipped announcements
128+
120129
## 0.1.0 (18-Arp-2022)
121130
- initial release
122131

src/ui-daemon/CMakeLists.txt

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,20 @@ if (CMAKE_BUILD_TYPE MATCHES "^([Rr]elease)|(MinSizeRel)")
3737
message(WARNING "upx not found")
3838
else()
3939
message(STATUS "upx found")
40+
set(DAEMON_TARGET "${CMAKE_CXX_COMPILER}")
41+
string(REGEX REPLACE ".*/" "" DAEMON_TARGET ${DAEMON_TARGET})
42+
string(REGEX REPLACE "(.*)-.+" "\\1" DAEMON_TARGET ${DAEMON_TARGET})
43+
if ("${DAEMON_TARGET}" STREQUAL "")
44+
set(DAEMON_TARGET "unknown")
45+
endif()
46+
string(JOIN "_" DAEMON_TARGET "syncspirit-daemon" ${SYNCSPIRIT_VERSION} ${DAEMON_TARGET})
47+
set(DAEMON_TARGET "${DAEMON_TARGET}${CMAKE_EXECUTABLE_SUFFIX}")
48+
4049
set(EXE "syncspirit-daemon${CMAKE_EXECUTABLE_SUFFIX}")
4150
add_custom_target(compress_exec ALL
42-
COMMAND upx "--force" "-9" ${EXE}
51+
COMMAND upx "--force" "-9" "-q" "-o" "${syncspirit_BINARY_DIR}/${DAEMON_TARGET}" ${EXE}
4352
DEPENDS ${EXE}
4453
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
45-
COMMENT "compressing ${EXE}"
46-
VERBATIM)
54+
COMMENT "compressing ${DAEMON_TARGET}")
4755
endif()
4856
endif()

0 commit comments

Comments
 (0)