Skip to content

Commit

Permalink
Bumped version and updated README for 0.1.0 release.
Browse files Browse the repository at this point in the history
Now with Firfox Marionette and Chrome Debugging Protocol support.
  • Loading branch information
golliher committed Apr 8, 2018
1 parent 5c150d6 commit a5cb59c
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 18 deletions.
46 changes: 30 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Overview

Gotator is a program that runs continusouly and rotates content on a
Firefox browser. The use I had in mind was to control the rotation of
content on an information radiator.
browser. Firefox and Chrome are supported. The use I had in mind
was to control the rotation of content on an information radiator.

I was not satisified with the status quo of using a browser plugin to
rotate on a evenly distributed schedule. For some content 10 seconds is
Expand All @@ -12,22 +12,22 @@ I also wanted to make it easier to
switch out content schedules remotely.

Features:

* Plays a list of URLs each for the specified amount of time.
* Has a HTTP api for pausing, skipping or playing a URL immediately on screen

Future?
* Have content dependant on time of day or day of week. i.e. Monday morning content
might be different than Wednesday afternoon, etc.
* Authentication
* Encrypt communications

# Install

## Dependencies
Gotator has two dependencies:
Gotator can control Firefox or Chrome. You will need one or the other and you will need to start them
with either [Marionette](https://firefox-source-docs.mozilla.org/testing/marionette/marionette/index.html) for Firefox or
remote debugging enabled for Chrome.

### Firefox example (Mac)
```open -n -a Firefox.app --args --marionette -P Automation```

1. Firefox
2. [FF-Remote-Control (a FireFox extension)](https://github.com/FF-Remote-Control/FF-Remote-Control/releases)
### Chrome example (Mac)
```(cd "/Applications/Google Chrome.app/Contents/MacOS" && ./Google\ Chrome --remote-debugging-port=9222)```

## Binary releases

Expand All @@ -50,9 +50,15 @@ default.csv defines the content you want show by gotator

## config.yaml

```FIREFOX_IP``` This is the IP address for the FireFox browser that gorotator will control with FF-Remote-Control.
```BROWSER_IP``` This is the IP address for the FireFox browser that gorotator will control with FF-Remote-Control.

```BROWSER_PORT``` Likewise this is the PORT that Firfox Marionette or Chrome are listenting to. Hint: It's probably 9222

```BROWSER_MODE``` As of version 0.1.0 Gotator supports three operating modes.

```FIREFOX_PORT``` Likewise this is the PORT that the FF-Remote-Control is configured to listen to.
1 = original FF-remote-control plugin (deprecated)
2 = Fireforx Marionette
3 = Chrome debugging protocol

```program_file``` A CSV file containing a gotator program list. Gotator ships with a configuration to use default.csv

Expand All @@ -64,8 +70,7 @@ Note: You can edit config.yaml and change the program_file without interrupting
changes to config.yaml and pulls them in without a restart. This can be useful for swapping out program files for a running
gotator.

Also note, go-rotator itself listens for HTTP requests. At present
these requests are not authenticated and the port is not configurable. The port is 8080.
Also note, go-rotator itself listens for HTTP requests.

Pull requests are welcome. I intend to improve both when I get the time. I work on this only over morning coffee.

Expand All @@ -85,7 +90,7 @@ The original use for gotator was to run scheduled content without further user i
allows for more hands on control.

It would be reasonable and expected for you to run gotator in either GNU screen to tmux. Any console input will be interrepted
as a request to skip past the current content and show the next thing in rotation.
as a request to skip past the current content and show the next thing in rotation if you have set ```interactive: true``` in your config file.

gotator accepts one command line argument. Running "gotator version" will print the version and exit. Normal operation is to simply run
"gotator".
Expand All @@ -109,3 +114,12 @@ For purposes of illustration, assume your IP addres is 127.0.0.1. Remember that
### Play

```http://127.0.0.1:8080/play?url='http://example.com'&duration='30s'``` - Pauses normal rotation, shows the requested URL immediately for the specified duration

# Future?

* Have content dependant on time of day or day of week. i.e. Monday morning content
might be different than Wednesday afternoon, etc.
* Authentication
* Encrypt communications


2 changes: 1 addition & 1 deletion config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ BROWSER_PORT: 9222
BROWSER_CONTROL_MODE: 3
program_file: default.csv

interactive: true
interactive: false
apienabled: true
GOTATOR_PORT: 8081
2 changes: 1 addition & 1 deletion main.go
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ var skip = make(chan struct{})
var exitprogram = make(chan struct{})
var pause bool
var mu = &sync.Mutex{}
var version = "0.0.5"
var version = "0.1.0"

func main() {

Expand Down

0 comments on commit a5cb59c

Please sign in to comment.