uptime-monitor-app is a powerful, easy to configure uptime monitor written in PHP 7

Overview

A PHP application to monitor uptime and ssl certificates

Latest Version on Packagist Software License Total Downloads

uptime-monitor-app is a powerful, easy to configure uptime monitor written in PHP 7. It will notify you when one of your sites goes down (and when it comes back up). You can also be notified a few days before an SSL certificate on one of your sites expires. Out of the box you can be notified via mail or Slack.

Here are some examples of how the Slack notifications look like:




Under the hood the uptime-monitor is a vanilla Laravel 5.3 application with the laravel-uptime-monitor installed into it. If you know your way around Laravel, it's recommended that you use laravel-uptime-monitor instead of this app.

Installation

You can install the application by issuing this command:

composer create-project spatie/uptime-monitor-app <name of install directory>

To complete your installation these steps must be performed:

First you should add the following command to your cron table. It should run every minute:

php <installation path>/artisan schedule:run

Secondly, specify a Slack webhook url in the notifications.slack.url key in configuration.php found in the installation directory. You can create a new webhook url on the Slack website.

Configuration

The configuration file configuration.php is located inside the installation directory.

Reading it is a good way to quickly get a feel of what uptime-monitor-app can do. Here's the content of the config file:

return [

    /*
     * You can get notified when specific events occur. Out of the box you can use 'mail'
     * and 'slack'. Of course you can also specify your own notification classes.
     */
    'notifications' => [

        'notifications' => [
            \Spatie\UptimeMonitor\Notifications\Notifications\UptimeCheckFailed::class => ['slack'],
            \Spatie\UptimeMonitor\Notifications\Notifications\UptimeCheckRecovered::class => ['slack'],
            \Spatie\UptimeMonitor\Notifications\Notifications\UptimeCheckSucceeded::class => [],

            \Spatie\UptimeMonitor\Notifications\Notifications\CertificateCheckFailed::class => ['slack'],
            \Spatie\UptimeMonitor\Notifications\Notifications\CertificateExpiresSoon::class => ['slack'],
            \Spatie\UptimeMonitor\Notifications\Notifications\CertificateCheckSucceeded::class => [],
        ],

        /*
         * The location from where you are running this Laravel application. This location will be
         * mentioned in all notifications that will be sent.
         */
        'location' => '',

        /*
         * To keep reminding you that a site is down, notifications
         * will be resent every given number of minutes.
         */
        'resend_uptime_check_failed_notification_every_minutes' => 60,

        'mail' => [
            'to' => ['[email protected]'],
        ],

        'slack' => [
            'webhook_url' => env('UPTIME_MONITOR_SLACK_WEBHOOK_URL'),
        ],

        /*
         * Here you can specify the notifiable to which the notifications should be sent. The default
         * notifiable will use the variables specified in this config file.
         */
        'notifiable' => \Spatie\UptimeMonitor\Notifications\Notifiable::class,

        /*
         * The date format used in notifications.
         */
        'date_format' => 'd/m/Y',
    ],

    'uptime_check' => [

        /*
         * When the uptime check could reach the url of a monitor it will pass the response to this class
         * If this class determines the response is valid, the uptime check will be regarded as succeeded.
         *
         * You can use any implementation of Spatie\UptimeMonitor\Helpers\UptimeResponseCheckers\UptimeResponseChecker here.
         */
        'response_checker' => Spatie\UptimeMonitor\Helpers\UptimeResponseCheckers\LookForStringChecker::class,

        /*
         * An uptime check will be performed if the last check was performed more than the
         * given number of minutes ago. If you change this setting you have to manually
         * update the `uptime_check_interval_in_minutes` value of your existing monitors.
         *
         * When an uptime check fails we'll check the uptime for that monitor every time `monitor:check-uptime`
         * runs regardless of this setting.
         */
        'run_interval_in_minutes' => 5,

        /*
         * To speed up the uptime checking process the package can perform the uptime check of several
         * monitors concurrently. Set this to a lower value if you're getting weird errors
         * running the uptime check.
         */
        'concurrent_checks' => 10,

        /*
         * The uptime check for a monitor will fail if the url does not respond after the
         * given number of seconds.
         */
        'timeout_per_site' => 10,

        /*
         * Because networks can be a bit unreliable the package can make three attempts
         * to connect to a server in one uptime check. You can specify the time in
         * milliseconds between each attempt.
         */
        'retry_connection_after_milliseconds' => 100,

        /*
         * Fire `Spatie\UptimeMonitor\Events\MonitorFailed` event only after
         * the given number of uptime checks have consecutively failed for a monitor.
         */
        'fire_monitor_failed_event_after_consecutive_failures' => 2,

        /*
         * When reaching out to sites this user agent will be used.
         */
        'user_agent' => 'spatie/laravel-uptime-monitor uptime checker',

        /*
         * When reaching out to the sites these headers will be added.
         */
        'additional_headers' => [],
    ],

    'certificate_check' => [

        /*
         * The `Spatie\UptimeMonitor\Events\SslExpiresSoon` event will fire
         * when a certificate is found whose expiration date is in
         * the next number of given days.
         */
        'fire_expiring_soon_event_if_certificate_expires_within_days' => 10,
    ],

    /*
     * To add or modify behaviour to the Monitor model you can specify your
     * own model here. The only requirement is that it should extend
     * `Spatie\UptimeMonitor\Models\Monitor`.
     */
    'monitor_model' => Spatie\UptimeMonitor\Models\Monitor::class,
];

