Skip to main content

An open source alternative to WebChaver.

Project description

OpenChaver

# Run the services
python openchaver.py

OR

# Build an Executable
python -m nuitka .\openchaver.py --standalone --output-dir=build --enable-plugin=numpy

TODO:

  • scheduler - Sends events to the screenshot service.
  • screenshot - Takes screenshots of the active window. Sends the screenshot to the storage service.
  • storage - Stores the screenshots in the sqlite database.
  • Add a idle service that will pause the screenshot service if the user is idle.
  • Add a keystroke service that will send events to the screenshot service if NSFW text is detected. (Window Defender treats this as a virus. Any workarounds will be unstable.)
  • Create the uninstallation script that will uninstall the application.
  • Create the configuration script that will configure the application. (Done by Website)
  • Add a upload service to upload the screenshots to the remote server.
  • Create the remote backend server that will send reports and alerts to the chaver. -> openchaver-server
  • Create the installation script that will install the application.
  • Create the update script that will update the application.
  • Create the documentation for the application.
  • Create the tests for the application.
  • Create the watchdog for the application.

As you can see, there is a lot to do. If you want to help, please contact me.

Breakdown

db.py - The database module. It contains the `db` class that is used by the models to store and retrieve data from the database.

detect.py - The detection module. This contains a bunch of functions that are ran as threads. Look at service.py to see how they are used.

dog.py - the watchdog module.

models.py - The models module. This contains the `ConfigurationModel` and `ScreenshotModel` models that are used to store and retrieve data from the database.

nsfw.py - The NSFW module. This contains the `OpenNsfw` and `NudeNet` that is used to detect NSFW content in images.

profanity.py - The profanity module. This checks for not nice words in the text.

server.py - The server module. For the main openchaver site to communicate with the client application.

service.py - The service module.  This does the following:
    1. It creates the `scheduler` service that will send events to the `screenshot` service.
    
    2. It creates the `screenshot` service that will take screenshots of the active window.
    
    3. It creates the `idle` service that will pause the `screenshot` service if the user is idle.

    4. It creates the `upload` service that will upload the screenshots to the backend server.

    5. It creates the `watchdog` service that will check the status of the application and send alerts to the chaver if evasive action is detected.

window.py - The window module. This contains the `Window` class that is used to get the active window and take screenshots of it.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openchaver_client-0.2.0.tar.gz (32.0 kB view hashes)

Uploaded Source

Built Distribution

openchaver_client-0.2.0-py3-none-any.whl (34.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page