arise-browser 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +247 -0
  3. package/deploy/neko/CONTEXT.md +37 -0
  4. package/deploy/neko/arise-browser.service +13 -0
  5. package/deploy/neko/neko.yaml +12 -0
  6. package/deploy/neko/openbox.xml +763 -0
  7. package/deploy/neko/policies.json +28 -0
  8. package/deploy/neko/pulseaudio.pa +16 -0
  9. package/deploy/neko/setup.sh +308 -0
  10. package/deploy/neko/xorg.conf +118 -0
  11. package/dist/bin/arise-browser.d.ts +26 -0
  12. package/dist/bin/arise-browser.d.ts.map +1 -0
  13. package/dist/bin/arise-browser.js +224 -0
  14. package/dist/bin/arise-browser.js.map +1 -0
  15. package/dist/src/browser/action-executor.d.ts +98 -0
  16. package/dist/src/browser/action-executor.d.ts.map +1 -0
  17. package/dist/src/browser/action-executor.js +2726 -0
  18. package/dist/src/browser/action-executor.js.map +1 -0
  19. package/dist/src/browser/behavior-recorder.d.ts +61 -0
  20. package/dist/src/browser/behavior-recorder.d.ts.map +1 -0
  21. package/dist/src/browser/behavior-recorder.js +442 -0
  22. package/dist/src/browser/behavior-recorder.js.map +1 -0
  23. package/dist/src/browser/browser-session.d.ts +202 -0
  24. package/dist/src/browser/browser-session.d.ts.map +1 -0
  25. package/dist/src/browser/browser-session.js +1647 -0
  26. package/dist/src/browser/browser-session.js.map +1 -0
  27. package/dist/src/browser/config.d.ts +43 -0
  28. package/dist/src/browser/config.d.ts.map +1 -0
  29. package/dist/src/browser/config.js +59 -0
  30. package/dist/src/browser/config.js.map +1 -0
  31. package/dist/src/browser/page-snapshot.d.ts +38 -0
  32. package/dist/src/browser/page-snapshot.d.ts.map +1 -0
  33. package/dist/src/browser/page-snapshot.js +241 -0
  34. package/dist/src/browser/page-snapshot.js.map +1 -0
  35. package/dist/src/browser/scripts/behavior_tracker.js +424 -0
  36. package/dist/src/browser/scripts/unified_analyzer.js +1576 -0
  37. package/dist/src/index.d.ts +15 -0
  38. package/dist/src/index.d.ts.map +1 -0
  39. package/dist/src/index.js +15 -0
  40. package/dist/src/index.js.map +1 -0
  41. package/dist/src/lock.d.ts +11 -0
  42. package/dist/src/lock.d.ts.map +1 -0
  43. package/dist/src/lock.js +47 -0
  44. package/dist/src/lock.js.map +1 -0
  45. package/dist/src/logger.d.ts +17 -0
  46. package/dist/src/logger.d.ts.map +1 -0
  47. package/dist/src/logger.js +29 -0
  48. package/dist/src/logger.js.map +1 -0
  49. package/dist/src/server/middleware/auth.d.ts +6 -0
  50. package/dist/src/server/middleware/auth.d.ts.map +1 -0
  51. package/dist/src/server/middleware/auth.js +24 -0
  52. package/dist/src/server/middleware/auth.js.map +1 -0
  53. package/dist/src/server/route-utils.d.ts +15 -0
  54. package/dist/src/server/route-utils.d.ts.map +1 -0
  55. package/dist/src/server/route-utils.js +33 -0
  56. package/dist/src/server/route-utils.js.map +1 -0
  57. package/dist/src/server/routes/action.d.ts +5 -0
  58. package/dist/src/server/routes/action.d.ts.map +1 -0
  59. package/dist/src/server/routes/action.js +69 -0
  60. package/dist/src/server/routes/action.js.map +1 -0
  61. package/dist/src/server/routes/actions.d.ts +3 -0
  62. package/dist/src/server/routes/actions.d.ts.map +1 -0
  63. package/dist/src/server/routes/actions.js +53 -0
  64. package/dist/src/server/routes/actions.js.map +1 -0
  65. package/dist/src/server/routes/cookies.d.ts +3 -0
  66. package/dist/src/server/routes/cookies.d.ts.map +1 -0
  67. package/dist/src/server/routes/cookies.js +27 -0
  68. package/dist/src/server/routes/cookies.js.map +1 -0
  69. package/dist/src/server/routes/download.d.ts +3 -0
  70. package/dist/src/server/routes/download.d.ts.map +1 -0
  71. package/dist/src/server/routes/download.js +35 -0
  72. package/dist/src/server/routes/download.js.map +1 -0
  73. package/dist/src/server/routes/evaluate.d.ts +3 -0
  74. package/dist/src/server/routes/evaluate.d.ts.map +1 -0
  75. package/dist/src/server/routes/evaluate.js +27 -0
  76. package/dist/src/server/routes/evaluate.js.map +1 -0
  77. package/dist/src/server/routes/health.d.ts +3 -0
  78. package/dist/src/server/routes/health.d.ts.map +1 -0
  79. package/dist/src/server/routes/health.js +11 -0
  80. package/dist/src/server/routes/health.js.map +1 -0
  81. package/dist/src/server/routes/navigate.d.ts +3 -0
  82. package/dist/src/server/routes/navigate.d.ts.map +1 -0
  83. package/dist/src/server/routes/navigate.js +36 -0
  84. package/dist/src/server/routes/navigate.js.map +1 -0
  85. package/dist/src/server/routes/page-model.d.ts +3 -0
  86. package/dist/src/server/routes/page-model.d.ts.map +1 -0
  87. package/dist/src/server/routes/page-model.js +22 -0
  88. package/dist/src/server/routes/page-model.js.map +1 -0
  89. package/dist/src/server/routes/pdf.d.ts +3 -0
  90. package/dist/src/server/routes/pdf.d.ts.map +1 -0
  91. package/dist/src/server/routes/pdf.js +20 -0
  92. package/dist/src/server/routes/pdf.js.map +1 -0
  93. package/dist/src/server/routes/recording.d.ts +5 -0
  94. package/dist/src/server/routes/recording.d.ts.map +1 -0
  95. package/dist/src/server/routes/recording.js +217 -0
  96. package/dist/src/server/routes/recording.js.map +1 -0
  97. package/dist/src/server/routes/screenshot.d.ts +3 -0
  98. package/dist/src/server/routes/screenshot.d.ts.map +1 -0
  99. package/dist/src/server/routes/screenshot.js +32 -0
  100. package/dist/src/server/routes/screenshot.js.map +1 -0
  101. package/dist/src/server/routes/snapshot.d.ts +3 -0
  102. package/dist/src/server/routes/snapshot.d.ts.map +1 -0
  103. package/dist/src/server/routes/snapshot.js +454 -0
  104. package/dist/src/server/routes/snapshot.js.map +1 -0
  105. package/dist/src/server/routes/tab-lock.d.ts +3 -0
  106. package/dist/src/server/routes/tab-lock.d.ts.map +1 -0
  107. package/dist/src/server/routes/tab-lock.js +30 -0
  108. package/dist/src/server/routes/tab-lock.js.map +1 -0
  109. package/dist/src/server/routes/tab.d.ts +3 -0
  110. package/dist/src/server/routes/tab.d.ts.map +1 -0
  111. package/dist/src/server/routes/tab.js +47 -0
  112. package/dist/src/server/routes/tab.js.map +1 -0
  113. package/dist/src/server/routes/tabs.d.ts +3 -0
  114. package/dist/src/server/routes/tabs.d.ts.map +1 -0
  115. package/dist/src/server/routes/tabs.js +13 -0
  116. package/dist/src/server/routes/tabs.js.map +1 -0
  117. package/dist/src/server/routes/text.d.ts +3 -0
  118. package/dist/src/server/routes/text.d.ts.map +1 -0
  119. package/dist/src/server/routes/text.js +20 -0
  120. package/dist/src/server/routes/text.js.map +1 -0
  121. package/dist/src/server/routes/upload.d.ts +3 -0
  122. package/dist/src/server/routes/upload.d.ts.map +1 -0
  123. package/dist/src/server/routes/upload.js +38 -0
  124. package/dist/src/server/routes/upload.js.map +1 -0
  125. package/dist/src/server/server.d.ts +7 -0
  126. package/dist/src/server/server.d.ts.map +1 -0
  127. package/dist/src/server/server.js +69 -0
  128. package/dist/src/server/server.js.map +1 -0
  129. package/dist/src/types/index.d.ts +125 -0
  130. package/dist/src/types/index.d.ts.map +1 -0
  131. package/dist/src/types/index.js +5 -0
  132. package/dist/src/types/index.js.map +1 -0
  133. package/dist/src/virtual-display/manager.d.ts +37 -0
  134. package/dist/src/virtual-display/manager.d.ts.map +1 -0
  135. package/dist/src/virtual-display/manager.js +229 -0
  136. package/dist/src/virtual-display/manager.js.map +1 -0
  137. package/dist/src/virtual-display/process-runner.d.ts +43 -0
  138. package/dist/src/virtual-display/process-runner.d.ts.map +1 -0
  139. package/dist/src/virtual-display/process-runner.js +174 -0
  140. package/dist/src/virtual-display/process-runner.js.map +1 -0
  141. package/dist/tsconfig.tsbuildinfo +1 -0
  142. package/package.json +57 -0
  143. package/plugin/openclaw.plugin.json +148 -0
  144. package/skill/arise-browser/SKILL.md +275 -0
  145. package/skill/arise-browser/TRUST.md +42 -0
  146. package/skill/arise-browser/references/api.md +198 -0
  147. package/src/browser/scripts/behavior_tracker.js +424 -0
  148. package/src/browser/scripts/unified_analyzer.js +1576 -0