Basic usage

To start monitoring a url:

php artisan monitor:create 

and answer the questions that are asked. If your url starts with https:// the application will also monitor the ssl certificate.

To stop monitoring a url issue this command:

php artisan monitor:delete 

To list all monitors you can perform:

php artisan monitor:list

Advanced usage

Under the hood the uptime-monitor is a vanilla Laravel 5.3 application with our laravel-uptime-monitor installed into it. Please refer to it's extensive documentation to know more how to configure and use this application.

By default the application will use a sqlite database located at /database.sqlite to store all monitors.

Documentation

You'll find the documentation of the underlying laravel-uptime-monitor package on https://docs.spatie.be/laravel-uptime-monitor/v1.

Find yourself stuck using this app or the underlying package? Found a bug? Do you have general questions or suggestions for improving the uptime monitor? Feel free to create an issue on GitHub, we'll try to address it as soon as possible.

Postcardware

You're free to use this package (it's MIT-licensed), but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.

Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.

The best postcards will get published on the open source page on our website.

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

About Spatie

Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.

License

The MIT License (MIT). Please see License File for more information.

Comments
  • Question: what is the difference?

    Question: what is the difference?

    opened by BorislavSabev 3
  • If server goes down, how is it logged?

    If server goes down, how is it logged?

    I am wondering, if I leverage this package on say, our production server. If the nginx server goes down, how can we be notified? I guess this package runs via a cron job?

    opened by simplenotezy 2
  • Project Direction Questions

    Project Direction Questions

    Hello,

    This tool looks to be exactly what I need.

    Would you be open to PRs if I were to add other features, such as these?

    • Alternate notification channels
      • such as SMS APIs like Twilio
    • Other metrics to watch
      • Load time - get alerts if the site loads too slowly
      • DNS change - get alerts if the ip changes (useful information point when a service is running on a dynamic IP)
      • Minimum/maximum return body size - ensure you're not returning a 200, but with little-to-no actual content
      • grep for content on the body - for example "Error Establishing a Database Connection" is an error which appears on Wordpress sites if the database is not available - error state could be either presence or absence of a given string in the page body
      • "deadman's ping" - send an alert if an API call is not made to this monitoring app in a given amount of time

    These are just a few ideas which could be great expansions on your project, which I might be able to help add.

    opened by benyanke 2
  • Undefined variable: certificateFound

    Undefined variable: certificateFound

    As of recently, when I run laravel/artisan monitor:list, the following error pops up.

    Healthy monitors
    ================
    
    In Healthy.php line 35:
    
      compact(): Undefined variable: certificateFound
    

    PHP 7.3.2

    opened by idleberg 1
  • Add environment and page with status

    Add environment and page with status

    I added the field environment, to allow to separate the information by test environment and production. I also created a "Home / index" page that displays a status listing for clients to query,

    opened by stringariSM 1
  • Docker Image

    Docker Image

    Have you considered setting up a docker image? Dockerhub can provide free builds, so it would only need a link to the repo and a Dockerfile committed to the repo.

    I'd be happy to work on the Dockerfile if you'd be interested - I could write my own, but it's never as smooth as if it's in the same repo as the code, autobuilding on new code pushes.

    Love all your packages - I use many at work!

    opened by benyanke 1
  • config.php shows NULL?

    config.php shows NULL?

    OS: Windows 10E x64 1709 FCU PHP: PHP 7.2.1 (cli) (built: Jan 4 2018 04:00:18) ( NTS MSVC15 (Visual C++ 2017) x64 )

    So I cloned the repo, and used composer to build the app, that all went great. (log below)

    however, when I open the config file, it looks like this:

    NULL NULL NULL NULL NULL
    

    uptime-app

    So, I then copied and pasted the config contents from the repo to overwrite the NULL stuff. I inputted my slack webhook, but when I try to CREATE, I get this:

    C:\uptime-monitor>php artisan monitor:create https:\\localhost
    !<symlink>l a r a v e l / a r t i s a n
    

    Any ideas?

    Thanks!

    Composer output:

    c:\new>composer create-project spatie/uptime-monitor-app C:\uptime-monitor
    Installing spatie/uptime-monitor-app (2.0.0)
      - Installing spatie/uptime-monitor-app (2.0.0): Loading from cache
    Created project in C:\uptime-monitor
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Nothing to install or update
    Writing lock file
    Generating autoload files
    > php -r "file_exists('laravel/.env') || copy('laravel/.env.example', 'laravel/.env');"
    > ln -s laravel/.env .env
    > ln -s laravel/config/laravel-uptime-monitor.php configuration.php
    > ln -s laravel/artisan artisan
    > touch database.sqlite
    > cd laravel && composer install
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 64 installs, 0 updates, 0 removals
      - Installing spatie/macroable (1.0.0): Loading from cache
      - Installing psr/http-message (1.0.1): Loading from cache
      - Installing spatie/url (1.3.0): Loading from cache
      - Installing sebastian/version (2.0.1): Loading from cache
      - Installing sebastian/resource-operations (1.0.0): Loading from cache
      - Installing sebastian/recursion-context (2.0.0): Loading from cache
      - Installing sebastian/object-enumerator (2.0.1): Loading from cache
      - Installing sebastian/global-state (1.1.1): Loading from cache
      - Installing sebastian/exporter (2.0.0): Loading from cache
      - Installing sebastian/environment (2.0.0): Loading from cache
      - Installing sebastian/diff (1.4.3): Loading from cache
      - Installing sebastian/comparator (1.2.4): Loading from cache
      - Installing doctrine/instantiator (1.1.0): Loading from cache
      - Installing phpunit/php-text-template (1.2.1): Loading from cache
      - Installing phpunit/phpunit-mock-objects (3.4.4): Loading from cache
      - Installing phpunit/php-timer (1.0.9): Loading from cache
      - Installing phpunit/php-file-iterator (1.4.5): Loading from cache
      - Installing sebastian/code-unit-reverse-lookup (1.0.1): Loading from cache
      - Installing phpunit/php-token-stream (2.0.2): Loading from cache
      - Installing phpunit/php-code-coverage (4.0.8): Loading from cache
      - Installing webmozart/assert (1.2.0): Loading from cache
      - Installing phpdocumentor/reflection-common (1.0.1): Loading from cache
      - Installing phpdocumentor/type-resolver (0.4.0): Loading from cache
      - Installing phpdocumentor/reflection-docblock (4.2.0): Loading from cache
      - Installing phpspec/prophecy (1.7.3): Loading from cache
      - Installing myclabs/deep-copy (1.7.0): Loading from cache
      - Installing symfony/yaml (v4.0.3): Loading from cache
      - Installing phpunit/phpunit (5.7.26): Loading from cache
      - Installing symfony/polyfill-mbstring (v1.6.0): Loading from cache
      - Installing symfony/translation (v3.4.3): Loading from cache
      - Installing nesbot/carbon (1.22.1): Loading from cache
      - Installing spatie/ssl-certificate (1.12.0): Loading from cache
      - Installing vlucas/phpdotenv (v2.4.0): Loading from cache
      - Installing symfony/css-selector (v3.1.10): Loading from cache
      - Installing tijsverkoyen/css-to-inline-styles (2.2.1): Loading from cache
      - Installing symfony/var-dumper (v3.4.3): Loading from cache
      - Installing symfony/routing (v3.4.3): Loading from cache
      - Installing symfony/process (v3.4.3): Loading from cache
      - Installing paragonie/random_compat (v2.0.11): Loading from cache
      - Installing symfony/polyfill-php70 (v1.6.0): Loading from cache
      - Installing symfony/http-foundation (v3.4.3): Loading from cache
      - Installing symfony/event-dispatcher (v4.0.3): Loading from cache
      - Installing psr/log (1.0.2): Loading from cache
      - Installing symfony/debug (v3.4.3): Loading from cache
      - Installing symfony/http-kernel (v3.4.3): Loading from cache
      - Installing symfony/finder (v3.4.3): Loading from cache
      - Installing symfony/console (v3.4.3): Loading from cache
      - Installing swiftmailer/swiftmailer (v5.4.8): Loading from cache
      - Installing ramsey/uuid (3.7.2): Loading from cache
      - Installing mtdowling/cron-expression (v1.2.1): Loading from cache
      - Installing monolog/monolog (1.23.0): Loading from cache
      - Installing league/flysystem (1.0.41): Loading from cache
      - Installing erusev/parsedown (1.6.4): Loading from cache
      - Installing doctrine/inflector (v1.3.0): Loading from cache
      - Installing laravel/framework (v5.4.36): Loading from cache
      - Installing guzzlehttp/promises (v1.3.1): Loading from cache
      - Installing guzzlehttp/psr7 (1.4.2): Loading from cache
      - Installing guzzlehttp/guzzle (6.3.0): Loading from cache
      - Installing graham-campbell/guzzle-factory (v2.2.0): Loading from cache
      - Installing spatie/laravel-uptime-monitor (2.2.0): Loading from cache
      - Installing fzaninotto/faker (v1.7.1): Loading from cache
      - Installing hamcrest/hamcrest-php (v1.2.2): Loading from cache
      - Installing mockery/mockery (0.9.9): Loading from cache
      - Installing symfony/dom-crawler (v3.1.10): Loading from cache
    sebastian/global-state suggests installing ext-uopz (*)
    phpunit/php-code-coverage suggests installing ext-xdebug (^2.5.1)
    phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
    phpunit/phpunit suggests installing ext-xdebug (*)
    symfony/translation suggests installing symfony/config ()
    symfony/var-dumper suggests installing ext-symfony_debug ()
    symfony/routing suggests installing doctrine/annotations (For using the annotation loader)
    symfony/routing suggests installing symfony/config (For using the all-in-one router or any loader)
    symfony/routing suggests installing symfony/dependency-injection (For loading routes from a service)
    symfony/routing suggests installing symfony/expression-language (For using expression matching)
    paragonie/random_compat suggests installing ext-libsodium (Provides a modern crypto API that can be used to generate random bytes.)
    symfony/event-dispatcher suggests installing symfony/dependency-injection ()
    symfony/http-kernel suggests installing symfony/browser-kit ()
    symfony/http-kernel suggests installing symfony/config ()
    symfony/http-kernel suggests installing symfony/dependency-injection ()
    symfony/console suggests installing symfony/lock ()
    ramsey/uuid suggests installing ircmaxell/random-lib (Provides RandomLib for use with the RandomLibAdapter)
    ramsey/uuid suggests installing ext-libsodium (Provides the PECL libsodium extension for use with the SodiumRandomGenerator)
    ramsey/uuid suggests installing ext-uuid (Provides the PECL UUID extension for use with the PeclUuidTimeGenerator and PeclUuidRandomGenerator)
    ramsey/uuid suggests installing moontoast/math (Provides support for converting UUID to 128-bit integer (in string form).)
    ramsey/uuid suggests installing ramsey/uuid-doctrine (Allows the use of Ramsey\Uuid\Uuid as Doctrine field type.)
    ramsey/uuid suggests installing ramsey/uuid-console (A console application for generating UUIDs with ramsey/uuid)
    monolog/monolog suggests installing aws/aws-sdk-php (Allow sending log messages to AWS services like DynamoDB)
    monolog/monolog suggests installing doctrine/couchdb (Allow sending log messages to a CouchDB server)
    monolog/monolog suggests installing ext-amqp (Allow sending log messages to an AMQP server (1.0+ required))
    monolog/monolog suggests installing ext-mongo (Allow sending log messages to a MongoDB server)
    monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
    monolog/monolog suggests installing mongodb/mongodb (Allow sending log messages to a MongoDB server via PHP Driver)
    monolog/monolog suggests installing php-amqplib/php-amqplib (Allow sending log messages to an AMQP server using php-amqplib)
    monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
    monolog/monolog suggests installing rollbar/rollbar (Allow sending log messages to Rollbar)
    monolog/monolog suggests installing ruflin/elastica (Allow sending log messages to an Elastic Search server)
    monolog/monolog suggests installing sentry/sentry (Allow sending log messages to a Sentry server)
    league/flysystem suggests installing league/flysystem-aws-s3-v2 (Allows you to use S3 storage with AWS SDK v2)
    league/flysystem suggests installing league/flysystem-aws-s3-v3 (Allows you to use S3 storage with AWS SDK v3)
    league/flysystem suggests installing league/flysystem-azure (Allows you to use Windows Azure Blob storage)
    league/flysystem suggests installing league/flysystem-cached-adapter (Flysystem adapter decorator for metadata caching)
    league/flysystem suggests installing league/flysystem-eventable-filesystem (Allows you to use EventableFilesystem)
    league/flysystem suggests installing league/flysystem-rackspace (Allows you to use Rackspace Cloud Files)
    league/flysystem suggests installing league/flysystem-sftp (Allows you to use SFTP server storage via phpseclib)
    league/flysystem suggests installing league/flysystem-webdav (Allows you to use WebDAV storage)
    league/flysystem suggests installing league/flysystem-ziparchive (Allows you to use ZipArchive adapter)
    league/flysystem suggests installing spatie/flysystem-dropbox (Allows you to use Dropbox storage)
    league/flysystem suggests installing srmklive/flysystem-dropbox-v2 (Allows you to use Dropbox storage for PHP 5 applications)
    laravel/framework suggests installing aws/aws-sdk-php (Required to use the SQS queue driver and SES mail driver (~3.0).)
    laravel/framework suggests installing doctrine/dbal (Required to rename columns and drop SQLite columns (~2.5).)
    laravel/framework suggests installing laravel/tinker (Required to use the tinker console command (~1.0).)
    laravel/framework suggests installing league/flysystem-aws-s3-v3 (Required to use the Flysystem S3 driver (~1.0).)
    laravel/framework suggests installing league/flysystem-rackspace (Required to use the Flysystem Rackspace driver (~1.0).)
    laravel/framework suggests installing nexmo/client (Required to use the Nexmo transport (~1.0).)
    laravel/framework suggests installing pda/pheanstalk (Required to use the beanstalk queue driver (~3.0).)
    laravel/framework suggests installing predis/predis (Required to use the redis cache and queue drivers (~1.0).)
    laravel/framework suggests installing pusher/pusher-php-server (Required to use the Pusher broadcast driver (~2.0).)
    laravel/framework suggests installing symfony/psr-http-message-bridge (Required to psr7 bridging features (0.2.*).)
    Writing lock file
    Generating autoload files
    > cd laravel && php artisan key:generate
    Application key [base64:kAUhcMMbht6JDgqjHcZ+YZ5OHF1lKPnW7szthgApo9k=] set successfully.
    > cd laravel && php artisan optimize
    Generating optimized class loader
    The compiled services file has been removed.
    > cd laravel && php artisan migrate --force
    Migration table created successfully.
    Migrating: 2014_10_12_000000_create_users_table
    Migrated:  2014_10_12_000000_create_users_table
    Migrating: 2014_10_12_100000_create_password_resets_table
    Migrated:  2014_10_12_100000_create_password_resets_table
    Migrating: 2016_12_11_083627_create_monitors_table
    Migrated:  2016_12_11_083627_create_monitors_table
    > cat post-install-instructions.txt
    
    
    Complete your installation by performing these steps.
    
    1. You should add the following command to your cron table. It should run
    every minute:
    ---
    php <installation path>/artisan schedule:run
    ---
    
    2. Specify a Slack webhook url in the `notifications.slack.url` key
    in configuration.php. You can create a webhook url on the slack
    website: https://my.slack.com/services/new/incoming-webhook/
    
    3. Add your first monitor by running:
    ---
    php <installation path>/artisan monitor:create
    ---
    
    The configuration file `configuration.php` can found inside the installation directory.
    
    You'll find full documentation at https://github.com/spatie/uptime-monitor-app
    
    Happy monitoring!
    
    opened by seanvree 1
  • Install uptime-monitor-app for Laravel 5.3

    Install uptime-monitor-app for Laravel 5.3

    I am trying to install 1.0 version but when I add spatie/laravel-uptime-monitor in my composer and do composer install nothing really happens. When I just use *, it installs v2 which in not compatible with 5.3. Do I need to add some prefix or suffix for 1.0? I tried the following part

    "spatie/laravel-uptime-monitor" : "1.*" "spatie/laravel-uptime-monitor" : "^1.0"

    Both didn't install anything.

    opened by fahadkhan1740 1
  • Schedule run no commands configured

    Schedule run no commands configured

    Hi,

    I was checking this package and noticed the php artisan schedule:run doesn't do anything.

    The Console/Kernel.php does not contain any scheduled commands. Should that not contain monitor:check-uptime and monitor:check-certificate ?

    I see it's there in the master branch, but not in the version that got pulled in using

    composer create-project spatie/uptime-monitor-app my_local_folder
    
    opened by renedekat 1
  • No scheduled commands are ready to run

    No scheduled commands are ready to run

    Hi,

    When executing the schedule:run command I'm getting the following output in my terminal: No scheduled commands are ready to run

    Nothing seems to happen, I've added a site through the monitor:create command and after running the schedule:run command it still says "Not yet checked" when retrieving a list with the monitor:list command.

    Am I missing something here?

    Thx in advance, Thomas

    opened by goemaeret 1
