{"id":37182693,"url":"https://github.com/bigbroproject/bigbro","last_synced_at":"2026-01-14T21:04:21.096Z","repository":{"id":57555410,"uuid":"299113356","full_name":"bigbroproject/BigBro","owner":"bigbroproject","description":"A light-weight monitoring tool with UI for user defined services and protocols.","archived":false,"fork":false,"pushed_at":"2020-10-19T19:01:21.000Z","size":24784,"stargazers_count":36,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-06-20T02:12:59.426Z","etag":null,"topics":["golang","lightweight","linux","monitor","monitoring","network-monitoring","protocols","sevice","ui","vue"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bigbroproject.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-27T20:27:42.000Z","updated_at":"2024-04-10T06:56:30.000Z","dependencies_parsed_at":"2022-09-14T11:00:17.644Z","dependency_job_id":null,"html_url":"https://github.com/bigbroproject/BigBro","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bigbroproject/BigBro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbroproject%2FBigBro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbroproject%2FBigBro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbroproject%2FBigBro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbroproject%2FBigBro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bigbroproject","download_url":"https://codeload.github.com/bigbroproject/BigBro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bigbroproject%2FBigBro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434530,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","lightweight","linux","monitor","monitoring","network-monitoring","protocols","sevice","ui","vue"],"created_at":"2026-01-14T21:04:20.445Z","updated_at":"2026-01-14T21:04:21.082Z","avatar_url":"https://github.com/bigbroproject.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"readme/bigbro-logo.svg\" width=\"350\"\u003e\n\n# BigBro \n[![Build Status](https://travis-ci.com/bigbroproject/BigBro.svg?branch=master)](https://travis-ci.com/bigbroproject/BigBro) [![MIT License](https://img.shields.io/apm/l/atomic-design-ui.svg?)](https://https://github.com/bigbroproject/bigbrocore/master/LICENSE)\n[![made-with-Go](https://img.shields.io/badge/Made%20with-Go-1f425f.svg)](https://golang.org)\n[![made-with-Go](https://img.shields.io/badge/Made%20with-Vue%203-%2341b883)](https://https://v3.vuejs.org/)\n[![GitHub go.mod Go version of a Go module](https://img.shields.io/github/go-mod/go-version/bigbroproject/bigbrocore.svg)](https://github.com/bigbroproject/bigbrocore)\n[![GitHub Release](https://img.shields.io/github/release/bigbroproject/bigbro.svg?style=flat)]()  \n\nAn extensible monitoring tool for user defined services and protocols, all wrote in GoLang and VueJS 3, made with [BigBro core](http://github.com/bigbroproject/bigbrocore).\n\n### Project status\n* This project is in **BETA stage**\n* Go version : **1.15**\n* Vue version : **3.0**\n* BigBro core version: [![GitHub Release](https://img.shields.io/github/release/bigbroproject/bigbrocore.svg?style=flat)]()  \n\n## Introduction\n\nBigBro is a lightweight monitoring software tool that offers a lightweight User Interface to monitor the services and protocols defined by users.\n\n\u003cimg src=\"readme/dashboard.png\" \u003e\n\nThe software also can be used only via CLI interface\n\n\u003cimg src=\"readme/cli.png\" \u003e\n\nThe entire software is based on one configuration file where it is possible define a list of services that would be monitor.\n\n## Compatibility\n\n### Operative Systems\nBigBro was compiled and tested on Debian and RHEL Linux distribution families.\n\n### Hardware\nBigBro was develop to run in any kind of computer or embedded system and was tested on:\n\n- General Personal Computer (x86_64)\n- Raspberry 3 B+\n- Orange Pi Zero\n\n## Defaults Protocols implemented\nThe default protocols are based on default protocols from BigBro Core, nevertheless new or custom protocols can be implemented in BigBro as in BigBro Core.\n- http\n- https (with ssl)\n- icmp\n- icmp6\n\n## Configuration file\nIn the configuration file will must be defined all services and protocol to be monitor. The format type of the file is YAML as follows:\n\n```yaml\nservices:\n  - name: Facebook (ssl)\n    protocols:\n      - type: https\n        port: 443\n        server: facebook.com\n        interval : 1000\n  - name: Google\n    protocols:\n      - type: http\n        server: google.com\n        interval : 1000\n  - name: Google DNS\n    protocols:\n      - type: icmp\n        server: 8.8.8.8\n        interval : 1000\n  - name: Google DNS6\n    protocols:\n      - type: icmp6\n        server: 2a00:1450:400a:804::2004\n        interval : 5000\n      - type: ftp\n        server: 1.1.1.1\n        interval : 1000\n        customs :\n          user : uss\n          password : passwd\n  ...\n```\n* `name` : Name of the service\n* `protocols`: List of protocols that would be monitored\n    * `type`: name of registered protocol\n    * `server`: IP or dns of service\n    * `interval`: interval time between check (in milliseconds)\n    * `port`: (optional) port of service\n    * `customs`: (optional) list of custom filed for custom implementation of protocols\n\n\n## Usage Example\n### From Binary File\nBasically BigBro can be downloaded from releases section with a pre-compiled binary file.\n\n[Releases Page](https://github.com/bigbroproject/bigbro/releases) | Last release:\n\n[![GitHub Release](https://img.shields.io/github/release/bigbroproject/bigbro.svg?style=flat)]()  \n\n### From Source Code\n\n#### Requirements\n- Debian or RHEL Linux distribution family\n- NodeJS \u003e= v12.10.1 (it is used to compile the user interface)\n- Go Version \u003e= v1.15 (developed with this version)\n- $GOPATH variable set and included in $PATH ( export PATH=$PATH:$GO:$GOPATH/bin )\n- Git installed\n\nFirstly, before the usage of this library you must clone this repository:\n```bash\ngit clone github.com/bigbroproject/bigbro\n```\n\nSecondly, the installation of libraries and dependencies is required:\n```bash\ncd bigbro \u0026\u0026 make install-dep\n```\nAfter the installation of dependencies, you can proceed to build BigBro:\n\n```bash\nmake build          #for your architecture\nmake build-x64      #for 64 bit architecture\nmake build-x86      #for 32 bit architecture\nmake build-arm      #for ARM 7 architecture\nmake build-arm5     #for ARM 5 architecture\nmake build-all      #to build all solutions\n```\n\n\n#### Customisation of the code\nBefore the build phase you can edit the main code, registering new protocols or handlers:\n\n```go\npackage main\n\nimport (\n\t\"github.com/bigbroproject/bigbrocore/core\"\n\t\"github.com/bigbroproject/bigbrocore/protocols\"\n\t\"github.com/bigbroproject/bigbrocore/responsehandlers\"\n)\n\nfunc main() {\n\n\n\t//log.SetFlags(log.LstdFlags | log.Lshortfile)\n\tsystem.PrintSystemInfo()\n\tws := webserver.NewWebServer(\"config/serverconfig.yml\")\n\tws.Start()\n\n\tregProtocolInterfaces, regResponseHandlerInterfaces := core.Initialize(\"config/config.yml\")\n\n\t// Register custom protocols\n\t//protocols.RegisterProtocolInterface(\u0026regProtocolInterfaces, \"ftp\", protocols.FTP{})\n\n\t// Register Response Handlers\n\tresponsehandlers.RegisterResponseHandlerInterface(\u0026regResponseHandlerInterfaces, \"webServerHandler\", responsehandler.WebServerRespHandler{OutputChannel: ws.InputChannel})\n\n    // Register custom handlers\n\t//responsehandlers.RegisterResponseHandlerInterface(\u0026regResponseHandlerInterfaces, \"console\", responsehandlers.ConsoleHandler{})\n\tresponsehandlers.RegisterResponseHandlerInterface(\u0026regResponseHandlerInterfaces, \"consoleMemory\", responsehandlers.ConsoleHandlerWithMemory{})\n\n\t// Start monitoring\n\tcore.Start(regProtocolInterfaces, regResponseHandlerInterfaces)\n\n}\n```\nIn this example we `Initialize` the entire module with a given configuration file path (you can manage this as a first input in your command line, for instance). \nSecondly, you must define and register a ResponseHandler to manage the Responses from service checks (otherwise you cannot log or see anything) and then register a custom protocol, if needed.\n\nFinally, you can over your project main with the `Start` of the module. \n\n## Struct of the Core and implementation of custom protocols and handlers\n\nFor more information about the implementation of new protocols and handlers read the documentation of [BigBro core](http://github.com/bigbroproject/bigbrocore).\n\n\n---\nMade with ❤️ by [Asdrubbalo](http://github.com/danielemlu), [filirnd](http://github.com/filirnd) and [fedyfausto](http://github.com/fedyfausto)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbroproject%2Fbigbro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbigbroproject%2Fbigbro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbigbroproject%2Fbigbro/lists"}