Compare commits

...

102 Commits
v1.5 ... v1.10

Author SHA1 Message Date
cd82c5a94c Update README.md 2023-08-06 10:33:23 +07:00
140005bda5 Fix borken layout 2023-08-06 10:24:54 +07:00
76d99a994a Update README.md 2023-08-06 09:53:16 +07:00
48e1eb1a52 Update README.md 2023-08-06 09:38:18 +07:00
2ecd6f23ff Version 1.10 (#68)
* Update README.md

* Fix sometimes the touch controller layout doesn't show at the beginning

* Restore GAME_TITLE_ID

* Update README.md

* Bump version to 1.10

* Bump version to 1.10
2023-08-06 09:29:23 +07:00
3e97263caa Change text of the "Reload" button to "Reloading..." after clicking on it 2023-08-06 07:25:57 +07:00
19856e6381 Split settings into groups (#67) 2023-08-06 07:17:46 +07:00
d6852e132d Show stats bar on startup if Quick Glance mode is enabled 2023-08-06 06:21:12 +07:00
a5d340e4e8 Show charging status in Battery badge 2023-08-06 06:20:54 +07:00
34f33f2508 Add setting to enable touch controller for all games (#66)
* Add "Enable touch controller for all games" feature

* Minor fixes

* Disable STREAM_ENABLE_TOUCH_CONTROLLER when STREAM_ENABLE_TOUCH_CONTROLLER is enabled

* Combine STREAM_ENABLE_TOUCH_CONTROLLER & STREAM_HIDE_TOUCH_CONTROLLER into STREAM_TOUCH_CONTROLLER
2023-08-06 05:48:38 +07:00
ebde464bfa Update README.md 2023-08-05 14:48:02 +07:00
244fef1475 Update README.md 2023-08-05 11:58:53 +07:00
d43659da30 Fix missing key for STREAM_HIDE_IDLE_CURSOR 2023-08-05 10:17:46 +07:00
1dc411281c Fix check for update feature 2023-08-05 10:03:56 +07:00
3d3811b8f3 Disable the "Disable touch controller" setting on non-touchable devices 2023-08-05 09:49:22 +07:00
e940524ab1 Improve high-quality codec support detection 2023-08-05 09:39:54 +07:00
fe7b8d1ade Minor optimization 2023-08-05 09:20:25 +07:00
6264eaf32d Add onStreamStarted() 2023-08-05 09:09:25 +07:00
e6980b5204 Update README.md 2023-08-05 08:51:50 +07:00
4a0830895f Change "Enable quick glance" to "Enable 'Quick Glance' mode" 2023-08-05 08:38:27 +07:00
92157cdd5d Change "Dots icon" to "System menu's icon" 2023-08-05 08:36:38 +07:00
066d999241 Update README.md 2023-08-05 08:12:06 +07:00
1307b43f0c Switch to icons from phosphoricons.com 2023-08-05 08:03:40 +07:00
ecad1dc51b Bump version to 1.9 2023-08-04 18:40:24 +07:00
e1c1d74a22 Bump version to 1.9 2023-08-04 18:40:08 +07:00
b1881678b1 Update README.md 2023-08-04 18:30:08 +07:00
9d8d9680d3 Add "Quick glance" setting for Stream stats (#59) 2023-08-04 18:16:12 +07:00
4d2b6c5ef7 Simplify stream menu (#58)
* Add "Simplify Stream's menu" setting

* Fix Smart TV layout

* Fix not able to hide Video bar if the "Disable touch controller" is on

* Combine Region + Server badges into one

* Reduce badge's font-size from 16 to 14px

* Fix battery level showing .99999

* Don't show battery badge when it's 100%

* Fix showing incorrect Audio codec in Safari

* Add "Safari on macOS" User-Agent profile

* Fix showing incorrect Video codec in Safari

* Use "-webkit-user-select" for Safari

* Update Video badge's color
2023-08-04 16:19:18 +07:00
0c80e3ab1d Disable PWA prompt in Safari on iOS/iPadOS (#52) 2023-08-04 07:17:59 +07:00
6f326e8f2a Update README.md 2023-08-03 09:37:28 +07:00
92fe3756cf Update README.md 2023-08-02 20:35:27 +07:00
8ee28d92d9 Bump version to 1.8.2 2023-08-02 12:45:23 +07:00
1f94058b99 Bump version to 1.8.2 2023-08-02 12:45:08 +07:00
95e94242aa Update README.md 2023-08-02 12:44:40 +07:00
91aa28450d Fix battery status 2023-08-02 11:58:18 +07:00
8eb8bbf598 Add In/Out badges (#48)
* Show In/Out badges

* Cache DOMs of Stream badges

* Refresh badges every 3s

* Shorten Video badge: "1920x1080" -> "1080p"

* Fix 404 error when spoofing User-Agent (#34)
2023-08-02 11:51:46 +07:00
47817d9d36 Update color of "Video" badge 2023-08-01 21:17:27 +07:00
b770a4c9d3 Bump version to 1.8.1 2023-08-01 08:32:29 +07:00
a27c0ed8f6 Bump version to 1.8.1 2023-08-01 08:31:56 +07:00
8ac37754e6 Combine "Resolution" and "Video" badges into one 2023-08-01 08:31:01 +07:00
d9288a322b Update battery stat 2023-08-01 08:23:48 +07:00
5facfd2348 Fix inaccurate percentages of PL & FL stats 2023-08-01 08:18:03 +07:00
889717be7d Show confirm dialog to refresh the stream after holding for 1s 2023-08-01 08:07:57 +07:00
4b0f0784ae Fix stats bar not showing sometimes 2023-08-01 08:05:18 +07:00
31217d01bb Update bug_report.md 2023-08-01 07:40:50 +07:00
2f6176e906 Update README.md 2023-07-31 14:49:03 +07:00
fe011fd0f2 Update README.md 2023-07-31 08:28:37 +07:00
c23f55ee6b Bump version to 1.8 2023-07-31 07:49:11 +07:00
0c85770ed1 Bump version to 1.8 2023-07-31 07:48:52 +07:00
8233192b8d Update README.md 2023-07-31 07:47:45 +07:00
6c5fa3c061 Simplify playtime text 2023-07-31 07:31:03 +07:00
e47c6d9103 Use colors from PICO-8 palette for stream badges 2023-07-31 07:25:52 +07:00
563ad65580 Fix battery calculation 2023-07-31 07:16:32 +07:00
7933d8d22c Update README.md 2023-07-31 06:43:47 +07:00
b0e23ca335 Hold the "Quit game" button for 1s to refresh the stream (#43)
* Hold "Quit game" button to refresh the stream

* Fix problem with touch screen

* Another fix
2023-07-30 22:03:25 +07:00
c9f3990173 Show playtime & battery level badges (#42) 2023-07-30 21:07:25 +07:00
5d301b6588 Add setting to hide/disable touch controller (#38) 2023-07-30 15:47:56 +07:00
32123a7891 Update README.md 2023-07-29 18:02:20 +07:00
dad4d43313 Bump version to 1.7 2023-07-29 17:21:01 +07:00
e3af588b13 Bump version to 1.7 2023-07-29 17:20:47 +07:00
50226baa5c Update README.md 2023-07-29 17:20:02 +07:00
d2e3ad36da Fix check for update 2023-07-29 16:54:54 +07:00
26528fe2d7 Refactor code (#36)
* Refactor class names

* Move Quick settings bar's CSS to addCss()

* Adjust Stream menu button's size

* Add shadow to Video settings bar

* Put "Stream Stats" button before "Video Settings" button
2023-07-29 16:39:40 +07:00
9d44c9c779 Add "Preferred game's language" setting (#35) 2023-07-29 15:56:19 +07:00
423ac5c356 Start hiding cursor as soon as possible 2023-07-29 15:15:23 +07:00
746e32ecae Add "Hide mouse cursor while playing" setting (#33) 2023-07-29 12:11:41 +07:00
931d70ba3a Custom User-Agent (#32)
* Add "Custom User-Agent" feature

* Override navigator.userAgent

* Save the original User-Agent before overriding it
2023-07-29 10:49:12 +07:00
654d82208b Update README.md 2023-07-29 09:41:40 +07:00
0d5e3ed70f Replace "Force 1080p stream" setting with "Stream's target resolution" (#31) 2023-07-29 08:23:01 +07:00
fcd312344b Update README.md 2023-07-28 12:14:58 +07:00
d53aeb6c3e Update README.md 2023-07-28 06:32:12 +07:00
af5c758512 Update README.md 2023-07-27 08:45:03 +07:00
d1f39927d7 Update README.md 2023-07-27 08:29:48 +07:00
bd53961d67 Update README.md 2023-07-27 08:11:17 +07:00
ab6208a948 Bump version to 1.6.2 2023-07-27 07:29:53 +07:00
bae8c193d3 Bump version to 1.6.2 2023-07-27 07:29:39 +07:00
b9283eb435 Update README.md 2023-07-27 07:28:50 +07:00
e73e018380 Update Stream stats (#24)
* Change label's font

* Add Stats settings popup

* Toggle Stats settings dialog

* Update structure of Preferences.SETTINGS

* Add dialog title

* Add "Show stats when starting the game" setting

* Update texts

* Validate setting value before saving

* Add Preferences.toElement()

* Add "Text size" setting

* Add "Decode time" stat

* Add "Conditional formatting text color" feature

* Add "for" attributes to labels

* Update grade's colors

* Fix text wrapping

* Update stats using setInterval() instead of setTimeout()
2023-07-27 07:18:06 +07:00
e98ad00bb9 Update README.md 2023-07-26 15:42:38 +07:00
d232dc164f Update README.md 2023-07-26 09:07:31 +07:00
ee192bc98e Change value of "updateURL" 2023-07-25 11:35:50 +07:00
1210176413 Change "updateURL" to meta file 2023-07-25 11:33:21 +07:00
9262d0e14f Create better-xcloud.meta.js 2023-07-25 11:32:35 +07:00
df87a51329 Update README.md 2023-07-25 11:20:40 +07:00
8c7013659b Fix Stream stats bar's CSS 2023-07-25 09:14:28 +07:00
b3b7a51979 Bump version to 1.6.1 2023-07-25 09:01:04 +07:00
831ccb31c1 Stop stretching stream stats' background to full screen 2023-07-25 09:00:48 +07:00
d87ac78e57 Add "Check for update" feature (#21) 2023-07-25 08:58:42 +07:00
67b419c37d Update README.md 2023-07-25 07:57:16 +07:00
a7b796362a Update README.md 2023-07-25 07:12:01 +07:00
889ee890f1 Update README.md 2023-07-24 11:38:29 +07:00
71a48f8afb Update README.md 2023-07-24 08:00:56 +07:00
354ecac97e Update README.md 2023-07-23 20:22:39 +07:00
45a7c28d3f Update README.md 2023-07-23 17:53:56 +07:00
e43c34ed3a Bump version to 1.6 2023-07-23 17:45:27 +07:00
28a2e32fc5 Update README.md 2023-07-23 17:44:50 +07:00
b564de249a Show stream stats (#16)
* Get video and audio info from RTCPeerConnection.getStats()

* Show stream's stats bar

* Make Stream menu icon's size smaller

* Add shadow to stream badges

* Show bitrate

* Add button to toggle Stream Stats

* Rename StreamStatus to StreamBadges

* Show '???' then currentRoundTripTime is undefined

* Remove work-around for browsers with no setCodecPreferences() support as it's not working

* Remove updateVideoPlayerPreview()

* Disable USE_DESKTOP_CODEC setting on unsupported browsers
2023-07-23 17:09:30 +07:00
9fa073da82 Update README.md 2023-07-22 15:41:14 +07:00
958f5410f4 Update README.md 2023-07-22 15:20:45 +07:00
15d3efdf4e Update README.md 2023-07-22 15:20:35 +07:00
645b49751d Update README.md 2023-07-22 15:15:16 +07:00
53913ae218 Update README.md 2023-07-22 12:23:31 +07:00
4 changed files with 1870 additions and 503 deletions

View File

@ -24,10 +24,11 @@ A clear and concise description of what you expected to happen.
If applicable, add screenshots to help explain your problem.
**Platform (please complete the following information):**
- OS: [e.g. Android]
- Browser: [e.g. chrome, firefox]
- Browser Version: [e.g. 100]
- Better xCloud Version: [e.g. 1.4]
- Device: [e.g. Phone/Laptop/Desktop/TV]
- OS: [e.g. Android]
- Browser: [e.g. Chrome, Kiwi]
- Browser Version: [e.g. 100]
- Better xCloud Version: [e.g. 1.4]
**Additional context**
Add any other context about the problem here.

216
README.md
View File

@ -2,65 +2,124 @@
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser.
The main target of this script is mobile users, but it should work great on desktop too.
This script makes me spend more time with xCloud, and I hope the same thing happens to you.
Give this project a 🌟 if you like it. Thank you 🙏.
[![Latest version](https://img.shields.io/github/v/release/redphx/better-xcloud?label=latest)](https://github.com/redphx/better-xcloud/releases)
[![Total stars](https://img.shields.io/github/stars/redphx/better-xcloud?color=%23cca400)](https://github.com/redphx/better-xcloud/stargazers)
<!--
[![Total downloads](https://img.shields.io/github/downloads/redphx/better-xcloud/total?color=%23e15f2c)](https://github.com/redphx/better-xcloud/releases)
-->
## Features
<img width="475" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/ad687344-214d-4822-affe-21f1b1e105c8">
<img width="475" alt="Video Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/ed219d50-02ab-40bd-95c5-a010956d77bf">
<img width="400" alt="Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/6e74fdaf-dc84-416a-a2bc-5e117a3717e3">
<br>
<img width="600" alt="Stream HUD" src="https://github.com/redphx/better-xcloud/assets/96280/e30f6514-13ca-41c6-bff2-979573cff956">
<br>
<img width="600" alt="Video settings" src="https://github.com/redphx/better-xcloud/assets/96280/c45877f9-379c-4ba4-977c-021d3d8835e4">
&nbsp;
**Demo video:** [https://youtu.be/oDr5Eddp55E ](https://youtu.be/AYb-EUcz72U)
- **Switch region of streaming server**
> Connect to another server instead of the default one. Check the [**FAQ** section](#faq) for some notes.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Force 1080p stream**
> By default you only get 1080p stream when playing on desktop.
> This feature will give you 1080p stream even on mobile, without having to change User-Agent.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Force high quality codec (if possible)<sup>(\*)</sup>**
> Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore.
> You should enable this feature even if you're on desktop.
> Use more bandwidth & battery.
> Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4
- **Prefer IPv6 streaming server**
> Might reduce latency
- **Disable bandwidth checking**
> xCloud won't reduce quality when the internet speed is slow
- **🔥 Show stream stats**
> Check [Stream stats section](#stream-stats) for more info.
- **🔥 Capture screenshot**
> Exclusive to **Better xCloud**. Check the [**Capture screenshot** section](#capture-screenshot) for more info.
- **🔥 Hold the "Quit game" button for one second to refresh the stream**
> Sometimes you can fix the bad connection to the stream simply by refreshing the page.
> Useful on mobile where the pull-to-refresh feature doesn't work while playing.
- **🔥 Touch controller**
> Enable touch controller support for all games.
### Server
- **Set the region of streaming server**
> Connect to another server instead of the default one. Check the [**FAQ** section](#faq) for some notes.
- **Preferred game's language**
> If the game doesn't support this language, it will use the same language as xCloud's website.
- **Prefer IPv6 server**
> Might reduce latency.
### Stream quality
- **Set target resolution**
> By default you only get 1080p stream when playing on desktop.
> This feature can give you 1080p stream even on mobile, without having to change User-Agent.
- **Force high-quality codec (if supported)<sup>(\*)</sup>**
> Force xCloud to use the best streaming codec profile (same as desktop & TV) if possible. You don't have to change User-Agent anymore.
> You should enable this feature even if you're on desktop.
> Not available for some browsers (Firefox, Safari...).
> Use more bandwidth & battery.
> Comparison video with the setting ON & OFF: https://youtu.be/-9PuBJJSgR4
- **Disable bandwidth checking**
> xCloud won't warn about slow connection speed.
### Controller
- **🔥 Touch controller**
> Only for mobile (Android/iOS/iPadOS).
> - **Default**: nothing change.
> - **All games**: enable touch controller support for all games. Games with custom layout won't be affected.
> - **Off**: stop the touch controller from showing when touching the screen. Useful when you play on a device with a built-in controller like Logitech G Cloud, Steam Deck, etc.
- **Hide mouse cursor on idle**
> Hide the mouse cursor after 3 seconds of not moving.
### UI
- **Simplify Stream's menu**
> Hide the labels of the menu buttons.
- **Skip Xbox splash video**
> Save 3 seconds
- **Hide Dots icon while playing**
> You can still click on it, but it doesn't block the screen anymore
> Save 3 seconds.
- **Hide System menu's icon**
> You can still click on it, but it doesn't block the screen anymore.
- **Reduce UI animations**
> Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
> Disable `transition` CSS property in some elements. The smooth scrolling cannot be disabled.
### Other
- **Disable social features**
> Features like friends, chat... Disable these will make the page load faster.
- **Disable xCloud analytics**
> The analytics contains statistics of your streaming session, so I'd recommend allowing analytics to help Xbox improve xCloud's experience in the future.
### Stream's video features
⚠️ These features don't work when xCloud's "Clarity Boost" feature is ON ([#64](https://github.com/redphx/better-xcloud/issues/64)).
- **Stretch video to full sctreen**
> Useful when you don't have a 16:9 screen
- **Adjust video filters**
> Brightness/Contrast/Saturation
> Brightness/Contrast/Saturation.
- **Display stream's statuses**
> Region/Server/Quality/Dimension...
- **Disable social features**
> Features like friends, chat... Disable these will make the page load faster.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
- **Disable xCloud analytics**
> The analytics contains statistics of your streaming session, so I'd recommend to allow analytics to help Xbox improve xCloud's experence in the future.
> Not working in Hermit ([#5](https://github.com/redphx/better-xcloud/issues/5)).
> Region/Server/Codecs/Resolution...
> Current playtime of the session.
> Current battery level.
> Estimated total data sent/received.
### Advanced features
- **Change User-Agent**
> Useful when you're using unsupported browsers.
> This setting only affects xCloud, and it doesn't change browser's global User-Agent.
> 📝 If you get 404 error after using this feature, try refreshing the page a few times. See [#34](https://github.com/redphx/better-xcloud/issues/34).
- **Hide footer and other UI elements**
<sup>(\*)</sup> By default (for compatibility reasons) xCloud only uses high quality codec profile when you use Tizen TV or Chrome/Edge/Chromium browser on Chrome/MacOS. Enable this setting will give you the best experience no matter what platform & browser you're on.
## How to use
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers.
1. Install [Tampermonkey extension](https://www.tampermonkey.net/) on suppported browsers. For Safari, use [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887).
2. Install **Better xCloud**:
- [Stable version](https://github.com/redphx/better-xcloud/releases/latest/download/better-xcloud.user.js)
- [Dev version](https://github.com/redphx/better-xcloud/raw/main/better-xcloud.user.js)
4. Refresh [xCloud web page](https://www.xbox.com/play/).
5. Click on the new "SERVER NAME" button next to your profile picture to adjust settings.
6. Don't forget to enable auto updating for the script in Tampermonkey.
I only distribute **Better xCloud** on GitHub, *DO NOT* download it on other websites or from unknown sources.
3. Refresh [xCloud web page](https://www.xbox.com/play/).
4. Click on the new "SERVER NAME" button next to your profile picture to adjust settings.
5. Don't forget to enable auto updating for the script in Tampermonkey.
To update manually, just install the script again (you won't lose your settings).
## Tutorial videos
If you still have trouble installing **Better xCloud**, you can follow one of these tutorial videos:
- 🇧🇷 [Tudo isso agora tem no xCloud!! (ChipTec)](https://youtu.be/zS8Zy0mYIbU?t=40)
- 🇫🇷 [#Tuto Xbox Cloud Gaming : Ecran ultra large et adieu les bandes noires sur smartphone (Cloud Gaming France)](https://www.youtube.com/watch?v=5U05KoTdDHs)
## Compatibility
✅ = confirmed to be working
❓ = not yet tested
@ -83,67 +142,84 @@ Don't see your browser in the table? If it supports Tampermonkey/Userscript then
---
- **Kiwi Browser** is the best choice on Android. All features work, it means you can get 1080p stream + high quality codec profile (the best possible quality).
- **Better xCloud** also works on Android TV, but you'll have to sideload the browser APK and need a bluetooth mouse if you want to interact with the Settings.
- **Better xCloud** also works on Android TV, but you'll have to sideload the browser APK and need a Bluetooth mouse if you want to interact with the Settings.
## Stream stats
<img width="500" alt="Stream stats" src="https://github.com/redphx/better-xcloud/assets/96280/0d4abb6b-49ab-4c9a-a52d-df7e396d2145">
- While playing > `...` > `Stream Stats`.
- Double-click on the stats bar to show the Settings dialog.
- This bar is updated every second.
- **Quick glance** feature: only show the stats bar when the System menu is expanded. The 👀 emoji at the beginning indicates that the stats bar is in the quick glance mode.
- ⚠️ Using **Better xCloud** or showing the stats bar also affects the performance of the stream.
| Abbr. | Full name | Explain |
|------:|:-------------------|:-------------------------------------------------------------------------------------------------------------------------------------------|
| FPS | Frames per Seconds | The number of decoded frames in the last second of the stream (may not be the same as the FPS of the game) |
| DT | Decode Time | The average time it took to decode one frame in the last second (bugged in Kiwi Browser [#26](https://github.com/redphx/better-xcloud/issues/26)) |
| RTT | Round Trip Time | The number of seconds it takes for data to be sent from your device to the server and back over (similar to ping, lower is better) |
| BR | Bitrate | The amount of data the server sent to your device in the last second |
| PL | Packets Lost | The total number of packets lost |
| FL | Frames Lost | The total number of frames dropped prior to decode or dropped because the frame missed its display deadline |
This info is provided by WebRTC API. You can use browser's built-in tool to see more info:
- Chrome/Edge/Chromium variants: `chrome://webrtc-internals`
- Firefox: `about:webrtc`
Colors:
- Red = Bad
- Yellow = Okay
- Green = Good
- White = Great
⚠️ Having this info on all the time will drain the battery faster, so I'd recommend only using it when having network problems.
## Capture screenshot
- This feature is only available in **Better xCloud**.
- Works on both desktop & mobile, but it's designed for mobile users.
- It captures the current frame of the stream and save to a file. That means you won't get the raw quality like when you play on console, but it's still better than using the built-in screenshot feature on your phone.
- Works on both desktop & mobile, but it was designed for mobile users.
- It's client-side only.
- It captures the current frame of the stream and saves it to a file. That means you won't get the raw quality like when you play on a console, but it's still better than using the built-in screenshot feature on your phone.
- Screenshot's resolution & quality depend on the quality of the stream at the moment.
- Screenshot doesn't touch UI, notification bar... only the gameplay.
- Screenshot doesn't include touch UI, notification bar... only the gameplay.
- There might be a slight delay.
- ⚠️ It's not possible to map the Share/Screenshot button on your controller to this feature.
### How to capture screenshot
1. Enable this feature in setting.
1. Enable this feature in the Settings.
2. Play a game.
3. Tap once at the bottom left/right (depend on your setting) to show the Screenshot button.
3. Tap once at the bottom left/right (depending on your setting) to show the Screenshot button.
4. Tap on that button to capture screenshot.
5. Screenshot will be saved by browser.
6. You can double tap that corner to capture screenshot.
5. Screenshot will be saved by the browser.
6. You can double-tap that corner to capture screenshot.
<img width="600" alt="Screenshot button" src="https://github.com/redphx/better-xcloud/assets/96280/a911b141-5dc0-450a-aeac-30d9cf202b44">
## FAQ
1. **Will I get banned for using this?**
I think it's very unlikely that you'll get banned for using this. Most of the features only affect client-side, except for switching region of streaming server (you'll connect to another server instead of the default one). If you want to be safe just avoid using that. As always, use as your own risk.
I think it's very unlikely that you'll get banned for using this. Most of the features only affect client-side, except for switching region of streaming server (you'll connect to another server instead of the default one). If you want to be safe just avoid using that. As always, use it as your own risk.
2. **Why is it an Userscript and not extension?**
2. **Why is it an Userscript and not an extension?**
It's because not many browsers on Android support installing extensions (and not all extensions can be installed).
3. **I see "???" button instead of server's name**
That means Tampermonkey is not working properly. Please make sure you're using the latest version or switch to a well-known browser.
3. **Why doesn't the xCloud website implement *this* or *that* feature from Better xCloud?**
For being an unofficial tool, **Better xCloud** has the luxury to implement anything on the xCloud website. On the xCloud's side, they have a lot more users and devices to support, so it's more difficult for them to implement a new feature. Also it's not easy to explain some of the features of **Better xCloud** to normal xCloud users.
4. **Can I use this with the Xbox Android app?**
No you can't. You'll have to modify the app.
No, you can't. You'll have to modify the app.
5. **Will you able to enable "Clarity Boost" feature on non-Edge browsers?**
No. "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.
5. **Will it be able to enable the "Clarity Boost" feature on non-Edge browsers?**
No. The "Clarity Boost" feature uses an exclusive API (`Video.msVideoProcessing`) that's only available on Edge browser for desktop at the moment.
6. **Will it be able to request a lower FPS or increase the maximum bitrate (15Mbps) of the stream?**
Sorry, no. The server decides all these settings.
## User-Agent
You're no longer needed to change User-Agent since you can just use the **Force high quality stream** setting.
If your browser doesn't support **Force high quality stream** setting, try changing User-Agent to:
```
Mozilla/5.0 (SMART-TV; LINUX; Tizen 7.0) AppleWebKit/537.36 (KHTML, like Gecko) 94.0.4606.31/7.0 TV Safari/537.36
```
This will change your device to a Samsung TV running Tizen OS. It will improve the stream quality.
---
Change User-Agent to:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.67
```
This will trick xCloud into thinking you're using Edge browser on desktop.
Other options (only do one of these):
- Add ` smarttv` to switch to Smart TV layout.
- Add ` Xbox;` to become an Xbox console.
- Add ` 36102dd3-6953-45f6-8b48-031fb95e0e0d` to become a Logitech G Cloud device.
- Add ` 0ed22b6f-b61d-41eb-810a-a1ed586a550b` to become a Razer Edge device.
Moved to [wiki](https://github.com/redphx/better-xcloud/wiki/UserAgent).
## Acknowledgements
- [n-thumann/xbox-cloud-server-selector](https://github.com/n-thumann/xbox-cloud-server-selector) for the idea of IPv6 feature
- Icons by [Adam Design](https://www.iconfinder.com/iconsets/user-interface-outline-27)
- Icons by [Phosphor Icons](https://phosphoricons.com)
## Disclaimers
- Use as your own risk.
- Use as it your own risk.
- This project is not affiliated with Xbox in any way. All Xbox logos/icons/trademarks are copyright of their respective owners.

5
better-xcloud.meta.js Normal file
View File

@ -0,0 +1,5 @@
// ==UserScript==
// @name Better xCloud
// @namespace https://github.com/redphx
// @version 1.10
// ==/UserScript==

File diff suppressed because it is too large Load Diff