@@ -0,0 +1,28 @@
1
+ {
2
+ "AutofillAddressEnabled": false,
3
+ "AutofillCreditCardEnabled": false,
4
+ "BrowserSignin": 0,
5
+ "DefaultNotificationsSetting": 2,
6
+ "DeveloperToolsAvailability": 0,
7
+ "EditBookmarksEnabled": false,
8
+ "FullscreenAllowed": true,
9
+ "IncognitoModeAvailability": 1,
10
+ "SyncDisabled": true,
11
+ "AutoplayAllowed": true,
12
+ "BrowserAddPersonEnabled": false,
13
+ "BrowserGuestModeEnabled": false,
14
+ "DefaultPopupsSetting": 1,
15
+ "DownloadRestrictions": 3,
16
+ "VideoCaptureAllowed": true,
17
+ "AllowFileSelectionDialogs": false,
18
+ "PromptForDownloadLocation": false,
19
+ "BookmarkBarEnabled": false,
20
+ "PasswordManagerEnabled": false,
21
+ "URLAllowlist": [
22
+ "file:///home/neko/Downloads"
23
+ ],
24
+ "URLBlocklist": [
25
+ "file://*",
26
+ "chrome://policy"
27
+ ]
28
+ }
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/pulseaudio -nF
2
+
3
+ ### Create virtual output device sink
4
+ load-module module-null-sink sink_name=audio_output sink_properties=device.description="Virtual_Audio_Output"
5
+
6
+ ### Create virtual input device sink
7
+ load-module module-null-sink sink_name=audio_input sink_properties=device.description="Virtual_Audio_Input"
8
+
9
+ ### Create a virtual audio source linked up to the virtual input device
10
+ load-module module-virtual-source source_name=microphone master=audio_input.monitor source_properties=device.description="Virtual_Microphone"
11
+
12
+ ### Allow pulse audio to be accessed via TCP (from localhost only), to allow other users to access the virtual devices
13
+ load-module module-native-protocol-unix socket=/tmp/pulseaudio.socket auth-anonymous=1
14
+
15
+ ### Make sure we always have a sink around, even if it is a null sink.
16
+ load-module module-always-sink
@@ -0,0 +1,308 @@
1
+ #!/usr/bin/env bash
2
+ #
3
+ # AriseBrowser + Neko dependency installer
4
+ # Supports: Debian/Ubuntu (apt) and CentOS/RHEL/Fedora (dnf/yum)
5
+ #
6
+ # Usage: sudo bash setup.sh
7
+ #
8
+
9
+ set -euo pipefail
10
+
11
+ NEKO_VERSION="${NEKO_VERSION:-v3.3.0}"
12
+ NODE_MAJOR="${NODE_MAJOR:-20}"
13
+
14
+ # Colors
15
+ RED='\033[0;31m'
16
+ GREEN='\033[0;32m'
17
+ YELLOW='\033[1;33m'
18
+ NC='\033[0m'
19
+
20
+ log() { echo -e "${GREEN}[+]${NC} $*"; }
21
+ warn() { echo -e "${YELLOW}[!]${NC} $*"; }
22
+ err() { echo -e "${RED}[x]${NC} $*" >&2; }
23
+
24
+ if [[ $EUID -ne 0 ]]; then
25
+ err "This script must be run as root (use sudo)"
26
+ exit 1
27
+ fi
28
+
29
+ # Detect package manager
30
+ if command -v apt-get &>/dev/null; then
31
+ PKG_MGR="apt"
32
+ elif command -v dnf &>/dev/null; then
33
+ PKG_MGR="dnf"
34
+ elif command -v yum &>/dev/null; then
35
+ PKG_MGR="yum"
36
+ else
37
+ err "Unsupported package manager. Need apt, dnf, or yum."
38
+ exit 1
39
+ fi
40
+
41
+ log "Detected package manager: ${PKG_MGR}"
42
+
43
+ # ─── System packages ───────────────────────────────────────────────
44
+
45
+ install_apt() {
46
+ apt-get update -qq
47
+
48
+ # Xvfb + X11
49
+ apt-get install -y -qq \
50
+ xvfb \
51
+ xserver-xorg-video-dummy \
52
+ x11-xserver-utils \
53
+ xdotool
54
+
55
+ # PulseAudio
56
+ apt-get install -y -qq pulseaudio
57
+
58
+ # Openbox window manager
59
+ apt-get install -y -qq openbox
60
+
61
+ # GStreamer (full suite for Neko)
62
+ apt-get install -y -qq \
63
+ libgstreamer1.0-0 \
64
+ gstreamer1.0-plugins-base \
65
+ gstreamer1.0-plugins-good \
66
+ gstreamer1.0-plugins-bad \
67
+ gstreamer1.0-plugins-ugly \
68
+ gstreamer1.0-pulseaudio \
69
+ gstreamer1.0-x
70
+
71
+ # CJK + emoji fonts
72
+ apt-get install -y -qq \
73
+ fonts-noto-cjk \
74
+ fonts-noto-color-emoji \
75
+ fonts-liberation
76
+
77
+ # Misc
78
+ apt-get install -y -qq \
79
+ curl \
80
+ wget \
81
+ ca-certificates \
82
+ gnupg
83
+ }
84
+
85
+ install_rpm() {
86
+ local mgr="$1"
87
+
88
+ # Enable EPEL
89
+ if ! rpm -q epel-release &>/dev/null; then
90
+ $mgr install -y epel-release
91
+ fi
92
+
93
+ # Enable RPM Fusion (for GStreamer ugly plugins)
94
+ if ! rpm -q rpmfusion-free-release &>/dev/null; then
95
+ $mgr install -y \
96
+ "https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm" || true
97
+ fi
98
+
99
+ # Xvfb + X11
100
+ $mgr install -y \
101
+ xorg-x11-server-Xvfb \
102
+ xorg-x11-drv-dummy \
103
+ xorg-x11-utils \
104
+ xdotool
105
+
106
+ # PulseAudio
107
+ $mgr install -y pulseaudio pulseaudio-utils
108
+
109
+ # Openbox
110
+ $mgr install -y openbox
111
+
112
+ # GStreamer
113
+ $mgr install -y \
114
+ gstreamer1 \
115
+ gstreamer1-plugins-base \
116
+ gstreamer1-plugins-good \
117
+ gstreamer1-plugins-bad-free \
118
+ gstreamer1-plugins-ugly \
119
+ gstreamer1-plugins-good-extras
120
+
121
+ # CJK + emoji fonts
122
+ $mgr install -y \
123
+ google-noto-sans-cjk-fonts \
124
+ google-noto-emoji-color-fonts \
125
+ liberation-fonts
126
+
127
+ # Misc
128
+ $mgr install -y \
129
+ curl \
130
+ wget \
131
+ ca-certificates
132
+ }
133
+
134
+ case "$PKG_MGR" in
135
+ apt) install_apt ;;
136
+ dnf) install_rpm dnf ;;
137
+ yum) install_rpm yum ;;
138
+ esac
139
+
140
+ log "System packages installed"
141
+
142
+ # ─── Google Chrome ─────────────────────────────────────────────────
143
+
144
+ if ! command -v google-chrome &>/dev/null && ! command -v google-chrome-stable &>/dev/null; then
145
+ if [[ "$NEKO_ARCH" == "arm64" ]]; then
146
+ # Google Chrome has no ARM64 Linux builds — install Chromium instead
147
+ log "Installing Chromium (ARM64, Google Chrome not available)..."
148
+ if [[ "$PKG_MGR" == "apt" ]]; then
149
+ apt-get install -y -qq chromium-browser || apt-get install -y -qq chromium
150
+ else
151
+ $PKG_MGR install -y chromium
152
+ fi
153
+ log "Chromium installed"
154
+ else
155
+ log "Installing Google Chrome..."
156
+ if [[ "$PKG_MGR" == "apt" ]]; then
157
+ wget -q -O /tmp/google-chrome.deb \
158
+ "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb"
159
+ apt-get install -y -qq /tmp/google-chrome.deb
160
+ rm -f /tmp/google-chrome.deb
161
+ else
162
+ cat > /etc/yum.repos.d/google-chrome.repo <<'REPO'
163
+ [google-chrome]
164
+ name=google-chrome
165
+ baseurl=https://dl.google.com/linux/chrome/rpm/stable/x86_64
166
+ enabled=1
167
+ gpgcheck=1
168
+ gpgkey=https://dl.google.com/linux/linux_signing_key.pub
169
+ REPO
170
+ $PKG_MGR install -y google-chrome-stable
171
+ fi
172
+ log "Google Chrome installed"
173
+ fi
174
+ else
175
+ log "Google Chrome/Chromium already installed"
176
+ fi
177
+
178
+ # ─── Chrome policies ──────────────────────────────────────────────
179
+
180
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
181
+ POLICIES_SRC="${SCRIPT_DIR}/policies.json"
182
+ POLICIES_DST="/etc/opt/chrome/policies/managed/arise-browser.json"
183
+
184
+ if [[ -f "$POLICIES_SRC" ]]; then
185
+ mkdir -p "$(dirname "$POLICIES_DST")"
186
+ cp "$POLICIES_SRC" "$POLICIES_DST"
187
+ log "Chrome policies installed to ${POLICIES_DST}"
188
+ else
189
+ warn "policies.json not found at ${POLICIES_SRC}, skipping"
190
+ fi
191
+
192
+ # ─── Node.js ──────────────────────────────────────────────────────
193
+
194
+ if ! command -v node &>/dev/null; then
195
+ log "Installing Node.js ${NODE_MAJOR}..."
196
+
197
+ if [[ "$PKG_MGR" == "apt" ]]; then
198
+ curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash -
199
+ apt-get install -y -qq nodejs
200
+ else
201
+ curl -fsSL https://rpm.nodesource.com/setup_${NODE_MAJOR}.x | bash -
202
+ $PKG_MGR install -y nodejs
203
+ fi
204
+
205
+ log "Node.js installed: $(node --version)"
206
+ else
207
+ log "Node.js already installed: $(node --version)"
208
+ fi
209
+
210
+ # ─── Neko server binary ──────────────────────────────────────────
211
+
212
+ NEKO_BIN="/usr/local/bin/neko"
213
+ NEKO_WWW="/usr/local/share/neko/www"
214
+
215
+ # Detect arch early so it's available for all sections
216
+ ARCH="$(uname -m)"
217
+ case "$ARCH" in
218
+ x86_64) NEKO_ARCH="amd64" ;;
219
+ aarch64) NEKO_ARCH="arm64" ;;
220
+ *) err "Unsupported architecture: $ARCH"; exit 1 ;;
221
+ esac
222
+
223
+ if [[ ! -f "$NEKO_BIN" ]]; then
224
+ log "Installing Neko server ${NEKO_VERSION}..."
225
+
226
+ NEKO_URL="https://github.com/m1k1o/neko/releases/download/${NEKO_VERSION}/server-${NEKO_ARCH}"
227
+ wget -q -O "$NEKO_BIN" "$NEKO_URL"
228
+ chmod +x "$NEKO_BIN"
229
+
230
+ log "Neko server installed to ${NEKO_BIN}"
231
+ else
232
+ log "Neko server already installed at ${NEKO_BIN}"
233
+ fi
234
+
235
+ # ─── Neko client static files ────────────────────────────────────
236
+
237
+ if [[ ! -d "$NEKO_WWW" ]]; then
238
+ log "Installing Neko client files..."
239
+
240
+ NEKO_CLIENT_URL="https://github.com/m1k1o/neko/releases/download/${NEKO_VERSION}/client.tar.gz"
241
+ mkdir -p "$NEKO_WWW"
242
+ wget -q -O /tmp/neko-client.tar.gz "$NEKO_CLIENT_URL"
243
+ tar -xzf /tmp/neko-client.tar.gz -C "$NEKO_WWW"
244
+ rm -f /tmp/neko-client.tar.gz
245
+
246
+ log "Neko client files installed to ${NEKO_WWW}"
247
+ else
248
+ log "Neko client files already at ${NEKO_WWW}"
249
+ fi
250
+
251
+ # ─── Neko X11 drivers ────────────────────────────────────────────
252
+
253
+ XORG_MODULES="/usr/lib/xorg/modules"
254
+ if [[ -d "$XORG_MODULES" ]]; then
255
+ NEKO_DRIVERS_URL="https://github.com/m1k1o/neko/releases/download/${NEKO_VERSION}/xf86-input-neko-${NEKO_ARCH}.tar.gz"
256
+
257
+ if [[ ! -f "${XORG_MODULES}/input/neko_drv.so" ]]; then
258
+ log "Installing Neko X11 input driver..."
259
+ wget -q -O /tmp/neko-drivers.tar.gz "$NEKO_DRIVERS_URL" || true
260
+ if [[ -f /tmp/neko-drivers.tar.gz ]]; then
261
+ tar -xzf /tmp/neko-drivers.tar.gz -C "$XORG_MODULES" || true
262
+ rm -f /tmp/neko-drivers.tar.gz
263
+ log "Neko X11 drivers installed"
264
+ else
265
+ warn "Could not download Neko X11 drivers (non-critical)"
266
+ fi
267
+ else
268
+ log "Neko X11 drivers already installed"
269
+ fi
270
+ fi
271
+
272
+ # ─── Playwright browser deps ─────────────────────────────────────
273
+
274
+ if command -v npx &>/dev/null; then
275
+ log "Installing Playwright Chromium dependencies..."
276
+ npx playwright install-deps chromium 2>/dev/null || warn "playwright install-deps skipped"
277
+ fi
278
+
279
+ # ─── System user ──────────────────────────────────────────────────
280
+
281
+ if ! id -u neko &>/dev/null; then
282
+ log "Creating 'neko' system user..."
283
+ useradd -r -m -s /bin/bash neko
284
+ usermod -aG audio,video neko
285
+ log "User 'neko' created"
286
+ else
287
+ log "User 'neko' already exists"
288
+ fi
289
+
290
+ # ─── Summary ──────────────────────────────────────────────────────
291
+
292
+ echo ""
293
+ log "Setup complete!"
294
+ echo ""
295
+ echo "Next steps:"
296
+ echo " 1. Deploy arise-browser to /opt/arise-browser/"
297
+ echo " 2. Install systemd service:"
298
+ echo " cp deploy/neko/arise-browser.service /etc/systemd/system/"
299
+ echo " systemctl daemon-reload"
300
+ echo " systemctl enable --now arise-browser"
301
+ echo ""
302
+ echo " Or run manually:"
303
+ echo " node dist/bin/arise-browser.js --virtual-display --port 9867 --host 0.0.0.0"
304
+ echo ""
305
+ echo "Ports:"
306
+ echo " - 9867 arise-browser API"
307
+ echo " - 6090 Neko WebRTC UI"
308
+ echo " - 52000-52100 WebRTC UDP"
@@ -0,0 +1,118 @@
1
+ # This xorg configuration file is meant to be used by xpra
2
+ # to start a dummy X11 server.
3
+ # For details, please see:
4
+ # https://xpra.org/trac/wiki/Xdummy
5
+
6
+ Section "ServerFlags"
7
+ Option "DontVTSwitch" "true"
8
+ Option "AllowMouseOpenFail" "true"
9
+ Option "PciForceNone" "true"
10
+ Option "AutoEnableDevices" "false"
11
+ Option "AutoAddDevices" "false"
12
+ EndSection
13
+
14
+ Section "InputDevice"
15
+ Identifier "dummy_mouse"
16
+ Option "CorePointer" "true"
17
+ Driver "void"
18
+ EndSection
19
+
20
+ Section "InputDevice"
21
+ Identifier "dummy_keyboard"
22
+ Option "CoreKeyboard" "true"
23
+ Driver "void"
24
+ EndSection
25
+
26
+ Section "InputDevice"
27
+ Identifier "dummy_touchscreen"
28
+ Option "SendCoreEvents" "On"
29
+ Option "SocketName" "/tmp/xf86-input-neko.sock"
30
+ Driver "neko"
31
+ EndSection
32
+
33
+ Section "Device"
34
+ Identifier "dummy_videocard"
35
+ Driver "dummy"
36
+ Option "ConstantDPI" "true"
37
+ VideoRam 1024000
38
+ #VideoRam 512000
39
+ #VideoRam 256000
40
+ #VideoRam 192000
41
+ EndSection
42
+
43
+ Section "Monitor"
44
+ Identifier "dummy_monitor"
45
+ HorizSync 5.0 - 1000.0
46
+ VertRefresh 5.0 - 200.0
47
+ #This can be used to get a specific DPI, but only for the default resolution:
48
+ #DisplaySize 508 317
49
+ #NOTE: the highest modes will not work without increasing the VideoRam
50
+ # for the dummy video card.
51
+ # https://arachnoid.com/modelines/
52
+
53
+ # 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz
54
+ Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
55
+ # 1280x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 74.48 MHz
56
+ Modeline "1280x720_60.00" 74.48 1280 1336 1472 1664 720 721 724 746 -HSync +Vsync
57
+ # 1152x648 @ 60.00 Hz (GTF) hsync: 40.26 kHz; pclk: 59.91 MHz
58
+ Modeline "1152x648_60.00" 59.91 1152 1200 1320 1488 648 649 652 671 -HSync +Vsync
59
+ # 1024x576 @ 60.00 Hz (GTF) hsync: 35.82 kHz; pclk: 47.00 MHz
60
+ Modeline "1024x576_60.00" 47.00 1024 1064 1168 1312 576 577 580 597 -HSync +Vsync
61
+ # 960x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 55.86 MHz
62
+ Modeline "960x720_60.00" 55.86 960 1008 1104 1248 720 721 724 746 -HSync +Vsync
63
+ # 800x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 38.22 MHz
64
+ Modeline "800x600_60.00" 38.22 800 832 912 1024 600 601 604 622 -HSync +Vsync
65
+
66
+ # 2560x1440 @ 30.00 Hz (GTF) hsync: 43.95 kHz; pclk: 146.27 MHz
67
+ Modeline "2560x1440_30.00" 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -HSync +Vsync
68
+ # 1920x1080 @ 30.00 Hz (GTF) hsync: 32.97 kHz; pclk: 80.18 MHz
69
+ Modeline "1920x1080_30.00" 80.18 1920 1984 2176 2432 1080 1081 1084 1099 -HSync +Vsync
70
+ # 1368x768 @ 30.00 Hz (GTF) hsync: 23.46 kHz; pclk: 38.85 MHz
71
+ Modeline "1368x768_30.00" 38.85 1368 1376 1512 1656 768 769 772 782 -HSync +Vsync
72
+ # 1280x720 @ 30.00 Hz (GTF) hsync: 21.99 kHz; pclk: 33.78 MHz
73
+ Modeline "1280x720_30.00" 33.78 1280 1288 1408 1536 720 721 724 733 -HSync +Vsync
74
+ # 1152x648 @ 30.00 Hz (GTF) hsync: 19.80 kHz; pclk: 26.93 MHz
75
+ Modeline "1152x648_30.00" 26.93 1152 1144 1256 1360 648 649 652 660 -HSync +Vsync
76
+ # 1024x576 @ 30.00 Hz (GTF) hsync: 17.61 kHz; pclk: 20.85 MHz
77
+ Modeline "1024x576_30.00" 20.85 1024 1008 1104 1184 576 577 580 587 -HSync +Vsync
78
+ # 960x720 @ 30.00 Hz (GTF) hsync: 21.99 kHz; pclk: 25.33 MHz
79
+ Modeline "960x720_30.00" 25.33 960 960 1056 1152 720 721 724 733 -HSync +Vsync
80
+ # 800x600 @ 30.00 Hz (GTF) hsync: 18.33 kHz; pclk: 17.01 MHz
81
+ Modeline "800x600_30.00" 17.01 800 792 864 928 600 601 604 611 -HSync +Vsync
82
+
83
+ # 800x1600 @ 30.00 Hz (GTF) hsync: 48.84 kHz; pclk: 51.58 MHz
84
+ Modeline "800x1600_30.00" 51.58 800 840 928 1056 1600 1601 1604 1628 -HSync +Vsync
85
+
86
+ # 3840x2160 @ 25.00 Hz (GTF) hsync: 54.77 kHz; pclk: 278.70 MHz
87
+ Modeline "3840x2160_25.00" 278.70 3840 4056 4464 5088 2160 2161 2164 2191 -HSync +Vsync
88
+ # 2560x1440 @ 24.96 Hz (CVT) hsync: 36.53 kHz; pclk: 119.25 MHz
89
+ Modeline "2560x1440_25.00" 119.25 2560 2656 2912 3264 1440 1443 1448 1464 -Hsync +Vsync
90
+ # 1920x1080 @ 25.00 Hz (GTF) hsync: 27.40 kHz; pclk: 64.88 MHz
91
+ Modeline "1920x1080_25.00" 64.88 1920 1952 2144 2368 1080 1081 1084 1096 -HSync +Vsync
92
+ # 1600x900 @ 24.97 Hz (CVT) hsync: 22.88 kHz; pclk: 45.75 MHz
93
+ Modeline "1600x900_25.00" 45.75 1600 1648 1800 2000 900 903 908 916 -Hsync +Vsync
94
+ # 1368x768 @ 24.89 Hz (CVT) hsync: 19.51 kHz; pclk: 33.25 MHz
95
+ Modeline "1368x768_25.00" 33.25 1368 1408 1536 1704 768 771 781 784 -Hsync +Vsync
96
+ # 800x1600 @ 24.92 Hz (CVT) hsync: 40.53 kHz; pclk: 41.50 MHz
97
+ Modeline "800x1600_25.00" 41.50 800 832 912 1024 1600 1603 1613 1626 -Hsync +Vsync
98
+ EndSection
99
+
100
+ Section "Screen"
101
+ Identifier "dummy_screen"
102
+ Device "dummy_videocard"
103
+ Monitor "dummy_monitor"
104
+ DefaultDepth 24
105
+ SubSection "Display"
106
+ Viewport 0 0
107
+ Depth 24
108
+ Modes "1920x1080_60.00" "1280x720_60.00" "1152x648_60.00" "1024x576_60.00" "960x720_60.00" "800x600_60.00" "2560x1440_30.00" "1920x1080_30.00" "1368x768_30.00" "1280x720_30.00" "1152x648_30.00" "1024x576_30.00" "960x720_30.00" "800x600_30.00" "3840x2160_25.00" "2560x1440_25.00" "1920x1080_25.00" "1600x900_25.00" "1368x768_25.00" "800x1600_30.00" "800x1600_25.00"
109
+ EndSubSection
110
+ EndSection
111
+
112
+ Section "ServerLayout"
113
+ Identifier "dummy_layout"
114
+ Screen "dummy_screen"
115
+ InputDevice "dummy_mouse"
116
+ InputDevice "dummy_keyboard"
117
+ InputDevice "dummy_touchscreen" "CorePointer"
118
+ EndSection
@@ -0,0 +1,26 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * AriseBrowser CLI — Start the HTTP server.
4
+ *
5
+ * Usage:
6
+ * npx arise-browser [options]
7
+ *
8
+ * Options:
9
+ * --port, -p Server port (default: 9867)
10
+ * --host Bind address (default: 127.0.0.1)
11
+ * --token Auth token
12
+ * --headless Run headless (default: true)
13
+ * --no-headless Run with visible browser
14
+ * --profile Browser profile directory (enables managed mode)
15
+ * --cdp CDP endpoint URL (enables cdp mode)
16
+ * --help Show help
17
+ *
18
+ * Environment variables (Pinchtab-compatible):
19
+ * ARISE_BROWSER_PORT / BRIDGE_PORT
20
+ * ARISE_BROWSER_BIND / BRIDGE_BIND
21
+ * ARISE_BROWSER_TOKEN / BRIDGE_TOKEN
22
+ * ARISE_BROWSER_HEADLESS
23
+ * ARISE_BROWSER_PROFILE
24
+ */
25
+ export {};
26
+ //# sourceMappingURL=arise-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arise-browser.d.ts","sourceRoot":"","sources":["../../bin/arise-browser.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;;;;;GAsBG"}