{"id":19606704,"url":"https://github.com/gothack/javascript-x-server","last_synced_at":"2026-02-25T08:36:21.465Z","repository":{"id":6147996,"uuid":"7377098","full_name":"GothAck/javascript-x-server","owner":"GothAck","description":"JavaScript X Server (current protocol prototyping in Node.js, hoping to port to HTML5 for graphics)","archived":false,"fork":false,"pushed_at":"2016-12-23T05:32:44.000Z","size":2334,"stargazers_count":130,"open_issues_count":13,"forks_count":20,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-08-08T06:33:18.744Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GothAck.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-30T14:28:15.000Z","updated_at":"2025-07-25T01:31:23.000Z","dependencies_parsed_at":"2022-08-26T02:12:25.093Z","dependency_job_id":null,"html_url":"https://github.com/GothAck/javascript-x-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GothAck/javascript-x-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GothAck%2Fjavascript-x-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GothAck%2Fjavascript-x-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GothAck%2Fjavascript-x-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GothAck%2Fjavascript-x-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GothAck","download_url":"https://codeload.github.com/GothAck/javascript-x-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GothAck%2Fjavascript-x-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273523644,"owners_count":25120864,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-11T10:06:49.372Z","updated_at":"2026-02-25T08:36:21.415Z","avatar_url":"https://github.com/GothAck.png","language":"JavaScript","readme":"# JavaScript X Server\n\n## Concept\n\n### Now\n\nThis is currently very much a work in progress, with me learning about how an X11 server operates and it's underlying protocol.\nA subset of the protocol is now working within Chromium with output to canvas and div elements.\nBoth xlogo and xeyes are 100% functional, with work currently being done to support xfn (with bitmap fonts)!\n\n### Future\n\nThe project may eventually have both server and client side X processing, \nallowing for optimisation of the X protocol and compression of Pixmaps before transferring to the client allowing \nfor lightweight remote desktop connections in a web browser.\n\nIt'd also be great to experiement with GLX and WebGL to see if there is enough crossover to allow 3d rendering via the browser!\n\n## Loose Requirements\n* A basic window manager or application (we're talking blackbox wm, xlogo, xeyes, xfd, more complex apps are more likely to hit bugs / unknown features / unimplemented opcodes).\n* Developed on Mac, but should also work on Ilnux boxes\n\n## Getting started\n1. `git clone https://github.com/GothAck/javascript-x-server.git xserver; cd xserver`\n2. `npm install`\n3. Edit proxy.js:\n\n   Change line:\n\n   `  var proxy = new X11Proxy(screen, req.accept('x11-proxy', req.origin));`\n\n   To contain the desired wm/application:\n\n   `  var proxy = new X11Proxy(screen, req.accept('x11-proxy', req.origin), 'xeyes');`\n4. In one terminal: `grunt; grunt watch` (you can just run `grunt`)\n5. In another: `npm start`\n6. Open http://localhost:3000 in a decent browser (currently only Chrome is tested working)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgothack%2Fjavascript-x-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgothack%2Fjavascript-x-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgothack%2Fjavascript-x-server/lists"}