Janode + golang backend - how to integrate

So I have a golang backend - I am confused about the Janode API on the client fitting in with a server, and I cannot find answers anywhere through the docs for these question -

  1. Janode is for the backend/browser API for signalling, so when we use Janode on the browsers we simply connect with the Janus server directly afaik. Is there a way to connect to it via a proxy backend which is not written in node (golang in my case)? I don’t want to expose my client secret obvs
  2. Is it recommended as of 2025 to use the unmaintained golang Janus gateway projects? Or should developers use their own custom wrappers?
  3. Are there any examples of clients + server which do not use node as the backend signalling layer?

Thank you!

Janode implements the Janus API. If you implement a proxy that exposes the Janus API (e.g., only for the purpose of hiding secrets or have more control on the signalling), then you can use Janode with that. If your wrapper has a custom API then it won’t be of any use.

Not sure what you mean by unmaintained golang projects. We wrote our own Go stack for Janus years ago but it was never released, and we haven’t been using it for anything either, so that one is indeed abandoned now. For questions on third party stacks, you should ask the respective maintainers, not us.

I see , I wanted clarification on exactly that, thank you

I posed the golang question simply because the documentation has a list of third party SDKs (which included the unmaintained versions of the go janus gateway sdk). I suggest that you remove that, if it is outdated, it confuses newer developers.

As a sidenote, please add the fact that Janode is the production ready API instead of janus.js in the docs as well. It is quite confusing for newer folks like me :slight_smile: trying to get into Janus.

Thank you very much for the information !

Unfortunately we can’t go chasing all existing projects we were made aware of to know if they’re still relevant or updated. There are people that are happy to bump into unmaintained projects anyway, if it gives them a headstart (e.g., to fork it and revive it themselves), so in general I’m more inclined to keep things in that getting them out.

You’re right that Janode vs janus.js can be a bit confusing. I started janus.js back then for the sole purpose of having something I could quickly hack demos on (the demos we have in the repo). We never really meant for people to use it, but they did and for some it has been doing the job for quite some time. Refactoring the existing demos in the Janus repo to use Janode instead of janus.js is something I’ve considered, a few times, but it would be a lot of work that to be honest I don’t feel like doing right now. I may end up simply adding a disclaimer to the demos explaining that janus.js is used there just for the sake of simplicity, but that for serious work Janode is what they should refer to instead.

I see, if that is the case, would you guys be open to PR for the documentation ? I feel like there are a few little things which can be confusing for newer devs, which I could probably edit. Please let me know if that is fine.

Sure, we always welcome contributions to both code and documentation. If you have proposals for edits, feel free to open a new PR and we’ll review it.