mirror of
https://github.com/redphx/better-xcloud.git
synced 2025-07-05 13:51:43 +02:00
Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
a318db4ec2 | |||
aaa8348984 | |||
2cea30cf16 | |||
0fe99f8f2d |
23
README.md
23
README.md
@ -1,6 +1,6 @@
|
|||||||
# Better xCloud
|
# Better xCloud
|
||||||
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser.
|
Improve [Xbox Cloud Gaming (xCloud)](https://www.xbox.com/play/) experience on web browser.
|
||||||
The main target of this script is Android users, but it should work great on desktop too.
|
The main target of this script is mobile users, but it should work great on desktop too.
|
||||||
|
|
||||||
Give this project a 🌟 if you like it. Thank you.
|
Give this project a 🌟 if you like it. Thank you.
|
||||||
|
|
||||||
@ -10,11 +10,13 @@ Give this project a 🌟 if you like it. Thank you.
|
|||||||
<img width="500" alt="Video Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/130aa870-6938-4604-9e23-45e217b800cc">
|
<img width="500" alt="Video Settings UI" src="https://github.com/redphx/better-xcloud/assets/96280/130aa870-6938-4604-9e23-45e217b800cc">
|
||||||
|
|
||||||
- **Switch region of streaming server**
|
- **Switch region of streaming server**
|
||||||
> Connect to another server instead of the default one
|
> Connect to another server instead of the default one. Check [FAQ section](#faq) for some notes.
|
||||||
- **Prefer IPv6 streaming server**
|
- **Prefer IPv6 streaming server**
|
||||||
> Might reduce latency
|
> Might reduce latency
|
||||||
- **Force high quality stream**
|
- **Force high quality stream**
|
||||||
> Force xCloud to use the best streaming codec (same as desktop). You don't have to change User-Agent anymore. Affect battery life.
|
> Force xCloud to use the best streaming codec profile (same as desktop). You don't have to change User-Agent anymore.
|
||||||
|
> Some browsers (like Firefox) don't support this feature. Check [the full list](https://caniuse.com/?search=setCodecPreferences).
|
||||||
|
> If you're on Android and want to use it, try [Hermit](https://hermit.chimbori.com).
|
||||||
- **Disable bandwidth checking**
|
- **Disable bandwidth checking**
|
||||||
> xCloud won't reduce quality when the internet speed is slow
|
> xCloud won't reduce quality when the internet speed is slow
|
||||||
- **Skip Xbox splash video**
|
- **Skip Xbox splash video**
|
||||||
@ -49,16 +51,17 @@ To update manually, just install the script again (you won't lose your settings)
|
|||||||
❓ = not yet tested
|
❓ = not yet tested
|
||||||
❌ = not supported (mostly because of lacking Userscript/extension support)
|
❌ = not supported (mostly because of lacking Userscript/extension support)
|
||||||
⚠️ = see custom notes
|
⚠️ = see custom notes
|
||||||
| | Desktop | Android | iOS |
|
| | Desktop | Android | iOS |
|
||||||
|----------------------------------------|----------|------------------|-----|
|
|----------------------------------------|------------------|------------------|-----------------|
|
||||||
| Chrome/Edge/Chromium variants | ✅ | ❌ | ❌ |
|
| Chrome/Edge/Chromium variants | ✅ | ❌ | ❌ |
|
||||||
| Firefox | ✅ | ✅ | ❌ |
|
| Firefox | ✅ | ✅ | ❌ |
|
||||||
| Safari | ❓ | ❌ | ❓ |
|
| Safari | ✅<sup>(1)</sup> | ❌ | ✅<sup>(2)</sup> |
|
||||||
| [Hermit](https://hermit.chimbori.com) | ❌ | ⚠️<sup>(1)</sup> | ❌ |
|
| [Hermit](https://hermit.chimbori.com) | ❌ | ⚠️<sup>(3)</sup> | ❌ |
|
||||||
|
|
||||||
Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**.
|
Don't see your browser in the table? If it supports Tampermonkey/Userscript then the answer is likely **"YES"**.
|
||||||
|
|
||||||
<sup>1</sup> NOT RECOMMENDED at the moment since its Userscript implementation is not working properly. Non-network related features (skip splash video, video settings...) still work. It's still my favorite app to play xCloud on because it's lightweight, supports Userscript (premium features, only $1.99) without having to install anything else. I built **Better xCloud** just so I could use it with Hermit.
|
<sup>1, 2</sup> Requires [Userscripts app](https://apps.apple.com/us/app/userscripts/id1463298887).
|
||||||
|
<sup>3</sup> NOT RECOMMENDED at the moment since its Userscript implementation is not working properly. Non-network related features (skip splash video, video settings...) still work. It's still my favorite app to play xCloud on because it's lightweight, supports Userscript (premium features, only $1.99) without having to install anything else. I built **Better xCloud** just so I could use it with Hermit.
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
1. **Will I get banned for using this?**
|
1. **Will I get banned for using this?**
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Better xCloud
|
// @name Better xCloud
|
||||||
// @namespace https://github.com/redphx
|
// @namespace https://github.com/redphx
|
||||||
// @version 1.3
|
// @version 1.3.1
|
||||||
// @description Improve Xbox Cloud Gaming (xCloud) experience
|
// @description Improve Xbox Cloud Gaming (xCloud) experience
|
||||||
// @author redphx
|
// @author redphx
|
||||||
// @license MIT
|
// @license MIT
|
||||||
@ -13,7 +13,7 @@
|
|||||||
// ==/UserScript==
|
// ==/UserScript==
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const SCRIPT_VERSION = '1.3';
|
const SCRIPT_VERSION = '1.3.1';
|
||||||
const SCRIPT_HOME = 'https://github.com/redphx/better-xcloud';
|
const SCRIPT_HOME = 'https://github.com/redphx/better-xcloud';
|
||||||
|
|
||||||
const SERVER_REGIONS = {};
|
const SERVER_REGIONS = {};
|
||||||
@ -607,6 +607,12 @@ function injectSettingsButton($parent) {
|
|||||||
|
|
||||||
setting.value = PREFS.get(setting.id);
|
setting.value = PREFS.get(setting.id);
|
||||||
$control.checked = setting.value;
|
$control.checked = setting.value;
|
||||||
|
|
||||||
|
if (setting.id === Preferences.USE_DESKTOP_CODEC && !hasRtcSetCodecPreferencesSupport()) {
|
||||||
|
$control.disabled = true;
|
||||||
|
$control.checked = false;
|
||||||
|
$control.title = 'Not supported by this browser';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const $elm = CE('div', {'class': 'setting_row'},
|
const $elm = CE('div', {'class': 'setting_row'},
|
||||||
@ -841,8 +847,17 @@ function patchVideoApi() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function hasRtcSetCodecPreferencesSupport() {
|
||||||
|
return (typeof RTCRtpTransceiver !== 'undefined' && 'setCodecPreferences' in RTCRtpTransceiver.prototype)
|
||||||
|
}
|
||||||
|
|
||||||
function patchRtcCodecs() {
|
function patchRtcCodecs() {
|
||||||
if (typeof RTCRtpTransceiver === 'undefined' || !PREFS.get(Preferences.USE_DESKTOP_CODEC)) {
|
if (!PREFS.get(Preferences.USE_DESKTOP_CODEC)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!hasRtcSetCodecPreferencesSupport()) {
|
||||||
|
console.log('[Better xCloud] RTCRtpTransceiver.setCodecPreferences() is not supported');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user