Peerjs: ICE๊ฐ€ ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค. STUN ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ž์„ธํ•œ ๋‚ด์šฉ์€ about:webrtc๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์— ๋งŒ๋“  2018๋…„ 11์›” 26์ผ  ยท  18์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: peers/peerjs

์ €๋Š” ์ด webRTC๋ฅผ ์ฒ˜์Œ ์ ‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‘ ์ŠคํŠธ๋ฆผ ์‚ฌ์ด์— ์—ฐ๊ฒฐ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜์ง€๋งŒ ๋ฏธ๋””์–ด ์ŠคํŠธ๋ฆผ์„ ์ „์†กํ•  ๋•Œ ์ด ์˜ค๋ฅ˜ ICE๊ฐ€ ์‹คํŒจํ•˜๋ฉด STUN ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ž์„ธํ•œ ๋‚ด์šฉ์€ about:webrtc ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”. ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ์‹œ๋„ํ–ˆ๋‹ค

ํ”ผ์–ด = ์ƒˆ๋กœ์šด ํ”ผ์–ด(ID, {
๋””๋ฒ„๊ทธ: 2,
๊ตฌ์„ฑ: {'iceServers': [
{ url: ' stun:stun.l.google.com :19302' },
{ url: ' stun:stun1.l.google.com :19302' },
]}

ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ํ•ด๊ฒฐ์ฑ…์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? @kidandcat

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

ํ•ด๋ดค๋Š”๋ฐ ๊ทธ ์ž์ฒด๋กœ ๋ฌธ์ œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. COTURN์€ STUN ๋ฐ TURN ์„œ๋ฒ„์šฉ ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. @mballabaniapr

๋ชจ๋“  18 ๋Œ“๊ธ€

์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์„œ์— ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ice ์„œ๋ฒ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

{'iceServers': [{ 'urls': ' stun:stun.l.google.com :19302' }]};

๊ดœ์ฐฎ์€. ๋ฌด๋ฃŒ ์Šคํ„ด ๋ฐ ํ„ด ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š”์ง€ ์•„๋‹ˆ๋ฉด ์ด ์„œ๋ฒ„๋ฅผ ๊ตฌ์ž…ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? @kidandcat

์‹œ์ž‘ํ•˜๋Š” ๋ฐ๋งŒ ์‚ฌ์šฉ๋˜๋Š” ๋ฌด๋ฃŒ STUN ์„œ๋ฒ„๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์—ฐ๊ฒฐ(๋†’์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Œ)์ด์ง€๋งŒ TURN์ด ์—†์Šต๋‹ˆ๋‹ค.
P2P ์—ฐ๊ฒฐ์„ ์„ค์ •ํ•  ์ˆ˜ ์—†์œผ๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ฌด๋ฃŒ์ด๋ฏ€๋กœ
๋Œ€์ฒด๋Š” ๋ชจ๋“  ํ†ต์‹ ์ด TURN ์„œ๋ฒ„๋ฅผ ํ†ต๊ณผํ•˜๋ฏ€๋กœ
๋†’์€ ๋ฆฌ์†Œ์Šค์™€ ๋Œ€์—ญํญ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์—˜ 3์›” 27์ผ 2018๋…„ 7:08, RamyaAshika [email protected] ๋ฌธ์„œ:

๊ดœ์ฐฎ์€. ๋ฌด๋ฃŒ ๊ธฐ์ ˆ ๋ฐ ํ„ด ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€
์ด ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? @kidandcat https://github.com/kidandcat

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/peers/peerjs/issues/470#issuecomment-441937144 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/ADrV0qWA1WciYRt65jrYBhB_0b8k8WA1ks5uzNblgaJpZM4YzF3r
.

์˜ค, TURN ์„œ๋ฒ„ ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋˜ํ•œ ๋‚ด๊ฐ€ ๋‹ค๋ฅธ ๋ฌด์„  ๋„คํŠธ์›Œํฌ์— ์žˆ๋Š” ๊ฒฝ์šฐ @kidandcat์—์„œ 3-5๋ถ„ ํ›„์— ์—ฐ๊ฒฐ์ด ๋Š์–ด

๋„ค, ๋ฌผ๋ก ์ž…๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ p2p๊ฐ€ ์™„์ „ํžˆ ์ข…๋ฃŒ๋˜๋Š” ์ด์ƒํ•œ ๋„คํŠธ์›Œํฌ ์กฐ๊ฑด์ด ์žˆ๋Š” ๊ฒฝ์šฐ
๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉด TURN์œผ๋กœ์˜ ํด๋ฐฑ์ด ์—†๊ณ  ์—ฐ๊ฒฐ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Ÿฌํ•œ ๊ฒฝ์šฐ๋Š” ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. STUN ์„œ๋ฒ„๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ผ์‹œ์•„์Šค,
์ž์ด๋กœ ์นด๋กœ-์•„์น˜๋…ธ ๋น„์น˜์•„๋‚˜.

์—˜ 3์›” 27์ผ 2018๋…„ 11์‹œ 00๋ถ„, RamyaAshika ( [email protected] )
๊ธฐ๋ก:

์˜ค, TURN ์„œ๋ฒ„ ์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•  ์ˆ˜ ์žˆ๋‚˜์š”? @kidandcat
https://github.com/kidandcat

โ€”
๋‹น์‹ ์ด ์–ธ๊ธ‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ๋ฐ›๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธํ•˜์„ธ์š”.
https://github.com/peers/peerjs/issues/470#issuecomment-441998795 ๋˜๋Š” ์Œ์†Œ๊ฑฐ
์Šค๋ ˆ๋“œ
https://github.com/notifications/unsubscribe-auth/ADrV0tpMsIoIJqHgM25BSr_9HX4pCgyVks5uzQ0-gaJpZM4YzF3r
.

์ข‹์•„, ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค. { urls: ' stun:stun1.l.google.com :19302' } ํ•˜์ง€๋งŒ ๊ฐ€๋” ICE๊ฐ€ ์‹คํŒจํ•˜๋Š” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. STUN ์„œ๋ฒ„๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  about:webrtc๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š” @kidandcat

๊ณ ์ณค๋‹ค. @kidandcat ๊ฐ์‚ฌ

@RamyaAshika ์–ด๋–ป๊ฒŒ

ํ•ด๋ดค๋Š”๋ฐ ๊ทธ ์ž์ฒด๋กœ ๋ฌธ์ œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. COTURN์€ STUN ๋ฐ TURN ์„œ๋ฒ„์šฉ ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. @mballabaniapr

์•ˆ๋…•ํ•˜์„ธ์š” @RamyaAshika coturn ์„œ๋ฒ„๋Š” ์–ด๋–ป๊ฒŒ ๋ฐฐํฌํ•˜์…จ๋‚˜์š”? AWS์— ๋ฐฐํฌํ–ˆ๋Š”๋ฐ ๋ฆด๋ ˆ์ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ webrtc ์—ฐ๊ฒฐ์„ ํ˜ธ์ถœํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. AWS์—์„œ ํ˜ธ์ŠคํŒ…๋˜๋Š” ๋‚ด ์›น ์•ฑ์—์„œ ์„œ๋ฒ„๋ฅผ ์ผœ๊ณ  ์–ผ์Œ ํ›„๋ณด๋ฅผ ์–ป๊ณ  ๋™์ผํ•œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ICE ์‹คํŒจ, STUN ์„œ๋ฒ„ ์ถ”๊ฐ€ ๋ฐ ์ž์„ธํ•œ ๋‚ด์šฉ ์€

์•ˆ๋…•ํ•˜์„ธ์š” @RamyaAshika ,
๋‚˜๋Š” ๋˜‘๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉด ํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. ์†”๋ฃจ์…˜์„ ์ž์„ธํžˆ ๊ณต์œ ํ•ด ์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
https://gist.github.com/sagivo/3a4b2f2c7ac6e1b5267c2f1f59ac6c6b

๋‹น์‹ ์€ ๊ธฐ์ ˆ + ํšŒ์ „์„ ์ œ๊ณตํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค

"iceServers": [
          {
            "urls": "stun:vc.example.com:3478"
          },
          {
            "urls": "turn:vc.example.com:3478",
            "username": "coturnUser",
            "credential": "coturnUserPassword"
          }
        ],

"iceTransportPolicy": "relay" ๋ฅผ ์ง€์ •ํ•˜์—ฌ ๋ฆด๋ ˆ์ด ์„œ๋ฒ„๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(p2p ์ œ์™ธ).

@afrokick ์ด ์ฝ”๋“œ๋Š” ์–ด๋””์— ์ž‘์„ฑ๋˜์—ˆ๋‚˜์š”? ์ €๋Š” Java API ๊ฐœ๋ฐœ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ LAN์˜ ์ธํ„ฐ๋„ท(WAN)์„ ํ†ตํ•ด ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

https://github.com/coturn/coturn coturn์œผ๋กœ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค...

LAN์ด ์•„๋‹Œ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์Œ ์„ค์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

var fs = require('fs');
var PeerServer = require('peer').PeerServer;

var server = PeerServer({
    port: 3001,
    debug: true,
    path: '/peerjs',
    ssl: {
        key: fs.readFileSync('privkey.pem', 'utf8'),
        cert: fs.readFileSync('fullchain.pem', 'utf8')
    },
    config: {"iceServers": [

      {
        "iceTransportPolicy": "relay",
        "urls": "stun:62.138.7.233:3478"
      },
      {
        "iceTransportPolicy": "relay",
        "urls": "turn:62.138.7.233:3478",
        "username": "ninefingers",
        "credential": "youhavetoberealistic"
      }
    ],
  }
});

๋‚ด coturn ์„œ๋ฒ„: turnserver -L 62.138.7.233 -a -f -r north.gov

coturn์˜ ์ถœ๋ ฅ:

0: ๋„๋ฉ”์ธ ์ด๋ฆ„:
0: ๊ธฐ๋ณธ ์˜์—ญ: north.gov
0: ์˜ค๋ฅ˜:
๊ตฌ์„ฑ ์˜ค๋ฅ˜: cli-password๊ฐ€ ๋น„์–ด ์žˆ์œผ๋ฏ€๋กœ telnet cli ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค! ๋น„์–ด ์žˆ์ง€ ์•Š์€ cli-password๋ฅผ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค!
0: ๊ฒฝ๊ณ : ์ธ์ฆ์„œ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ: turn_server_cert.pem(1)
0: ๊ฒฝ๊ณ : ์ธ์ฆ์„œ ํŒŒ์ผ์ด ์ œ๋Œ€๋กœ ์„ค์ •๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— TLS ๋ฐ DTLS ์ˆ˜์‹ ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
0: ๊ฒฝ๊ณ : ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†์Œ: turn_server_pkey.pem(1)
0: ๊ฒฝ๊ณ : ๊ฐœ์ธ ํ‚ค ํŒŒ์ผ์ด ์ œ๋Œ€๋กœ ์„ค์ •๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— TLS ๋ฐ DTLS ์ˆ˜์‹ ๊ธฐ๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
0: ์‚ฌ์šฉํ•  ๋ฆด๋ ˆ์ด ์ฃผ์†Œ: 62.138.7.233

....

TLS๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ?

์ ์ ˆํ•œ ์†”๋ฃจ์…˜์ด ์ œ์•ˆ๋˜์ง€ ์•Š์•˜๋Š”๋ฐ ์ด ๋ฌธ์ œ๊ฐ€ ์ข…๋ฃŒ๋œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