exelban/EndPoll được TopGit xếp vào nhóm dự án API, với 42 sao trên GitHub, viết chủ yếu bằng Go. EndPoll is a lightweight, self-hosted status page and monitoring tool.
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
EndPoll is a lightweight, self-hosted status page and monitoring tool. It periodically checks the health of your services and displays their status on a clean, minimalistic web dashboard with 90 days of history.
Features
Multiprotocol monitoring — HTTP/HTTPS, MongoDB, and ICMP (ping)
90-day history with automatic daily aggregation
Incident tracking — records downtime events with duration and status codes
Host grouping — organize hosts into named groups with optional hidden members
Notifications — Slack, Telegram, and SMTP (email)
Hot reload — config file changes are picked up automatically without restart
Response time charts — per-host response time graph rendered as PNG
SSL certificate monitoring — tracks expiry dates for HTTPS hosts
Detailed timing — DNS, TLS handshake, connect, and TTFB breakdown for HTTP checks
Threshold-based status — configurable success/failure thresholds to prevent flapping
Lightweight storage — embedded BoltDB (default) or in-memory
EndPoll is configured via a YAML or JSON file. The file is watched for changes and reloaded automatically.
Command-line flags / environment variables
Flag
Env variable
Default
Description
--config-path
CONFIG_PATH
./config.yaml
Path to configuration file
--storage.type
STORAGE_TYPE
bolt
Storage backend (bolt or memory)
--storage.path
STORAGE_PATH
./data
Directory for BoltDB storage
--port
PORT
8822
HTTP server port
--debug
DEBUG
false
Enable debug logging
--smtp.host
SMTP_HOST
SMTP server host
--smtp.port
SMTP_PORT
25
SMTP server port
--smtp.username
SMTP_USERNAME
SMTP username
--smtp.password
SMTP_PASSWORD
SMTP password
--smtp.from
SMTP_FROM
Sender email address
--smtp.to
SMTP_TO
Recipient email address(es)
Config file reference
Global settings
# Maximum concurrent dial connections (default: 128)
maxConn: 128
# Default check interval for all hosts (default: 30s)
interval: 30s
# Default timeout for all hosts (default: 60s)
timeout: 60s
# Delay before the first check after startup (optional)
initialDelay: 5s
# Consecutive successful checks required to mark a host as UP (default: 1)
successThreshold: 1
# Consecutive failed checks required to mark a host as DOWN (default: 2)
failureThreshold: 2
# Default success conditions applied to all hosts
success:
code: [200, 201, 202, 203, 204, 205, 206, 207, 208]
body: "OK" # optional: expected response body
# Default headers sent with every HTTP request
headers:
Authorization: "Bearer token"
User-Agent: "EndPoll"
UI settings
ui:
title: "My Status Page" # browser tab title
hideURL: false # hide host URLs from the dashboard
basicAuth: # protect the dashboard with basic authentication (optional)
username: "admin"
password: "secret"
When basicAuth is set, all pages require credentials. The /ping health check endpoint remains unauthenticated.
Connectivity check
For self-hosted setups (e.g. running at home), a drop in your own internet connection would otherwise make every external host appear DOWN at once. Before counting a failed check as an outage, EndPoll verifies that the monitor itself is online by opening a TCP connection to well-known public endpoints. If the monitor has no connectivity, the failed check is skipped: the host keeps its last known status, no failure is counted and no alert is sent. Normal checking resumes automatically once connectivity is restored.
connectivity:
disabled: false # disable the connectivity check (enabled by default)
targets: # endpoints probed over TCP (default: 1.1.1.1:53, 8.8.8.8:53)
- "1.1.1.1:53"
- "8.8.8.8:53"
interval: 5s # how long a connectivity result is cached (default: 5s)
timeout: 2s # timeout for a single probe (default: 2s)
Notifications
notifications:
# Send a message when EndPoll starts (default: true)
initializationMessage: true
# Send a message when EndPoll shuts down (default: false)
shutdownMessage: false
slack:
token: "xoxb-your-token"
channel: "#monitoring"
telegram:
token: "123456:ABC-DEF"
chatIDs:
- "111111111"
- "222222222"
smtp:
host: "smtp.example.com"
port: 587
username: "[email protected]"
password: "password"
from: "[email protected]"
to:
- "[email protected]"
Hosts
hosts:
- name: "Google" # display name (optional)
description: "Search engine" # shown on the detail page (optional)
url: "https://www.google.com" # required
group: "Search" # group name (optional)
hidden: false # hide from group view, only affects grouped hosts (optional)
method: "GET" # HTTP method (default: GET)
interval: 15s # override global interval (optional)
timeout: 10s # override global timeout (optional)
initialDelay: 2s # override global initial delay (optional)
successThreshold: 1 # override global threshold (optional)
failureThreshold: 3 # override global threshold (optional)
conditions: # override global success conditions (optional)
code: [200]
body: "OK"
headers: # override/extend global headers (optional)
X-Custom: "value"
alerts: # restrict notifications to specific channels (optional)
- "slack"
- "telegram"
Host types
The host type is auto-detected from the URL:
Type
URL pattern
Example
HTTP/HTTPS
URLs starting with http:// or https://
https://example.com
MongoDB
URLs starting with mongodb://
mongodb://user:pass@host:27017
ICMP
IPv4 addresses without a scheme
192.168.1.1
You can also set the type explicitly:
hosts:
- url: "192.168.1.1"
type: icmp
Use cases
Simple website monitoring
Monitor a set of websites and get notified via Slack when any of them goes down:
exelban/EndPoll thuộc nhóm API trên TopGit, cùng 5 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về exelban/EndPoll ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/exelban/EndPoll là nguồn chính thức.
exelban/EndPoll có phải mã nguồn mở không?
TopGit chưa ghi nhận license cho exelban/EndPoll. Phần lớn repo public trên GitHub là mã nguồn mở, nhưng điều khoản khác nhau từng repo — mở file LICENSE để xác nhận.
exelban/EndPoll có trang demo không?
Dự án có trang chủ ở https://endpoll.com. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
exelban/EndPoll là gì?
exelban/EndPoll (exelban/EndPoll) là dự án Go trên GitHub. Theo mô tả gốc: EndPoll is a lightweight, self-hosted status page and monitoring tool.
Vì sao exelban/EndPoll được xếp vào nhóm API?
TopGit xếp exelban/EndPoll vào nhóm API dựa trên GitHub topics và mô tả của repo (gắn thẻ: "api", "dashboard", "monitoring"). Việc phân loại dựa trên metadata thật của repo, không phải đoán theo cảm tính biên tập.
Đọc đầy đủ README ở tab phía trên.
Muốn nghe thêm một ý kiến về EndPoll?
Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về EndPoll.