nightmare-space/any_share
46.9
Weak · 19 September 2026
9.1k
lines of production code
Dart
primary language
1
measurement over time
What this system is
Speed Share is a cross-platform file sharing and messaging application built with Flutter, supporting Android, iOS, Windows, macOS, Linux, and Web. It facilitates local network transfers via HTTP and UDP discovery, enabling users to send files, share clipboard content, and exchange text messages between connected devices. The system features adaptive layouts for desktop and mobile interfaces, integrated media previews, and multi-language support.
How it got here
2021 — Multi-platform expansion and modernization
21 changes.
The project underwent a comprehensive rebranding and architectural overhaul, adding native support for Windows and Linux desktop environments while upgrading core infrastructure to modern standards like Material 3 and Gradle 8. Legacy UI components and configuration modules were removed to make way for adaptive layouts, dynamic theming, and improved file handling utilities across all supported platforms.
2022–2024 — Desktop expansion and UI modernization
9 changes.
The project focused on enhancing the desktop experience by introducing platform-specific layouts, drag-and-drop file sharing, and a dedicated desktop navigation drawer. This period also saw the addition of comprehensive file management, QR code scanning, and multi-language support to improve usability and accessibility across devices.
2026 — Core architecture restructuring
6 changes.
The project underwent a significant architectural overhaul, introducing a dedicated service layer for file sharing, chat, and device discovery while reorganizing controllers and models for better separation of concerns. New JSON-serializable data models and typed device handling were implemented to improve type safety, alongside a centralized common library for configuration and asset management. The UI was updated with custom widgets and structured message components to support the new backend logic.
Features
Add Linux desktop platform support
The application now supports Linux desktop environments. This change introduces the necessary CMake build configuration, GTK-based native entry points, and application logic to run the Flutter app on Linux, enabling users to install and use the app on Linux systems.
linux · high confidence
Add Spanish and Hindi localization support
The application now supports Spanish (es) and Hindi (hi) in addition to the existing English and Chinese locales. Users can switch their interface language to Spanish or Hindi via the settings menu to view all UI strings, file types, and system messages in their preferred language.
lib/l10n · high confidence
Add build and configuration scripts for iOS, Linux, Web, and Windows
This change introduces a suite of new build and configuration scripts to support the application's multi-platform distribution. For iOS, \build\_xcarchive.sh\ automates the IPA build process using Flutter. Linux packaging is supported via a \control\ file defining the \speed-share\ package metadata. Web builds are handled by \build\_web.sh\ (using the HTML renderer) and \build\_web\_add\_web\_assets.sh\ to package the output, alongside a specific script for CanvasKit rendering. Windows builds utilize a proxy configuration script (\proxy.bat\) to manage network settings during dependency fetching. Additionally, macOS DMG creation is configured via \config.json\, and iOS icon generation is automated with \gen\_ios\_icon.sh\. A central \properties.sh\ file defines versioning (v2.2.8) and app name constants shared across these build processes.
scripts · high confidence
Add chat joining and QR code display dialogs
The dialog module now includes two new UI components: a JoinChat dialog that allows users to input a chat server address and initiate a connection, and a ShowQRPage dialog that displays QR codes for local network addresses to facilitate device pairing.
lib/modules/dialog · high confidence
Add platform-specific document utility for URL access
A new utility library has been added to provide access to the document's base URL in a platform-agnostic way. It exports a browser-specific implementation that retrieves the URL via the \web\ package for web targets, and an IO-specific implementation that returns an empty string for non-web targets, ensuring the application does not crash when accessing document URLs in browser environments.
lib/utils/document · high confidence
Added Linux desktop entry for Speed Share
A new desktop entry file (speed-share.desktop) has been added to the Linux package resources, enabling the Speed Share application to appear in Linux application menus and handle file associations via the 'Network' category.
res · high confidence
App restructured with adaptive layout and media preview capabilities
The application has been refactored to support adaptive layouts across devices, introducing an \AdaptiveEntryPoint\ that switches between desktop and mobile home views based on screen size, and a \RootView\ that manages responsive breakpoints and dark mode theming. New features include dedicated components for previewing images (\PreviewImage\) and videos (\VideoPreview\) using \InteractiveViewer\ and \BetterPlayer\, respectively. The entry point (\main.dart\) has been significantly updated to initialize GetX controllers, set up file and chat services, and handle platform-specific logic for desktop and web environments.
lib · high confidence
Initial Windows desktop support for Speed Share
Speed Share now runs on Windows, providing a native desktop experience built with Flutter and C++. The application launches with an initial window size of 800x600 pixels and supports high-DPI displays for consistent rendering across different monitor settings. Users can benefit from console output redirection when running from a terminal and proper handling of command-line arguments.
windows · high confidence
Introduce common library for shared configuration, device models, and asset management
The lib/common directory now provides a centralized set of utilities and definitions used across the application. This includes a Config class for managing application settings such as port ranges and version information, a Device model to represent connected peers with connection state tracking, and a DeviceType enum with extensions that map device types to specific SVG icons and UI colors. Additionally, an SvgAssets class is introduced to standardize the paths for file and system icons, ensuring consistent asset usage throughout the UI.
lib/common · high confidence
Introduce dedicated desktop navigation and QR scanning modules
The application now includes a new DesktopDrawer component for desktop-specific navigation and a QRScanPage that utilizes the mobile\_scanner library to detect barcodes. These modules are integrated into the app's routing structure, supporting the broader UI and feature updates in this release.
lib/modules · high confidence
Introduce dedicated service layer for file sharing, chat, and desktop integration
This change introduces a new, organized service layer in \lib/services\ to centralize core application capabilities. It adds \FileService\ and \ChatService\ to manage local HTTP servers for file transfers and real-time messaging, \DiscoveryService\ for local network device detection via UDP multicast, \ClipboardService\ to enable automatic clipboard sharing, and \DesktopService\ to handle system tray and window management on desktop platforms. These services are exported via \services.dart\ to provide a unified entry point for the application's backend logic.
lib/services · high confidence
Introduction of the new File module UI
A new file management interface has been added to the application, located in lib/modules/file. This module introduces a main page (FilePage) that allows users to toggle between a file manager view and a categorized file list view. The file list view is responsive, displaying categories such as directories, unknown files, zips, documents, audio, video, images, and APKs in a grid layout on desktop devices and a scrollable column on mobile devices.
lib/modules/file · high confidence
New JSON-serializable message models with typed device handling
The \lib/models\ directory now includes a complete set of new data models for handling various message types (file, text, directory, clipboard, browser file, join, and notify) and history records. These models use \json\_serializable\ for automatic JSON serialization and deserialization, replacing manual parsing. A key behavioral change is the introduction of a \DeviceTypeConverter\ in \message\_base\_info.dart\, which ensures the \deviceType\ field is consistently mapped to and from a \DeviceType\ enum rather than a raw string, improving type safety across all message exchanges.
lib/models · high confidence
New Personal page with QQ group, changelog, and about sections
The Personal module now includes a new PersonalPage that provides users with direct access to join the QQ support group, view the application changelog, and see detailed app information including version, license, and open-source links.
lib/modules/personal · high confidence
New file type detection and scroll utility extensions
Added new Dart extensions to simplify file handling and UI interactions. The \FileTypeExt\ extension on \String\ provides boolean getters (e.g., \isAudioFile\, \isVideoFile\) and a \fileTypeLabel\ getter to categorize files by extension (supporting audio, video, image, document, archive, APK, and text formats). The \ScrollControllerExt\ extension adds a \scrollToEnd\ method to \ScrollController\, allowing lists to automatically scroll to the bottom with a slight delay and easing animation. A new \file\_manager.dart\ file was also added, though it is currently empty.
lib/common/extensions, lib/private · high confidence
New personal settings page with language and download path controls
A new Settings page has been added to the personal module, allowing users to manage their application preferences. Users can now select their display language via a dedicated dialog that updates the app's locale, choose a custom download directory (using platform-specific file selectors for desktop and mobile), and toggle automatic download and clipboard sharing behaviors. The page also displays the current cache size and integrates with the existing theme and localization system.
lib/modules/personal/setting · high confidence
New reusable UI components for gestures, headers, icons, and menus
The widget library now includes four new reusable components: \GestureWithScale\ provides a tap interaction with haptic feedback and a scaling animation; \Header\ and \HeaderSwiper\ display a rotating notice and a list of available connected devices; \getIconByExt\ returns appropriate file-type icons (video, document, archive, audio, image, APK) with support for opening files; and \HeaderMenu\ offers a dropdown menu with options to join a chat, view logs, and export logs to a file.
lib/modules/widget · high confidence
Removals
Removal of legacy configuration and theming modules
The \lib/config\ directory has been cleaned up by deleting the \candy\_colors.dart\, \config.dart\, and \dimens.dart\ files. This removes the previous static color palette, hardcoded application settings (such as package names and UDP ports), and the \flutter\_screenutil\-based dimension helpers, indicating a shift away from these specific implementation details in the current codebase.
lib/config · high confidence
Removed legacy home and settings pages
The \lib/pages\ directory no longer contains \home\_page.dart\ or \setting\_page.dart\. This removes the previous UI implementation that displayed a QR code for local network access, allowed users to toggle the server on/off, and provided settings to choose between \http\_server\ and \shelf\_static\ modes. Users will no longer see these specific screens or their associated configuration options in this location.
lib/pages · high confidence
Behavioural changes
Android app rebranded to 'Fast Share' with file sharing and wake lock support
The Android application has been rebranded from 'speed\_share' to 'Fast Share' (package com.nightmare.fastshare, label '速享'). The native MainActivity (Java) now handles incoming file shares via SEND and SEND\_MULTIPLE intent filters, processes clipboard changes, and acquires a wake lock to keep the device awake during transfers. The AndroidManifest.xml has been updated to include permissions for Wi-Fi state, network state, and external storage management, and the launch screen now displays the app icon.
android/app · high confidence
Introduce structured message item components and factory
The message item module now uses a dedicated factory and distinct widget classes for each message type (text, file, directory, and browser file). This change replaces the previous monolithic or implicit rendering logic with explicit, type-safe components, ensuring that text, file, directory, and browser file messages are rendered by their respective dedicated UI widgets.
_lib/modules/message\item · high confidence
Mac app renamed to Speed Share and Xcode scheme updated
The macOS application bundle name has been changed from 'speed\_share' to 'Speed Share', which will be reflected in the app icon and menu bar. Additionally, the Xcode scheme configuration has been updated to reflect the new buildable name and upgraded to Xcode version 15.1.
macos/Runner.xcodeproj/xcshareddata · high confidence
Migrate to Material 3 and introduce dynamic theming
The theme system has been refactored to use Flutter's Material 3 design language, replacing the previous hardcoded color definitions with a seed-based dynamic color scheme. This change introduces distinct light and dark theme implementations that automatically adapt their color palettes, while removing the legacy color extension and default theme data files. Users will see a modernized interface with updated component styles and colors that respond to the chosen seed color.
lib/themes · high confidence
Project rebranding and documentation overhaul
The application is officially rebranded from 'speed\_share' to 'Speed Share', with the English README updated to reflect the new name and detailed feature list. The project now includes a Chinese README (README-ZH.md) and a comprehensive CHANGELOG.md documenting the history from version 2.0.0 to 2.2.8. Additionally, the Dart analysis configuration has been simplified to use the standard Flutter lints package, and localization settings have been added to support multi-language capabilities.
(repo-wide) · high confidence
Redesigned home screen with platform-specific layouts and drag-and-drop support
The home screen experience has been restructured to provide distinct interfaces for desktop and mobile devices. A new DesktopHome widget introduces a sidebar navigation layout and enables native drag-and-drop file sharing, allowing users to drop files directly onto the window to initiate transfers. The mobile interface now uses a bottom navigation bar to switch between the chat window and settings, replacing the previous single-page layout. Additionally, the previous home page implementation is now marked as deprecated in favor of these new platform-specific modules.
lib/modules/home · high confidence
Refactored file handling, added QR scanning, and removed legacy server utilities
The lib/utils module has been restructured to improve file management and add new interaction capabilities. A new file\_util.dart now handles file selection with platform-specific logic (using file\_manager on Android to avoid memory issues, and file\_selector on desktop/web) and provides a unified openFile method that routes images and videos to in-app previews while opening other files with the system handler. A new scan\_util.dart enables QR code scanning to join file-sharing sessions, and path\_util.dart ensures safe file saving by appending numeric suffixes to avoid overwrites. Additionally, assets\_util.dart was added to unpack web resources from a bundled zip file for browser access. Conversely, the legacy server.dart, toast.dart, and virtual\_directory.dart files have been removed, indicating a shift away from the previous local HTTP server and custom toast implementation.
lib/utils · high confidence
Removal of macOS plugin registration file
The \GeneratedPluginRegistrant.swift\ file in the macOS Flutter directory has been deleted. This file previously handled the automatic registration of the \path\_provider\_macos\ plugin with the Flutter engine. Its removal indicates that the \path\_provider\_macos\ dependency is no longer required or is being managed through a different mechanism, effectively removing the plugin's integration from the macOS build.
macos/Flutter · high confidence
Reorganized controller architecture and introduced custom animated switch widget
The application's controller layer has been restructured into a dedicated folder with a barrel export file, introducing new controllers for chat, device management, file operations, downloads, and settings while deprecating the legacy FileController. This refactor establishes a clearer separation of concerns for handling device connections, message caching, and file classification. Additionally, a new custom animated switch widget (XlivSwitch) has been added to the UI library, providing a visually distinct toggle control with bounce animations and customizable colors to replace standard system switches.
lib/controllers · high confidence
Updated macOS window size and copyright year
The macOS application window default size has been increased from 800x600 to 1000x750 pixels, and the copyright year in the application information has been updated to 2022.
macos/Runner/Base.lproj · high confidence
Updated web entrypoint and manifest for modern Flutter web standards
The web entrypoint (index.html) has been recreated to use a dynamic base href placeholder ($FLUTTER\_BASE\_HREF) instead of a static value, allowing the build system to configure the correct path. The inline JavaScript logic for service worker registration and script loading has been removed in favor of a standard async script tag pointing to flutter\_bootstrap.js, simplifying the boot process. Additionally, the manifest.json has been updated to include maskable icon variants (192x192 and 512x512) to better support adaptive icon requirements on Android and other platforms, and a favicon link has been added.
web · high confidence
iOS project upgraded to Xcode 13 with CocoaPods integration and updated deployment targets
The iOS project configuration has been upgraded to Xcode 13 (project version 54, upgrade check 1300), raising the minimum deployment target to iOS 11.0. CocoaPods integration is now fully wired into the Xcode project, including the Pods workspace reference, framework embedding, and manifest lock checks. The app bundle identifier was changed to com.nightmare.share, the display name to 速享, and specific code signing identities and provisioning profiles were configured. Additionally, the main storyboard was updated to support modern device dimensions (iPhone 14 Pro), and the Info.plist was updated with new keys for app category, ATS settings, and various privacy usage descriptions.
ios · high confidence
macOS app renamed to Speed Share with CocoaPods integration and deployment target update
The macOS application has been renamed from 'speed\_share' to 'Speed Share', updating the product name and bundle reference in the Xcode project. The build configuration now integrates CocoaPods, adding the Pods framework, associated xcconfig files, and build phases to check and embed pods. Additionally, the macOS deployment target has been raised from 10.11 to 10.15, and the project file format has been upgraded to object version 54.
macos/Runner.xcodeproj · high confidence
macOS app sandbox disabled and arbitrary network loads allowed
The macOS Runner app no longer runs in the sandboxed environment, and the app is now permitted to make arbitrary network connections (including HTTP) by default. This is achieved by removing the app-sandbox entitlements from both Debug/Profile and Release configurations and adding an NSAllowsArbitraryLoads exception to the Info.plist.
macos/Runner · high confidence
Test coverage
Removed default Flutter widget smoke test
The default widget test file (test/widget\_test.dart) has been removed. This test previously verified that the app's counter increments correctly when the '+' icon is tapped. Its removal indicates that this specific smoke test is no longer part of the test suite.
test · high confidence
Dependencies
Gradle wrapper upgraded to version 8.11.1
The Android build system now uses Gradle 8.11.1 instead of 6.7. This upgrade updates the underlying build toolchain, which may affect build performance and compatibility with existing plugins or custom build logic.
android/gradle · high confidence
Major platform and dependency upgrades for Android, iOS, macOS, and Flutter
The application has undergone a significant infrastructure upgrade to support modern platform standards and improved stability. On Android, the build system has migrated to the new Gradle plugin management DSL, the application ID was changed to 'com.nightmare.fastshare', the minimum SDK was raised to 18, and Java/Kotlin compilation targets were upgraded to version 17. iOS and macOS deployment targets were increased to iOS 11.0 and macOS 10.15 respectively. The Flutter SDK constraint was updated to ^3.8.0, and numerous Dart dependencies (such as \dio\, \file\_picker\, \mobile\_scanner\, and \better\_player\_plus\) were upgraded to their latest compatible versions, alongside the addition of new packages like \tray\_manager\ and \window\_manager\ for desktop support.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 47.
Lenses
- Code Health 88
- Architecture 93
- Maturity 50
- Readiness 36
- Security 83
- Domain Modelling 100
- Accessibility 40
Changes since last survey
- 300 commits — 261 feature/other, 39 fixes
By area
- (root) — 75 commits
- .github/workflows — 59 commits
- lib/modules — 45 commits
- (repo) — 27 commits
- lib/app — 24 commits
- android/app — 10 commits
- scripts/build — 8 commits
- .github/ISSUE_TEMPLATE — 5 commits
- lib/generated — 4 commits
- lib/models — 4 commits
- lib/utils — 4 commits
- lib/common — 2 commits
- lib/controllers — 2 commits
- lib/main.dart — 2 commits
- lib/model — 2 commits
- macos/Runner — 2 commits
- scripts/icon — 2 commits
- windows/runner — 2 commits
- .vscode/launch.json — 1 commit
- android/gradle — 1 commit
Notable commits
- fix: Fix assets problem and update config
- fix: Fix compile issue
- fix: Fix compile problem
- fix: Revert "chore: change actions output name"
- fix: chore: Fix compile bug
- fix: chore: Fix file upload bug
- fix: chore: Upgrade Futter to 3.10, Fx compile bug
- fix: chore: fix build bug
- fix: chore: fix github actions bug
- fix: chore: fix workflows bug
- fix: fix build bug
- fix: fix url jump
- fix: fix: Action build error
- fix: fix: Compile bug
- fix: fix: Fix bug
- fix: fix: Fix build error
- fix: fix: Fix some bug
- fix: fix: bug!!!
- fix: fix: compile bug
- fix: fix: compile bug
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
nightmare-space/any_share was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 19 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit b9c067b1668b91114084a7518c674e3ffb36146c — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-13a154b7f5d1.