WebRTC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рддреНрдпрдХреНрд╖ рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг



рдирдИ WebWormHole рд╕реЗрд╡рд╛ рдПрдХ рдкреЛрд░реНрдЯрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрдЯрди рдиреНрдпреВ рд╡рд░реНрдорд╣реЛрд▓ рджрдмрд╛рдПрдВ - рдФрд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рджреВрд╕рд░реА рдУрд░ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдЙрд╕реА рдХреЛрдб рдпрд╛ URL рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ - рдФрд░ рдЖрдкрдХреЗ рдмреАрдЪ рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рд╕реБрд░рдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╛рдЗрд▓реЗрдВ рд╕реАрдзреЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВред рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдФрд░ рдХреБрд╢рд▓ред рдЬреАрдереБрдм рд╕реНрд░реЛрдд рдХреЛрдб ред

рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рдкреЛрд░реНрдЯрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЦреЛрд▓рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЧреЛ рдСрди рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред

рд╕реНрдерд╛рдкрдирд╛:

$ go get -u webwormhole.io/cmd/ww

рдкреНрд░рд╕рд╛рд░рдг:

$ cat hello.txt
hello, world
$ ww send hello.txt
8-enlist-decadence

рдкрдВрдЪрд╛рдВрдЧ рд╕реБрд░рдВрдЧ рдХреЗ рджреВрд╕рд░реА рддрд░рдл рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдПрдХ рдмрд╛рд░ рдХреЛрдб рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ - рдФрд░ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

$ ww receive 8-enlist-decadence
$ cat hello.txt
hello, world

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓реЗрдЦрдХ, рд╕рд▓рдорд╛рди рдЕрд▓рдЬрдореНрдорд╛рдЬрд╝, рдЪреЗрддрд╛рд╡рдиреА рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЧреНрд░рд╛рд╣рдХ рд╢реБрд░реБрдЖрддреА рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╣реИ, рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрд╣ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдареАрдХ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рдСрдбрд┐рдЯ рднреА рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рд▓реЗрдЦрдХ рдиреЗ рдореИрдЬрд┐рдХ рд╡рд░реНрдорд╣реЛрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдФрд░ рдирд╛рдо рдЙрдзрд╛рд░ рд▓рд┐рдпрд╛ , рдЬреЛ рдПрдХ рдкреАрдпрд░-рдЯреВ-рдкреАрдпрд░ рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмреАрдЪ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред


рдореИрдЬрд┐рдХ рд╡рд░реНрдорд╣реЛрд▓

рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ WebWormHole WebRTC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдлрд╛рдпрд░рд╡реЙрд▓ рдФрд░ NAT рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреНрд░реЗрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗ рдЯреНрд░рд╛рдВрд╕рдорд┐рд╢рди рднреА рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рддреНрдпреЗрдХ рд╕реБрд░рдВрдЧ рдПрдХ рд╕рдордп рдкрд╛рд╕рд╡рд░реНрдб рдФрд░ PAKE рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИрдпрд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреБрдВрдЬреА рд╡рд┐рдирд┐рдордп рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдкрд╛рд╕рд╡рд░реНрдб рд╣реА рдХрд┐рд╕реА рднреА рд░реВрдк рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рд╕рддреНрдпрд╛рдкрди рд▓рдЧрднрдЧ рд╢реВрдиреНрдп рдкреНрд░рдХрдЯреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдмрдпрд╛рди рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдкреНрд░реЗрд╖рдХ рд╕реЗ рдХреЛрдИ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рд╣реИред


SPAKE2

WebWormHole рдореЗрдВ, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рддреНрд░ рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ DTLS рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ WebRTC рдХрдиреЗрдХреНрд╢рди рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИред

рдПрдХ рд╕рд╣рдХрд░реНрдореА рд╕реЗ рд╕рд╣рдХрд░реНрдореА рд╕реБрд░рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдореЗрд▓, рдПрдлрд╝рдЯреАрдкреА рдпрд╛ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬрд╝ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИрдореИрдЬрд┐рдХ рд╡рд░реНрдорд╣реЛрд▓ рдкреНрд░рд╕реНрддреБрддрд┐рдпрд╛рдБ :

рдкреНрд░реЗрд╖рдХ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд░реЗрдВрдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рдкреНрд░рд╡реЗрд╢рд╢рд╛рд░реАрд░рд┐рдХ рдирд┐рдХрдЯрддрд╛рд╡рд╛рдпрд░рдЯреИрдк
рдИрдореЗрд▓~ 30 CharредрдкреНрд░рджрд╛рддрд╛рдУрдВ, рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ
FTP / HTTP рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ~ 60 Charредрд╕рд░реНрд╡рд░, рдкреНрд░рджрд╛рддрд╛, рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг, рдЗрдВрдЯрд░рдиреЗрдЯ
рдбреНрд░реЙрдкрдмреЙрдХреНрд╕~ 60 CharредрдбреНрд░реЙрдкрдмреЙрдХреНрд╕ рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг
+ рд▓рд┐рдВрдХ рдХрдореА рд╕реЗрд╡рд╛~ 20 Charредрд▓рд┐рдВрдХ рдХрдореА рд╕реЗрд╡рд╛, рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦреЛрдЬ, рдбреНрд░реЙрдкрдмреЙрдХреНрд╕, рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг
рдпреБрдПрд╕рдмреА рд╕реНрдЯрд┐рдХрдПрдХреНрд╕
Ssh / scp~ 740 рд╡рд░реНрдг рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдВрдЬреАрдХреЛрдИ рдирд╣реАрдВ
рдЬрд╛рджреВ рдХрд╛ рдХреАрдбрд╝рд╛~ 20 CharредрдХреЛрдИ рдирд╣реАрдВ
рдзреНрдпрд╛рди рджреЗрдВ ред 2016 рдореЗрдВ рдЗрд╕ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рд╕реЗ, рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╕реЗрдВрдб (рдПрдХ рдХрдВрд╕реЛрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИ ) рдЬреИрд╕реА рдлрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕реЗрд╡рд╛рдПрдВ рд╢реБрд░реВ рдХреА рдЧрдИрдВ рдФрд░ File.pizza

рдкрд╛рдпрдерди рдореЗрдВ рдкрд╛рдпрдерди рд╡рд░реНрдорд╣реЛрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмреАрдЪ рд╕реАрдзрд╛ WebRTC рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдХреНрд▓рд╛рдЗрдВрдЯ рд╣реИрдВ:

  • pion WebRTC : Go рдкрд░ WebRTC API рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
  • aiortc : Asyncio python рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП WebRTC рд▓рд╛рдЗрдмреНрд░реЗрд░реА
  • webrtcbin
  • rawrtc
  • рдиреЛрдб WebRTC

рдПрдХ рдмреЛрдирд╕ рдХреЗ рд░реВрдк рдореЗрдВ:

  • rtc-ssh : SSH рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП WebRTC рд░реИрдкрд░

WebRTC рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЖрдк рдбрд┐рд╡рд╛рдЗрд╕, рдЯреНрд░рд╛рдВрд╕рдлрд░ рд╡реЙрдпрд╕, рдлрд╛рдЗрд▓реНрд╕ рдЖрджрд┐ рдХреЗ рдмреАрдЪ рд╡реАрдбрд┐рдпреЛ рд╕рдВрдЪрд╛рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

ред PAKE рдХреБрдВрдЬреА рд╡рд┐рдирд┐рдордп рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рд░реНрд╡рд░ рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рднреЗрдЬреЗ рдмрд┐рдирд╛ рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

All Articles