-
Notifications
You must be signed in to change notification settings - Fork 8
Linux client build support #59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This pull request adds Linux client build support and separates platform-specific code for Windows and Linux in various modules. Key changes include adding a dedicated Linux module, conditionally compiling features for different platforms, and updating the dependency management in Cargo.toml.
Reviewed Changes
Copilot reviewed 38 out of 38 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| client/src/platform/mod.rs | Introduces conditional exports for Windows and Linux platforms. |
| client/src/platform/linux.rs | Implements Linux-specific platform functions. |
| client/src/main.rs | Updates conditional tray icon usage and DPI awareness for each OS. |
| client/src/handler.rs | Adds debugging output when sending client info. |
| client/src/features/reverse_shell.rs | Adds Unix support for reverse shell functionality. |
| client/src/features/remote_desktop.rs | Splits remote desktop functionality into Windows and Unix sections. |
| client/src/features/process.rs | Provides platform-specific process control implementations. |
| client/src/features/other.rs | Modularizes functions like open_url and set_dpi_aware per platform. |
| client/src/features/mod.rs | Adjusts module inclusions to separate Windows and Unix implementations. |
| client/src/features/fun/desktop_fun.rs | Revises desktop interaction functions with conditional logic. |
| client/src/features/fun/audio_fun.rs | Adds Unix implementations for audio functionalities. |
| client/src/features/collectors/*.rs | Implements collectors (unique, system, security, gpu, drives, displays, cpu, bios) with conditional logic. |
| client/Cargo.toml | Updates target-specific dependency management and removes duplicate winapi entries. |
Comments suppressed due to low confidence (1)
client/src/features/reverse_shell.rs:105
- Replace unwrap() when spawning the shell with proper error handling to prevent panics if 'bash' is not available.
.spawn().unwrap()
|
@pathetic pls review & merge since I wont implement the rest, at least not atm |
|
Install option could be done by changing the shell to auto start the binary |
Current enabled features:
Not working
Untested:
Features relating to desktop images not tested on wayland yet.
Other features are returning none or doing nothing at the moment.
Windows building support might be broken and needs to be changed since the previous system only worked on windows, used powershell.
To test these changes run
cargo run -p servercargo run -p clientin 2 different terminals.
TODO: Test install with sudo user