~/talk

How to hijack, proxy and smuggle sockets with Rack/Ruby

Talkat RubyConf AU 2019 · on Thursday, 2019-02-07· [ruby]
slides:none on file

Claim is that HTTP connections can carry arbitrary TCP protocols by taking over the socket via Rack hijack and tunneling VNC or SSH through an HTTP upgrade The implementation uses Ruby with Puma a C epoll based helper and a custom scheduling trick called bouncing select plus a small Go reverse binary and a browser plugin A working proof of concept demonstrates concurrent tunnels to VNC and SSH over HTTP and the demo runs end to end

AI-written summary · about

  1. 0:00Intro
  2. 1:00Who am I
  3. 1:48Manage IQ
  4. 2:08Browser remote consoles
  5. 4:05How does it work
  6. 4:51Nonblocking IO
  7. 5:17ReadWrite IO
  8. 5:49Test buffers
  9. 6:22Dependencies
  10. 7:26Eventdriven solution
  11. 8:26Bounce select solution
  12. 9:06Alternative solutions
  13. 10:50C extension
  14. 11:15Bidirectional sockets
  15. 11:51Web servers
  16. 12:54RAC hijack
  17. 13:14Code snippet
  18. 14:07Upgrade to something else
  19. 14:33VNC
  20. 16:18Architecture
  21. 16:52Server
  22. 17:13Advantages Disadvantages
  23. 17:47Demo
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.