// ==UserScript== // @name AQW Ruffle // @namespace http://tampermonkey.net/ // @version 2025-09-25 // @description Play AQW using Ruffle // @author Anthony S. // @match https://game.aq.com/game/ // @match https://game.aq.com/game/* // @grant none // @run-at document-end // @license MIT // @homepageURL https://github.com/anthony-hyo/aqw-on-browser // @updateURL https://raw.githubusercontent.com/anthony-hyo/aqw-on-browser/main/aqw-ruffle.user.js // @downloadURL https://raw.githubusercontent.com/anthony-hyo/aqw-on-browser/main/aqw-ruffle.user.js // ==/UserScript== (function() { 'use strict'; const script = document.createElement("script"); script.src = "https://unpkg.com/@ruffle-rs/ruffle/ruffle.js"; document.body.appendChild(script); window.RufflePlayer = window.RufflePlayer || {}; window.RufflePlayer.config = { autoplay: "on", unmuteOverlay: "hidden", splashScreen: false, contextMenu: "off", quality: "high", // 🔹 Proxy points to localhost. Users must run their own proxy to play online. socketProxy: [ { host: "socket5.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket4.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket2.aq.com", port: 5590, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket4.aq.com", port: 5589, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket6.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket2.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "euro.aqw.artix.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket6.aq.com", port: 5589, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket4.aq.com", port: 5590, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket3.aq.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "asia.game.artix.com", port: 5588, proxyUrl: "ws://127.0.0.1:8080" }, { host: "socket2.aq.com", port: 5591, proxyUrl: "ws://127.0.0.1:8080" } ] }; var flashUrl = "gamefiles/Loader3.swf?ver=a"; var params = { allowScriptAccess: "sameDomain", allowFullScreen: "true", wmode: "opaque" }; var obj = document.createElement("object"); obj.type = "application/x-shockwave-flash"; obj.data = flashUrl; obj.width = "960"; obj.height = "550"; obj.id = "AQWGame"; obj.name = "flashContent"; for (var k in params) { var p = document.createElement("param"); p.name = k; p.value = params[k]; obj.appendChild(p); } var c = document.getElementById("flashContent"); if (c) { c.innerHTML = ""; c.appendChild(obj); } })();