--------------------
File Exchanger (file_exchanger) Tool is a peer-to-peer files exchanger for Windows/Linux platform.
--------------------
The main features of File Exchanger (file_exchanger) Tool:
- transfer of files from client to server, using open socket connections;
- transfer of files from client to server, using SSL connections;
- control of entirety of received files, comparing of checksum values sent and received files,
using CRC-32 algorithm;
- using transfer of files from client to server, using SSL connections;
- using follow SSL mode/algorithms (TLSv1.2), if SSL connection is used:
ECDHE-ECDSA-AES256-GCM-SHA384
TLSv1.2 - version
TLS - the protocol used
ECDHE - the key exchange mechanism
ECDSA - the algorithm of the authentication key
AES - the symmetric encryption algorithm
256 - the key size of AES
GCM - the mode of AES
SHA384 - the MAC used by the algorithm
prime256v1 (NIST P-256, secp256r1) - Elliptic Curve, that is used by ECDHE and ECDSA;
- using unique CA of client and server certificates;
- user can update CA, client/server keys/certificates, using suite of scripts ssl.ecdsa.tar.gz
(ReadMe.txt in ssl.ecdsa.tar.gz);
- using of xml configuration files, which can be updated by user and will be applied
without restart of processes (sm_file_send_clns, sm_file_send_srvs);
- scanning of configured directories, where sent files can be copy;
- copying of sub-directories with files, saving of sub-directories tree at the server side;
- support of unicode symbols in file/directory names;
- backup of sent/received files;
- server and client modules can be launched as Services (Windows)/Daemons (Linux);
- console command line control application (only Windows) of client/server Services (requires
Administrator permissions);
- Windows gui application, that allows to monitor states of client/server Services, control
of client/server Services and change parameters of client/server Services;
- Linux gui application (Qt-based), that allows to monitor states of client/server Daemons,
control of client/server Daemons (when it's possible, according to users permissions)
and change parameters of client/server Daemons;
- using ECDSA (NIST P-256, secp256r1) for signing/verification parameters, which are sent
between client/server and gui applications (Windows/Linux);
- tool applications don't use any intermediate servers and transfer files directly between
client and server;
--------------------
Technologies and tools:
- Windows Desktop: C/C++, CMake, Visual Studio (C++) 17, MFC, WinApi, Poco, OpenSSL,
Sockets, Secure Sockets, Multi-threading, Windows Services, NSIS, Git, Windows Batch
scripts, Tortoise Git client;
- Linux Desktop: C/C++, CMake, gcc/g++, Qt, Qt Creator, Kdbg, Posix api, Poco, OpenSSL,
Sockets, Secure Sockets, Multi-threading, Linux Daemons, Linuxdeployqt, Makeself, Linux
Bash scripts, Git Cola client;
- SSL ECDSA Scripts: OpenSSL, Bash scripts;
- Virtual Box (Virtualization Software), Various distros of Linux (Debian, OpenSUSE, Ubuntu,
Mint, Kubuntu);
--------------------
Links:
Version 0.0.11.11:
http://smansoft.com/file_exchanger/0.0.11.11/
http://smansoft.com/file_exchanger/0.0.11.11/ReadMe.txt
http://smansoft.com/file_exchanger/0.0.11.11/License.txt
http://blog.smansoft.com/products/file-exchanger-tool/
http://blog.smansoft.com/2019/06/24/file-exchanger-tool-0.0.11.11/
Screenshots (.jpg), video demo (install, run) (.mp4):
http://smansoft.com/file_exchanger/0.0.11.11/demo/
Version 0.0.9.9:
http://smansoft.com/file_exchanger/0.0.9.9/
http://smansoft.com/file_exchanger/0.0.9.9/ReadMe.txt
http://smansoft.com/file_exchanger/0.0.9.9/License.txt
--------------------
Copyright (C) 2019 SManSoft
Sergey Manoylo