Files
hpr-knowledge-base/hpr_transcripts/hpr3056.txt
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

190 lines
11 KiB
Plaintext

Episode: 3056
Title: HPR3056: Jitsi
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr3056/hpr3056.mp3
Transcribed: 2025-10-24 15:54:44
---
This is Hacker Public Radio Episode 3,056 for Monday 20 April 2020. Today's show is entitled Jitsi. It is hosted by operator
and is about 13 minutes long
and carries an explicit flag. The summary is
Jitsi is an open source multi-platform video conferencing.
This episode of HPR is brought to you by Ananasthost.com.
Get 15% discount on all shared hosting with the offer code HPR15. That's HPR15.
Better web hosting that's honest and fair at Ananasthost.com.
All right. Hello. Welcome to another episode of HPR15.com.
Another episode of Hacker Public Radio with your host operator. Today we're going to be talking about
how it's pronounced just J-I-T-S-I or Jitsi,
a open source messaging platform slash conference intermo control thing.
From what I understand, it's peer-based, so meaning you don't need that ton of bandwidth,
which is my case. There's something like a big blue button which I think is all server-based
and you need to have lots of bandwidth, whereas I'm assuming and I'm thinking
that Jitsi is more for peer-to-peer, or else for peer-to-peer-based video stuff.
I don't know if that I'm attested that and what that actually entails and how much bandwidth the server needs,
but I've got this work in play with it and I'll kind of tell you what my approach is.
Especially if I'm just testing something out, I'm using Docker and I've got the screencast I'll put on here.
And Docker is fairly easy to install in Debian.
You have to like point your, add the repo and then all that stuff.
And then you, I've got the command line in here, you install, basically install Docker.
What I ended up doing is a bunch of stuff.
I already had partially installed Docker, it was sort of kind of broken and wasn't really running.
So first you stop to service, then I removed the VAR lib Docker, which is where normally your images will stay.
So the problem with that is I only have like five gigs of space left on my route.
So if they start dumping stuff in my VAR it's somewhere around the space.
So that's where I'll come into the mounting.
So I removed the lib, I removed the Jitsi config file under root basically.
Now I'm not familiar with how Docker works and how it set up, but I'm assuming what I've heard is that the Docker is basically as secure as the image that you are loading with it.
So there's a few services there that kind of worry me and it's kind of Java and a big mess, but I haven't done any assessment yet.
And I'll probably do that some other time to try to figure out what the security is and do I can't I run Docker as an admin or does it or not root or does it matter or what right.
So we wipe out the old Jitsi config, we wipe out the old VAR lib Docker folder.
We mount a media path where I have more storage and then our bind, which is almost like a hard mount.
I don't really, it's a mount arvind, which is like a symbolic link, but harder like a hard link basically and links, which is dash dash mount dash arbind.
So I think it's like a symbolic link, but harder like a hard hard link, whatever they call it.
So that way it can actually do stuff and open up sockets or whatever it needs to do in that folder.
So I purred to remove Docker.
Docker CLI and containerite.io.
So all the Docker stuff I remove, then I reinstall the Docker CLI.
And then from what I can understand, the Docker compose was an older version.
So I am using this Chrome command.
I pulled the latest Docker compose binary, which doesn't seem like the best thing to do is to replace like a single binary out of a whole group of packages, but whatever.
So I updated this Docker compose based on the configuration file had like a version three or whatever.
And I think I googled the error or whatever and it came up with Docker compose is old.
Up to do that.
Let me get clone, get clone the Jutsi Docker.
So it's Docker dash jutsi dash meat.
We restart Docker, kept copy the environment examples, environment variables, examples from the repo to our current environment variables.
Then we make a configuration folder of web, let's encrypt transcripts, pros, city, and jio, comp, and jvb.
Now I know there's sip stuff and a bunch of other stuff this thing can do.
If I do get some traction with it, then I might set up the sip for people.
Well, in general, you know, it's more people have a computer that are going to be doing whatever they're going to be doing.
Let me say Docker compose.
I set the log level to be debug, which didn't really help me troubleshoot my issues.
I'll go over in a second.
And then I say up dash de force recreate and remove orphans, which I don't know.
That just figure maybe out of clean everything up.
I think there's still some stale config from older stuff in there.
I'm not sure.
Oh, here's a once I do have it running.
It's a tail-f command to find all the log files in the Docker containers.
So there's a part of the Docker containers where I guess the containers live, which wasn't really supposed to happen.
Yeah, that's right.
Part of the Docker is symbolic and there's hard link to the right path.
So there's a bunch of log files in there you can look at and tail out.
So I wanted to watch those because I was having issues with what I'll talk about the second.
Docker container LS shows the different dockers.
And then you could say Docker exact dash IT, which is like interactive, I think.
That dash looks funny.
And then the ID of their container.
And then bash.
And I tried to do some stuff inside of the container and like, I don't really understand how to talk to work.
So I couldn't really actually do what I was trying to do.
And then if you want to be remote controlled, you have to install this electron blob.
It's like 75 megs installer.
And you just run it once and then it puts all the icons and stuff for Jetsy on your desktop.
But that's how you get people to control your computer, at least with Windows and Mac, I think it supports.
Then you just set up a set up a website.
And the default ports are eight, eight, four, four, three is the default port, I think.
I ended up using port 8,000, which is the HTTP port.
I think, yeah, for all this.
And because what I found out is that neither the app for the phone app for Android nor the...
The Chrome extension.
Allow you to share your microphone and or camera without SSL.
It's kind of like a security feature or whatever.
So I started to do the lesson crypt thing.
I'll show you my configuration.
I don't know why this didn't work.
So there's this, there's the branch master branch.
This is the thing that I'm using here is, oh my ZSH, which is probably not the best idea to do has root.
But it's got some colors and fonts and stuff that look kind of cool.
And I went in here and said, like, let's encrypt domain, I set the email address for Let's Encrypt, public URL.
I set all the settings I could possibly set.
And I still couldn't get the HTTPS port to to have a valid certificate.
So I don't know how you're supposed to actually do the lesson crypt stuff.
I don't really, I haven't ever gotten it to work.
I tried to do it with a patchy way back.
And of course I didn't work.
Here again, trying to do it with this docker and how to choose again.
Then I realized I've got Cloudflare that I use for SSL.
And I'm just using that.
But what I did find out is that if you see here, I have Jitsi setup on this internal port at the house.
It gets proxy.
Now what I tried to do was run it on an alternate port.
And I kept having issues, kept having issues, and I said, look, I know myarmacry.com doesn't have SSL.
And it works fine.
So I don't understand what the problem is.
So I set everything up the way up.
My website is set up.
And the DNS is set up in Cloudflare.
And I wanted to make sure that everything just worked.
And sure enough, the proxy connections, I think.
Only allow for for for for for for for three and 80.
You can't specify a port.
I don't think for proxy connections.
And that might be wrong.
Maybe you can like put a colon here and say like five, five, four, three.
I don't know if it'll let us do that.
Yeah.
It must match the following rejects.
So they like do a rejects check on that.
That's crazy.
So anyways.
So we have our domain setup and pointing to this port 80.
And then it's going to handle SSL because it's going to the proxy.
So I'll show you the client.
Let me see it.
Let me see it.
So here's the client.
It's pretty, pretty basic.
If you don't put anything in here, it will use Jetsis free Jetsis
for the server URL for the configuration of the Jetsi client.
Let me back up here to the side that will be controlled needs
to install the electron Jetsi meat.
It's under GitHub.
Jetsis that should be.
That's electron is how you download this big electron binary blob
and then it installs Jetsi client.
It allows you to be promoted, promoted into whatever.
So if you leave the server URL blank, it's going to default to the free one.
So you want to put the server URL in there just in case you accidentally type the wrong thing.
And then you're good to go.
If this comes up, then it actually connects and stuff.
You're good to go.
So you can make up whatever, you know, those, the one I was doing here.
It's pretty standard stuff.
I will say I had issues sharing, sharing some, sharing screens by application and title.
So if I didn't share the whole screen, I had issues with sharing the,
sharing the desktop or whatever, just, just actual windows.
Oh, make sure I'm still recording.
So that's that.
That's pretty much it.
So like I said, there's like the big blue button is the other one.
You might want to take a look at.
Now there's these environment variables in that Docker compose, which I set.
And then there's also E and V, this dot E and V, which is like an environment.
And I tried messing with that too.
The expose HTTP port, which I think already have something with the only 8000.
Which I don't understand.
Yeah, this is the Docker proxy.
So it's good.
I'm pretty sure I had something already running on 80, 8000, but I guess not.
So comes in through Cloudflare gets forwarded off to gets forwarded off to this IP.
This IP has a NAT from port 80 to port 8000 to the actual Jetsie server.
So I didn't have to set anything up outside of the default config.
I just aim it at the, at this IP and then have it had the firewall do the port forwarding stuff.
So first of good, it works on the phone.
I was able to control, you know, control some stuff.
It has like an allow button, so you have to actually allow the controlling of the remote box.
But there that should be good to go.
Hope this helps somebody out.
And let me know if you have any questions.
You've been listening to Hecopublic Radio at HecopublicRadio.org.
We are a community podcast network that release the shows every weekday, Monday through Friday.
Today's show, like all our shows, was contributed by an HPR listener like yourself.
If you ever thought of recording a podcast and click on our contributing to find out how easy it really is.
Hecopublic Radio was founded by the digital dog pound and the Infonomicon Computer Club.
And it's part of the binary revolution at binwreff.com.
If you have comments on today's show, please email the host directly.
Leave a comment on the website or record a follow-up episode yourself.
Unless otherwise stated, today's show is released on the create of comments,
and the contribution, share a light, free to all license.