turnutils_uclient(1) (NAME) turnutils_uclient - UDP TCP TLS DTLS (GENERAL INFORMATION) turnutils_* TURN . 1. turnutils_uclient: UDP TCP TLS DTLS . ( !) bin/ . 2. turnutils_peer: (echo) UDP ("" "peer") . UDP . ( !) -- ( "turnutils_uclient" "-y" ) turnutils_peer . bin/ . 3. turnutils_stunclient: STUN. bin/ . 4. turnutils_rfc5769check: STUN/TURN . . "examples/scripts" . examples/ : $ cd examples $ ./scripts/secure_relay.sh 5. turnutils_natdiscovery: NAT RFC5780 . NAT . TURN IP ! 6. turnutils_oauth: access_token OAuth ( AEAD) . access_token . JSON OAuth PoP . B 8 RFC7635 . access_token rfc7635 examples/scripts/oauth.sh . ===================================== (SYNOPSIS) $ turnutils_uclient [-tTSvsyhcxg] [] (DESCRIPTION) . / libevent . () . . . : -t TCP TURN ( UDP ). -b SCTP TURN ( UDP ). -T TCP ( UDP ). -t -y -c -s -e -r -g . -b . -P TCP (RFC6062 ). -T . -S SSL: SSL/TLS TCP DTLS UDP TLS/SCTP SCTP. -U ( eNULL): SSL/TLS TCP DTLS UDP. -v (Verbose). -s "Send" TURN TURN . -y --: RTP/RTCP RTP/RTCP . turnutils_peer . -h . -c rtcp. -x IPv6 ( RFC6156). -X IPv4. -g DONT_FRAGMENT TURN. -D UDP ( pjnath). -N ( ). -R . -O (DOS attack). -M TURN ICE Mobility. -I TURN ( ). -G ( ). -B . -Z (SSODA). -c . -J oAuth kid='north' 'union' 'oldempire'. -Y (Load-generator mode): packet TURN alloc invalid TURN . -c -y . --no-even-port EVEN-PORT ALLOCATE . clnet_allocate -c 0 -1 turnserver --multiplex-peer 400 . --no-even-port alloc --multiplex-peer . --listener-threads () ( -K N ). : 0 -m < 4 1 -m >= 4 . 0 -event-base . event base libevent (round-robin) . . --sender-threads ( ) . : 0 -m < 4 2 -m >= 4 . 0 ( timer_handler ). event base libevent sendmsg UDP-GSO ( GSO sendmmsg) . . : -l (: ). -i ( ). -k ( ). -E CA . -p TURN (: ). -n (: ). -n . . -d ( ). -L IP (). -m (: ). -e (Peer). -r (: ). -z (: ). packet invalid 0 . -u STUN/TURN. -w STUN/TURN. -W TURN REST API. "north" value turn_secret static-auth-secret . -C () / TURN REST API . : . -F (Cipher suite) TLS/DTLS. DEFAULT . -o ORIGIN STUN. -a ALLOCATE. . (load-generator mode): o packet TURN . o alloc -e . o alloc -e ip:port . o invalid -e -l . "examples/scripts" . ====================================== (NAME) - turnutils_peer turnutils_peer - UDP. (SYNOPSIS) $ turnutils_peer [-v] [] (DESCRIPTION) turnutils_uclient . : -p UDP (: ). -d () -L turnutils_peer. IPv4 IPv6 . IPv4 IPv6 . -v (Verbose) ======================================== (NAME) - turnutils_stunclient turnutils_stunclient - STUN. (SYNOPSIS) $ turnutils_stunclient [] <-IP--STUN> (DESCRIPTION) "" STUN RFC 5389 ( UDP) . : -p STUN (: ). -L (). -f RFC 5780. -c binding STUN . -i (: ). -t (: ). turnutils_stunclient STUN RFC 5780 ( ) NAT . Ctrl-C // . "" "" STUN ( RFC 3489) . ===================================== (NAME) - turnutils_rfc5769check turnutils_rfc5769check - STUN. (SYNOPSIS) $ turnutils_rfc5769check (DESCRIPTION) turnutils_rfc5769check STUN RFC 5769 . . : $ turnutils_rfc5769check ===================================== (NAME) - turnutils_natdiscovery turnutils_natdiscovery - NAT RFC5780. (SYNOPSIS) $ turnutils_natdiscovery [] (DESCRIPTION) turnutils_natdiscovery NAT NAT (Endpoint-Independent) (Address-Dependent) (Address and Port-Dependent) / . -m -f -c -H NAT . : -m NAT -f NAT -t NAT (-T) -c (collision) NAT -H hairpinning NAT -P NAT : -p STUN (: ) -L () -l ( -L) -A () -T () : $ turnutils_natdiscovery -m -f stun.example.com ===================================== (NAME) - turnutils_oauth turnutils_oauth - / / access_token OAuth (SYNOPSIS) $ turnutils_oauth [] (DESCRIPTION) turnutils_oauth / access_token OAuth (AEAD) . access_token . JSON OAuth PoP . B 8 RFC7635 . " " / "mac_key" . access_token rfc7635 examples/scripts/oauth.sh . access_token -e -d . : -h, --help -v, --verbose -e, --encrypt -d, --decrypt : -i, --server-name ( ) -j, --auth-key-id ( ) -k, --auth-key base64 -l --auth-key-timestamp ( epoch) -m, --auth-key-lifetime -n, --auth-key-as-rs-alg (AS) (RS) -o, --token-nonce nonce base64 ( = ) -p, --token-mac-key MAC base64 ( = ) -q, --token-timestamp ( ) epoch UTC / . : (: gmtime). -r, --token-lifetime (: ) -t, --token base64 -u, --hmac-alg hmac stun : $ turnutils_natdiscovery =================================== (DOCS) : $ man turnutils : $ man -M man turnutils . ===================================== (FILES) /etc/turnserver.conf /var/db/turndb /usr/local/var/db/turndb /var/lib/turn/turndb /usr/local/etc/turnserver.conf ================================= (DIRECTORIES) /usr/local/share/turnserver /usr/local/share/doc/turnserver /usr/local/share/examples/turnserver =================================== (STANDARDS) STUN RFC 5389 TURN RFC 5766 TURN-TCP RFC 6062 IPv6 TURN RFC 6156 STUN/TURN RFC 5769 NAT STUN RFC 5780 ==================================== (SEE ALSO) turnserver, turnadmin ====================================== (WEB RESOURCES) : https://github.com/coturn/coturn : https://github.com/coturn/coturn/wiki : https://groups.google.com/forum/?fromgroups=#!forum/turn-server-project-rfc5766-turn-server ====================================== (AUTHORS) AUTHORS.md coturn . turnutils_uclient(1)