VRChat Client Advertises Loopback Address as OSCQuery Service Endpoint
logi_9
When searching for services with service type
_oscjson._tcp
from another computer on the same network as the computer running VRChat, the following information is returned with 127.0.0.1
as the IP address providing the OSCQuery service:name: VRChat-Client-07091F
address: 127.0.0.1
port: 57980
Of course, it's impossible to access the service at
127.0.0.1:57980
from the computer performing the search.Would it be possible to either properly advertise the service with an IP address bound to the network interface, or alternatively, only advertise the service on the loopback device?
(Reference: Program used to search for the service)
// main.rs
//
// How to build:
// sudo apt-get install libavahi-client-dev
// cargo init
// (put src/main.rs)
// cargo add zeroconf
// cargo run
use std::time::Duration;
use zeroconf::prelude::*;
use zeroconf::{MdnsBrowser, ServiceType};
fn main() {
let service_type = ServiceType::new("oscjson", "tcp").unwrap();
let mut browser = MdnsBrowser::new(service_type);
browser.set_service_discovered_callback(Box::new(move |result, _| {
let s = result.unwrap();
println!("name: {}", s.name());
println!("address: {}", s.address());
println!("port: {}", *s.port());
}));
let event_loop = browser.browse_services().unwrap();
loop {
event_loop.poll(Duration::from_secs(0)).unwrap();
}
}
Log In