Remote control for presentations

Overview

Presento

The simplest possible cross-platform remote control for the presentations

Example

Current version with prompter looks like this:

3 2 1

Setup

Precompiled binaries

If you simply need the working product, just go here and download executable binary file for your platform

Install

For those who want to install it as a tool for terminal. Presento is written in Go so you'll need to install Go first. Once that's done, you can install the thing. Just run this:

$ go get github.com/alxrm/presento

That's it! Now you can always access it in terminal:

$ presento

Usage

NOTE: The only requirement is your cellphone has to be in the same Wi-fi network as your laptop, it simply would not work otherwise

As you can(or cannot) see on the GIF above, the flow is pretty simple:

  1. You launch the executable file(or run it from terminal if you istalled it), it will open the command line app with this text in it:
  Go to http://192.168.0.**:5000/**** to control

The link is generated with the 4-letter random sequence in the end

This was made because there might be those cases when someone sitting in the room might know the local address and try to spoil your presentation, so this should prevent such situations from happening

  1. Open the presentation on the fullscreen

  2. The link should be opened in your cellphone's browser, and by clicking on those huge buttons you can simulate keyboard press on the left/right buttons on the laptop that is showing the presentation thus changing the slides

  3. Look cool

Prompter

Sometimes it might be useful to have some lyrics while you're doing your keynote.

To add one, all you need to do is just to create a file prompter.md in the directory where your presento binary's been started from.

It'll just read the contents and render it as html, like in those screenshots above, nice and simple.

Reason

So most of the time, when I need to show a presentation it goes like this:

  • I launch it from my laptop, which is connected to the projector
  • I run to my laptop to change the slide (repeat this part)

Then this thought came:

"Well it would be nice to have the ability to change the slides, like all those guys I usually see on the conferences"

Contribution

Presento has some problems with building for Linux with goxc on the OS X, whilst it seems to be fine for the Windows/OS X. The problem comes from this awesome library, so if you can help it, you're more than welcome!

That html file, which is served via static server is also included in the binary, just use $ go generate before build everytime you change the html file, more on that here

License

MIT License. See the LICENSE file for more information.

You might also like...
Command-line tool and library for Windows remote command execution in Go

WinRM for Go Note: if you're looking for the winrm command-line tool, this has been splitted from this project and is available at winrm-cli This is a

A small CLI tool to check connection from a local machine to a remote target in various protocols.

CHK chk is a small CLI tool to check connection from a local machine to a remote target in various protocols.

Web user interface and service agent for the monitoring and remote management of WinAFL.
Web user interface and service agent for the monitoring and remote management of WinAFL.

WinAFL Pet WinAFL Pet is a web user interface dedicated to WinAFL remote management via an agent running as a system service on fuzzing machines. The

Docker-based remote code runner / 基于 Docker 的远程代码运行器
Docker-based remote code runner / 基于 Docker 的远程代码运行器

Docker-based remote code runner / 基于 Docker 的远程代码运行器

zero-trust remote firewall instrumentation
zero-trust remote firewall instrumentation

ShieldWall embraces the zero-trust principle and instruments your server firewall to block inbound connections from every IP on any port, by default.

High Performance Remote Object Service Engine
High Performance Remote Object Service Engine

=============== Hprose is a High Performance Remote Object Service Engine. It is a modern, lightweight, cross-language, cross-platform, object-oriente

rtop is an interactive, remote system monitoring tool based on SSH

rtop rtop is a remote system monitor. It connects over SSH to a remote system and displays vital system metrics (CPU, disk, memory, network). No speci

Time Series Database based on Cassandra with Prometheus remote read/write support

SquirrelDB SquirrelDB is a scalable high-available timeseries database (TSDB) compatible with Prometheus remote storage. SquirrelDB store data in Cass

Local development against a remote Kubernetes or OpenShift cluster
Local development against a remote Kubernetes or OpenShift cluster

Documentation - start here! ** Note: Telepresence 1 is being replaced by our even better Telepresence 2. Please try Telepresence 2 first and report an

Gorsair hacks its way into remote docker containers that expose their APIs
Gorsair hacks its way into remote docker containers that expose their APIs

Gorsair Gorsair is a penetration testing tool for discovering and remotely accessing Docker APIs from vulnerable Docker containers. Once it has access

Open URL in your local web browser from the SSH-connected remote environment.

opener Open URL in your local web browser from the SSH-connected remote environment. How does opener work? opener is a daemon process that runs locall

cTRL is a server for remote execution of pending tasks and commands in real time, supporting a queue with continuous thread limiting and throttling.

