Coder Social home page Coder Social logo

night-sky's Introduction

Night-Sky

Now available in the Arctic Code vault!
10,20,30,60s Interval Port & HTTP(S) IPv4 & IPv6 Monitoring, with Webhooks (Discord...) and/or email notifications.

Overview

All screenshots: https://imgur.com/a/Z8Dyo

Build Status

Night-Sky is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. You should have received a copy of the license along with this work. If not, see https://creativecommons.org/licenses/by-nc-sa/4.0/

  • PHP 7.2+, recommended is 7.3, using BackgroundProcess
  • Run a Slot every Second, each Slot can run multiple Processes, 5 Servers are assigned to each Process
  • Loadbalance the Monitoring requests over these Slots, 10 Slots per 10 Seconds, 1 Slot reserved for Offline Servers
  • If a Port is not reachable, move it to the Dedicated Offline Slot, move it back afterwards (planned)
  • Email notifications via local mailserver
  • Block the current Thread if the previous one is still Running
  • Backend: PHP, MariaDB
  • Frontend: Bootstrap 3, Font Awesome 4.7

QuickSetup:

Beforehand make sure you have a working mailserver running otherwise you need to enable the accounts by hand.
Also you need curl + mtr installed on all machines.

  1. Create a User+DB, Import the content/sql/night-sky.sql.
  2. Rename content/configs/config.example.php to config.php and regex.example.php to regex.php.
  3. Configure content/configs/config.php:
  • _Domain needs to be updated to the Domain you want to use, otherwise Cookies wont work.
  • _mail_sender needs to be updated, to make contact work properly. The mails will get forwarded to the local mailserver.
  • Finally you need to update the Database part, with the Details you created the Database with.
  • Make sure to use TLS on your Domain otherwise cookies will not apply on Plain.
  • The rest can be edited on your needs.
  1. Put cron/night.php and cron/remote.php into Crontab to run every 60 seconds, use a non privileged user for that. => cron.example
  2. Deploy the file check.php on some remote servers and add them to the table remote.
  • You can find the file for that in content/remote/
  • The Field IP can be also contain a URL like "check.domain.com", make sure the Domain is reachable over TLS, plain wont work.
  • The Field IP should not contain "https://" or "/check.php"

night-sky's People

Contributors

ne00n avatar

Watchers

James Cloos 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.