1
Fork 0
mirror of https://github.com/jech/galene.git synced 2024-11-21 16:15:57 +01:00

SFU is now called Galène.

This commit is contained in:
Juliusz Chroboczek 2020-12-06 19:43:17 +01:00
parent 2d07c5d317
commit ef1c211b7f
23 changed files with 56 additions and 55 deletions

4
.gitignore vendored
View file

@ -1,7 +1,7 @@
*~
data/*.pem
sfu
sfu-password-generator/sfu-password-generator
galene
galene-password-generator/galene-password-generator
passwd
groups/*.json
static/*.d.ts

14
README
View file

@ -63,21 +63,21 @@ options are described below.
## Copy the necessary files to your server:
Assuming you have set up a user *sfu*:
Assuming you have set up a user *galene*:
rsync -a sfu static data groups sfu@server.example.org:
rsync -a galene static data groups galene@server.example.org:
## Run the server binary:
ssh sfu@server.example.org
nohup ./sfu &
ssh galene@server.example.org
nohup ./galene &
If you are using *runit*, use a script like the following:
#!/bin/sh
exec 2>&1
cd ~sfu
exec setuidgid sfu ./sfu
cd ~galene
exec setuidgid galene ./galene
If you are using *systemd*, use `Type=simple` in your service file.
@ -130,7 +130,7 @@ A user definition is a dictionary with the following fields:
allowed;
- `password`: if omitted, then no password is required. Otherwise, this
can either be a string, specifying a plain text password, or
a dictionary generated by the `sfu-password-generator` utility.
a dictionary generated by the `galene-password-generator` utility.
For example,

View file

@ -4,7 +4,7 @@ The frontend is written in JavaScript and is split into two files:
- `protocol.js` contains the low-level functions that interact with the
server;
- `sfu.js` contains the user interface.
- `galene.js` contains the user interface.
If you wish to develop your own frontend, I recommend using `protocol.js`,
which is likely to remain reasonably stable as the protocol evolves. This

View file

@ -16,8 +16,8 @@ import (
"github.com/pion/rtp/codecs"
"github.com/pion/webrtc/v3/pkg/media/samplebuilder"
"sfu/conn"
"sfu/group"
"galene/conn"
"galene/group"
)
var Directory string

View file

@ -4,7 +4,7 @@ import (
"sync/atomic"
"time"
"sfu/rtptime"
"galene/rtptime"
)
type Estimator struct {

View file

@ -3,7 +3,7 @@ package estimator
import (
"testing"
"sfu/rtptime"
"galene/rtptime"
)
func TestEstimator(t *testing.T) {

View file

@ -11,7 +11,7 @@ import (
"golang.org/x/crypto/pbkdf2"
"sfu/group"
"galene/group"
)
func main() {

View file

@ -16,9 +16,9 @@ import (
"syscall"
"time"
"sfu/diskwriter"
"sfu/group"
"sfu/webserver"
"galene/diskwriter"
"galene/group"
"galene/webserver"
)
func main() {

2
go.mod
View file

@ -1,4 +1,4 @@
module sfu
module galene
go 1.13

View file

@ -7,9 +7,10 @@ import (
"encoding/json"
"errors"
"hash"
"sfu/conn"
"golang.org/x/crypto/pbkdf2"
"galene/conn"
)
type RawPassword struct {

View file

@ -3,7 +3,7 @@ package jitter
import (
"sync/atomic"
"sfu/rtptime"
"galene/rtptime"
)
type Estimator struct {

View file

@ -13,12 +13,12 @@ import (
"github.com/pion/rtp"
"github.com/pion/webrtc/v3"
"sfu/conn"
"sfu/estimator"
"sfu/group"
"sfu/jitter"
"sfu/packetcache"
"sfu/rtptime"
"galene/conn"
"galene/estimator"
"galene/group"
"galene/jitter"
"galene/packetcache"
"galene/rtptime"
)
type bitrate struct {

View file

@ -9,8 +9,8 @@ import (
"github.com/pion/rtp/codecs"
"github.com/pion/webrtc/v3"
"sfu/packetcache"
"sfu/rtptime"
"galene/packetcache"
"galene/rtptime"
)
func isVP8Keyframe(packet *rtp.Packet) bool {

View file

@ -5,8 +5,8 @@ import (
"sync/atomic"
"time"
"sfu/rtptime"
"sfu/stats"
"galene/rtptime"
"galene/stats"
)
func (c *webClient) GetStats() *stats.Client {

View file

@ -9,9 +9,9 @@ import (
"github.com/pion/rtp"
"sfu/conn"
"sfu/packetcache"
"sfu/rtptime"
"galene/conn"
"galene/packetcache"
"galene/rtptime"
)
// packetIndex is a request to send a packet from the cache.

View file

@ -12,10 +12,10 @@ import (
"github.com/gorilla/websocket"
"github.com/pion/webrtc/v3"
"sfu/conn"
"sfu/diskwriter"
"sfu/estimator"
"sfu/group"
"galene/conn"
"galene/diskwriter"
"galene/estimator"
"galene/group"
)
func errorToWSCloseMessage(id string, err error) (*clientMessage, []byte) {

View file

@ -1020,7 +1020,7 @@ legend {
z-index: 1039;
}
#left-sidebar .sfu-header {
#left-sidebar .galene-header {
display: inline-block;
}
@ -1033,7 +1033,7 @@ header .collapse {
margin-left: 5px;
}
.sfu-header {
.galene-header {
font-size: 1.3rem;
font-weight: 900;
color: #dbd9d9;

View file

@ -1,11 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SFU</title>
<title>Galène</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="ScreenOrientation" content="autoRotate:disabled">
<link rel="stylesheet" type="text/css" href="/common.css"/>
<link rel="stylesheet" type="text/css" href="/sfu.css"/>
<link rel="stylesheet" type="text/css" href="/galene.css"/>
<link rel="author" href="https://www.irif.fr/~jch/"/>
<!-- Font Awesome File -->
<link href="/css/fontawesome.min.css" rel="stylesheet" type="text/css">
@ -19,7 +19,7 @@
<div class="row full-height">
<nav id="left-sidebar">
<div class="users-header">
<div class="sfu-header">SFU</div>
<div class="galene-header">Galène</div>
</div>
<div class="header-sep"></div>
<div id="users"></div>
@ -232,6 +232,6 @@
<script src="/protocol.js" defer></script>
<script src="/scripts/toastify.js" defer></script>
<script src="/sfu.js" defer></script>
<script src="/galene.js" defer></script>
</body>
</html>

View file

@ -1,12 +1,12 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>SFU</title>
<title>Galène</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/common.css">
<link rel="stylesheet" href="/mainpage.css">
<link rel="stylesheet" type="text/css" href="/sfu.css"/>
<link rel="stylesheet" type="text/css" href="/galene.css"/>
<link rel="author" href="https://www.irif.fr/~jch/"/>
<!-- Font Awesome File -->
<link href="/css/fontawesome.min.css" rel="stylesheet" type="text/css">
@ -16,7 +16,7 @@
<body>
<div class="home">
<h1 id="title" class="navbar-brand">SFU</h1>
<h1 id="title" class="navbar-brand">Galène</h1>
<form id="groupform">
<label for="group">Group:</label>
@ -31,7 +31,7 @@
</div>
</div>
<footer class="signature">
<p><a href="https://www.irif.fr/~jch/software/sfu/">Unnamed SFU</a> by <a href="https://www.irif.fr/~jch/" rel="author">Juliusz Chroboczek</a>
<p><a href="https://www.irif.fr/~jch/software/galene/">Galène</a> by <a href="https://www.irif.fr/~jch/" rel="author">Juliusz Chroboczek</a>
</footer>
<script src="/mainpage.js" defer></script>

View file

@ -14,6 +14,6 @@
},
"files": [
"protocol.js",
"sfu.js"
"galene.js"
]
}

View file

@ -4,7 +4,7 @@ import (
"sort"
"time"
"sfu/group"
"galene/group"
)
type GroupStats struct {

View file

@ -21,10 +21,10 @@ import (
"github.com/gorilla/websocket"
"sfu/diskwriter"
"sfu/group"
"sfu/rtpconn"
"sfu/stats"
"galene/diskwriter"
"galene/group"
"galene/rtpconn"
"galene/stats"
)
var server atomic.Value
@ -267,7 +267,7 @@ func groupHandler(w http.ResponseWriter, r *http.Request) {
return
}
serveFile(w, r, filepath.Join(StaticRoot, "sfu.html"))
serveFile(w, r, filepath.Join(StaticRoot, "galene.html"))
}
func publicHandler(w http.ResponseWriter, r *http.Request) {