Update documentation

This commit is contained in:
MaxXor 2020-05-23 21:48:40 +02:00
parent ef7156a7fd
commit fd9a3f0c0a
8 changed files with 39 additions and 33 deletions

View File

@ -23,7 +23,10 @@ If applicable, add screenshots to help explain your problem.
**System**
- Server OS: [e.g. Windows 10]
- Client OS: [e.g. Windows 7]
- Quasar Version: [e.g. 1.3.0, commit-id]
- Server installed .NET Framework version: [e.g. v4.8]
- Client installed .NET Framework version: [e.g. v4.8]
- Quasar Version: [e.g. 1.3.0 or commit-id]
- Build configuration: [e.g. Debug/Release]
**Additional context**
Add any other context about the problem here.

View File

@ -1,4 +1,4 @@
# QuasarRAT Changelog
# Quasar Changelog
## Quasar v1.3.0.0 [28.09.2016]
* Added Registry Editor

View File

@ -4,13 +4,16 @@
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request
5. Create new pull request (PR)
## Guidelines for Pull Requests:
## Guidelines for pull requests:
1. Respect the coding style of Quasar.
2. Make a single change per commit.
3. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
4. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted.
2. Create a new branch for each PR.
3. Single feature or bug-fix per PR.
4. Make single commit per PR.
5. Make your modification compact - don't reformat source code in your request. It makes code review more difficult.
6. PR of reformatting (changing of ws/TAB, line endings or coding style) of source code won't be accepted. Use the issue tracker for your request instead.
7. Typo fixing and code refactoring won't be accepted - please create issues with title started with TYPO to request the changing.
In short: The easier the code review is, the better the chance your pull request will get accepted.

BIN
Images/remote-desktop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

BIN
Images/remote-files.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
Images/remote-shell.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -8,6 +8,14 @@
Quasar is a fast and light-weight remote administration tool coded in C#. The usage ranges from user support through day-to-day administrative work to employee monitoring. Providing high stability and an easy-to-use user interface, Quasar is the perfect remote administration solution for you.
## Screenshots
![remote-shell](Images/remote-shell.png)
![remote-desktop](Images/remote-desktop.png)
![remote-files](Images/remote-files.png)
## Features
* TCP network stream (IPv4 & IPv6 support)
* Fast network serialization (Protocol Buffers)
@ -27,6 +35,10 @@ Quasar is a fast and light-weight remote administration tool coded in C#. The us
* Password Recovery (Common Browsers and FTP Clients)
* ... and many more!
## Download
* [Latest stable release](https://github.com/quasar/QuasarRAT/releases) (recommended)
* [Latest development snapshot](https://ci.appveyor.com/project/MaxXor/quasarrat)
## Supported runtimes and operating systems
* .NET Framework 4.5.2 or higher
* Supported operating systems (32- and 64-bit)
@ -41,7 +53,7 @@ Quasar is a fast and light-weight remote administration tool coded in C#. The us
* For older systems please use [Quasar version 1.3.0](https://github.com/quasar/QuasarRAT/releases/tag/v1.3.0.0)
## Compiling
Open the project in Visual Studio 2019+ and [restore the NuGET packages](https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore). Once all packages are installed the project can be compiled as usual by clicking `Build` on the top or by pressing `F6`. See below which build configuration to choose from.
Open the project in Visual Studio 2019+ with installed .NET desktop development features and [restore the NuGET packages](https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore). Once all packages are installed the project can be compiled as usual by clicking `Build` at the top or by pressing `F6`. See below which build configuration to choose from.
## Building a client
| Build configuration | Usage scenario | Description
@ -55,8 +67,11 @@ See [CONTRIBUTING.md](CONTRIBUTING.md)
## Roadmap
See [ROADMAP.md](ROADMAP.md)
## Documentation
See the [wiki](https://github.com/quasar/QuasarRAT/wiki) for usage instructions and other documentation.
## License
Quasar is distributed under the MIT License.
Quasar is distributed under the [MIT License](LICENSE).
Third-party licenses are located [here](Licenses).
## Thank you!

View File

@ -1,40 +1,25 @@
# Quasar Roadmap
## Network communication layer abstraction
At the moment the command handling is tightly coupled to the WinForms. This should be decoupled and the WinForms when opened have to register callbacks in the CommandHandler. Use dedicated command handler where the WinForms register their callbacks to get notified when a command is received. This also flattens the way for a plugin system in the future.
## Add HTTP API to the server
With a new HTTP JSON API it will be possible to create a web interface for Quasar. Remote desktop could also work via websockets.
## Switch serialization to Protocol Buffers (protobuf)
Protocol Buffers is a well supported serialization format which makes it easier to implement clients in different programming languages. Additionally it provides versioning information of serialized data which may get useful with different releases of Quasar communicating with each other.
## Web API
A web API (e.g. REST-like) allows to interact with the clients in more flexible ways and can be used to build a web interface for Quasar.
## Transparent communication protocol
To open up the way for Quasar clients in different programming languages the communication protocol needs to be clearly specified and documented.
## Use TLS with client certificates instead of password for authentication
TLS replaces the self-made encryption of the network communication. The server should create a certificate at the first startup and use that to authentificate itself to new clients. When building a new client, a client certificate will be created and signed by the server. The server will only allow client certificates which are signed by the server certificate.
## Cross-platform support
A long-term goal is to support operating systems such as MacOS and Linux. The new .NET Core framework will help achieve this goal.
## Command line (CLI) version of the server
It would be quite handy if the Quasar server could be a .NET Core CLI program which can run as a daemon in the background of Windows, MacOS or Linux.
It should be possible to use the server as a simple CLI tool to accept and forward (proxy) connections to other servers.
## Use NuGet or gitmodules for referenced libraries
NuGet/gitmodules helps updating the referenced libraries in an easy way instead of using a binary.
## Refactor graphical user interface (GUI) of the server
WPF as GUI framework would drastically improve rendering performance of the remote desktop with the hardware accelerated rendering. WPF uses DirectX if available unlike WinForms which stick to rendering the controls in the message loop of the window.
## Use a shared library for classes that both server and client have in common
This removes a lot of duplicated code which is error prone once someone forgets to change it in one place.
## Remove features such as password recovery
Features which could get abused too easily should get removed from Quasar.
## GUI overhaul
The GUI needs to be reworked in a more modern way, such as WPF or a web-based interface. WPF as GUI framework would drastically improve rendering performance of the remote desktop with the hardware accelerated rendering, similar to a web-based GUI depending on the used browser.
## Allow different types of clients (permissioned clients)
Allow clients with higher privileges (i.e. ability to administrate other lower privileged clients) connect to the server. This change would allow administrators to manage clients from their own computers with a lightweight client without having to run the server.
## Allow client to be installed as Windows service
## Allow client installation as Windows service
Currently the client is installed on a per-user basis and this makes it unflexible to remotly manage the machine when the user is not logged in. it also requires the client to be installed for every account who uses the machine. Machines which are used by multiple users would greatly benefit when Quasar could be run as a Windows service.
## Basic client GUI
Add a basic GUI to the client to allow the user at any time to check the status if a specific feature is active. Additionally it can show a notification when the client gets installed or when someone requests permission to use remote desktop (similar to teamviewer).
Add a basic GUI to the client to allow the user at any time to check the status if a specific feature is active. Additionally it can show a notification when the client gets installed or when someone requests permission to use remote desktop (similar to teamviewer).