From d1a6a68568c61787a7e39fc235b8e2719e47ac8a Mon Sep 17 00:00:00 2001 From: Michael Wagner Date: Fri, 29 Aug 2025 22:08:47 +0200 Subject: [PATCH] webssh added --- Configure | 31 +++++++++++++++++++ Test/webssh/.dummy | 0 Test/webssh/FitnessePages/.dummy | 0 Test/webssh/FitnessePages/AaaStart/.dummy | 0 .../webssh/FitnessePages/AaaStart/content.txt | 10 ++++++ .../FitnessePages/AaaStart/properties.xml | 14 +++++++++ Test/webssh/FitnessePages/PyTest/.dummy | 0 Test/webssh/FitnessePages/PyTest/content.txt | 4 +++ .../FitnessePages/PyTest/properties.xml | 12 +++++++ Test/webssh/FitnessePages/ServerTest/.dummy | 0 .../FitnessePages/ServerTest/content.txt | 6 ++++ .../FitnessePages/ServerTest/properties.xml | 12 +++++++ Test/webssh/FitnessePages/content.txt | 1 + Test/webssh/FitnessePages/properties.xml | 14 +++++++++ debian/mdjango.changelog | 3 ++ debian/mdjango.conf | 2 ++ debian/mdjango.control | 11 +++++++ debian/mdjango.cp | 5 +++ debian/mdjango.postinst | 27 ++++++++++++++++ debian/mdjango.preinst | 8 +++++ debian/webssh.build | 14 +++++++++ debian/webssh.control | 10 ++++++ debian/webssh.cp | 13 ++++++++ debian/webssh.postinst | 5 +++ debian/webssh.prebuild | 4 +++ etc/webssh.service | 14 +++++++++ mdjango/.dummy | 0 mdjango/etc/.dummy | 0 mdjango/etc/mysite.conf | 8 +++++ 29 files changed, 228 insertions(+) create mode 100755 Configure create mode 100644 Test/webssh/.dummy create mode 100644 Test/webssh/FitnessePages/.dummy create mode 100644 Test/webssh/FitnessePages/AaaStart/.dummy create mode 100644 Test/webssh/FitnessePages/AaaStart/content.txt create mode 100644 Test/webssh/FitnessePages/AaaStart/properties.xml create mode 100644 Test/webssh/FitnessePages/PyTest/.dummy create mode 100644 Test/webssh/FitnessePages/PyTest/content.txt create mode 100644 Test/webssh/FitnessePages/PyTest/properties.xml create mode 100644 Test/webssh/FitnessePages/ServerTest/.dummy create mode 100644 Test/webssh/FitnessePages/ServerTest/content.txt create mode 100644 Test/webssh/FitnessePages/ServerTest/properties.xml create mode 100644 Test/webssh/FitnessePages/content.txt create mode 100644 Test/webssh/FitnessePages/properties.xml create mode 100644 debian/mdjango.changelog create mode 100644 debian/mdjango.conf create mode 100644 debian/mdjango.control create mode 100755 debian/mdjango.cp create mode 100755 debian/mdjango.postinst create mode 100755 debian/mdjango.preinst create mode 100755 debian/webssh.build create mode 100644 debian/webssh.control create mode 100755 debian/webssh.cp create mode 100755 debian/webssh.postinst create mode 100755 debian/webssh.prebuild create mode 100644 etc/webssh.service create mode 100644 mdjango/.dummy create mode 100644 mdjango/etc/.dummy create mode 100644 mdjango/etc/mysite.conf diff --git a/Configure b/Configure new file mode 100755 index 0000000..9e8badc --- /dev/null +++ b/Configure @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +function usage { + cat <debian/webssh.conf +# generated by configure +compile_type=ANY +target_type=DEB +WEBSSH + mconfigure -V webssh + ;; +*) + echo "Invalid project." + usage + exit 25 + ;; +esac diff --git a/Test/webssh/.dummy b/Test/webssh/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/Test/webssh/FitnessePages/.dummy b/Test/webssh/FitnessePages/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/Test/webssh/FitnessePages/AaaStart/.dummy b/Test/webssh/FitnessePages/AaaStart/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/Test/webssh/FitnessePages/AaaStart/content.txt b/Test/webssh/FitnessePages/AaaStart/content.txt new file mode 100644 index 0000000..8c98eac --- /dev/null +++ b/Test/webssh/FitnessePages/AaaStart/content.txt @@ -0,0 +1,10 @@ +!1 Initialisierung + +!|test.util.CallScript| +|call script|mtestinfo webssh| +|call script|!- rm -r ~/tmp/webssh | true -!| +|call script|!- rm -r ~/tmp/tests | true -!| +|call script|if [ ! -d ~/webssh ]; then cd ~; git clone https://github.com/huashengdun/webssh; fi| +|call script|cd ~/webssh; git_up| +|call script|rsync -a /usr/lib/python3.9/webssh/ ~/tmp/webssh/| +|call script|rsync -a ~/webssh/tests/ ~/tmp/tests/| diff --git a/Test/webssh/FitnessePages/AaaStart/properties.xml b/Test/webssh/FitnessePages/AaaStart/properties.xml new file mode 100644 index 0000000..afb3ad1 --- /dev/null +++ b/Test/webssh/FitnessePages/AaaStart/properties.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Test/webssh/FitnessePages/PyTest/.dummy b/Test/webssh/FitnessePages/PyTest/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/Test/webssh/FitnessePages/PyTest/content.txt b/Test/webssh/FitnessePages/PyTest/content.txt new file mode 100644 index 0000000..701ed99 --- /dev/null +++ b/Test/webssh/FitnessePages/PyTest/content.txt @@ -0,0 +1,4 @@ +!1 pytest + +!|test.util.CallScript| +|call script|cd ~/tmp/tests && pytest-3| diff --git a/Test/webssh/FitnessePages/PyTest/properties.xml b/Test/webssh/FitnessePages/PyTest/properties.xml new file mode 100644 index 0000000..e13fdf4 --- /dev/null +++ b/Test/webssh/FitnessePages/PyTest/properties.xml @@ -0,0 +1,12 @@ + + + true + true + true + true + true + true + true + true + true + diff --git a/Test/webssh/FitnessePages/ServerTest/.dummy b/Test/webssh/FitnessePages/ServerTest/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/Test/webssh/FitnessePages/ServerTest/content.txt b/Test/webssh/FitnessePages/ServerTest/content.txt new file mode 100644 index 0000000..979bfa1 --- /dev/null +++ b/Test/webssh/FitnessePages/ServerTest/content.txt @@ -0,0 +1,6 @@ +!1 Server-Test + +!|test.util.CallScript| +|call script|!- rm index.html | true -!| +|call script|wget http://localhost:8888| +|call script|grep WebSSH index.html| diff --git a/Test/webssh/FitnessePages/ServerTest/properties.xml b/Test/webssh/FitnessePages/ServerTest/properties.xml new file mode 100644 index 0000000..e13fdf4 --- /dev/null +++ b/Test/webssh/FitnessePages/ServerTest/properties.xml @@ -0,0 +1,12 @@ + + + true + true + true + true + true + true + true + true + true + diff --git a/Test/webssh/FitnessePages/content.txt b/Test/webssh/FitnessePages/content.txt new file mode 100644 index 0000000..99c097c --- /dev/null +++ b/Test/webssh/FitnessePages/content.txt @@ -0,0 +1 @@ +!contents -R2 -g -p -f -h diff --git a/Test/webssh/FitnessePages/properties.xml b/Test/webssh/FitnessePages/properties.xml new file mode 100644 index 0000000..3096ff6 --- /dev/null +++ b/Test/webssh/FitnessePages/properties.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/debian/mdjango.changelog b/debian/mdjango.changelog new file mode 100644 index 0000000..5b143ea --- /dev/null +++ b/debian/mdjango.changelog @@ -0,0 +1,3 @@ +projects (0.1-%BUILD%) unstable; urgency=medium + * Djanjo base project + -- Michael Wagner Fri, 08 Aug 2025 10:00:00 +0100 diff --git a/debian/mdjango.conf b/debian/mdjango.conf new file mode 100644 index 0000000..4f91cd7 --- /dev/null +++ b/debian/mdjango.conf @@ -0,0 +1,2 @@ +compile_type=NONE +target_type=DEB diff --git a/debian/mdjango.control b/debian/mdjango.control new file mode 100644 index 0000000..4a6d8aa --- /dev/null +++ b/debian/mdjango.control @@ -0,0 +1,11 @@ +Source: projects +Section: main +Priority: optional +Maintainer: Michael Wagner +Build-Depends: + +Package: mdjango +Architecture: all +Depends: python3-django, apache2, libapache2-mod-wsgi-py3, postgresql, python3-psycopg2 +Description: Djanjo base project + diff --git a/debian/mdjango.cp b/debian/mdjango.cp new file mode 100755 index 0000000..f0ad2c8 --- /dev/null +++ b/debian/mdjango.cp @@ -0,0 +1,5 @@ +#!/bin/bash +set -e + +mkdir -p $1/etc/apache2/sites-available/ +cp mdjango/etc/mysite.conf $1/etc/apache2/sites-available/ diff --git a/debian/mdjango.postinst b/debian/mdjango.postinst new file mode 100755 index 0000000..ff4893d --- /dev/null +++ b/debian/mdjango.postinst @@ -0,0 +1,27 @@ +#!/bin/bash +set -e + +a2ensite mysite +systemctl reload apache2 + +# check addition to settings +if ! grep "### MDJANGO ###" /opt/mysite/mysite/settings.py >/dev/null +then + echo "add mdjango settings to settings.py" + cat << EOF >> /opt/mysite/mysite/settings.py +### MDJANGO ### +DATABASES = { + 'default': {}, + 'tbd': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'mydatabase', + 'USER': 'myuser', + 'PASSWORD': 'mypassword', + 'HOST': 'localhost', + 'PORT': '5432', + } +} +DEBUG = False +### MDJANGO-END ### +EOF +fi diff --git a/debian/mdjango.preinst b/debian/mdjango.preinst new file mode 100755 index 0000000..f955f50 --- /dev/null +++ b/debian/mdjango.preinst @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +if [ ! -d /opt/mysite ] +then + cd /opt + django-admin startproject mysite +fi diff --git a/debian/webssh.build b/debian/webssh.build new file mode 100755 index 0000000..c104cd7 --- /dev/null +++ b/debian/webssh.build @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +. debian/setenv.sh + +source .venv/bin/activate +pip install webssh + +# detemine verion +websshdir=$(ls -d .venv/lib/python3.9/site-packages/webssh-*) +version=${websshdir##*/webssh-} +version=${version%%.egg*} +echo "export version=$version" >> $PROJECT_DIR/debian/setenv.sh +echo "version=$version" >> $PROJECT_DIR/debian/rules.pre diff --git a/debian/webssh.control b/debian/webssh.control new file mode 100644 index 0000000..c51f8e2 --- /dev/null +++ b/debian/webssh.control @@ -0,0 +1,10 @@ +Source: webssh +Section: main +Priority: optional +Maintainer: Michael Wagner +Build-Depends: git, mbuild + +Package: webssh +Architecture: all +Depends: python3-paramiko(>=2.3.1), python3-tornado(>=4.5.0), python3-cryptography(>=3.3), python3-pycparser +Description: WebSSH diff --git a/debian/webssh.cp b/debian/webssh.cp new file mode 100755 index 0000000..aa6c95b --- /dev/null +++ b/debian/webssh.cp @@ -0,0 +1,13 @@ +#!/bin/bash +set -e + +. debian/setenv.sh + +mkdir -p $1/usr/lib/python3.9/ +cp -a $BUILD_DIR/.venv/lib/python3.9/site-packages/webssh $1/usr/lib/python3.9/ + +mkdir -p $1/usr/bin +cp $BUILD_DIR/.venv/bin/wssh $1/usr/bin/webssh + +mkdir -p $1/lib/systemd/system +cp etc/webssh.service $1/lib/systemd/system/ diff --git a/debian/webssh.postinst b/debian/webssh.postinst new file mode 100755 index 0000000..5c23761 --- /dev/null +++ b/debian/webssh.postinst @@ -0,0 +1,5 @@ +#!/bin/bash +set -e + +systemctl enable webssh || true +systemctl start webssh || true diff --git a/debian/webssh.prebuild b/debian/webssh.prebuild new file mode 100755 index 0000000..c1d79fa --- /dev/null +++ b/debian/webssh.prebuild @@ -0,0 +1,4 @@ +#!/bin/bash +set -e + +python3 -m venv .venv diff --git a/etc/webssh.service b/etc/webssh.service new file mode 100644 index 0000000..d3563ff --- /dev/null +++ b/etc/webssh.service @@ -0,0 +1,14 @@ +[Unit] +Description=WebSSH +After=network.target + +[Service] +ExecStart=/usr/bin/webssh +KillMode=process +Restart=on-failure +RestartSec=3 +Type=simple + +[Install] +WantedBy=multi-user.target +Alias=frps.service diff --git a/mdjango/.dummy b/mdjango/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/mdjango/etc/.dummy b/mdjango/etc/.dummy new file mode 100644 index 0000000..e69de29 diff --git a/mdjango/etc/mysite.conf b/mdjango/etc/mysite.conf new file mode 100644 index 0000000..81eb48f --- /dev/null +++ b/mdjango/etc/mysite.conf @@ -0,0 +1,8 @@ +WSGIScriptAlias / /opt/mysite/mysite/wsgi.py +#WSGIPythonHome /path/to/venv +WSGIPythonPath /opt/mysite + + +Require all granted + + -- 2.39.5