Документация на русском: https://github.com/eltaline/ctrl/blob/master/README-RUS.md cTRL is a server written in Go language that uses a modified versi

Gorsair hacks its way into remote docker containers that expose their APIs
Gorsair hacks its way into remote docker containers that expose their APIs

Gorsair Gorsair is a penetration testing tool for discovering and remotely accessing Docker APIs from vulnerable Docker containers. Once it has access

Work with remote images registries - retrieving information, images, signing content

skopeo skopeo is a command line utility that performs various operations on container images and image repositories. skopeo does not require the user

Simple HTTP tunnel using SSH remote port forwarding

Simple HTTP tunnel using SSH remote port forwarding

Securely access remote devices and servers
Securely access remote devices and servers

Deviceplane is an open source device management tool for embedded systems and edge computing. It solves various infrastructure problems related to rem

Fast and secure standalone server for resizing and converting remote images

imgproxy imgproxy is a fast and secure standalone server for resizing and converting remote images. The main principles of imgproxy are simplicity, sp

Secure Remote Password library for Go

go-srp NOTE: This is a port of node-srp to Go. I recommend reading their README for general information about the use of SRP. Installation go get gith

A set of tests to check compliance with the Prometheus Remote Write specification

Prometheus Remote Write Compliance Test This repo contains a set of tests to check compliance with the Prometheus Remote Write specification. The test

Comments
  • You need to kill process explicitly in OS X

    You need to kill process explicitly in OS X

    When you launch it first time it'll work, but on the second launch it might not work, because in the OS X apps, that was written in Golang cannot release the port by themselves(or I couldn't figure out how to do that automatically), so the app will close itself on the start.

    Anyway, to solve this you have to type in the terminal:

    $ pkill -9 presento
    

    This will kill the process, thus release the port and make it work.

    The problem is that you have to do it after every launch, it's kind of an issue, so I'm opening this one, but in fact it's a golang specific issue.

    NOTE: This problem has been seen on the OS X only, and if you've found it elsewhere, please reply in the comments here

    Anyone who has an elegant solution for this, you are absolutely welcome.

    enhancement 
    opened by alxrm 0
Releases(0.1)
Owner
Alexey Derbyshev
Alexey Derbyshev
No-frills, web-based remote controll for pianobar.

pianobar-remote-control No-frills, web-based remote controll for pianobar. Motivation To be able to control (skip/volume/select-station) from web/phon

J Cuga 4 Aug 5, 2022
Simple control panel for Golang based on Gin framework and MongoDB

Summer panel Simple control panel for Golang based on Gin framework and MongoDB How To Install go install github.com/night-codes/summer/[email protected]

Oleksiy Chechel 7 Dec 16, 2022
Awesome-italia-remote - A list of remote-friendly or full-remote companies that targets Italian talents

Awesome Italia Remote A list of remote-friendly or full-remote companies that ta

ItaliaRemote 1.3k Dec 29, 2022
Camera Control is a software "remote control" for conference cameras, e.g. Tenveo NV10U.

Camera Control Camera Control is a software "remote control" for conference cameras, e.g. Tenveo NV10U. Smart access to stored positions and zoom sett

Jürgen Högerle 1 May 1, 2022
Automation Tool to auto generate markdown notes from online classes/talks/presentations.

autonotes Automation tool to autocapture screenshots and join them with a supplied .srt or .txt file and output a notes file in markdown. Problem? Wat

Marcos Soares 3 Aug 29, 2021
🔥🔥 🌈 Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs.

Viper remote for Nacos Golang configuration,use to Viper reading from remote Nacos config systems. Viper remote for Naocs. runtime_viper := viper.New(

yoyofxteam 25 Dec 6, 2022
Slack remote terminal - execute commands on remote host using slack slash command

slackRT Slack remote terminal - execute commands on remote host using slack slash command Installation Go to api.slack.com/apps and sign in and create

null 2 Jul 12, 2022
Command line interface to windows clipboard over KiTTY remote-control printing

kclip Command line interface to windows clipboard over KiTTY remote-control printing About This tool behaves like the cat command, it just tries to pa

Jacob Alberty 0 Dec 12, 2021
A faster RWLock primitive in Go, 2-3 times faster than RWMutex. A Go implementation of concurrency control algorithm in paper

Go Left Right Concurrency A Go implementation of the left-right concurrency control algorithm in paper <Left-Right - A Concurrency Control Technique w

wangyi 42 Jan 6, 2023
Go Http Proxy with Authentication, Schedule Control, and Portal Control

goproxy Go Http Proxy with Authentication, Schedule Control, and Portal Control Why this tool? You may need to restrict my kids's youtube watch time i

Wu Shilin 2 Mar 27, 2022