mirror of
https://github.com/screentinker/screentinker.git
synced 2026-05-15 07:32:23 -06:00
Add Discord link and refresh feature copy
- README + landing page footer now link to the community Discord - Landing page feature grid gains Playlists, Directory Board, Offline Resilience, and Mobile Dashboard cards; Scheduling and Self-Hosted copy updated to mention group-level schedules and the DISABLE_REGISTRATION env var - Structured data featureList expanded to match; Organization sameAs now includes Discord - README feature list clarifies scheduling precedence, mobile responsiveness scope, and the auth/IDOR/XSS audit work Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
2959eaa149
commit
846d61a1b0
|
|
@ -3,6 +3,7 @@
|
||||||
Open-source digital signage management software. Control content on TVs, displays, and kiosks from anywhere.
|
Open-source digital signage management software. Control content on TVs, displays, and kiosks from anywhere.
|
||||||
|
|
||||||
**Hosted version:** [screentinker.com](https://screentinker.com) — free tier available, no credit card required.
|
**Hosted version:** [screentinker.com](https://screentinker.com) — free tier available, no credit card required.
|
||||||
|
**Community:** [Discord](https://discord.gg/JHWQRPaG)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
|
|
@ -11,13 +12,13 @@ Open-source digital signage management software. Control content on TVs, display
|
||||||
- **Multi-zone layouts** — split screens into zones with drag-and-drop editor; 7 built-in templates (fullscreen, split, L-bar, PiP, grid)
|
- **Multi-zone layouts** — split screens into zones with drag-and-drop editor; 7 built-in templates (fullscreen, split, L-bar, PiP, grid)
|
||||||
- **Video walls** — combine multiple displays into one screen with bezel compensation, device rotation, and leader-based sync
|
- **Video walls** — combine multiple displays into one screen with bezel compensation, device rotation, and leader-based sync
|
||||||
- **Remote control** — live view, touch injection, key input, power on/off
|
- **Remote control** — live view, touch injection, key input, power on/off
|
||||||
- **Scheduling** — visual weekly calendar with recurrence rules (daily/weekly/monthly), priority-based conflict resolution, device-level and group-level schedules, device-level overrides, timezone support
|
- **Scheduling** — visual weekly calendar with recurrence rules (daily/weekly/monthly), priority-based conflict resolution, both device-level and group-level schedules (device-level overrides win over group-level), timezone support
|
||||||
- **Widgets** — clocks, weather, RSS tickers, text/HTML, webpages, social feeds, and Directory Board (scrolling lobby tenant/room/staff directories with dark/light themes, category management, and anti-burn-in motion)
|
- **Widgets** — clocks, weather, RSS tickers, text/HTML, webpages, social feeds, and Directory Board (scrolling lobby tenant/room/staff directories with dark/light themes, category management, and anti-burn-in motion)
|
||||||
- **Kiosk mode** — interactive touchscreen interfaces
|
- **Kiosk mode** — interactive touchscreen interfaces
|
||||||
- **Proof-of-play** — per-content and per-device analytics, hourly/daily breakdowns, CSV export for ad verification
|
- **Proof-of-play** — per-content and per-device analytics, hourly/daily breakdowns, CSV export for ad verification
|
||||||
- **Device telemetry** — battery, storage, RAM, CPU, WiFi signal strength, and uptime reported by Android players
|
- **Device telemetry** — battery, storage, RAM, CPU, WiFi signal strength, and uptime reported by Android players
|
||||||
- **Offline resilience** — players keep displaying cached content during server or network outages (Android ContentCache, web player Service Worker); state syncs when connectivity returns
|
- **Offline resilience** — both web and Android players keep displaying cached content during server or internet outages (Android ContentCache, web player Service Worker); state syncs when connectivity returns
|
||||||
- **Mobile-responsive dashboard** — full management UI works on phones and tablets
|
- **Mobile-responsive** — full management dashboard and landing page work on phones and tablets
|
||||||
- **Alerts** — email notifications when devices go offline
|
- **Alerts** — email notifications when devices go offline
|
||||||
- **Teams** — multi-user with owner, editor, and viewer roles; team-based device access
|
- **Teams** — multi-user with owner, editor, and viewer roles; team-based device access
|
||||||
- **White-label** — custom branding, colors, logo, favicon, CSS, and domain
|
- **White-label** — custom branding, colors, logo, favicon, CSS, and domain
|
||||||
|
|
@ -25,7 +26,7 @@ Open-source digital signage management software. Control content on TVs, display
|
||||||
- **Export/Import** — v2 format with playlists, device groups, schedules, and optional media bundling (ZIP); backward-compatible v1 import with automatic playlist migration
|
- **Export/Import** — v2 format with playlists, device groups, schedules, and optional media bundling (ZIP); backward-compatible v1 import with automatic playlist migration
|
||||||
- **Device authentication** — per-device tokens for secure WebSocket connections; devices authenticate on every reconnect
|
- **Device authentication** — per-device tokens for secure WebSocket connections; devices authenticate on every reconnect
|
||||||
- **Account management** — in-app password change, profile editing, email-based password reset
|
- **Account management** — in-app password change, profile editing, email-based password reset
|
||||||
- **Security** — JWT auth, bcrypt hashing, parameterized SQL, rate-limited endpoints, per-user ownership checks on all resources, ongoing XSS/IDOR audits
|
- **Security** — JWT auth, bcrypt hashing, parameterized SQL, rate-limited endpoints, per-user ownership checks on all resources, ongoing auth/IDOR/XSS audits
|
||||||
- **Built-in billing** — Stripe integration for SaaS subscriptions (optional)
|
- **Built-in billing** — Stripe integration for SaaS subscriptions (optional)
|
||||||
- **Auto-update** — OTA updates pushed to devices automatically
|
- **Auto-update** — OTA updates pushed to devices automatically
|
||||||
- **Activity log** — full audit trail of user and system actions
|
- **Activity log** — full audit trail of user and system actions
|
||||||
|
|
|
||||||
|
|
@ -213,12 +213,16 @@
|
||||||
<div class="feature-card"><div class="feature-icon">📺</div><h3>Multi-Zone Layouts</h3><p>Split screens into zones with a drag-and-drop editor. 7 built-in templates or create your own.</p></div>
|
<div class="feature-card"><div class="feature-icon">📺</div><h3>Multi-Zone Layouts</h3><p>Split screens into zones with a drag-and-drop editor. 7 built-in templates or create your own.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🎬</div><h3>Video Wall</h3><p>Combine multiple displays into one giant screen. Automatic bezel compensation. Any grid size.</p></div>
|
<div class="feature-card"><div class="feature-icon">🎬</div><h3>Video Wall</h3><p>Combine multiple displays into one giant screen. Automatic bezel compensation. Any grid size.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🖥</div><h3>Remote Control</h3><p>See what's on screen in real-time. Send key presses, navigate menus, power on/off remotely.</p></div>
|
<div class="feature-card"><div class="feature-icon">🖥</div><h3>Remote Control</h3><p>See what's on screen in real-time. Send key presses, navigate menus, power on/off remotely.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">📅</div><h3>Scheduling</h3><p>Visual weekly calendar. Set content to play at specific times with recurrence rules.</p></div>
|
<div class="feature-card"><div class="feature-icon">📅</div><h3>Scheduling</h3><p>Visual weekly calendar with recurrence rules. Schedule per device or for whole groups — device rules override the group.</p></div>
|
||||||
|
<div class="feature-card"><div class="feature-icon">🎶</div><h3>Playlists</h3><p>Share one playlist across many displays. Draft changes, preview, then publish — or revert to the last published version.</p></div>
|
||||||
|
<div class="feature-card"><div class="feature-icon">🏢</div><h3>Directory Board</h3><p>Scrolling lobby, building, and staff directories. Categories, dark & light themes, anti-burn-in. Not found in any other open-source CMS.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🔧</div><h3>Content Designer</h3><p>Built-in editor with live clocks, weather, RSS tickers, countdowns, QR codes, and more.</p></div>
|
<div class="feature-card"><div class="feature-icon">🔧</div><h3>Content Designer</h3><p>Built-in editor with live clocks, weather, RSS tickers, countdowns, QR codes, and more.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🖱</div><h3>Kiosk Mode</h3><p>Create interactive touchscreen interfaces. Wayfinding, directories, check-in screens.</p></div>
|
<div class="feature-card"><div class="feature-icon">🖱</div><h3>Kiosk Mode</h3><p>Create interactive touchscreen interfaces. Wayfinding, directories, check-in screens.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">📊</div><h3>Proof-of-Play</h3><p>Track what played, when, and on which device. Export CSV reports for ad verification.</p></div>
|
<div class="feature-card"><div class="feature-icon">📊</div><h3>Proof-of-Play</h3><p>Track what played, when, and on which device. Export CSV reports for ad verification.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🔔</div><h3>Alerts & Monitoring</h3><p>Email alerts when devices go offline. Full telemetry: battery, storage, WiFi, uptime.</p></div>
|
<div class="feature-card"><div class="feature-icon">🔔</div><h3>Alerts & Monitoring</h3><p>Email alerts when devices go offline. Full telemetry: battery, storage, WiFi, uptime.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🔒</div><h3>Self-Hosted Option</h3><p>Deploy on your own infrastructure. Your data never leaves your network. Full control.</p></div>
|
<div class="feature-card"><div class="feature-icon">🔌</div><h3>Offline Resilience</h3><p>Displays keep playing cached content when the internet or your server drops. They catch up automatically when you're back.</p></div>
|
||||||
|
<div class="feature-card"><div class="feature-icon">📱</div><h3>Mobile Dashboard</h3><p>Manage everything from your phone. The full dashboard works on any mobile browser — no separate app needed.</p></div>
|
||||||
|
<div class="feature-card"><div class="feature-icon">🔒</div><h3>Self-Hosted Option</h3><p>Deploy on your own infrastructure. Your data never leaves your network. Lock down signups with a single env var.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🎨</div><h3>White Label</h3><p>Custom branding, colors, logo, and domain. Resell under your own brand.</p></div>
|
<div class="feature-card"><div class="feature-icon">🎨</div><h3>White Label</h3><p>Custom branding, colors, logo, and domain. Resell under your own brand.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">👥</div><h3>Teams</h3><p>Multi-user accounts with owner, editor, and viewer roles. Invite by email.</p></div>
|
<div class="feature-card"><div class="feature-icon">👥</div><h3>Teams</h3><p>Multi-user accounts with owner, editor, and viewer roles. Invite by email.</p></div>
|
||||||
<div class="feature-card"><div class="feature-icon">🔄</div><h3>Auto-Update</h3><p>Devices automatically update when you push a new version. Zero manual intervention.</p></div>
|
<div class="feature-card"><div class="feature-icon">🔄</div><h3>Auto-Update</h3><p>Devices automatically update when you push a new version. Zero manual intervention.</p></div>
|
||||||
|
|
@ -285,6 +289,7 @@
|
||||||
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
<div style="color:var(--dim);font-size:13px">© 2026 ScreenTinker. All rights reserved.</div>
|
||||||
<div class="links">
|
<div class="links">
|
||||||
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
<a href="https://github.com/screentinker/screentinker" target="_blank" rel="noopener">GitHub</a>
|
||||||
|
<a href="https://discord.gg/JHWQRPaG" target="_blank" rel="noopener">Discord</a>
|
||||||
<a href="/legal/terms.html">Terms</a>
|
<a href="/legal/terms.html">Terms</a>
|
||||||
<a href="/legal/privacy.html">Privacy</a>
|
<a href="/legal/privacy.html">Privacy</a>
|
||||||
<a href="/legal/third-party.html">Licenses</a>
|
<a href="/legal/third-party.html">Licenses</a>
|
||||||
|
|
@ -337,11 +342,15 @@
|
||||||
"Multi-zone screen layouts",
|
"Multi-zone screen layouts",
|
||||||
"Video wall support",
|
"Video wall support",
|
||||||
"Remote control with live view",
|
"Remote control with live view",
|
||||||
"Content scheduling with calendar",
|
"Content scheduling with calendar (device and group level)",
|
||||||
|
"Playlists with draft/publish workflow",
|
||||||
|
"Directory Board widget for lobby and staff directories",
|
||||||
"Built-in content designer",
|
"Built-in content designer",
|
||||||
"Interactive kiosk/touchscreen mode",
|
"Interactive kiosk/touchscreen mode",
|
||||||
"Proof-of-play analytics",
|
"Proof-of-play analytics",
|
||||||
"Device monitoring and alerts",
|
"Device monitoring and alerts",
|
||||||
|
"Offline resilience with cached playback",
|
||||||
|
"Mobile-responsive dashboard",
|
||||||
"White-label/reseller support",
|
"White-label/reseller support",
|
||||||
"Self-hosted option",
|
"Self-hosted option",
|
||||||
"9 platform support",
|
"9 platform support",
|
||||||
|
|
@ -358,7 +367,8 @@
|
||||||
"url": "https://screentinker.com",
|
"url": "https://screentinker.com",
|
||||||
"logo": "https://screentinker.com/assets/icon-512.png",
|
"logo": "https://screentinker.com/assets/icon-512.png",
|
||||||
"sameAs": [
|
"sameAs": [
|
||||||
"https://github.com/screentinker/screentinker"
|
"https://github.com/screentinker/screentinker",
|
||||||
|
"https://discord.gg/JHWQRPaG"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue