Commit Graph

434 Commits

Author SHA1 Message Date
7c48c09ec3 Client logs are now stored in the cache dir 2025-07-30 20:46:50 +03:00
77dc3bf32f Fixed ci to pass, removed pyroscope 2025-07-30 20:06:22 +03:00
49484cf734 Display cache file location in user settings 2025-07-21 13:53:54 +03:00
5f6845c399 Added the ability to delete users 2025-07-21 13:46:40 +03:00
aa1fab53af Added copyright and AGPL notice to all source code files 2025-07-20 16:34:18 +03:00
24c0224dd9 Changed session durations metric to classic histogram, added
last_activity to calculate monthly active users
2025-07-19 18:32:12 +03:00
f793203e04 Added session duration metrics with device analytics along with device
analytics metrics in the DB to aggregate and DeviceID abuse prevention
2025-07-19 18:32:12 +03:00
aaea258a21 Added metrics for sus/malicious connections 2025-07-19 18:32:12 +03:00
52eb471e89 Implemented connection-level rate limiting (to avoid reconnection
abuse), added a file for testing that, still needs to add observability
for this
2025-07-19 18:32:12 +03:00
cb3c866248 Made ci pass 2025-07-19 18:32:12 +03:00
8f58905364 Added in progress requests metric and also returning an error when the
user hits the rate limit
2025-07-19 18:32:12 +03:00
ef45261e01 Added a stub right sidebar for signals 2025-07-19 18:32:12 +03:00
8cee7aa9df Fixed terminal background showing in user profile and updated help
popups
2025-07-19 18:32:12 +03:00
4a8914e05f Fixed dropped vs success requests being flipped 2025-07-19 18:32:12 +03:00
6e2ae28025 Added toggleable borders (not fully fleshed) 2025-07-19 18:32:12 +03:00
95abbe573e Implemented caching for TOS hash, if hash matches the user doesn't need
to re-accept the TOS, users can delete the cache if they wish to review
it
2025-07-19 18:32:12 +03:00
1bc8fc2222 Fixed networklist sometimes rendering outside the screen 2025-07-19 18:32:12 +03:00
0a0915a977 Added session based request rate limiting, uses token bucket strategy 2025-07-19 18:32:12 +03:00
d78eb1fbc4 Added proper locking to session to avoid race conditions/data races 2025-07-19 18:32:12 +03:00
34c944c350 Added some metrics 2025-07-19 18:32:12 +03:00
12f50940b4 Added handling for device analytics, but not the actual implementation
yet
2025-07-19 18:32:12 +03:00
c52d5693e9 Added server metrics (need to actually add metrics later) 2025-07-19 18:32:12 +03:00
dc6c10155c Added anonymous_device_analytics option on the client and added cache
dir to store things like device ID and TOS hashes (only storing device
ID currently)
2025-07-19 18:32:12 +03:00
86c3f3f730 Added device analytics packet 2025-07-19 18:32:12 +03:00
62f17157d8 Improved server logging/error handling 2025-07-19 18:32:12 +03:00
ba47118e51 Replaced most log statements with slog on the server 2025-07-19 18:32:12 +03:00
402e2b4108 Fixed bug where server couldn't shutdown unless all clients closed their
connections willingly
2025-07-19 18:32:12 +03:00
013b65b30f Rephrased device analytics line in user settings to avoid background
issues
2025-07-19 18:28:12 +03:00
f255c81497 Slight changes to pass CI 2025-07-08 22:24:35 +03:00
d9f7b03de8 Added webserver to serve the TOS and Privacy Policy all the time 2025-07-08 21:49:18 +03:00
046b17959f Finished implementing authentication on the client-side 2025-07-08 19:10:26 +03:00
56acb0d51e Color coded accept/decline in TOS page 2025-07-08 18:35:20 +03:00
a34919da2f Refactored client side to comply with protocol changes, implemnted tos
screen model, still missing accept/decline and authentication
2025-07-08 17:53:36 +03:00
8362d835ee Slightly modified default light blue color 2025-07-08 17:53:14 +03:00
0be78648cd Fixed mprocs sending SIGHUP on restart instead of SIGTERM by adding
exec and updated gitignore
2025-07-07 20:06:26 +03:00
047d33b3ae Refactored how the terms of service and privacy policy are stored, by
allowing changing them with 0 downtime
2025-07-07 18:46:47 +03:00
bbd4eae95f Added better logging for packets and payloads and now the writer is
responsible for packaging into a packet the payload (instead of everyone
who sends to the writer)
2025-07-06 18:20:46 +03:00
21b4d14a2f Fixed issues with timeout() function on the server and added automatic
log rotation every midnight (if the server is running at that time)
2025-07-06 15:04:08 +03:00
f80cb4a0fe Implemented server-side authentication in accordance to the protocol 2025-07-06 14:40:32 +03:00
e734449259 Added terms of service (incomplete!!!!) to the server, and added
authentication separation between API calls, actually authentication
(nonce, and verification) is not implemented yet
2025-07-06 00:51:33 +03:00
8f8736d09e Updated protocol spec to new V2 version 2025-07-05 23:24:17 +03:00
5f8ab176b6 Added new packet types to facilitate TOS acceptance, Authentication and
re-authentication for sensitive information updates
2025-07-05 22:35:34 +03:00
9199959cf4 Made check-ci.sh more user friendly 2025-07-05 22:35:18 +03:00
94ccbc282b Refactored server connection handling, still missing TOS and auth
handling
2025-07-05 19:50:13 +03:00
317bc967e6 Added extra info in user settings, fixed typos in help popups and
refactored some log statements
2025-07-05 11:30:16 +03:00
2d1408598a Added ctxkeys package to better handle addition context when logging and
partially integrated it with keys for user id and ip addr
2025-07-03 20:46:29 +03:00
eb219cab1a Completed check-ci.sh and made ci pass 2025-07-03 14:54:38 +03:00
b0681791e3 Fixed ci based on check-ci (incomplete) 2025-07-03 14:44:28 +03:00
875a5576db Updated env var names and added a log dir env var 2025-07-03 14:34:17 +03:00
bb6b93eefd Fixed selected signal not rendering notifications with the proper
background
2025-06-08 11:56:31 +03:00