This is a self-hosted, free image hosting service (Telegraph-Image) built as a serverless application on Cloudflare Pages. It provides image upload, storage (Telegram Bot API or Cloudflare R2), serving with optional moderation (Workers AI or moderatecontent.com), and an admin dashboard (Vue-based) for managing images (list, block, delete, whitelist, edit names, toggle likes). The architecture follows a clean provider pattern for storage and moderation modules, uses middleware chaining via Cloudflare Pages Functions, and includes features like short links (KV-backed), anti-hotlinking, and deployment self-checks. The frontend is hybrid: a dependency-free modern homepage and an older Nuxt.js SPA for the admin panel. The codebase is well-tested with unit and e2e tests, but has technical debt from a legacy Nuxt frontend, deprecated `document.execCommand` usage, and reliance on external CDN resources for admin UI.
Stb (εΎεΊ) is a full-stack image hosting service built as a pnpm monorepo. The backend is a Node.js/Express application with MongoDB (Mongoose) providing REST APIs for user authentication, image upload, album management, admin operations, and system configuration. The frontend is a Vue 3 single-page application using Pinia for state management, Vue Router with lazy-loaded views, and a mix of Ant Design Vue and Element Plus UI libraries. The system supports multiple storage backends (local filesystem, S3-compatible, Alibaba OSS, Tencent COS, Qiniu, Upyun, SFTP, FTP, WebDAV, Telegram, GitHub) via a pluggable adapter pattern, and integrates AI-based content moderation (Tencent, Aliyun, NSFWJS). Deployment is Docker-based with a multi-stage build and GitHub Actions CI/CD for multi-architecture images. The application includes a comprehensive admin panel for user, image, log, album, role group, invite code, and configuration management, as well as OAuth login (GitHub, Google, Linux DO), email verification, and a slider captcha component. While the codebase is functional and well-structured with clear separation of concerns, it exhibits some technical debt: mixed UI libraries increase bundle size, the configuration view is monolithic and exposes sensitive credentials to the client, there are no automated tests, and some patterns (e.g., IP detection, Docker entrypoint sed) are fragile. Overall, it is a solid, production-ready image hosting solution with reusable utility modules.
Lsky Pro is a self-hosted image hosting platform written in Laravel (PHP). It allows users to upload, store, manage, and share images through a web interface or REST API. The application supports multiple storage backends (local filesystem, AWS S3, Alibaba OSS, Tencent COS, Qiniu Kodo, Upyun USS, SFTP, FTP, WebDAV, MinIO) and offers features such as user groups with granular permissions, image watermarking, content moderation (via third-party scanning services), thumbnail generation, and a public gallery. The frontend uses Blade templates with Alpine.js and jQuery for interactivity, while the backend follows a standard Laravel MVC pattern with services, models, middleware, and enums for configuration management. The codebase is functional but unremarkable from a software craftsmanship perspective. It follows common Laravel conventions without notable innovation. The storage strategy abstraction, enum use, and middleware for feature toggles are decent patterns, but none are isolated enough to be reusable in other projects without significant modification. The JavaScript is heavily reliant on global state and inline jQuery, which reduces testability and maintainability. The project has minimal test coverage (only example tests) and the README explicitly states that the open source version has ceased maintenance. Maintenance is effectively abandoned; the last commit is dated in the future (presumably a metadata error) but the project is marked as no longer supported. Dependencies may be outdated, and the reliance on external cloud SDKs introduces potential compatibility risks. Technical drift is moderate: the application uses Laravel 9 and Tailwind CSS, which are still reasonably current, but the JavaScript dependencies are older and the overall architecture is monolithic. The lack of active development and the explicit deprecation warning make this repository unsuitable for new projects seeking ongoing support, though it could serve as a reference for building a similar image hosting platform.