feat: support non-rooted device
This commit is contained in:
parent
e02d6c15ec
commit
a18b87fa61
0
apps/lutris/discord_rpc.sh
Executable file → Normal file
0
apps/lutris/discord_rpc.sh
Executable file → Normal file
0
apps/lutris/enable-picom-ingame.sh
Executable file → Normal file
0
apps/lutris/enable-picom-ingame.sh
Executable file → Normal file
0
apps/lutris/preloader.sh
Executable file → Normal file
0
apps/lutris/preloader.sh
Executable file → Normal file
0
apps/proxytext/proxytext-wrapper.sh
Executable file → Normal file
0
apps/proxytext/proxytext-wrapper.sh
Executable file → Normal file
0
apps/spotify/wine/install-blockthespot.sh
Executable file → Normal file
0
apps/spotify/wine/install-blockthespot.sh
Executable file → Normal file
0
apps/spotify/wine/soggfy.sh
Executable file → Normal file
0
apps/spotify/wine/soggfy.sh
Executable file → Normal file
@ -4,43 +4,61 @@
|
||||
|
||||
### Notes
|
||||
|
||||
- **YOU NEED TO HAVE WS-SCRCPY INSTALLED, ALONG WITH ROOT ACCESS AND DEPENDENCIES**
|
||||
- **YOU NEED TO HAVE WS-SCRCPY INSTALLED, ALONG WITH DEPENDENCIES**
|
||||
- ~~YOU ALSO NEED TO OPEN ADB WIRELESS IN DEVELOPER SETTINGS FOR THIS TO WORK~~ (The script can use `su` to start ADB wireless now)
|
||||
- You need to grant Termux:API full Location permission and set to "Always" (Foreground mode will not work correctly)
|
||||
- Rootless mode is available, although it **will not** work in most cases.
|
||||
- Rootless mode is available, although you'll have to start the ADB server yourself.
|
||||
- Dependencies: `root-repo` `tsu` `moreutils` `build-essential` `nodejs` `python3` `android-tools` `git` `termux-api`
|
||||
|
||||
> Or execute `pkg install root-repo tsu moreutils build-essential nodejs python3 android-tools git termux-api`
|
||||
|
||||
- You also need to downgrade npm to version 6 to fix Termux problem: `npm install -g npm@6`
|
||||
### Installation
|
||||
|
||||
> Please ignore the vulnerability message, if you care about it then please don't use this script.
|
||||
0. Install ws-scrcpy:
|
||||
|
||||
- Download ws-scrcpy-launcher.py:
|
||||
|
||||
```bash
|
||||
curl -OL https://gitlab.com/tretrauit/scripts/-/raw/main/Apps/ws-scrcpy/ws-scrcpy-launcher.py
|
||||
chmod +x ws-scrcpy-launcher.py
|
||||
```
|
||||
|
||||
> Execute `./ws-scrcpy-launcher.py` to launch ws-scrcpy with scrcpy server for local device.
|
||||
|
||||
- Full script for lazy people (including install ws-scrcpy steps):
|
||||
|
||||
```bash
|
||||
pkg update
|
||||
pkg install root-repo moreutils build-essential nodejs python3 android-tools git
|
||||
pkg install tsu
|
||||
npm install -g npm@6
|
||||
cd ~
|
||||
```shell
|
||||
git clone https://github.com/NetrisTV/ws-scrcpy
|
||||
cd ./ws-scrcpy
|
||||
export GYP_DEFINES="android_ndk_path=''"
|
||||
npm install
|
||||
cd ..
|
||||
curl -OL https://gitlab.com/tretrauit/scripts/-/raw/main/Apps/ws-scrcpy/ws-scrcpy-launcher.py
|
||||
```
|
||||
|
||||
1. Download ws-scrcpy-launcher.py:
|
||||
|
||||
```shell
|
||||
curl -OL https://git.tretrauit.me/tretrauit/scripts/raw/branch/main/apps/ws-scrcpy/ws-scrcpy-launcher.py
|
||||
chmod +x ws-scrcpy-launcher.py
|
||||
```
|
||||
|
||||
- The script will tell you to wait for ws-scrcpy to start, and when it starts it'll show the started message with the ip address and the port to access using browsers
|
||||
2. Execute `./ws-scrcpy-launcher.py` to launch ws-scrcpy with scrcpy server for local device.
|
||||
|
||||
> You need to use `adb pair` to pair termux with your device adb server, then you can launch ws-scrcpy as explained above.
|
||||
> The script will tell you to wait for ws-scrcpy to start, and when it starts it'll show the started message with the ip address and the port to access using browsers
|
||||
|
||||
#### Android 11 and above (where true wireless debugging is available)
|
||||
|
||||
You need to use `adb pair` to pair termux with your device adb server, then you can launch ws-scrcpy as explained above.
|
||||
|
||||
#### Below Android 11
|
||||
|
||||
You'll have to use your PC to restart ADB in TCP mode with:
|
||||
|
||||
```shell
|
||||
adb tcpip 5555
|
||||
```
|
||||
Then after that you can launch ws-scrcpy as explained above.
|
||||
|
||||
> Full script for lazy people (including install ws-scrcpy steps):
|
||||
>
|
||||
> ```shell
|
||||
> pkg update
|
||||
> pkg install root-repo moreutils build-essential nodejs python3 android-tools git termux-api
|
||||
> pkg install tsu
|
||||
> cd ~
|
||||
> git clone https://github.com/NetrisTV/ws-scrcpy
|
||||
> cd ./ws-scrcpy
|
||||
> export GYP_DEFINES="android_ndk_path=''"
|
||||
> npm install
|
||||
> cd ..
|
||||
> curl -OL https://git.tretrauit.me/tretrauit/scripts/raw/branch/main/apps/ws-scrcpy/ws-scrcpy-launcher.py
|
||||
> chmod +x ws-scrcpy-launcher.py
|
||||
> ```
|
@ -11,6 +11,12 @@ from shutil import which
|
||||
|
||||
APP_UUID="a6db95c2-27db-4b88-a687-c8107d1bc9d6"
|
||||
|
||||
def is_root_available():
|
||||
output = subprocess.check_output(['su', '-c', 'echo', '"iamgroot"']).decode("utf-8").strip()
|
||||
if output == "iamgroot":
|
||||
return True
|
||||
return False
|
||||
|
||||
def Popen(args: list | str, root=False, shell=False, cwd=Path.cwd()):
|
||||
if root:
|
||||
if shell:
|
||||
@ -120,6 +126,10 @@ def main():
|
||||
show_notification("Checking for current adb port...")
|
||||
adb_port = None
|
||||
try:
|
||||
if not is_root_available():
|
||||
print("Root access is not available, assuming the port is 5555")
|
||||
print("You'll have to start adbd manually as instructed in the README.md")
|
||||
adb_port = 5555
|
||||
adb_port = get_port_from_process_name("adbd")
|
||||
except:
|
||||
pass
|
||||
|
0
games/lol/linux/discord_rpc.sh
Executable file → Normal file
0
games/lol/linux/discord_rpc.sh
Executable file → Normal file
0
games/lol/linux/garena_wrapper.sh
Executable file → Normal file
0
games/lol/linux/garena_wrapper.sh
Executable file → Normal file
0
games/lol/linux/sulaunchhelper2.sh
Executable file → Normal file
0
games/lol/linux/sulaunchhelper2.sh
Executable file → Normal file
0
games/lol/linux/syscall_check.sh
Executable file → Normal file
0
games/lol/linux/syscall_check.sh
Executable file → Normal file
0
os/linux/automount.py
Executable file → Normal file
0
os/linux/automount.py
Executable file → Normal file
31
userscripts/ferdium/vencord.user.js
Normal file
31
userscripts/ferdium/vencord.user.js
Normal file
@ -0,0 +1,31 @@
|
||||
// Vencord polyfills for loading in Ferdium
|
||||
|
||||
function GM_xmlhttpRequest(details) {
|
||||
var xhr = new XMLHttpRequest();
|
||||
xhr.open(details.method, details.url, true, details.password);
|
||||
xhr.responseType = details.responseType || 'text';
|
||||
xhr.timeout = details.timeout || 0;
|
||||
if (details.headers) {
|
||||
for (const [name, value] of Object.entries(details.headers)) {
|
||||
xhr.setRequestHeader(name, value);
|
||||
}
|
||||
}
|
||||
// Events
|
||||
xhr.onabort = details.onabort;
|
||||
xhr.onerror = details.onerror;
|
||||
xhr.onload = details.onload;
|
||||
xhr.onloadend = details.onloadend;
|
||||
xhr.onloadstart = details.onloadstart;
|
||||
xhr.onprogress = details.onprogress;
|
||||
xhr.onreadystatechange = details.onreadystatechange;
|
||||
xhr.ontimeout = details.ontimeout;
|
||||
// Missing fields: anonymous
|
||||
xhr.send(details.data);
|
||||
return {
|
||||
abort: () => xhr.abort(),
|
||||
}
|
||||
}
|
||||
window.GM_xmlhttpRequest = GM_xmlhttpRequest;
|
||||
window.unsafeWindow = window;
|
||||
document.head.innerHTML += `<meta http-equiv="Content-Security-Policy" content="default-src * self blob: data: gap:; style-src * self 'unsafe-inline' blob: data: gap:; script-src * 'self' 'unsafe-eval' 'unsafe-inline' blob: data: gap:; object-src * 'self' blob: data: gap:; img-src * self 'unsafe-inline' blob: data: gap:; connect-src self * 'unsafe-inline' blob: data: gap:; frame-src * self blob: data: gap:;">`;
|
||||
eval(await (await fetch("https://raw.githubusercontent.com/Vencord/builds/main/Vencord.user.js")).text());
|
Loading…
Reference in New Issue
Block a user