chore: remove mumble-web*, as it is no longer maintained
This commit is contained in:
parent
7e50ffca40
commit
9e60e82b0b
22 changed files with 0 additions and 391 deletions
|
@ -57,9 +57,6 @@ jobs:
|
||||||
mediawiki-extension-openidconnect: *job
|
mediawiki-extension-openidconnect: *job
|
||||||
mediawiki-extension-pluggableauth: *job
|
mediawiki-extension-pluggableauth: *job
|
||||||
mqtt2prometheus: *job
|
mqtt2prometheus: *job
|
||||||
mumble-web: *job
|
|
||||||
mumble-web-data: *job
|
|
||||||
mumble-web-proxy: *job
|
|
||||||
prometheus-ipmi-exporter: *job
|
prometheus-ipmi-exporter: *job
|
||||||
prometheus-dnsbl-exporter: *job
|
prometheus-dnsbl-exporter: *job
|
||||||
prometheus2influxdb: *job
|
prometheus2influxdb: *job
|
||||||
|
|
|
@ -33,9 +33,6 @@ information, please see [https://repo.s3lph.me/](https://repo.s3lph.me/).
|
||||||
- [mediawiki-extension-openidconnect](https://www.mediawiki.org/wiki/Extension:OpenID_Connect)
|
- [mediawiki-extension-openidconnect](https://www.mediawiki.org/wiki/Extension:OpenID_Connect)
|
||||||
- [mediawiki-extension-pluggableauth](https://www.mediawiki.org/wiki/Extension:PluggableAuth)
|
- [mediawiki-extension-pluggableauth](https://www.mediawiki.org/wiki/Extension:PluggableAuth)
|
||||||
- [mqtt2prometheus](https://github.com/hikhvar/mqtt2prometheus)
|
- [mqtt2prometheus](https://github.com/hikhvar/mqtt2prometheus)
|
||||||
- [mumble-web](https://github.com/Johni0702/mumble-web)
|
|
||||||
- [mumble-web-data](https://github.com/Johni0702/mumble-web)
|
|
||||||
- [mumble-web-proxy](https://github.com/Johni0702/mumble-web-proxy)
|
|
||||||
- [prometheus-ipmi-exporter](https://github.com/prometheus-community/ipmi_exporter)
|
- [prometheus-ipmi-exporter](https://github.com/prometheus-community/ipmi_exporter)
|
||||||
- [prometheus-dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter)
|
- [prometheus-dnsbl-exporter](https://github.com/Luzilla/dnsbl_exporter)
|
||||||
- [prometheus2influxdb](https://gitlab.com/s3lph/prometheus2influxdb)
|
- [prometheus2influxdb](https://gitlab.com/s3lph/prometheus2influxdb)
|
||||||
|
|
|
@ -1,49 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -exo pipefail
|
|
||||||
|
|
||||||
|
|
||||||
ROOT=$(pwd)
|
|
||||||
function fetch() {
|
|
||||||
apt install --assume-yes --no-install-recommends git npm
|
|
||||||
cd "${SRCDIR}"
|
|
||||||
git clone https://github.com/johni0702/mumble-web mumble-web
|
|
||||||
cd mumble-web
|
|
||||||
export VERSION=0.$(git rev-list --count HEAD)
|
|
||||||
npm install
|
|
||||||
}
|
|
||||||
|
|
||||||
function prepare() {
|
|
||||||
mkdir -p \
|
|
||||||
"${PKGDIR}/DEBIAN" \
|
|
||||||
"${PKGDIR}/usr/share/mumble-web/html/" \
|
|
||||||
"${PKGDIR}/etc/mumble-web/html/" \
|
|
||||||
"${PKGDIR}/etc/apache2/sites-available/"
|
|
||||||
rsync -a "${SRCDIR}/mumble-web/dist/" "${PKGDIR}/usr/share/mumble-web/html/"
|
|
||||||
chown root:root -R "${PKGDIR}/usr/share/mumble-web/html"
|
|
||||||
mv "${PKGDIR}/usr/share/mumble-web/html/config.local.js" "${PKGDIR}/etc/mumble-web/html/config.js"
|
|
||||||
cp "${ROOT}/mumble-web.site" "${PKGDIR}/etc/apache2/sites-available/mumble-web.site"
|
|
||||||
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
|
|
||||||
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
|
|
||||||
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
find "${PKGDIR}" -exec touch -m -d "${ISODATE}" {} \;
|
|
||||||
}
|
|
||||||
|
|
||||||
function package() {
|
|
||||||
cd "${BUILDDIR}"
|
|
||||||
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function build() {
|
|
||||||
export BUILDDIR=${ROOT}/build
|
|
||||||
export SRCDIR=${ROOT}/build/srcdir
|
|
||||||
export PKGDIR=${ROOT}/build/pkgdir
|
|
||||||
mkdir -p ${SRCDIR} ${PKGDIR}
|
|
||||||
fetch
|
|
||||||
prepare
|
|
||||||
package
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
build
|
|
|
@ -1,2 +0,0 @@
|
||||||
/etc/apache2/sites-available/mumble-web.site
|
|
||||||
/etc/mumble-web/html/config.js
|
|
|
@ -1,12 +0,0 @@
|
||||||
Package: mumble-web-data
|
|
||||||
Version: __VERSION__
|
|
||||||
Maintainer: __MAINTAINER__
|
|
||||||
Section: web
|
|
||||||
Priority: optional
|
|
||||||
Architecture: all
|
|
||||||
Recommends: apache2, mumble-web | mumble-web-proxy
|
|
||||||
Description: HTML5 Mumble client for use in modern browsers - data
|
|
||||||
The Mumble protocol uses TCP for control and UDP for voice. Running
|
|
||||||
in a browser, both are unavailable to this client. Instead Websockets
|
|
||||||
are used for control and WebRTC is used for voice (using Websockets
|
|
||||||
as fallback if the server does not support WebRTC).
|
|
|
@ -1,31 +0,0 @@
|
||||||
<VirtualHost *:80>
|
|
||||||
ServerName mumble.example.com
|
|
||||||
ServerAdmin webmaster@localhost
|
|
||||||
|
|
||||||
DocumentRoot /usr/share/mumble-web/html
|
|
||||||
<Directory /usr/share/mumble-web/html>
|
|
||||||
Options -Indexes
|
|
||||||
Require all granted
|
|
||||||
AllowOverride none
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
Alias /config.local.js /etc/mumble-web/html/config.js
|
|
||||||
<Directory /etc/mumble-web/html>
|
|
||||||
Options -Indexes
|
|
||||||
Require all granted
|
|
||||||
AllowOverride none
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
<Location /ws>
|
|
||||||
RewriteEngine On
|
|
||||||
RewriteCond %{HTTP:Upgrade} =websocket
|
|
||||||
RewriteRule ^/(.*) ws://localhost:64737/$1 [P,L]
|
|
||||||
RewriteRule ^/(.*) http://localhost:64737/$1 [P,L]
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
|
||||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
|
||||||
|
|
||||||
</VirtualHost>
|
|
||||||
|
|
||||||
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|
|
|
@ -1,48 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -exo pipefail
|
|
||||||
|
|
||||||
|
|
||||||
ROOT=$(pwd)
|
|
||||||
function fetch() {
|
|
||||||
apt install --assume-yes --no-install-recommends git cargo clang pkg-config libssl-dev libglib2.0-dev libnice-dev
|
|
||||||
cd "${SRCDIR}"
|
|
||||||
git clone https://github.com/johni0702/mumble-web-proxy mumble-web-proxy
|
|
||||||
cd mumble-web-proxy
|
|
||||||
export VERSION=0.$(git rev-list --count HEAD)
|
|
||||||
cargo build --release
|
|
||||||
}
|
|
||||||
|
|
||||||
function prepare() {
|
|
||||||
mkdir -p \
|
|
||||||
"${PKGDIR}/DEBIAN" \
|
|
||||||
"${PKGDIR}/usr/bin" \
|
|
||||||
"${PKGDIR}/etc/mumble-web/proxy" \
|
|
||||||
"${PKGDIR}/lib/systemd/system"
|
|
||||||
cp "${SRCDIR}/mumble-web-proxy/target/release/mumble-web-proxy" "${PKGDIR}/usr/bin/mumble-web-proxy"
|
|
||||||
cp "${ROOT}/mumble-web-proxy@.service" "${PKGDIR}/lib/systemd/system/mumble-web-proxy@.service"
|
|
||||||
cp "${ROOT}/mumble-web-proxy.conf" "${PKGDIR}/etc/mumble-web/proxy/mumble.conf"
|
|
||||||
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
|
|
||||||
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
|
|
||||||
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
find "${PKGDIR}" -exec touch -m -d "${ISODATE}" {} \;
|
|
||||||
}
|
|
||||||
|
|
||||||
function package() {
|
|
||||||
cd "${BUILDDIR}"
|
|
||||||
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function build() {
|
|
||||||
export BUILDDIR=${ROOT}/build
|
|
||||||
export SRCDIR=${ROOT}/build/srcdir
|
|
||||||
export PKGDIR=${ROOT}/build/pkgdir
|
|
||||||
mkdir -p ${SRCDIR} ${PKGDIR}
|
|
||||||
fetch
|
|
||||||
prepare
|
|
||||||
package
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
build
|
|
|
@ -1 +0,0 @@
|
||||||
/etc/mumble-web/proxy/mumble.conf
|
|
|
@ -1,12 +0,0 @@
|
||||||
Package: mumble-web-proxy
|
|
||||||
Version: __VERSION__
|
|
||||||
Maintainer: __MAINTAINER__
|
|
||||||
Section: web
|
|
||||||
Priority: optional
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: libnice10
|
|
||||||
Recommends: apache2, mumble-web-data
|
|
||||||
Description: Mumble to WebSocket+WebRTC proxy.
|
|
||||||
mumble-web-proxy is a Mumble to WebSocket+WebRTC proxy. While not
|
|
||||||
limited to, its primary use-case is allowing mumble-web to connect to
|
|
||||||
vanilla Mumble 1.2/1.3 servers.
|
|
|
@ -1,26 +0,0 @@
|
||||||
# See https://github.com/johni0702/mumble-web-proxy for details
|
|
||||||
|
|
||||||
# If this file is e.g. named /etc/mumble-web/proxy/mumble.conf
|
|
||||||
# run the systemd service as mumble-web-proxy@mumble.service
|
|
||||||
|
|
||||||
# Port to listen for WebSocket (non TLS) connections on
|
|
||||||
listen-ws = 64737
|
|
||||||
|
|
||||||
# Hostname and (optionally) port of the upstream Mumble server
|
|
||||||
server = 'mumble.example.org:64738'
|
|
||||||
|
|
||||||
# Connect to upstream server even when its certificate is
|
|
||||||
# invalid. Only ever use this if know that your server is using a
|
|
||||||
# self-signed certificate!
|
|
||||||
#accept-invalid-certificate
|
|
||||||
|
|
||||||
# If your mumble-web-proxy is running behind a firewall or NAT, you
|
|
||||||
# need to allocate a range of ports to it which it can use for ICE
|
|
||||||
# connection establishment.
|
|
||||||
#ice-port-min = 20000
|
|
||||||
#ice-port-max = 21000
|
|
||||||
|
|
||||||
# For NATs, you additionally need to provide it with its publicly
|
|
||||||
# reachable IP address(es):
|
|
||||||
#ice-ipv4 = '1.2.3.4'
|
|
||||||
#ice-ipv6 = '2001:db8::1ce'
|
|
|
@ -1,48 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -exo pipefail
|
|
||||||
|
|
||||||
|
|
||||||
ROOT=$(pwd)
|
|
||||||
function fetch() {
|
|
||||||
apt install --assume-yes --no-install-recommends git cargo clang pkg-config libssl-dev libglib2.0-dev libnice-dev
|
|
||||||
cd "${SRCDIR}"
|
|
||||||
git clone https://github.com/johni0702/mumble-web-proxy mumble-web-proxy
|
|
||||||
cd mumble-web-proxy
|
|
||||||
export VERSION=0.$(git rev-list --count HEAD)
|
|
||||||
cargo build --release
|
|
||||||
}
|
|
||||||
|
|
||||||
function prepare() {
|
|
||||||
mkdir -p \
|
|
||||||
"${PKGDIR}/DEBIAN" \
|
|
||||||
"${PKGDIR}/usr/bin" \
|
|
||||||
"${PKGDIR}/etc/mumble-web/proxy" \
|
|
||||||
"${PKGDIR}/lib/systemd/system"
|
|
||||||
cp "${SRCDIR}/mumble-web-proxy/target/release/mumble-web-proxy" "${PKGDIR}/usr/bin/mumble-web-proxy"
|
|
||||||
cp "${ROOT}/mumble-web-proxy@.service" "${PKGDIR}/lib/systemd/system/mumble-web-proxy@.service"
|
|
||||||
cp "${ROOT}/mumble-web-proxy.conf" "${PKGDIR}/etc/mumble-web/proxy/mumble.conf"
|
|
||||||
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
|
|
||||||
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
|
|
||||||
sed -re "s/__VERSION__/${VERSION}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
find "${PKGDIR}" -exec touch -m -d "${ISODATE}" {} \;
|
|
||||||
}
|
|
||||||
|
|
||||||
function package() {
|
|
||||||
cd "${BUILDDIR}"
|
|
||||||
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function build() {
|
|
||||||
export BUILDDIR=${ROOT}/build
|
|
||||||
export SRCDIR=${ROOT}/build/srcdir
|
|
||||||
export PKGDIR=${ROOT}/build/pkgdir
|
|
||||||
mkdir -p ${SRCDIR} ${PKGDIR}
|
|
||||||
fetch
|
|
||||||
prepare
|
|
||||||
package
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
build
|
|
|
@ -1 +0,0 @@
|
||||||
/etc/mumble-web/proxy/mumble.conf
|
|
|
@ -1,12 +0,0 @@
|
||||||
Package: mumble-web-proxy
|
|
||||||
Version: __VERSION__
|
|
||||||
Maintainer: __MAINTAINER__
|
|
||||||
Section: web
|
|
||||||
Priority: optional
|
|
||||||
Architecture: amd64
|
|
||||||
Depends: libnice10
|
|
||||||
Recommends: apache2, mumble-web-data
|
|
||||||
Description: Mumble to WebSocket+WebRTC proxy.
|
|
||||||
mumble-web-proxy is a Mumble to WebSocket+WebRTC proxy. While not
|
|
||||||
limited to, its primary use-case is allowing mumble-web to connect to
|
|
||||||
vanilla Mumble 1.2/1.3 servers.
|
|
|
@ -1,26 +0,0 @@
|
||||||
# See https://github.com/johni0702/mumble-web-proxy for details
|
|
||||||
|
|
||||||
# If this file is e.g. named /etc/mumble-web/proxy/mumble.conf
|
|
||||||
# run the systemd service as mumble-web-proxy@mumble.service
|
|
||||||
|
|
||||||
# Port to listen for WebSocket (non TLS) connections on
|
|
||||||
listen-ws = 64737
|
|
||||||
|
|
||||||
# Hostname and (optionally) port of the upstream Mumble server
|
|
||||||
server = 'mumble.example.org:64738'
|
|
||||||
|
|
||||||
# Connect to upstream server even when its certificate is
|
|
||||||
# invalid. Only ever use this if know that your server is using a
|
|
||||||
# self-signed certificate!
|
|
||||||
#accept-invalid-certificate
|
|
||||||
|
|
||||||
# If your mumble-web-proxy is running behind a firewall or NAT, you
|
|
||||||
# need to allocate a range of ports to it which it can use for ICE
|
|
||||||
# connection establishment.
|
|
||||||
#ice-port-min = 20000
|
|
||||||
#ice-port-max = 21000
|
|
||||||
|
|
||||||
# For NATs, you additionally need to provide it with its publicly
|
|
||||||
# reachable IP address(es):
|
|
||||||
#ice-ipv4 = '1.2.3.4'
|
|
||||||
#ice-ipv6 = '2001:db8::1ce'
|
|
|
@ -1,13 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Mumble to WebSocket+WebRTC proxy
|
|
||||||
After=network-online.target
|
|
||||||
Wants=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/mumble-web-proxy --config /etc/mumble-web/proxy/%I.conf
|
|
||||||
DynamicUser=true
|
|
||||||
CapabilityBoundingSet=
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,13 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Mumble to WebSocket+WebRTC proxy
|
|
||||||
After=network-online.target
|
|
||||||
Wants=network-online.target
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/mumble-web-proxy --config /etc/mumble-web/proxy/%I.conf
|
|
||||||
DynamicUser=true
|
|
||||||
CapabilityBoundingSet=
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,36 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -exo pipefail
|
|
||||||
|
|
||||||
|
|
||||||
ROOT=$(pwd)
|
|
||||||
|
|
||||||
function prepare() {
|
|
||||||
mkdir -p \
|
|
||||||
"${PKGDIR}/DEBIAN" \
|
|
||||||
"${PKGDIR}/etc/default" \
|
|
||||||
"${PKGDIR}/lib/systemd/system"
|
|
||||||
cp "${ROOT}/mumble-web.defaults" "${PKGDIR}/etc/default/mumble-web"
|
|
||||||
cp "${ROOT}/mumble-web.service" "${PKGDIR}/lib/systemd/system/mumble-web.service"
|
|
||||||
cp "${ROOT}/debian.control" "${PKGDIR}/DEBIAN/control"
|
|
||||||
cp "${ROOT}/debian.conffiles" "${PKGDIR}/DEBIAN/conffiles"
|
|
||||||
sed -re "s/__MAINTAINER__/${MAINTAINER}/g" -i "${PKGDIR}/DEBIAN/control"
|
|
||||||
find "${PKGDIR}" -exec touch -m -d "${ISODATE}" {} \;
|
|
||||||
}
|
|
||||||
|
|
||||||
function package() {
|
|
||||||
cd "${BUILDDIR}"
|
|
||||||
dpkg-deb --build "${PKGDIR}" "${BUILDDIR}"
|
|
||||||
}
|
|
||||||
|
|
||||||
function build() {
|
|
||||||
export BUILDDIR=${ROOT}/build
|
|
||||||
export SRCDIR=${ROOT}/build/srcdir
|
|
||||||
export PKGDIR=${ROOT}/build/pkgdir
|
|
||||||
mkdir -p ${SRCDIR} ${PKGDIR}
|
|
||||||
prepare
|
|
||||||
package
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
build
|
|
|
@ -1 +0,0 @@
|
||||||
/etc/default/mumble-web
|
|
|
@ -1,12 +0,0 @@
|
||||||
Package: mumble-web
|
|
||||||
Version: 0.1
|
|
||||||
Maintainer: __MAINTAINER__
|
|
||||||
Section: web
|
|
||||||
Priority: optional
|
|
||||||
Architecture: all
|
|
||||||
Depends: websockify, mumble-web-data
|
|
||||||
Description: HTML5 Mumble client for use in modern browsers
|
|
||||||
The Mumble protocol uses TCP for control and UDP for voice. Running
|
|
||||||
in a browser, both are unavailable to this client. Instead Websockets
|
|
||||||
are used for control and WebRTC is used for voice (using Websockets
|
|
||||||
as fallback if the server does not support WebRTC).
|
|
|
@ -1,2 +0,0 @@
|
||||||
|
|
||||||
ARGS=--ssl-target localhost:64737 localhost:64738
|
|
|
@ -1,15 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=HTML5 Mumble client
|
|
||||||
Documentation=https://github.com/johni0702/mumble-web
|
|
||||||
After=network-online.target mumble-server.service
|
|
||||||
Wants=network-online.target mumble-server.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
EnvironmentFile=-/etc/default/mumble-web
|
|
||||||
ExecStart=/usr/bin/websockify --web=/usr/share/mumble-web/html $ARGS
|
|
||||||
DynamicUser=true
|
|
||||||
CapabilityBoundingSet=
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
|
@ -1,25 +0,0 @@
|
||||||
<VirtualHost *:80>
|
|
||||||
ServerName mumble.example.com
|
|
||||||
ServerAdmin webmaster@localhost
|
|
||||||
|
|
||||||
DocumentRoot /usr/share/mumble-web/html
|
|
||||||
|
|
||||||
<Directory /usr/share/mumble-web/html>
|
|
||||||
Options -Indexes
|
|
||||||
Require all granted
|
|
||||||
AllowOverride none
|
|
||||||
</Directory>
|
|
||||||
|
|
||||||
<Location /ws>
|
|
||||||
RewriteEngine On
|
|
||||||
RewriteCond %{HTTP:Upgrade} =websocket
|
|
||||||
RewriteRule ^/(.*) ws://localhost:64737/$1 [P,L]
|
|
||||||
RewriteRule ^/(.*) http://localhost:64737/$1 [P,L]
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
|
||||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
|
||||||
|
|
||||||
</VirtualHost>
|
|
||||||
|
|
||||||
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
|
|
Loading…
Reference in a new issue