Giter Site home page Giter Site logo

violetbug's Introduction

VioletBug — Roku Debugger Graphical Interface

Windows — macOS — linux

VioletBug is a cross-platform desktop application providing a graphical interface to the Roku Debugger as an alternative to Telnet. It is similar to PurpleBug, https://belltown-roku.tk/PurpleBug, which is still supported; however, PurpleBug only runs on Windows PCs, and is closed-source. VioletBug, in contrast, is open-source running under Electron and Node.js, written entirely in HTML, CSS and JavaScript. The source code can be found on GitHub.

Features

  • Runs under Windows (7+), macOS (10.9+), and linux
  • Automatic discovery of Rokus on the local network
  • Manual input of IP address or host name for undiscovered devices
  • A drop-down menu of well-known Roku ports (other ports can be added in the Settings menu)
  • Separate tabs for each Roku/port connection
  • Floating tabs (right-click the tab header)
  • Session logging for each tab
  • Clear screen/clear line/cut/copy/paste/find
  • Configurable foreground/background colors
  • Configurable font settings (9 monospace fonts included)
  • Auto scroll, auto wrap
  • Really large window buffers
  • Really large command history buffer
  • Command-line editing using arrow and paging keys
  • Command-line completion (tab and shift-tab)
  • User-configurable shortcut keys

Installation

macOS Installation

Windows Installation

VioletBug can be downloaded on Windows using either an automatic "One-Click" NSIS installer, or by manual installation. If one method doesn't work, try the other.

Automatic Installation
  • Download VioletBug.Setup.x.y.z.exe from https://github.com/belltown/violetbug/releases/latest
  • Run the downloaded file to install VioletBug. It may appear as if nothing's happening for a minute or so, depending on how your computer is configured. Be patient and the installation should complete, then VioletBug will launch
  • Pin the VioletBug icon to the Taskbar for convenient access, or use the desktop shortcut icon
  • You may have to disable your anti-virus protection (unless using only Windows Defender), before downloading and running the installer
  • If Windows SmartScreen appears (twice), click More info, then Run anyway
Manual Installation
  • Download violetbug-win.zip from https://github.com/belltown/violetbug/releases/latest
  • Extract violetbug-win-zip to C:\Program Files (Explorer, right-click, Extract All ...)
  • Click on the violetbug.exe executable in C:\Program Files\violetbug-win32-x64 to run VioletBug
  • Click Allow access if prompted to allow firewall access
  • Pin the icon to the Taskbar for convenience, or update the Path variable to run from the command line

Linux Installation

Compiled binaries and installers for various linux distributions are provided at https://github.com/belltown/violetbug/releases/latest

To download compiled binaries for most linux distributions

Download violetbug-linux.zip from https://github.com/belltown/violetbug/releases/latest, e.g:

cd ~/Downloads
wget https://github.com/belltown/violetbug/releases/download/vx.y.z/violetbug-linux.zip

Unzip to the appropriate directory, e.g. /opt

sudo unzip -o -q violetbug-linux.zip -d /opt

Run the application:

 /opt/violetbug-linux-x64/violetbug

Attach to the Launcher for convenience. If you don't see the application icon, try copying the file /opt/violetbug-linux-x64/resources/app/violetbug.desktop to ~/.local/share/applications/violetbug.desktop, editing it if necessary for the correct path name/icon file, etc.

To download installers for specific linux distributions

Download one of the following installers:

  • deb package (Ubuntu/Mint/Debian, etc)
  • rpm package (Fedora/CentOS/Red Hat, etc)
  • AppImage package file (multiple linux distributions)

AppImage files should run on any linux distribution that supports AppImage:

  • First, download the .AppImage file into any directory from which you can execute applications
  • Next, set the file to be executable, e.g: chmod u+x violetbug*.AppImage, or set executable file property in File Manager GUI
  • Finally, run the file, e.g: ./violetbug*.AppImage
  • All required dependencies and resources are contained in the .AppImage file. Nothing else gets installed. Run the file from any location; delete it to uninstall.

BSD variants, such as FreeBSD, are not supported.

Linux dependency issues

If you get this error on linux: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory, then install libXScrnSaver, e.g: sudo yum install libXScrnSaver.

Firewall Configuration

You may need to configure your firewall for automatic device discovery, particularly when using linux. VioletBug listens for SSDP M-SEARCH and NOTIFY responses.

On Fedora or CentOS, for example, use the following commands to configure the firewall:

sudo firewall-cmd --permanent --add-port=1900/udp
sudo firewall-cmd --permanent --add-port=32768-61000/udp
sudo firewall-cmd --reload

On Ubuntu, the firewall is typically disabled by default. However, if enabled then all, some, or none, of the following incoming and/or outgoing rules may be required depending on how the firewall is set up:

### Incoming rules

# SSDP NOTIFY responses
sudo ufw allow in from 192.168.0.0/24 to any port 1900 proto udp

# SSDP M-SEARCH responses
sudo ufw allow in from 192.168.0.0/24 port 1900 proto udp

# ECP & Debug responses
sudo ufw allow in from 192.168.0.0/24 port 8060:8093 proto tcp

### Outgoing Rules

# SSDP M-SEARCH requests
sudo ufw allow out to 239.255.255.250 port 1900 proto udp

# ECP & Debug requests
sudo ufw allow out to 192.168.0.0/24 port 8060:8093 proto tcp

### Reload the new firewall configuration
sudo ufw reload

Updates

Automatic updates are not supported. Check the project's Releases page, https://github.com/belltown/violetbug/releases for updates.

Install a new update just like you did the original. All configuration settings should be saved.

Build Instructions

To build your own version of VioletBug from the source code, see Build Instructions.

Support

Contact belltown through the Roku Forums

File a GitHub issue at https://github.com/belltown/violetbug/issues

Screenshots

Rokus

Connections

violetbug's People

Contributors

belltown avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

violetbug's Issues

Is there a way to filter the console?

Is there a way to filter the debug log messages by a certain word?
Its hard to debug something when your screen is flooded with massive amounts of text.

For instance (normal debug log):
Msg A
Msg B
Msg C
Msg A

Filtering for Msg A (debug log w/ filter):
Msg A
Msg A

"Log file" menu option does not save file on Mac OS Mojave 10.14

Steps to reproduce:

  • start it on Mac OS Mojave 10.14
  • make violetbug contain long log
  • right click, select "Log file" and save the file
  • file does not contain log, just "Logging started" line

Expected result:

  • file to contain actual log

Confirmed on 2 separated Macbooks.

OSX copy (command+C) doesn't seem to work

I am trying to copy and past from violetbug and I use OSX key commands alot.

The key command (command+C) does not seem to work.

The right-click context menu has an option for copy that does work.

Great tool! Thanks.

No logs from Violetbug

I had logs from Roku device from Violetbug for 1 day, then the next day see no logs because connection to 8085 is closed. I tried to add in and outbound rules to open this port but still see the same issue.

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.