eleksir
|
98e7d0f73e
|
Fix symlinks treted as hardlinks in resulting tar archive
|
2026-04-18 09:25:13 +03:00 |
|
eleksir
|
d2e0fd2af0
|
There was a bug where all files treated as hardlinks in resulting tar archive, now it was hopefully fixed
|
2026-04-18 09:17:16 +03:00 |
|
eleksir
|
8701938c75
|
Fix some debug messages logged on higher log levels.
|
2026-04-18 02:17:39 +03:00 |
|
eleksir
|
7df8bc1446
|
Update comment in newServer.go
|
2026-04-18 02:16:18 +03:00 |
|
eleksir
|
e4b6a84c2f
|
Eliminate dead code
|
2026-04-05 09:27:53 +03:00 |
|
eleksir
|
0581d7430c
|
Catch all other missing request patterns to logs
|
2026-04-05 09:27:15 +03:00 |
|
eleksir
|
b35851567c
|
Fix paths in tests, hope this will fix all failing/flacky tests
|
2026-04-05 08:47:38 +03:00 |
|
eleksir
|
0cb4d355ab
|
Fix tests path fragility
|
2026-04-05 01:05:25 +03:00 |
|
eleksir
|
6cea15f553
|
Implement dir_scan_timeout config option
|
2026-04-04 23:32:37 +03:00 |
|
eleksir
|
6e56e74df4
|
If configured directory is missing, archive will be created anyway, but this error will be logged.
|
2026-04-04 22:45:00 +03:00 |
|
eleksir
|
3c22b2e1a0
|
Now TLS handshake errors will respect your loglevel setting
|
2026-04-04 22:25:23 +03:00 |
|
eleksir
|
65a57a6af6
|
Fixed bug with file extentions, enhance logging
- Fix 404 on downloading archive with extension
- Add downloaded archive length to log
- Add md5 hash to log
|
2026-04-04 21:45:33 +03:00 |
|
eleksir
|
e063352252
|
Compression levels does not apply for bzip2, xz, zstd, lz4, now we map then as best as we can.
|
2026-04-04 16:45:07 +03:00 |
|
eleksir
|
f20f490c15
|
Disable keepalive connections and set idle timeout to 10 seconds, explicitly
|
2026-04-04 16:17:21 +03:00 |
|
eleksir
|
ae321a216d
|
Explicitly hardcode MaxHeaderBytes as 1k, to prevent slowloris attack
|
2026-04-04 16:08:57 +03:00 |
|
eleksir
|
729b147b90
|
If no files found in configured directories warn in log about it
|
2026-04-04 16:03:08 +03:00 |
|
eleksir
|
7b001d710a
|
Implement timing-safe string comparison for authentication
Prevents timing attacks where an attacker could deduce correct
credentials by measuring response times. Not sure if it is real threat,
but anyway.
|
2026-04-04 15:59:40 +03:00 |
|
eleksir
|
2201fc72f1
|
Implement proper signal handler
|
2026-04-04 15:50:09 +03:00 |
|
eleksir
|
5e7dd4b960
|
Make logging thread safe, useful to run tests in parallel
|
2026-04-04 15:32:42 +03:00 |
|
eleksir
|
c1444f8c1d
|
Add cancellation after read and before write, to be able to cancel operation more quickly
|
2026-04-04 15:22:50 +03:00 |
|
eleksir
|
6955e14921
|
Add hardlink detection for *nix platforms, they stored as links in tar, so content is effectively deduplites
|
2026-04-04 15:08:54 +03:00 |
|
eleksir
|
fd8612cfc6
|
Log all requests, not only ones that hit backup target, fix comments to be docstring friendly.
|
2026-04-04 14:44:48 +03:00 |
|
eleksir
|
e449fb78c9
|
Add more tests
|
2026-04-04 13:59:09 +03:00 |
|
eleksir
|
958ef67f29
|
Move ssl/tls related error to debug loglevel, to avoid log cluttering.
|
2026-04-04 13:16:22 +03:00 |
|
eleksir
|
14b7a17b00
|
Move log message about selected default compression algo after logging subsystem fully initialized
|
2026-04-04 12:44:47 +03:00 |
|
eleksir
|
c3553de856
|
Add version and software name in first message during startup, fix typo in log message during config loading.
|
2026-04-04 12:33:40 +03:00 |
|
eleksir
|
8beba095d0
|
Add ability to select compression algo by downloading location with file extension.
- Also update README.md with more useful examples.
|
2026-04-04 11:49:33 +03:00 |
|
eleksir
|
afffc99a8a
|
Eliminate duplicate code, make use of readHeaderTimeout const
|
2026-04-04 11:05:57 +03:00 |
|
eleksir
|
722620945d
|
Move code to different places, add comments here and there, no actual changes
|
2026-03-28 01:38:17 +03:00 |
|
eleksir
|
15ac3be410
|
Implemented tar+parallel gzip compression + unit tests for it.
|
2026-03-28 00:19:09 +03:00 |
|
eleksir
|
3620623321
|
Implemented tar+xz compression + unit tests for it.
|
2026-03-27 23:50:27 +03:00 |
|
eleksir
|
b494479128
|
Implemented tar+lz4 compression + unit tests for it.
|
2026-03-27 23:37:13 +03:00 |
|
eleksir
|
a73354b59d
|
Implemented tar+zstd compression + unit tests for it.
|
2026-03-27 23:03:44 +03:00 |
|
eleksir
|
5226688836
|
Implemented tar+bz2 compression + unit tests for it.
|
2026-03-27 21:28:27 +03:00 |
|
eleksir
|
05c9eb6669
|
Do not configure tls options if we running in plain http mode, without encryption
|
2026-03-27 20:20:32 +03:00 |
|
eleksir
|
565e40c9be
|
Add config option to change prefix for Content-Disposition filename. Defaults to backup.
|
2026-03-27 09:50:51 +03:00 |
|
eleksir
|
607922be19
|
Make tar creation more crossplatform by adding files always with forward slash path separators
|
2026-03-27 09:14:04 +03:00 |
|
eleksir
|
fe3ab9c10e
|
Initialize logger early, fix error message when symlink addition failed.
|
2026-03-27 08:21:42 +03:00 |
|
eleksir
|
16ae887196
|
Add AGENTS.md, simplify code, 2 fixes in log package, 3 bugs fixed.
- Add AGENTS.md for vibecoding ai data.
- Remove github.com/pkg/errors dependency
- writeWithContext — remove goroutine overhead, just check context before fn
- copyWithContext — remove unnecessary panic recovery
- Remove panic recovery tests (TestWriteWithContextPanic, TestCopyWithContextPanic, panicReader)
- Error, Warn, Info, Debug, Fatal — accept ...any instead of string (enables log.Error(err))
- Close — don't panic if Log is nil, don't close stderr
- Add unit tests (internal/log/main_test.go)
- getClientIP — trim spaces from X-Forwarded-For, use net.SplitHostPort for IPv6
- isExcluded — normalize paths to forward slashes for cross-platform regex matching
- writeWithContext godoc — fix stale comment about panic recovery
- internal/log/main_test.go — log package tests (19 tests)
|
2026-03-27 01:24:32 +03:00 |
|
eleksir
|
0bea45b770
|
Initial commit
|
2026-03-25 22:13:27 +03:00 |
|