Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

turn-doctor #61

Merged
merged 5 commits into from
Oct 10, 2023
Merged

turn-doctor #61

merged 5 commits into from
Oct 10, 2023

Conversation

neonphog
Copy link
Collaborator

@neonphog neonphog commented Oct 10, 2023

Results if run vs xirsys setup:

SIG_URL: ws://127.0.0.1:8443/
SIG_ICE: PeerConnectionConfig {
    ice_servers: [
        IceServer {
            urls: [
                "stun:ws-turn6.xirsys.com:80",
                "turn:ws-turn6.xirsys.com:80",
                "turn:ws-turn6.xirsys.com:80?transport=tcp",
                "turns:ws-turn6.xirsys.com:443?transport=tcp",
            ],
            username: Some(
                "<snip>",
            ),
            credential: Some(
                "<snip>",
            ),
        },
    ],
}
TURN_CHECK: TurnCheck {
    host: "ws-turn6.xirsys.com",
    user: "<snip>",
    cred: "<snip>",
    stun_port: 80,
    udp_port: 80,
    tcp_plain_port: 80,
    tcp_tls_port: 443,
}
CHECK_STUN: PeerConnectionConfig { ice_servers: [IceServer { urls: ["stun:ws-turn6.xirsys.com:80"], username: Some("<snip>"), credential: Some("<snip>") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
]
OKAY: CHECK_STUN
CHECK_UDP: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turn:ws-turn6.xirsys.com:80"], username: Some("<snip>"), credential: Some("<snip>") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_UDP
CHECK_TCP_PLAIN: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turn:ws-turn6.xirsys.com:80?transport=tcp"], username: Some("<snip>"), credential: Some("<snip>") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_TCP_PLAIN
CHECK_TCP_TLS: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turns:ws-turn6.xirsys.com:80?transport=tcp"], username: Some("<snip>"), credential: Some("<snip>") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_TCP_TLS

Results if run vs holochain setup:

SIG_URL: wss://signal.holo.host/
SIG_ICE: PeerConnectionConfig {
    ice_servers: [
        IceServer {
            urls: [
                "turn:turn.holo.host:443",
            ],
            username: Some(
                "test",
            ),
            credential: Some(
                "test",
            ),
        },
    ],
}
WARN: stun not found (e.g. stun:my.stun:80) - this could be okay if your turn server is handling stun traffic
WARN: udp plain port is 443, recommended to be 80
WARN: tcp plain not found (e.g. turn:my.turn:80?transport=tcp) - this could be okay if you want to jump straight to tcp tls
ERROR: tpc tls not found (e.g. turns:my.turn:443?transport=tcp) - this is the most firewall pass-able transport and is recommended to be enabled
TURN_CHECK: TurnCheck {
    host: "turn.holo.host",
    user: "test",
    cred: "test",
    stun_port: 443,
    udp_port: 443,
    tcp_plain_port: 443,
    tcp_tls_port: 443,
}
CHECK_STUN: PeerConnectionConfig { ice_servers: [IceServer { urls: ["stun:turn.holo.host:443"], username: Some("test"), credential: Some("test") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
]
OKAY: CHECK_STUN
CHECK_UDP: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turn:turn.holo.host:443"], username: Some("test"), credential: Some("test") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_UDP
CHECK_TCP_PLAIN: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turn:turn.holo.host:443?transport=tcp"], username: Some("test"), credential: Some("test") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_TCP_PLAIN
CHECK_TCP_TLS: PeerConnectionConfig { ice_servers: [IceServer { urls: ["turns:turn.holo.host:443?transport=tcp"], username: Some("test"), credential: Some("test") }] }
ICE: [
    (
        "srflx",
        "<snip>",
    ),
    (
        "relay",
        "<snip>",
    ),
]
OKAY: CHECK_TCP_TLS

@neonphog neonphog marked this pull request as ready for review October 10, 2023 19:31
@neonphog neonphog added this pull request to the merge queue Oct 10, 2023
Merged via the queue into main with commit eb112d7 Oct 10, 2023
5 of 6 checks passed
@neonphog neonphog deleted the turn-doctor branch October 10, 2023 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant