GithubHelp home page GithubHelp logo

fantasticfiasco / searchlight Goto Github PK

View Code? Open in Web Editor NEW
13.0 3.0 2.0 3.24 MB

A cross-platform desktop application discovering Axis network video devices on your network

Home Page: https://fantasticfiasco.github.io/searchlight

License: GNU General Public License v3.0

TypeScript 45.30% Vue 9.81% JavaScript 0.12% SCSS 44.76%
searchlight axis communications camera device discovery bonjour ssdp upnp

searchlight's Introduction

Searchlight - A desktop application discovering Axis network video devices on your network

Linux and Mac build status Windows build status dependencies Status devDependencies Status

Searchlight is built using the latest web technologies and provides a responsive and user-friendly interface. For more information please see https://fantasticfiasco.github.io/searchlight.

alt text

Contributing

If you are interested in fixing issues and contributing directly to the code base, please see the document Contributing, which covers the following:

  • How to build and run from source
  • Submitting pull requests
  • Commit message guidelines

Please see also our Code of Conduct.

Feedback

searchlight's People

Contributors

dependabot[bot] avatar fantasticfiasco avatar greenkeeper[bot] avatar mattias-kindborg-at-work avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

steabert lathan87

searchlight's Issues

Force applying updates

When application updates have been downloaded, force restart after a certain duration. Perhaps one should wait 24h, and perhaps the restart should happen during idle time or during the night.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: Cannot find preset's package (github>FantasticFiasco/renovate-config)

Does Bonjour add any value?

Devices are currently found using Bonjour and SSDP. Does Bonjour provide any value? Do we improve the number of devices found by utilizing Bonjour?

Networks with many devices

Searchlight is targeted towards networks with few devices, but if run on a network with a large amount of devices, the following issues must be solved:

  • Initial display of devices - When starting the application it takes a couple of seconds before the devices show up. Either speed up this process (perhaps by throttling discovered devices in the renderer, allowing the view to be rendered) or indicate that a discovery is in progress
  • SSDP rootdesc - The root description is retrieved far to often, this becomes a problem in networks with many devices. Investigate if the parameters in rootdesc can change without device restart, because perhaps the file only should be retrieved first time, and then after a device restart?

Shared SSDP port

Does the application work if the SSDP port (1900) or Bonjour port (5353) already is used by another application?

Portable windows application

Build to target portable Windows application.

  • Make sure application still notify about application updates
  • Make sure the user can switch from portable to installed application, providing better Windows integration

Cache device icons

The device icons are retrieved from www.axis.com, and each device displayed in Searchlight is potentially retrieving the same image multiple times (I am not sure about this, will have to look it up). To speed up the application startup time, I could cache the device image on disk, and only the first request would retrieve the icon from internet, the other would retrieve from disk.

There is another benefit with this as well. Running Searchlight on a network without internet access would still provide device icons assuming the device model had been found on a network with internet access.

No device icon displayed

Step 1: Describe your environment

Windows 10 x64

Step 2: Describe the problem

Steps to reproduce:

  1. Start application
  2. Let a device be discovered using only Bonjour
  3. Validate that no device icon is displayed (this is normal, Bonjour does not describe the model)
  4. Let the device be discovered using SSDP

Observed results

Even though the device is discovered using both Bonjour and SSDP, no device icon is displayed.

Expected results

At the point where the device is discovered using SSDP, the device model is known. At that point a device icsn should be displayed. It currently isn't.

Perhaps when solving this issue one should investigate whether caching device icons on disk improve performance and startup time.

macOS support

Step 1: Describe your environment

macOS

Step 2: Describe the problem

Searchlight does not have support for macOS. It seems two be at least two problems:

  • axis-discovery-bonjour throws an exception at startup. It seems that macOS is preventing the package from listening to network traffic on port 5353
  • The built in Chromium proxy does not seem to have an affect on macOS, where it plays its part on Linux and Windows.

Crash when downloading updates

If there are any changes to the network during downloading application updates, the application will crash. It is easily reproducible by connection to another WIFI network during download.

This is a known issue in electron-updater #2398.

No device icon

[info] Analytics - reportEventWithValue www.axis.com invalid device icon unknown undefined

Universal Analytics tracking id

The tracking id is not correct after a build. The id is process.env.UNIVERSAL_ANALYTICS_TRACKING_ID, probably because the transformation of config.json in the npm scripts isn't successful.

Improve analytics

Review that analytics the app is reporting. Both in terms what it ought to report that it isn't, and what it is but ought not to.

Improve SSDP performance

  • One can perhaps reduce the amount of times one read rootdesc.xml. Perhaps it should only be read once at startup, and then only after a device restart. Analyze the parameters we read from the file, and determine whether any of the parameters can change without a device restart.
  • When reading rootdesc.xml, disregard any proxy settings and send the request directly to the device.

Unsupported device models

The following device models is not showing any icon, or is not locating its product page.

  • C2005
  • C Bullet LE
  • C Cube LW
  • C Bullet mini LE
  • C Cube L
  • C Eye Mini L
  • P3807-PVE
  • Q1785-LE

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.