
Research
/Security News
Critical Vulnerability in NestJS Devtools: Localhost RCE via Sandbox Escape
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
A Python package and MCP server to control video players for MultiViewer, the best way to watch motorsports like Formula 1.
mvf1
A Python package, command line interface and MCP server to control video players for
MultiViewer
_, the best way to watch Formula 1.
.. image:: https://dl.circleci.com/status-badge/img/gh/RobSpectre/mvf1/tree/main.svg?style=svg :target: https://dl.circleci.com/status-badge/redirect/gh/RobSpectre/mvf1/tree/main
.. image:: https://codecov.io/gh/RobSpectre/mvf1/branch/main/graph/badge.svg?token=L5N96KXN2V :target: https://codecov.io/gh/RobSpectre/mvf1
.. image:: https://readthedocs.org/projects/mvf1/badge/?version=latest :target: https://mvf1.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
.. contents:: :local: :depth: 1 :backlinks: none
MultiViewer
. Useful for
integrations with control interfaces like StreamDeck
MultiViewer
_. No GraphQL needed!MultiViewer
_ - perfect for controlling the
broadcast for with AI agents.Type hints
_Full documentation
_Test coverage
_black
_ Praise the Dark LordThe latest version can be installed via pip
_.
.. code-block:: bash
$ pip install mvf1
.. code-block:: bash
$ mvf1-cli --help
.. code-block:: bash
$ mvf1-cli mcp
To use in an AI agent, use your framework's affordance for a stdio
MCP
server.
Here is an example with PydanticAI.
.. code-block:: python
from pydantic_ai import Agent
from pydantic_ai.mcp import MCPServerStdio
server = MCPServerStdio(
'mvf1-cli',
args=[
'mcp'
]
)
agent = Agent('openai:gpt-4o', mcp_servers=[server])
Displaying all players
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> remote.players
[6: INTERNATIONAL, 7: PER]
Pause all players
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> for player in remote.players:
>>> player.mute()
{'data': {'playerSetMuted': True}}
{'data': {'playerSetMuted': True}}
Retrieve specific player
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> player = remote.player(6)
>>> player.state
{'ts': 1677168293.21, 'paused': False, 'muted': True, 'volume': 100, 'live': False, 'currentTime': 10.002025, 'interpolatedCurrentTime': 363.656025}
Switch stream of player to data channel
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> player = remote.player(6)
>>> player.switch_stream('DATA')
{'data': {'playerCreate': '12'}}
Synchronize all players to specific player
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> player = remote.player(6)
>>> player.sync()
{'data': {'playerSync': True}}
Synchornize all players to player streaming broadcast commentary
.. code-block:: python
>>> from mvf1 import MultiViewerForF1
>>> remote = MultiViewerForF1()
>>> remote.player_sync_to_commentary()
{'data': {'playerSync': True}}
To hack on the project, clone the GitHub repo
_:
.. code-block:: bash
$ git clone https://github.com/RobSpectre/mvf1
Then install in a virtualenv
_.
.. code-block:: bash
$ pip install -e ./
The project uses tox
_ for tests. Simply run from project root
.. code-block:: bash
$ tox
Rob Spectre
_.MIT License
_.MultiViewer
_ or
Formula 1 TV
_.MultiViewer
_ team! This app absolutely
changed how I enjoy Formula 1... _MultiViewer: https://multiviewer.app/ .. _pip: https://multiviewer.app/ .. _GitHub Repo: https://github.com/RobSpectre/mvf1 .. _virtualenv: https://multiviewer.app/ .. _Rob Spectre: https://brooklynhacker.com .. _MIT License: http://opensource.org/licenses/MIT .. _tox: https://tox.wiki/en/latest/ .. _black: https://black.readthedocs.io/en/stable/ .. _StreamDeck: https://www.elgato.com/en/welcome-to-stream-deck .. _type hints: https://docs.python.org/3/library/typing.html .. _Full documentation: https://mvf1.readthedocs.io/en/latest/ .. _Test coverage: https://app.codecov.io/gh/RobSpectre/mvf1 .. _Formula 1 TV: https://f1tv.formula1.com/
FAQs
A Python package and MCP server to control video players for MultiViewer, the best way to watch motorsports like Formula 1.
We found that mvf1 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
/Security News
A flawed sandbox in @nestjs/devtools-integration lets attackers run code on your machine via CSRF, leading to full Remote Code Execution (RCE).
Product
Customize license detection with Socket’s new license overlays: gain control, reduce noise, and handle edge cases with precision.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.