-------------------- 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