added p2prc script
This commit is contained in:
78
Dockerfile
78
Dockerfile
@@ -1,15 +1,65 @@
|
|||||||
FROM golang:latest as builder
|
# -----------------------------------------------------------------------------
|
||||||
LABEL maintainer="Adam Jordan <adamyordan@gmail.com>"
|
# This is base image of Ubuntu LTS with SSHD service.
|
||||||
WORKDIR /build
|
#
|
||||||
COPY go.mod go.sum ./
|
# Authors: Art567
|
||||||
RUN go mod download
|
# Updated: Sep 20th, 2015
|
||||||
COPY . .
|
# Require: Docker (http://www.docker.io/)
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o laplace .
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
FROM alpine:latest
|
|
||||||
RUN apk --no-cache add ca-certificates
|
# Base system is the latest LTS version of Ubuntu.
|
||||||
WORKDIR /root/
|
# from consol/ubuntu-xfce-vnc
|
||||||
COPY --from=builder /build/laplace .
|
|
||||||
COPY files files
|
# due to dependency issues vnc is still work in progress
|
||||||
EXPOSE 443
|
from ubuntu:20.04
|
||||||
CMD ["./laplace"]
|
|
||||||
|
# Switch to root user to install additional software
|
||||||
|
USER 0
|
||||||
|
|
||||||
|
|
||||||
|
# Make sure we don't get notifications we can't answer during building.
|
||||||
|
env DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
|
||||||
|
# Prepare scripts and configs
|
||||||
|
add ./scripts/start /start
|
||||||
|
|
||||||
|
|
||||||
|
# Download and install everything from the repos.
|
||||||
|
run apt-get -q -y update; apt-get -q -y upgrade && \
|
||||||
|
apt-get -q -y install sudo openssh-server && \
|
||||||
|
mkdir /var/run/sshd
|
||||||
|
|
||||||
|
# Installing golang and git
|
||||||
|
run apt install golang && \
|
||||||
|
apt install git
|
||||||
|
|
||||||
|
|
||||||
|
# Set root password
|
||||||
|
run echo 'root:password' >> /root/passwdfile
|
||||||
|
|
||||||
|
|
||||||
|
# Create user and it's password
|
||||||
|
run useradd -m -G sudo master && \
|
||||||
|
echo 'master:password' >> /root/passwdfile
|
||||||
|
|
||||||
|
|
||||||
|
# Apply root password
|
||||||
|
run chpasswd -c SHA512 < /root/passwdfile && \
|
||||||
|
rm /root/passwdfile
|
||||||
|
|
||||||
|
|
||||||
|
# Port 22 is used for ssh
|
||||||
|
expose 22
|
||||||
|
|
||||||
|
|
||||||
|
# Assign /data as static volume.
|
||||||
|
volume ["/data"]
|
||||||
|
|
||||||
|
|
||||||
|
# Fix all permissions
|
||||||
|
run chmod +x /start
|
||||||
|
|
||||||
|
|
||||||
|
# Starting sshd
|
||||||
|
cmd ["/start"]
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ https://github.com/Akilan1999/laplace/tree/keyboard_mouse
|
|||||||
|
|
||||||
## Installation instruction
|
## Installation instruction
|
||||||
```
|
```
|
||||||
|
docker run -p 6080:80 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ func (b *Barrier)CreateBarrierSession() error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := exec.Command("sudo","-u",configResp.SystemUsername,"barrier.barrierc","-f","--debug", "DEBUG" ,"--log", "/tmp/barrier.log",b.IPAddress)
|
cmd := exec.Command("sudo","-u",configResp.SystemUsername,"barrierc","-f","--debug", "DEBUG" ,"--log", "/tmp/barrier.log",b.IPAddress)
|
||||||
|
|
||||||
// USE THE FOLLOWING TO DEBUG
|
// USE THE FOLLOWING TO DEBUG
|
||||||
//cmdReader, err := cmd.StdoutPipe()
|
//cmdReader, err := cmd.StdoutPipe()
|
||||||
@@ -81,7 +81,7 @@ func (b *Barrier)DeleteBarrierSession() error {
|
|||||||
|
|
||||||
// DetectBarrier This function ensures that the server has barrier client installed
|
// DetectBarrier This function ensures that the server has barrier client installed
|
||||||
func DetectBarrier() error {
|
func DetectBarrier() error {
|
||||||
_, err := exec.LookPath("barrier.barrierc")
|
_, err := exec.LookPath("barrierc")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
41
p2prc.sh
Normal file
41
p2prc.sh
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# Note: This script is only be executed inside the docker container
|
||||||
|
# Assumes to be running on ubuntu 20.04
|
||||||
|
# Ports required to be allocated internally:
|
||||||
|
# - 8888 (laplace server)
|
||||||
|
# - 24800 (barrier server)
|
||||||
|
|
||||||
|
export REMOTEGAMEPLAY=$PWD
|
||||||
|
|
||||||
|
# Updating and installing go compiler
|
||||||
|
apt update
|
||||||
|
apt install golang
|
||||||
|
|
||||||
|
# Installing barrier
|
||||||
|
apt install barrier
|
||||||
|
|
||||||
|
# Installing chromium
|
||||||
|
wget https://github.com/RobRich999/Chromium_Clang/releases/download/v94.0.4585.0-r904940-linux64-deb-avx/chromium-browser-unstable_94.0.4585.0-1_amd64.deb
|
||||||
|
apt install ./v94.0.4585.0-r904940-linux64-deb-avx/chromium-browser-unstable_94.0.4585.0-1_amd64.deb
|
||||||
|
|
||||||
|
# clone remotegameplay distribution
|
||||||
|
git clone https://github.com/Akilan1999/remotegameplay
|
||||||
|
# enter cloned directory
|
||||||
|
cd remotegameplay
|
||||||
|
|
||||||
|
# Build laplace binary file
|
||||||
|
go build .
|
||||||
|
|
||||||
|
./laplace -setconfig
|
||||||
|
./laplace -tls -addr 0.0.0.0:8888 &
|
||||||
|
./laplace -headless &
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
./laplace -headless -roomInfo >> /tmp/output.txt
|
||||||
|
|
||||||
|
# Installation game script here and start remote gameplay
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user