Evgeny Poberezkin
2f15ce2662
xftp: add quota param to server CLI, restrict chunk sizes ( #659 )
...
* xftp: add quota param to server CLI
* only allow certain file sizes, fix tests
2023-02-27 18:01:18 +00:00
Evgeny Poberezkin
781f8e0000
xftp: increase timeouts for file uploads, show progress ( #658 )
...
* xftp: increase timeouts for file uploads, show progress
* refactor
* use default port 443
* typo
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* upload/download to/from chosen servers concurrently
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-27 13:42:15 +00:00
spaced4ndy
1b4b184517
xftp: server - retry on duplicate ids ( #655 )
...
* xftp: server - retry on duplicate ids (with commented monad code)
* remove commented code, refactor
* replace traverse with mapM
* refactor
* refactor
* refactor
* refactor
* refactor
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-02-25 17:55:58 +00:00
Evgeny Poberezkin
8c8a984c1c
xftp: add basic auth ( #653 )
2023-02-24 17:40:26 +04:00
spaced4ndy
202922bceb
xftp: server store log ( #652 )
2023-02-24 15:21:07 +04:00
Evgeny Poberezkin
3ab5e9d110
xftp: expire files on the server, track/limit used storage ( #651 )
...
* xftp: expire files on the server
* track/limit used storage
* support storage quota and disabling queue creation in CLI parameters
* fix ini file
* correction
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-24 11:09:51 +04:00
Evgeny Poberezkin
4ce4fa3423
xftp: write secret_box auth tag to the end of the file, for efficiency of ecryption/decryption ( #650 )
...
* xftp: write secret_box auth tag to the end of the file, for efficiency of ecryption/decryption
* comments
2023-02-23 18:28:20 +00:00
spaced4ndy
fbf0b8b175
xftp: cli - delete file command, acknowledge received chunks ( #649 )
2023-02-23 16:54:50 +04:00
spaced4ndy
1f394b76a6
xftp: sender file description ( #647 )
...
* xftp: sender file description
* tests
* check, info, tests
* test
* refactor
* refactor, rename sender file
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-02-22 17:16:49 +04:00
Evgeny Poberezkin
97b8b37325
xftp: FDEL and FACK commands ( #648 )
...
* xftp: FDEL and FACK commands
* correction
* more tests
---------
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-22 12:32:30 +00:00
Evgeny Poberezkin
bbf9e28696
xftp: add server to client encryption layer with cryptobox ( #646 )
...
* xftp: add server to client encryption layer with cryptobox
* workarounds for http2
* update http2 commit
* remove TODOs
2023-02-22 09:03:18 +00:00
Evgeny Poberezkin
c970674452
faster lazy secret_box
2023-02-19 10:54:54 +00:00
Evgeny Poberezkin
4a9b5412db
xftp: refactor
2023-02-18 23:21:59 +00:00
Evgeny Poberezkin
1ecef81b4d
xftp: validate digests of file chunks in client and server
2023-02-18 22:44:44 +00:00
Evgeny Poberezkin
2bf8cba4fd
xftp: download chunks to separate files
2023-02-18 20:56:46 +00:00
Evgeny Poberezkin
628169adb4
xftp: only receive correct number of bytes
2023-02-18 19:47:17 +00:00
Evgeny Poberezkin
bd0cc25083
XFTP error type
2023-02-17 22:27:36 +00:00
Evgeny Poberezkin
acdf4f41c5
XFTP: CLI tests, output command results, info command ( #642 )
...
* XFTP: CLI tests, output command results
* info command, test
* fix test
2023-02-17 11:38:43 +00:00
spaced4ndy
a3d9ee213d
xftp: cli - option to pass servers, choose servers randomly ( #641 )
2023-02-16 21:06:23 +04:00
spaced4ndy
cf7346d48b
xftp: cli - verify file digest ( #640 )
2023-02-16 21:01:41 +04:00
spaced4ndy
4e8657097c
xftp: cli client draft ( #635 )
...
* xftp: cli client draft
* more stubs
* compiles
* hash, app
* options parsers, random
* tmp
* xftp CLI client agent, simplify CLI command syntax
* only allow argument as a second parameter
* pivot signature draft
* receive file
* pivot sent chunks to recipients
* encryptFile - temp, chunks, specs
* send (upload) file and save file descriptions
* refactor, remove encrypted file
* save file size in description as string
* include filename inside padded encrypted file
* call chunk uploads concurrently, using queueing in HTTP2 as library client does not support concurrent streaming uploads
* download file (does not work yet)
* add digests to sent chunks
* fix recv - save file using AppendMode
* encrypt/decrypt sent file with secretbox
* remove print
* fix file description parsing in tests
* fix test
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-02-16 14:06:03 +04:00
Stanislav Dmitrenko
bccef0ba47
files: server and client spike - basic upload/download ( #591 )
...
* Files: main, env, stats, storeLog
* Better + transport
* Executable
* Env
* Update Client.hs, Server.hs, and 4 more files...
* Answer on request
* Delay
* Temp file
* Bypass cert check
* update package.yml, rename
* update store log
* extend HTTP2 transport
* refactor caStore
* HTTP2 body
* update server stats
* file server/client framework
* verify server commands
* process FNEW command, CLI test works
* simple XFTP server test (fails)
* fix test, refactor
* upload chunk works
* receive file chunk in the client
* remove transport handshake
* typo
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
* fix names
---------
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
Co-authored-by: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com >
2023-02-13 13:36:02 +00:00
spaced4ndy
9775861b6f
files: file description parsing & serialization, tests ( #633 )
...
* files: file description parsing & serialization, tests
* chunk list
* processFileDescription
* name
* different values
* undo chunk objects to strings
* parser, serializer
* use Either as monad
* refactor
* remove comments
* fix 2 tests
* fix test
* enable all tests
* remove comment
* move
---------
Co-authored-by: JRoberts <8711996+jr-simplex@users.noreply.github.com >
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2023-02-12 15:53:37 +00:00
JRoberts
1523c00bcc
files: file description types ( #631 )
2023-02-09 21:22:58 +04:00
Evgeny Poberezkin
3637d0c610
update protocol/store to include file digest
2023-02-09 09:03:34 +00:00
Evgeny Poberezkin
8dd728e834
add XFTP to ProtocolType
2022-12-30 22:22:07 +00:00
Stanislav Dmitrenko
7adcbf839f
FileStore ( #589 )
...
* FileStore
* Set instead of List
* update
* refactor
* refactor
* sort imports
Co-authored-by: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com >
2022-12-30 21:07:35 +00:00
Evgeny Poberezkin
4b29855430
core: SimpleX File Transfer protocol type ( #587 )
...
* core: File transfer protocol
* Optimization
* Renaming and interfaces
* update response type
* eol
* update type
Co-authored-by: Avently <7953703+avently@users.noreply.github.com >
2022-12-29 18:12:41 +00:00
Evgeny Poberezkin
1d78e35688
XFTP modules structure
2022-12-27 21:54:02 +00:00