Bedrud Belgeler

Yalıtılmış ağlar için - genel alan adı yok, giden internet yok, kısıtlı bağlantı.

Tarayıcılar WebRTC aracılığıyla kamera/mikrofon için güvenilir HTTPS gerektirir. Otomatik imzalı sertifikalar çalışır ancak uyarılar gösterir. Temiz bir kurulum için özel bir CA oluşturun ve istemcilere dağıtın.

Özel CA ve Sunucu Sertifikası Oluşturma

Modern tarayıcılar sertifikalarda Subject Alternative Names (SANs) gerektirir. Yükleyici bunu otomatik olarak halleder.

Seçenek 1: Yükleyiciyi Kullan (Önerilen)

bedrud install komutu, verilen IP’ler ve alan adları için uygun SAN’lara sahip otomatik imzalı sertifikalar oluşturur:

sudo bedrud install --tls --ip YOUR_SERVER_IP

Bir alan adı da eklemek için:

sudo bedrud install --tls --ip YOUR_SERVER_IP --domain your.domain.com

Seçenek 2: Manuel Sertifika Oluşturma

Yükleyicinin dahili oluşturma özelliği iş akışınıza uymuyorsa, openssl komutlarına -addext bayraklarını ekleyin:

#### Ed25519 (matches Bedrud's built-in generation, recommended)
 
```bash
openssl genpkey -algorithm ed25519 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
  -subj "/CN=Bedrud Internal CA"
 
openssl genpkey -algorithm ed25519 -out server.key
openssl req -new -key server.key -out server.csr \
  -subj "/CN=<your-server-ip-or-hostname>" \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 1825 -in server.csr \
  -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
 
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IP

ECDSA P256 (alternative)

openssl ecparam -genkey -name prime256v1 -out ca.key
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
  -subj "/CN=Bedrud Internal CA"
 
openssl ecparam -genkey -name prime256v1 -out server.key
openssl req -new -key server.key -out server.csr \
  -subj "/CN=<your-server-ip-or-hostname>" \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 1825 -in server.csr \
  -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
 
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IP

RSA (legacy compatibility, larger keys)

openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt \
  -subj "/CN=Bedrud Internal CA"
 
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csr \
  -subj "/CN=<your-server-ip-or-hostname>" \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
openssl x509 -req -days 365 -in server.csr \
  -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"
 
sudo ./bedrud install --tls --cert server.crt --key server.key --ip YOUR_SERVER_IP

CA’yı İstemci Güven Depolarına Ekleme

ca.crt dosyasını tüm istemci makinelere dağıtın:

Windows

certmgr.msc  # ca.crt dosyasına sağ tıklayın → Sertifika Yükle → Güvenilir Kök CA'lar

macOS

sudo security add-trusted-cert -d -r trustRoot \
  -k /Library/Keychains/System.keychain ca.crt

Linux (Debian/Ubuntu)

sudo cp ca.crt /usr/local/share/ca-certificates/bedrud-ca.crt
sudo update-ca-certificates

Linux (Arch/Fedora)

sudo cp ca.crt /etc/pki/ca-trust/source/anchors/bedrud-ca.crt
sudo update-ca-trust

Tarayıcıları yeniden başlatın, ardından https://YOUR_SERVER_IP adresini açın (sunucunun gerçek IP adresiyle değiştirin, örn. 192.168.1.100). Yeniden başlattıktan sonra sertifika güvenilir olacak ve kamera/mikrofon erişimi uyarılar olmadan çalışacaktır.

Sorun Giderme

SorunÇözüm
Tarayıcı hâlâ sertifika güvenilir değil uyarısı veriyorTarayıcı önbelleğini temizleyin, CA kurulumundan sonra tarayıcıyı yeniden başlatın
Kamera/mikrofon engellendiCA’nın ara sertifika değil, Güvenilir Kök CA’lar içinde olduğunu doğrulayın
Sertifikanın süresi dolmuşsudo bedrud cert renew komutunu çalıştırarak yeniden oluşturun (her 24 saatte bir 09:00’da otomatik yenileme)
CN uyuşmazlığıModern tarayıcılar CN alanını yok sayar — SAN yetkilidir. Yükleyicinin dahili sertifika oluşturmasını kullanın (önerilen) veya openssl komutuna -addext 'subjectAltName=...' ekleyin
Eksik SANsModern tarayıcılar CN alanını yok sayar. Yükleyicinin dahili sertifika oluşturmasını kullanın (önerilen) veya openssl komutuna -addext 'subjectAltName=...' ekleyin

Ayrıca bakın