Releases(2.0.0)
Owner
Spatie
We create open source, digital products and courses for the developer community
Spatie
Standalone PHP library for easy devices notifications push.

NotificationPusher Standalone PHP library for easy devices message notifications push. Feel free to contribute! Thanks. Contributors Cédric Dugat (Aut

Cédric Dugat 1.2k Jan 3, 2023
Standalone PHP library for easy devices notifications push.

NotificationPusher Standalone PHP library for easy devices message notifications push. Feel free to contribute! Thanks. Contributors Cédric Dugat (Aut

Cédric Dugat 1.2k Jan 3, 2023
Slack notification for Laravel as it should be. Easy, fast, simple and highly testable.

Based on illuminate/mail About Laravel Slack Slack notification for Laravel as it should be. Easy, fast, simple and highly testable. Since it uses On-

Guilherme Pressutto 284 Aug 24, 2022
Send SMS with easy using BEEM

beem-sms-api Send SMS with easy using BEEM Installation You must be using composer to be able to use this library. If composer 1.x is installed, make

Hosanna Higher Technologies 4 Dec 24, 2021
This package makes it easy to send notifications using RocketChat with Laravel 9.0+.

laravel-rocket-chat-notifications Introduction This package makes it easy to send notifications using RocketChat with Laravel 9.0+. Contents Installat

Team Nifty GmbH 25 Dec 1, 2022
This package makes it easy to send web push notifications with Laravel.

Web push notifications channel for Laravel This package makes it easy to send web push notifications with Laravel. Installation You can install the pa

Laravel Notification Channels 564 Jan 3, 2023
@Authy notification channel for @Laravel, with the ability to send in-app, sms, and call verification tokens.

Authy Notification Channel for Laravel Authy notification channel for Laravel, with the ability to send in-app, sms, and call verification tokens. Tab

Laravel Notification Channels 57 Dec 19, 2022
:computer: Send notifications to your desktop directly from your PHP script

About JoliNotif JoliNotif is a cross-platform PHP library to display desktop notifications. It works on Linux, Windows or MacOS. Requires PHP >= 7.2 (

JoliCode 1.2k Dec 29, 2022
Takes care of Apple push notifications (APNS) in your PHP projects.

Notificato Notificato takes care of push notifications in your PHP projects. Italian: notificato è: participio passato English: notified Why use Notif

Mathijs Kadijk 223 Sep 28, 2022
A PHP Library to easily send push notifications with the Pushwoosh REST Web Services.

php-pushwoosh A PHP Library to easily send push notifications with the Pushwoosh REST Web Services. First sample, creating a Pushwoosh message // Crea

gomoob 63 Sep 28, 2022
Notifications in PHP (notify-send, growl, etc) like that.

#Nod Notifications in PHP (notify-send, growl, etc) like that. ##Examples Letting Nod figure out the best Adapter to use (not recommend ATM, only work

Filipe Dobreira 51 Mar 26, 2019
Push notifications Library for PHP

Push notifications Library for PHP Supported Protocols Protocol Supported Driver Options APNs (Token Based) ✓ APNs\Token APNs\Token\Option APNs (Certi

Norifumi SUNAOKA 3 Dec 14, 2022
Server-side library for working with Expo using PHP

expo-server-sdk-php Server-side library for working with Expo using PHP. If you have any problems with the code in this repository, feel free to open

Cedric Twillie 34 Dec 30, 2022
Takes care of Apple push notifications (APNS) in your PHP projects.

Notificato Notificato takes care of push notifications in your PHP projects. Italian: notificato è: participio passato English: notified Why use Notif

Mathijs Kadijk 223 Sep 28, 2022
An SMS notification channel for the PHP framework Laravel.

Laravel SMS notification channel An SMS notification channel for the PHP framework Laravel. Supported SMS gateways: 46elks Cellsynt Telenor SMS Pro Tw

Andreas 2 Jan 22, 2022
Send Firebase push notifications with Laravel php framework.

FCM Notification Channel for Laravel Send Firebase push notifications with Laravel php framework. Installation You can install this package via compos

Ankur Kumar 23 Oct 31, 2022
Implementation of Firebase Cloud Messaging HTTP v1 API in PHP

php-fcm-v1 php-fcm-v1 is an PHP implementation of FCM HTTP v1 API What is different compared to others FCM Libraries? Most of other libraries are impl

Sunghyuk Kay 6 Nov 8, 2021
A powerful and easy to configure uptime and ssl monitor

A powerful, easy to configure uptime monitor Laravel-uptime-monitor is a powerful, easy to configure uptime monitor. It will notify you when your site

Spatie 939 Dec 30, 2022
YCOM Impersonate. Login as selected YCOM user 🧙‍♂️in frontend.

YCOM Impersonate Login as selected YCOM user in frontend. Features: Backend users with admin rights or YCOM[] rights, can be automatically logged in v

Friends Of REDAXO 17 Sep 12, 2022
UpDown is an uptime monitor, We send out notifications when something's wrong.

About UpDown Updown is an uptime monitor, We send out notifications when something's wrong. Be the first to know that your website is down! Reliable m

Hussam Adil 4 May 8, 2022