jordansissel / fingerpoken

Use your browser as a remote and touchpad (iphone/ipad/laptop, etc)
Other
45 stars 7 forks source link

fingerpoken - use your browser (iphone/ipad/laptop) as a mouse and remote

fingerpoken main screen

What?

fingerpoken is a web-based touchpad tool. No extra software is required on your ipad/itouch/iphone, just Safari.

There is also a server-side component that serves the web interface and acts on commands sent from that web interface.

Video demos:

Short Intro

Get it

gem install fingerpoken

Run it

# X11:
fingerpoken.rb -t xdo:///

# VNC
fingerpoken.rb -t vnc://mysecret@some.workstation.local/

# TiVo
fingerpoken.rb -t tivo://192.168.0.39/

Use it

Point your iphone, itouch, or another computer's browser at:

http://yourserver:5000/

Touch away!

Supported Platforms

Probably Unsuppored Platforms

What works:

Supported targets:

Configuring the UI:

Options set in the UI will persist across sessions using HTML5 localStorage.

Securing Fingerpoken

iPhone's 'secure websocket' support sucks, so I don't use that.

Instead, I use HMAC-MD5 to sign requests to the server. This requires a pre-shared key between your client and server.

Server: fingerpoken --passphrase "my passphrase"

Client: go into 'config' and enter the same passphrase.

To prevent replay attacks, part of the signature includes a sequence number. The server will reject any messages with a sequence number less than the previous one.

Note: This is only message signing to resist replay attacks and unauthorized control of fingerpoken server. It is not encryption.

What's planned:

TODO:

What you need to run it:

client:

server:

Run it:

1) Run fingerpoken.rb 2) Point your iphone browser at http://yourmachine:5000/ 3) Use your phone as a touchpad.

Notes:

Optional: