aboutsummaryrefslogtreecommitdiff
path: root/vnc.py
diff options
context:
space:
mode:
authorJonathan Weth <git@jonathanweth.de>2021-06-23 12:33:28 +0200
committerJonathan Weth <git@jonathanweth.de>2021-06-23 12:33:28 +0200
commited1d15aa02b3c7c1350a5204861d1f8678550fbb (patch)
tree51d4aa7cdee4f90b5f2c3a4188cb80519dd2342d /vnc.py
parent74e02d1953c1ee03a4e7dfc73e80318a24ba56a7 (diff)
downloadRWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.tar.gz
RWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.tar.bz2
RWA.Support.SessionService-ed1d15aa02b3c7c1350a5204861d1f8678550fbb.zip
Restructure project directory and provide script for session service
Diffstat (limited to 'vnc.py')
-rw-r--r--vnc.py57
1 files changed, 0 insertions, 57 deletions
diff --git a/vnc.py b/vnc.py
deleted file mode 100644
index 1725532..0000000
--- a/vnc.py
+++ /dev/null
@@ -1,57 +0,0 @@
-# This file is part of Remote Support Desktop
-# https://gitlab.das-netzwerkteam.de/RemoteWebApp/rwa.support.sessionservice
-# Copyright 2020, 2021 Jonathan Weth <dev@jonathanweth.de>
-# Copyright 2020 Daniel Teichmann <daniel.teichmann@das-netzwerkteam.de>
-# Copyright 2020 Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
-# SPDX-License-Identifier: GPL-2.0-or-later
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the
-# Free Software Foundation, Inc.,
-# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-import os
-import subprocess
-from typing import Dict
-from uuid import uuid4
-
-import port_for
-
-
-def save_password(pw: str) -> str:
- """Save password in x11vnc format in temporary directory."""
- filename = f"/tmp/rwa/{uuid4()}.pw"
- os.makedirs("/tmp/rwa/", exist_ok=True)
- p = subprocess.Popen(["x11vnc", "-storepasswd", f"{pw}", filename])
- p.communicate()
- return filename
-
-
-def run_vnc(pw_filename: str) -> Dict[str, Dict[str, int]]:
- """Run x11vnc and websockify with random, unique ports in background."""
- port = port_for.select_random()
- port_vnc = port_for.select_random()
-
- # Start VNC process
- p = subprocess.Popen(["x11vnc", "-rfbauth", pw_filename, "-rfbport", f"{port_vnc}"])
-
- # Start websockify
- p2 = subprocess.Popen(f"websockify {port} 127.0.0.1:{port_vnc}", shell=True,)
-
- return {
- "ws": {"pid": p2.pid, "port": port},
- "vnc": {"port": port_vnc, "pid": p.pid},
- }