Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Build a Websocket Tunnel in Elixir
Search
Hemslo
September 05, 2018
Programming
1
130
Build a Websocket Tunnel in Elixir
Hemslo
September 05, 2018
Tweet
Share
More Decks by Hemslo
See All by Hemslo
Introduction to Elixir
hemslo
0
430
Other Decks in Programming
See All in Programming
Introduce Hono CLI
yusukebe
6
3.1k
CSC305 Lecture 08
javiergs
PRO
0
280
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
260
Devoxx BE - Local Development in the AI Era
kdubois
0
140
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
890
O Que É e Como Funciona o PHP-FPM?
marcelgsantos
0
200
コード生成なしでモック処理を実現!ovechkin-dm/mockioで学ぶメタプログラミング
qualiarts
0
260
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
800
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
2
1.5k
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
14
46k
CSC509 Lecture 06
javiergs
PRO
0
270
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
890
Build your cross-platform service in a week with App Engine
jlugia
233
18k
Optimizing for Happiness
mojombo
379
70k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Visualization
eitanlees
149
16k
Mobile First: as difficult as doing things right
swwweet
225
10k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Practical Orchestrator
shlominoach
190
11k
Transcript
Build a Websocket Tunnel - Wang, Di @hemslo
Tunnel
Websocket
Hello World: Echo Server Task and gen_tcp
Glance SRC --- Client -websocket tunnel- Server --- Forwarder ---
DEST
Forwarder Connect to destination host:port When data received from source,
send to destination When data received from destination, send to source Code
Websocket Server Cowboy Phoenix.Endpoint.CowboyWebSocket Phoenix.Transports.WebSocket Code
Websocket Client websocket_client ranch Code
SOCKS Proxy SOCKS Dante ssh -D
TLS: WSS No Coding, don’t invent your own encryption algorithm,
use TLS. SRC --- Client -wss- Nginx -ws- Server --- Forwarder --- DEST
Future Error handle and connection close Use Cowboy 2 Documentation
Wider usage
Q&A