Armok Web Services:使用Xpra在Web浏览器中传输远程Dwarf Fortress

Armok Web Services:使用Xpra在Web浏览器中传输远程Dwarf Fortress

JavaScript 其它杂项

访问GitHub主页

共32Star

详细介绍

armokweb

Armok Web Services: play collaborative (or chaotic) Dwarf Fortress sessions in your browser by streaming through xpra. Manage your fort's labors while a friend manages your military. It's like having multiple people at multiple keyboards!

Screenshot

Demo video

Dependencies

xpra, xorg, xf86videodummy, xf86inputevdev, xkbcomp, xmodmap, xvfb_run, and others. Pull requests are welcome to get it working on your distribution.

Deployment

We currently support deploying on NixOS in containers.

To create a Nix container for Armok Web Services, add the following to your configuration.nix after cloning this repository:

containers.df = import /path/to/armokweb-repo/nix/container;

nginx proxy_pass config

If you want to use nginx as a proxy server, a config like this will work. It's highly recommended to use TLS if you're hosting this on the internet.

services.nginx = {
  enable = true;

  virtualHosts."armokweb.example.com" = {
    http2 = true;
    forceSSL = true;
    enableACME = true;
    basicAuth = {
      "username" = "password";
    };

    locations."/" = {
      extraConfig = ''
        proxy_pass http://192.168.100.10:10000;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
      '';
    };
  };
};

Security

Containers aren't perfect. Only give access to people you trust!

Related projects

License notice

See NOTICE.md