A command and control framework written in rust.

Related tags

Command-line Tempest
Overview

Tempest

Tempest is a command and control framework written in 100% Rust.

blog post: https://teach2breach.io/tempest-intro/
slides: https://teach2breach.io/defcon/TEMPEST.pptx
virtual talk (youtube): https://www.youtube.com/watch?v=t5MSLPRNXMY
virtual talk on X: https://x.com/Teach2Breach/status/1826307718690320692/video/1

For the latest updates and coming update news, see the devlog.md in this repo

This is a research command and control framework. What I mean by this, is that it is meant for research purposes. It is not meant to fully replace cobalt strike and all your other c2s for production ops. When I decided to write this project, I did so for a learning experience. I wanted to sit and try to plan out the design, and run into all the pitfalls along the way and have to solve them for myself. As the project has matured, I have begun to implement other tools or techniques from various other malware authors. I will try to always cite the original sources, the best that I can. If you notice any lack of attribution, please bring it to my attention so that I can add the credit. Sometimes I cannot always find the original source, in which cases, I have specified that as well.

Because this is a research c2, the project moves at a slower pace and runs into a lot of issues along the way. So please understand that this is why. What I suggest for how to use this project, is to fork it, modify it, make it your own. Even better, write your own from scratch, using this code as a reference. Read the code, learn the particular techniques, the "why" of certain design decisions, and make your own c2. That's really the point and in my opinion, the most effective use of this framework.

known issues
  • sometimes the conduit client will not display output from the implants. I am working on a fix for this, but in the meantime, if you are not getting output, try restarting your conduit client. Upon reconnecting, it should display all the output from the previous session.
  • see the devlog for more details on current issues and features in development
Check the 'SetupGuide.md' for quick setup (TODO)

The setup guide is being rewritten for public release. For now, the Anvil server has a README that will help you get started standing up the server. With the server built, you 'cargo build --release' conduit, connect to Anvil, and use the build function to build implants. More documentation is on the way.

Now I will provide a bit of a roadmap and current architecture.

Current Tech Stack: (100% Rust)
  1. Server: Anvil

    • actix.rs & tokio
    • https
    • api for imps (implants)
    • api for conduit (hacker TUI client)
    • internal functions (implant builder + shellcode generation)
    • sqlite db (rusqlite)
  2. Implant: Imp

    • platform-specific imps (windows, linux, mac)
    • payload options as executable, dll, or shellcode (shellcode - windows only)
    • simple, yet effective design
    • designed with OPSEC in mind. no post-ex module bloat
    • modular builds, moving toward giving operators control over granular options
  3. TUI Client: conduit

    • main way of interacting with the server
    • Terminal User Interface (TUI) with realtime dashboard display
    • user friendly
    • cross-platform
    • looks cool to your old hacker friends
    • scrollable fields (PgUp + PgDn on implants field. Up + Down for output field)

AI modules - TBD

Roadmap
  • implement kerberos modules
  • harden auth between conduit client and anvil server (SSH key auth over TLS in dev)
  • additional protocols for communications between server and implants (websockets in dev)
  • peer to peer communications for implants over additional protocols
  • enhanced socks proxy and multiplayer sessions handling
  • templated implant builds with modular options
  • evasion for linux and mac implants
  • process injections - 1 custom injection I wrote based on a combination and modification of existing techniques, so far released. more to come.
  • custom credential harvesting. in progress. early PoCs complete. will add
  • AI support modules (may release as seperate libraries/crates)
  • logging for command and output history (conduit side).
  • options for comms and listener start/stop
CREDITS (direct code contributions)

note - the repos used here are forks, because they are modified versions to integrate with Tempest. credit is given to original repo author

Anybody I missed, please ping me to be added to credits

