Git Product home page Git Product logo

g-systemctl's Introduction

G-Systemctl

g-systemctl is a graphical user interface for your services in *nix systems. You can see all of your service deamons, search and filter them, and control them.

Current Design WIP Design
old-design main

Table of Contents

Prerequisites

  • Go (Golang): Install Go
  • A web browser for frontend testing

Installation

  1. Clone the repository:

    git clone https://github.com/shakg/g-systemctl.git
    cd g-systemctl
  2. Build the project:

    go build src/server.go

One-Line Release Download

curl https://api.github.com/repos/shakg/g-systemctl/releases/latest | jq '.assets[0].browser_download_url' | xargs wget

Usage

chmod +x server

and

./server <port>

could be any free port in your system; for example, 8080.

Running the Server

To start the server, run the executable or use go run with the following command:

./server <port>
# or
go run server.go <port> 

Replace <port> with the desired port number (e.g., 8080).

! IMPORTANT, run with sudo if password needed

The server will be accessible at http://localhost:<port>.

API

The API endpoint provides information about the running system's status.

  • Endpoint: /api
  • Method: GET

Example response:

[
   {
      "unit":"accounts-daemon.service",
      "load":"loaded",
      "active":"active",
      "sub":"running",
      "description":"Accounts"
   },
   {
      "unit":"acpid.service",
      "load":"loaded",
      "active":"active",
      "sub":"running",
      "description":"ACPI"
   }
]

Service

The service endpoint enables us to start and stop services.

  • Endpoint: /service
  • Method: GET

Example Usage:

/service?open=true&service_name=MyService

Frontend

The frontend of this project consists of vanilla HTML and JavaScript. The frontend files are served at the root path ("/").

  • HTML File: index.html
  • JavaScript File: app.js

You can access the frontend at http://localhost:<port>.

Contributing

Contributions are welcome! Please follow the Contributing Guidelines for details on how to contribute to this project.

g-systemctl's People

Contributors

shakg avatar celtboy avatar iguanajuice avatar alexfolland avatar jbritain avatar mnumanuyar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.