Introduce vdn-php
Run a forwarded PHP 8.2 server using VDN.
This commit is contained in:
35
bin/vdn-php
Executable file
35
bin/vdn-php
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu
|
||||
|
||||
trap "trap - SIGTERM && kill -- -$$" SIGINT SIGTERM EXIT
|
||||
|
||||
GUEST_SYS=debian-1
|
||||
MOUNT_POINT=/tmp/vdn-php
|
||||
|
||||
redirected=8000
|
||||
for (( i=2; i <= "$#"; i++ )); do
|
||||
prev=$(( i - 1 ))
|
||||
if [[ ${!prev} == '-S' ]]; then
|
||||
redirected=$(awk -F ':' '{print $NF}' <<< ${!i})
|
||||
fi
|
||||
done
|
||||
|
||||
vdn-set-network-dir ~vdn/vdn/networks/docker
|
||||
|
||||
if ! vdn-alive $GUEST_SYS; then
|
||||
vdn-start -b $GUEST_SYS
|
||||
until vdn-ssh root@$GUEST_SYS : &> /dev/null; do
|
||||
sleep 2
|
||||
done
|
||||
fi
|
||||
|
||||
vdn-ssh root@$GUEST_SYS 'apt-get install -y php8.2-curl php8.2-mbstring php8.2-mysql php8.2-pgsql php8.2-sqlite3 php8.2-xdebug php8.2-xml php8.2-zip'
|
||||
|
||||
ncat -l -p 45678 -e /usr/lib/openssh/sftp-server &
|
||||
|
||||
vdn-ssh \
|
||||
-R 45679:127.0.0.1:45678 \
|
||||
-L $redirected:127.0.0.1:$redirected \
|
||||
test@$GUEST_SYS \
|
||||
"mkdir -p ${MOUNT_POINT}; sshfs localhost: ${MOUNT_POINT} -o directport=45679; cd ${MOUNT_POINT}; fuser -k $redirected/tcp; php $*"
|
Reference in New Issue
Block a user