Last active
December 9, 2023 15:21
-
-
Save pojntfx/a5a5e5cba210dc53a96af439f03d4c29 to your computer and use it in GitHub Desktop.
Use Waypipe to forward a Wayland application running on a remote system over TCP to localhost
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Without gender changer (server dials client on port 1337) | |
# On client | |
waypipe --socket /tmp/waypipe-remote.sock client | |
socat TCP-LISTEN:1337,reuseaddr,fork UNIX-CONNECT:/tmp/waypipe-remote.sock | |
# On server | |
socat UNIX-LISTEN:/tmp/waypipe-local.sock,reuseaddr,fork TCP:127.0.0.1:1337 | |
waypipe --socket /tmp/waypipe-local.sock server -- gnome-clocks | |
# With gender changer (client dials server on port 1337) | |
# On client | |
socat tcp:127.0.0.1:1337,forever,interval=2,fork tcp:127.0.0.1:6000 | |
waypipe --socket /tmp/waypipe-remote.sock client | |
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CONNECT:/tmp/waypipe-remote.sock | |
# On server | |
socat tcp-listen:6001,reuseaddr,fork tcp-listen:1337,reuseaddr | |
socat UNIX-LISTEN:/tmp/waypipe-local.sock,reuseaddr,fork TCP:127.0.0.1:6001 | |
waypipe --socket /tmp/waypipe-local.sock server -- weston-terminal | |
# In a container with gender changer (client dials server on port 1337) | |
# On workstation | |
socat tcp:127.0.0.1:1337,forever,interval=2,fork tcp:127.0.0.1:6000 | |
waypipe --socket /tmp/waypipe-remote.sock client | |
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CONNECT:/tmp/waypipe-remote.sock | |
# In container | |
hydrun -o fedora:39 -e '-p 1337:1337' -i bash | |
dnf install -y socat | |
socat tcp-listen:6001,reuseaddr,fork tcp-listen:1337,reuseaddr | |
socat UNIX-LISTEN:/tmp/waypipe-local.sock,reuseaddr,fork TCP:127.0.0.1:6001 | |
dnf install -y weston | |
XDG_RUNTIME_DIR=/tmp ./waypipe.static --socket /tmp/waypipe-local.sock server -- weston-terminal | |
dnf install -y gnome-clocks | |
XDG_RUNTIME_DIR=/tmp GDK_BACKEND=wayland ./waypipe.static --socket /tmp/waypipe-local.sock server -- gnome-clocks | |
# Over the network with gender changer (client dials server on port 1337) | |
# On client | |
socat tcp:128.140.106.133:1337,forever,interval=2,fork tcp:127.0.0.1:6000 | |
waypipe --socket /tmp/waypipe-remote.sock client | |
socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CONNECT:/tmp/waypipe-remote.sock | |
# On server | |
socat tcp-listen:6001,reuseaddr,fork tcp-listen:1337,reuseaddr | |
socat UNIX-LISTEN:/tmp/waypipe-local.sock,reuseaddr,fork TCP:127.0.0.1:6001 | |
XDG_RUNTIME_DIR=/tmp waypipe --socket /tmp/waypipe-local.sock server -- weston-terminal | |
XDG_RUNTIME_DIR=/tmp GDK_BACKEND=wayland waypipe --socket /tmp/waypipe-local.sock server -- flatpak run org.gnome.clocks | |
XDG_RUNTIME_DIR=/tmp QT_QPA_PLATFORM=wayland waypipe --socket /tmp/waypipe-local.sock server -- flatpak run org.kde.kclock |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment