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

Allow specification of separate hosts for UDP and TCP #5685

Open
jboverfelt opened this issue May 16, 2022 · 2 comments
Open

Allow specification of separate hosts for UDP and TCP #5685

jboverfelt opened this issue May 16, 2022 · 2 comments
Labels
client feature-request This issue or PR deals with a new feature server

Comments

@jboverfelt
Copy link

Context

Running a server on a Platform-as-a-Service host like fly.io

Description

Hello and thanks for making this awesome voice chat program! Currently, mumble server allows you to specify a default interface to listen on in the mumble.ini file using the key "host". However, I'm running my mumble server on fly.io and their handling of UDP requires binding to a separate interface from TCP. I don't know if other Platform as a Service providers do the same. TCP connections must listen on 0.0.0.0, while UDP connections must listen on "fly-global-services"

https://fly.io/docs/app-guides/udp-and-tcp/

Mumble server seems to use the same interface for both TCP and UDP from the host key, meaning I have to use tcp-only on my fly.io instance.

My mumble server still works fine in TCP only mode, so this is not a blocker by any means. I understand support of strange configurations like this may not be high on the priority list!

Mumble component

Server

OS-specific?

No

Additional information

No response

@jboverfelt jboverfelt added feature-request This issue or PR deals with a new feature triage This issue is waiting to be triaged by one of the project members labels May 16, 2022
@davidebeatrici
Copy link
Member

Related: #5555

@Krzmbrzl Krzmbrzl added client server and removed triage This issue is waiting to be triaged by one of the project members labels May 16, 2022
@Sorseg
Copy link

Sorseg commented Jul 12, 2024

As a workaround for fly.io I was able to LD_PRELOAD a library that rewrites the host for udp socket.
Source code is here

I have this in my Dockerfile to make it work
# Build the interceptor lib
FROM docker.io/rust:1.75.0 as builder
WORKDIR /usr/src
RUN git clone https://gitlab.com/samoylovfp/7d2d-ded
WORKDIR /usr/src/7d2d-ded/interceptor
RUN cargo build --release


FROM mumblevoip/mumble-server:v1.5.634-0
# Copy the built lib
COPY --from=builder /usr/src/7d2d-ded/interceptor/target/release/libinterceptor.so /
# Make all apps started after this use the lib
ENV LD_PRELOAD=/libinterceptor.so

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
client feature-request This issue or PR deals with a new feature server
Projects
None yet
Development

No branches or pull requests

4 participants