CREDITS (inspiration / education)
  • 5pider (@C5pider)
  • Austin Hudson (ilove2pwn_)
  • Trickster0 (@trickster012)
  • memN0ps (@memN0ps)
  • Kudaes (@Kudaes)
  • sinusoid (https://github.com/EspressoCake)
  • Postrequest (link)
  • 2vg (Blackcat-rs)
  • TrustedSec && @HackingLZ
  • Raphael Mudge (Red Team ops w/ Cobalt Strike)
Comments
  • issue for build windows

    issue for build windows

    When I run the command build windows exe *.*.*.* 443 2 50 in conduit.exe

    error[E0433]: failed to resolve: use of undeclared crate or module alloc --> /root/Tempest/modules_wip/whoami/src/lib.rs:30:1 | 30 | use_litcrypt!("ageofmachine"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module alloc | = help: add extern crate alloc to use the alloc crate = help: consider importing this module: std::vec = note: this error originates in the macro use_litcrypt (in Nightly builds, run with -Z macro-backtrace for more info)

    error[E0433]: failed to resolve: use of undeclared crate or module alloc --> /root/Tempest/modules_wip/whoami/src/lib.rs:30:1 | 30 | use_litcrypt!("ageofmachine"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module alloc | = help: add extern crate alloc to use the alloc crate = help: consider importing this module: std::string = note: this error originates in the macro use_litcrypt (in Nightly builds, run with -Z macro-backtrace for more info)

    error[E0433]: failed to resolve: use of undeclared crate or module alloc --> /root/Tempest/modules_wip/whoami/src/lib.rs:30:1 | 30 | use_litcrypt!("ageofmachine"); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ use of undeclared crate or module alloc | = help: add extern crate alloc to use the alloc crate = help: consider importing this struct: std::string::String = note: this error originates in the macro use_litcrypt (in Nightly builds, run with -Z macro-backtrace for more info)

    For more information about this error, try rustc --explain E0433. error: could not compile whoami (lib) due to 3 previous errors

    opened by yb156784961 5
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 3
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • issue for build windows imps

    issue for build windows imps

    cargo rustc --lib --release -- -C relocation-model=pic

    error: environment variable `UUID` not defined at compile time
      --> src\proto.rs:94:18
       |
    94 |         session: env!("UUID").to_string(), //ignore error in vs code, env is set
       |                  ^^^^^^^^^^^^
       |
       = help: use `std::env::var("UUID")` to read the variable at run time
       = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SLEEP` not defined at compile time
       --> src\proto.rs:102:16
        |
    102 |         sleep: env!("SLEEP").to_string(), //ignore error in vs code, env is set
        |                ^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SLEEP")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `JITTER` not defined at compile time
       --> src\proto.rs:450:34
        |
    450 |                 let mut jitter = env!("JITTER").to_string(); //ignore error in vs code, env is set
        |                                  ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("JITTER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `SERVER` not defined at compile time
       --> src\proto.rs:459:35
        |
    459 |                 let server_name = env!("SERVER").to_string(); //ignore error in vs code, env is set
        |                                   ^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("SERVER")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `PORT` not defined at compile time
       --> src\proto.rs:460:28
        |
    460 |                 let port = env!("PORT").to_string(); //ignore error in vs code, env is set
        |                            ^^^^^^^^^^^^
        |
        = help: use `std::env::var("PORT")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:599:39
        |
    599 |                 let encoded_aes_key = env!("AES_KEY");
        |                                       ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:738:51
        |
    738 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: environment variable `AES_KEY` not defined at compile time
       --> src\proto.rs:880:63
        |
    880 | ...                   let encoded_aes_key = env!("AES_KEY");
        |                                             ^^^^^^^^^^^^^^^
        |
        = help: use `std::env::var("AES_KEY")` to read the variable at run time
        = note: this error originates in the macro `env` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error: could not compile `windows_ldr` (lib) due to 8 previous errors
    
    opened by BabelQwerty 0
  • Bug in displaying last checkin time

    Bug in displaying last checkin time

    This is a new bug, meaning that I don't believe any changes were made to introduce the bug. So it is likely due to changes in dependencies or something else outside our codebase. I have yet to identify the root cause, but I'll be working on it and tracking progress here.

    The issue is that, upon resizing the TUI client (conduit), the last checkin time does not update or display correctly, as shown below: image

    opened by Teach2Breach 1
Owner
Kirk Trychel
Kirk Trychel
A command and control framework written in rust.

Tempest Tempest is a command and control framework written in 100% Rust. blog post: https://teach2breach.io/tempest-intro/ slides: https://teach2breac

Kirk Trychel 275 Oct 23, 2024
A validations framework for doing quality control in studios.

Untitled Checks Framework Overview This framework is designed to provide a system to write checks for studio work. This includes validating assets (ri

Scott Wilson 8 Jan 28, 2023
A command line tool to control the power state of Valve Base Stations 2.0.

lighthousectl A command line tool to control the power state of Valve Base Stations 2.0. Usage Scan All Base Stations It scans endlessly. You can stop

KOBA789 11 Aug 9, 2022
CarLI is a framework for creating single-command and multi-command CLI applications in Rust

CarLI is a framework for creating single-command and multi-command CLI applications in Rust. The framework provides error and IO types better suited for the command line environment, especially in cases where unit testing is needed.

Kevin Herrera 3 Jan 21, 2022
An over-simplified version control system written in Rust, similar to Git, for local files (Incomplete)

Vault Vault will be a command line tool (if successful) similar to git which would have multiple features like brances etc etc. __ __ _ _

Shubham 3 Nov 21, 2023
A simple program that provides DBus interface to control display temperature and brightness under wayland without flickering

wl-gammarelay-rs Like wl-gammarelay, but written in rust, runs on a single thread, has three times less SLOC and uses DBus (for simplicity). Dbus inte

Max Verevkin 33 Nov 23, 2022
A bit like tee, a bit like script, but all with a fake tty. Lets you remote control and watch a process

teetty teetty is a wrapper binary to execute a command in a pty while providing remote control facilities. This allows logging the stdout of a process

Armin Ronacher 259 Jan 3, 2023
Fast KubeJS script manager. Includes version control and compatibility with KJSPKG packages.

CarbonJS A KubeJS script manager Features ?? Super fast ⚙️ Version control ?? Constantly new scripts being added ✅ Easy to use ?? Compatibility with K

Krzysztof Poręba 3 May 9, 2023
A money tracker: Your income and expenses at your control

NixBucks A simple budgeting app Install If you are on Linux, you can download the Appimage from the latest release (click here). Otherwise, you can in

Marcos Gutiérrez Alonso 3 Sep 25, 2023
A version control system implemented from scratch in Rust.

Version Control An experiment to write a version control system from scratch in Rust. CLI Usage Usage: revtool <COMMAND> Commands: init initia

Samuel Schlesinger 3 May 3, 2023
A simple tui to view & control docker containers

oxker A simple tui to view & control docker containers Built in Rust, making heavy use of tui-rs & Bollard Download & install See releases download &

Jack Wills 119 Dec 28, 2022
A tool to control the fan speed by monitoring the temperature of CPU via IPMI.

ipmi-fan-control A tool to control the fan speed by monitoring the temperature of CPU via IPMI. Why Our Dell R730 server's iDRAC is not works as expec

yinheli 9 Dec 29, 2022
A simple interactive OSC (Open Sound Control) debugger for terminal

oscd, a simple interactive OSC debugger for the terminal by using nom as a lexer/parser, oscd offers auto type casting and support sending multiple osc arguments.

Karnpapon Boonput 5 Oct 19, 2022
A GUI Fan control utility for Linux.

TuxTempMaster For now I'm gonna use this README to write the status of the project Important note This program is not gonna do any black magic. If you

Obscurely 12 Dec 23, 2022
EVA ICS v4 is a new-generation Industrial-IoT platform for Industry-4.0 automated control systems.

EVA ICS v4 EVA ICS® v4 is a new-generation Industrial-IoT platform for Industry-4.0 automated control systems. The world-first and only Enterprise aut

EVA ICS 25 Feb 1, 2023
job control from anywhere!

job-security - job control from anywhere! job-security is a tool that lets you put your running programs into background, then bring them to the foreg

Yuxuan Shui 15 Apr 23, 2023
A file server that supports static serving, uploading, searching, accessing control, webdav...

Dufs Dufs is a distinctive utility file server that supports static serving, uploading, searching, accessing control, webdav... Features Serve static

null 3.6k Oct 30, 2023
Sero is a web server that allows you to easily host your static sites without pain. The idea was inspired by surge.sh but gives you full control.

sero Lightning-fast, static web publishing with zero configuration and full control ?? Table Of Contents ?? Table Of Contents ?? Tools ❓ About The Pro

Dmitry Miasnenko 6 Nov 13, 2023
Small command-line tool to switch monitor inputs from command line

swmon Small command-line tool to switch monitor inputs from command line Installation git clone https://github.com/cr1901/swmon cargo install --path .

William D. Jones 5 Aug 20, 2022