Giter VIP home page Giter VIP logo

rotom's Introduction

Rotom (MITM Connector)

A connector to connect MITM and other applications (eg a scanner).

Config

Default configuration accepts inbound connections from devices on port 7070 and accepts inbound connections from raw processors on port 7071 and marries the two.

There is a file config/default.json - copy this to config/local.json to override these port settings

Starting

First, install the dependencies:

npm ci

Then build the application:

npm run build

And then you can run the app:

npm run start

PM2

First, install the dependencies:

npm ci

Then build the application:

npm run build

And then start application in PM2

pm2 start dist/packages/server/main.js --name rotom

Updating

When pulling an update, if you see a change on the package-lock.json file, then you can run:

npm ci

Rebuild the app:

npm run build

Then you can restart the app.

rotom's People

Contributors

fabio1988 avatar turtiesocks avatar na-ji avatar lenisko avatar jfberry avatar cronick avatar and189 avatar notheowner avatar

Stargazers

 avatar IdkxdAsf avatar  avatar  avatar Athrun avatar  avatar  avatar M3G4THEKING avatar  avatar

Watchers

Chris Behrens avatar  avatar  avatar  avatar RaizeTheLimit avatar

rotom's Issues

Workers not sorted correctly

Just a minor issue, but when sorting workers by Origin (at least) its not sorting correctly when Origin name only contains int values (didn't test with string values yet) :-)

image

Provide extended information

Be able to click on a worker or controller connection to get the extended information that rotom knows (eg source IP address of connection)

Save Origin and Workers

I think this is both an Issue/Feature Request. Currently, Rotom's dashboard and API are dynamic. Origin and Workers can drop off, so real-time monitoring scripts may not pick up if anything is offline. Kasmar is working on updating RDMMonitor to keep track of these changes, so this can provide a workaround. However, if both are restarted "like on a server restart", then everything is empty. Therefore, it would be nice to store Origin and Workers in a database as static placeholders so we can properly monitor workers and ensure uptime.

WishList: Prometheus metrics

Following metrics would be nice to have via prometheus:

  • Total workers
  • Workers in Use
  • Available Workers
  • Device Metricen like ui (Origin, Load, Device id, is alive, MITM version, etc ...)
  • Worker Metricen like ui (Origin, Worker id, is active, scanner worker name, last message)
  • Job Queue count
  • Job Queue status

Average connection duration

Some way to show / record a rolling average connection duration or some other way to highlight devices that are connecting but continuously fail when a controller connects

[Feature Request] Ad-hoc Jobs

Would it be possible to implement ad-hoc jobs in Rotom ?

What I mean is the ability to send any adb command to one or several device by simply inputing it in the web interface of Rotom, even if that command doesn't already exist as a Rotom Job.

This would be pretty useful, typically when needing to check if some app is running on a device, or if some parameter is correctly set.

I'm aware this could potentially represent a security issue if the rotom web app is left unprotected, but it's already the case for current jobs, even if more limited. Maybe Rotom could have one or 2 configuration settings to enable/disable jobs and/or ad-hoc jobs. It's then up to the user to secure its Rotom install if they have activated jobs.

Thanks

Device infos not available via prometheus stats

The information about a device, which is shown in the ui, is not available via prometheus metric.

This information/metric is essential for grafana dashboards and for monitoring the ATV devices.

Can you please add it?

Feature Request - Cooldown Overwrite

Add a cooldown overwrite so the end user can calibrate according to their device needs. Would help people running a mix of android or iOS which have different cooldown needs.

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.