Last updated: March 24, 2026
ScreenTinker uses the following open-source software components. We gratefully acknowledge the contributions of these projects and their maintainers.
| Package | License | Use |
|---|---|---|
| Express | MIT | Web server framework |
| Socket.IO | MIT | Real-time WebSocket communication |
| better-sqlite3 | MIT | SQLite database driver |
| Multer | MIT | File upload handling |
| uuid | MIT | Unique ID generation |
| Jimp | MIT | Image processing and thumbnails |
| @jsquash/webp, @jsquash/avif | Apache 2.0 | WebP / AVIF encoding |
| FFmpeg (ffprobe, ffmpeg) | LGPL 2.1 or later | Video duration, dimensions and thumbnails. Bundled as unmodified binaries with the BrightSign player package only; built from unmodified FFmpeg 7.1.1 sources configured --disable-gpl, so no GPL component (including libpostproc) is included. |
| cors | MIT | Cross-origin resource sharing |
| bcryptjs | MIT | Password hashing |
| jsonwebtoken | MIT | JWT authentication tokens |
| Helmet | MIT | HTTP security headers |
| google-auth-library | Apache 2.0 | Google OAuth verification |
| OkHttp | Apache 2.0 | Android HTTP client |
| Gson | Apache 2.0 | Android JSON parsing |
| AndroidX Media3 / ExoPlayer | Apache 2.0 | Android video playback |
| AndroidX libraries | Apache 2.0 | Android UI and lifecycle |
| Material Components for Android | Apache 2.0 | Android UI components |
| Socket.IO Java Client | MIT | Android WebSocket client |
| Kotlin Coroutines | Apache 2.0 | Android async operations |
| AndroidX Security Crypto | Apache 2.0 | Encrypted SharedPreferences |
| AndroidX WorkManager | Apache 2.0 | Background task management |
The following packages are licensed under the MIT License:
Express, Socket.IO, better-sqlite3, Multer, uuid, cors, bcryptjs, jsonwebtoken, Helmet, Socket.IO Java Client
The BrightSign player package bundles two FFmpeg command-line programs, ffprobe
and ffmpeg, used to read the duration and dimensions of uploaded video and to
generate thumbnails. They are built from unmodified FFmpeg 7.1.1 sources
(ffmpeg.org) and are licensed under the GNU Lesser General
Public License, version 2.1 or later.
They are configured with --disable-gpl, so no GPL-licensed FFmpeg component is
present — including libpostproc, which is GPL-only. No FFmpeg source was modified.
Written offer. These binaries are statically linked. On request we will supply
the complete corresponding source, the exact configure arguments used, and the
object files needed to relink the programs against a modified version of the library, as
section 6 of the LGPL requires. Contact [email protected].
The full licence text is at
gnu.org/licenses/lgpl-2.1,
and a copy ships beside the binaries in the player package.
The following packages are licensed under the Apache License, Version 2.0:
@jsquash/webp, @jsquash/avif, google-auth-library, OkHttp, Gson, AndroidX Media3/ExoPlayer, AndroidX libraries, Material Components for Android, Kotlin Coroutines, AndroidX Security Crypto, AndroidX WorkManager
If you have questions about the licensing of any component used in ScreenTinker, please contact us at [email protected]