mirror of
https://github.com/Xevion/dynamic-preauth.git
synced 2025-12-06 03:14:58 -06:00
9f142327b90b57e43e9aecc33ed6da876a6a46fb
dynamic-preauth
I had an idea that executables could be pre-authenticated by the server before being ran, with no interaction from the user.
This is a proof of concept of that idea, built in Rust.
How it works
-
The server is provided a fully built template executable on startup.
-
Users can 'authenticate' themselves and then download the executable.
-
Before the executable is served to the user, the server will inject the user's authentication token into the executable by modifying the binary.
-
The modified binary is then served to the user.
-
A constant time string in the binary, now modified, is used to authenticate the binary's requests to the server.
Implementation
- The testing binary is built in Docker, and is a simple Rust binary that sends a GET request to the server with the authentication token.
Description
Languages
Rust
59%
TypeScript
25.6%
Astro
7.5%
JavaScript
3%
Dockerfile
2.7%
Other
2.2%