# IP Tagger

IP Tagger is a test [channel for Roku devices](https://sdkdocs.roku.com/display/sdkdoc/SceneGraph+Samples).
It uses SceneGraph and the BrightScript language.

# Getting the project

At [git.dlma.com](https://git.dlma.com/roku_ip_tagger.git) click Download and select Download ZIP or Download TAR.

If you're me, and you want to contribute to the repo, then you can clone it like so:

    git clone ssh://$USER@dlma.com/~/git/roku_ip_tagger.git

# Building it

[Ensure you can sideload a dev channel](https://sdkdocs.roku.com/display/sdkdoc/Loading+and+Running+Your+Application).
Then see the "build\_systems" command in ip\_tagger.sublime-project to see how the channel is zipped and deployed.

In the components directory, move the file "[settings.xml.sample](https://git.dlma.com/roku_ip_tagger.git/blob/main/components/settings.xml.sample)"
to "settings.xml" and update its `url` and `auth` fields.

It is convenient to set environment variables `$ROKU_DEV_TARGET` and `$DEVPASSWORD` in a local file ".env". For example:

    ROKU_DEV_TARGET=192.168.1.2
    DEVPASSWORD=mooltipass

### CLI

Running make will build and deploy if you have `$ROKU_DEV_TARGET` and `$DEVPASSWORD` set.

    make

You can automatically make and deploy with each changed file with the following command:

    git ls-files | entr -c sh -c 'make all'

### VS Code

VS Code can also use the Makefile with [VC Code Makefile Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.makefile-tools).


# Corresponding Server Code

Here's [the corresponding server code](https://git.dlma.com/kvs.git/).

# Is it any good?

[Yes](https://news.ycombinator.com/item?id=3067434).

# Licence

This software uses the [MIT license](https://git.dlma.com/roku_ip_tagger.git/blob/main/LICENSE.txt).
