-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 6388ebe
Showing
68 changed files
with
7,470 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
builds/ | ||
dist/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2017 Belltown | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
<h1 style="color: white; background-color: #af9cd9; padding: 2em 0; text-align: center"> VioletBug — Roku Debugger Graphical Interface</h1> | ||
|
||
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](http://electron.atom.io/) and [Node.js](https://nodejs.org), written entirely in HTML, CSS and JavaScript. The source code can be found on [GitHub](https://github.com/belltown/violetbug). | ||
|
||
## Features | ||
|
||
* Runs under Windows (7+), macOS (10.9+), and linux | ||
* Automatic discovery of Rokus on the local network | ||
* A drop-down menu of well-known Roku ports | ||
* Separate tabs for each Roku/port connection | ||
* Floating tabs (right-click the tab header) | ||
* Session logging for each tab | ||
* Clear screen/clear line | ||
* 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 | ||
|
||
* Download `violetbug-mac.zip` from https://github.com/belltown/violetbug/releases/latest | ||
* Click the downloaded file to unzip | ||
* Move it anywhere; click to run | ||
* You may receive an *unidentified developer* warning. Open the file anyway (you may need to right-click the app, then select Open). For further information, click on the question-mark in the dialog box for Apple's help, or consult https://support.apple.com/kb/PH21769?locale=en_US | ||
|
||
### 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.zip | ||
``` | ||
|
||
Unzip to the appropriate folder, e.g. `/opt` | ||
``` | ||
sudo unzip -o -q violetbug.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) | ||
- freebsd package (FreeBSD) | ||
- AppImage package file (multiple linux distributions) | ||
|
||
AppImage files should run on any linux distribution that supports [AppImage](http://appimage.org/): | ||
|
||
* Set the file to be executable, e.g: `chmod u+x violetbug*.AppImage` | ||
* 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. | ||
|
||
###### 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](https://github.com/belltown/violetbug/blob/master/doc/BUILD.md). | ||
|
||
## Support | ||
|
||
Contact [belltown](https://forums.roku.com/ucp.php?i=pm&mode=compose&u=37784) through the [Roku Forums](https://forums.roku.com/viewforum.php?f=34) | ||
|
||
File a GitHub issue at https://github.com/belltown/violetbug/issues | ||
|
||
## Screenshots | ||
|
||
 | ||
|
||
 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
## Build Instructions | ||
|
||
- These build instructions are only necessary if you wish to build your own version of VioletBug after changing the source code | ||
- All builds are for 64-bit systems | ||
- Building is controlled by the source/package.json file | ||
|
||
#### Build setup | ||
|
||
- Install node.js and npm by following the instructions on https://nodejs.org | ||
- Change into the directory that will contain the violetbug project directory: `cd violetbug` | ||
- Clone the GitHub repository: `git clone https://github.com/belltown/violetbug` | ||
- Change into the `source` directory: `cd violetbug/source` | ||
- Install the npm packages: `npm install` [Note that the development dependency versions listed in package.json are specified as fixed version numbers. Change these if you want more up-to-date versions] | ||
- Run violetbug: `npm start` | ||
|
||
#### Building from source (only required if generating binary zip files) | ||
|
||
*All builds must be run from the `violetbug/source` directory.* | ||
|
||
||| | ||
|---|--- | ||
|`npm run build-mac` | Run on **linux or macOS** to generate `/builds/mac` | ||
| `npm run build-linux` | Run on **linux or macOS** to generate `/builds/linux` | ||
| `npm run build-win` | Run on **Windows** to generate `/builds/win` | ||
|
||
#### Generating binary zip files (run on linux or macOS - not on Windows) | ||
|
||
*All zips must be run from the `violetbug/source` directory, and require the corresponding build step above to have been run.* | ||
|
||
||| | ||
|---|--- | ||
| `npm run zip-mac` | To generate `/dist/violetbug-mac.zip` | ||
| `npm run zip-linux` | To generate `/dist/violetbug-linux.zip` | ||
| `npm run zip-win` | To generate `/dist/violetbug-win.zip` | ||
|
||
#### Generating installers (does not require build from source or binary zip files) | ||
|
||
*Ideally, generate the installer from the target system you are generating the installer for.* | ||
|
||
There is no installer implemented for macOS. For macOS, use the build/zip mechanism above. | ||
|
||
The following commands are available to generate installers in `/dist`: | ||
|
||
|| | ||
|--- | ||
| `npm run dist-appimage` | ||
| `npm run dist-deb` | ||
| `npm run dist-rpm` | ||
| `npm run dist-freebsd` | ||
| `npm run dist-tarxz` | ||
| `npm run dist-win` |
Oops, something went wrong.