├── file.txt └── ubuntu_vps.txt /file.txt: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, workflow_dispatch] 4 | 5 | jobs: 6 | build: 7 | 8 | runs-on: windows-latest 9 | 10 | steps: 11 | - name: Download 12 | run: Invoke-WebRequest https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip -OutFile ngrok.zip 13 | - name: Extract 14 | run: Expand-Archive ngrok.zip 15 | - name: Auth 16 | run: .\ngrok\ngrok.exe authtoken $Env:NGROK_AUTH_TOKEN 17 | env: 18 | NGROK_AUTH_TOKEN: ${{ secrets.NGROK_AUTH_TOKEN }} 19 | - name: Enable TS 20 | run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server'-name "fDenyTSConnections" -Value 0 21 | - run: Enable-NetFirewallRule -DisplayGroup "Remote Desktop" 22 | - run: Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp' -name "UserAuthentication" -Value 1 23 | - run: Set-LocalUser -Name "runneradmin" -Password (ConvertTo-SecureString -AsPlainText "P@ssw0rd!" -Force) 24 | - name: Create Tunnel 25 | run: .\ngrok\ngrok.exe tcp 3389 -------------------------------------------------------------------------------- /ubuntu_vps.txt: -------------------------------------------------------------------------------- 1 | # Use a base image that supports systemd, for example, Ubuntu 2 | FROM ubuntu:20.04 3 | 4 | # Install necessary packages 5 | RUN apt-get update && \ 6 | apt-get install -y shellinabox && \ 7 | apt-get install -y systemd && \ 8 | apt-get clean && \ 9 | rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 10 | RUN echo 'root:root' | chpasswd 11 | # Expose the web-based terminal port 12 | EXPOSE 4200 13 | 14 | # Start shellinabox 15 | CMD ["/usr/bin/shellinaboxd", "-t", "-s", "/:LOGIN"] --------------------------------------------------------------------------------