From 58b6b265123805370ee45cd55877682fb998fc8f Mon Sep 17 00:00:00 2001 From: Retype GitHub Action Date: Mon, 2 Dec 2024 19:53:15 +0000 Subject: [PATCH] Refreshes Retype-generated documentation. Process triggered by electrikjesus. --- 404.html | 8 +- applications/blissethernetmanager/index.html | 8 +- applications/blisskiosklauncher/index.html | 8 +- .../blissrestrictedlauncher/index.html | 8 +- code_of_conduct/index.html | 8 +- development/addon-development/index.html | 8 +- .../bass-high-level-overview/index.html | 8 +- development/building-bass/index.html | 10 +- .../contributing-documentation/index.html | 8 +- development/development-faq/index.html | 8 +- .../maintaining-proper-authorship/index.html | 8 +- development/porting-linux-drivers/index.html | 8 +- development/what-are-linux-drivers/index.html | 8 +- features/admin-restriction/index.html | 8 +- features/dns-internet-restriction/index.html | 8 +- features/updates-and-ota/index.html | 8 +- index.html | 8 +- .../raspberry-pi-installation/index.html | 8 +- .../collecting-bug-reports/index.html | 8 +- .../install-from-bootable-usb/index.html | 8 +- .../power-management-aidl/index.html | 8 +- legal/end_user_license_agreement/index.html | 8 +- .../navotpala_tech_privacy_policy/index.html | 12 +- .../using_droidvnc-ng/index.html | 504 ++++++++++++++++++ .../index.html | 12 +- resources/js/config.js | 2 +- resources/js/prism.js | 2 +- resources/js/search.json | 2 +- .../booting-into-generic-builds/index.html | 8 +- .../booting-into-lockdown-builds/index.html | 8 +- .../index.html | 8 +- .../license-activation/index.html | 8 +- sitemap.xml.gz | Bin 752 -> 759 bytes 33 files changed, 624 insertions(+), 120 deletions(-) create mode 100644 remote_management/using_droidvnc-ng/index.html diff --git a/404.html b/404.html index 6a352062..71d49bff 100644 --- a/404.html +++ b/404.html @@ -3,7 +3,7 @@ - + @@ -27,11 +27,11 @@ - + - + - +
diff --git a/applications/blissethernetmanager/index.html b/applications/blissethernetmanager/index.html index a15eaeee..a6184961 100644 --- a/applications/blissethernetmanager/index.html +++ b/applications/blissethernetmanager/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/applications/blisskiosklauncher/index.html b/applications/blisskiosklauncher/index.html index 4d108784..e434b277 100644 --- a/applications/blisskiosklauncher/index.html +++ b/applications/blisskiosklauncher/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/applications/blissrestrictedlauncher/index.html b/applications/blissrestrictedlauncher/index.html index c0dafc72..592225ae 100644 --- a/applications/blissrestrictedlauncher/index.html +++ b/applications/blissrestrictedlauncher/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/code_of_conduct/index.html b/code_of_conduct/index.html index 969f8e44..a9bf04b4 100644 --- a/code_of_conduct/index.html +++ b/code_of_conduct/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/addon-development/index.html b/development/addon-development/index.html index db4f4d22..052f9822 100644 --- a/development/addon-development/index.html +++ b/development/addon-development/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/bass-high-level-overview/index.html b/development/bass-high-level-overview/index.html index 475056b3..09432f05 100644 --- a/development/bass-high-level-overview/index.html +++ b/development/bass-high-level-overview/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/development/building-bass/index.html b/development/building-bass/index.html index 1980ef3f..a7c1c555 100644 --- a/development/building-bass/index.html +++ b/development/building-bass/index.html @@ -3,7 +3,7 @@ - + @@ -32,12 +32,12 @@ - + - + - - + +
diff --git a/development/contributing-documentation/index.html b/development/contributing-documentation/index.html index b563f9bd..7ffa920f 100644 --- a/development/contributing-documentation/index.html +++ b/development/contributing-documentation/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/development-faq/index.html b/development/development-faq/index.html index cb708f01..03fddfa0 100644 --- a/development/development-faq/index.html +++ b/development/development-faq/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/maintaining-proper-authorship/index.html b/development/maintaining-proper-authorship/index.html index 59602474..6e0b38ac 100644 --- a/development/maintaining-proper-authorship/index.html +++ b/development/maintaining-proper-authorship/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/porting-linux-drivers/index.html b/development/porting-linux-drivers/index.html index c7d433de..bf8c1a9f 100644 --- a/development/porting-linux-drivers/index.html +++ b/development/porting-linux-drivers/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/development/what-are-linux-drivers/index.html b/development/what-are-linux-drivers/index.html index aff490b7..0cf990be 100644 --- a/development/what-are-linux-drivers/index.html +++ b/development/what-are-linux-drivers/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/features/admin-restriction/index.html b/features/admin-restriction/index.html index 5378b8bc..1b87c8b0 100644 --- a/features/admin-restriction/index.html +++ b/features/admin-restriction/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/features/dns-internet-restriction/index.html b/features/dns-internet-restriction/index.html index 1a90fcc7..5af27152 100644 --- a/features/dns-internet-restriction/index.html +++ b/features/dns-internet-restriction/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/features/updates-and-ota/index.html b/features/updates-and-ota/index.html index b2469a3c..0cac0e30 100644 --- a/features/updates-and-ota/index.html +++ b/features/updates-and-ota/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/index.html b/index.html index 01d2a298..31ccdaab 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/installation/raspberry-pi/raspberry-pi-installation/index.html b/installation/raspberry-pi/raspberry-pi-installation/index.html index feff5f1e..dbaea4c1 100644 --- a/installation/raspberry-pi/raspberry-pi-installation/index.html +++ b/installation/raspberry-pi/raspberry-pi-installation/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/installation/x86_64-v2/collecting-bug-reports/index.html b/installation/x86_64-v2/collecting-bug-reports/index.html index 9e442304..bbba5338 100644 --- a/installation/x86_64-v2/collecting-bug-reports/index.html +++ b/installation/x86_64-v2/collecting-bug-reports/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/installation/x86_64-v2/install-from-bootable-usb/index.html b/installation/x86_64-v2/install-from-bootable-usb/index.html index c9da9e31..29f85967 100644 --- a/installation/x86_64-v2/install-from-bootable-usb/index.html +++ b/installation/x86_64-v2/install-from-bootable-usb/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
diff --git a/interfaces/blisspowermanageraidl/power-management-aidl/index.html b/interfaces/blisspowermanageraidl/power-management-aidl/index.html index de1a004a..2d5ec06c 100644 --- a/interfaces/blisspowermanageraidl/power-management-aidl/index.html +++ b/interfaces/blisspowermanageraidl/power-management-aidl/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/legal/end_user_license_agreement/index.html b/legal/end_user_license_agreement/index.html index c80dbf38..27a0a6f7 100644 --- a/legal/end_user_license_agreement/index.html +++ b/legal/end_user_license_agreement/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
diff --git a/legal/navotpala_tech_privacy_policy/index.html b/legal/navotpala_tech_privacy_policy/index.html index e2e5e53e..f2dc6597 100644 --- a/legal/navotpala_tech_privacy_policy/index.html +++ b/legal/navotpala_tech_privacy_policy/index.html @@ -3,7 +3,7 @@ - + @@ -30,11 +30,11 @@ - + - + - +
@@ -249,10 +249,10 @@

- + Next - Using Scrcpy For Remote Management + Using Droid​VNC-​NG diff --git a/remote_management/using_droidvnc-ng/index.html b/remote_management/using_droidvnc-ng/index.html new file mode 100644 index 00000000..b7b060bc --- /dev/null +++ b/remote_management/using_droidvnc-ng/index.html @@ -0,0 +1,504 @@ + + + + + + + + + + + + Using DroidVNC-NG + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+ + +
+ + +
+ + + +
+ +
+ + + + +
+ + + + + +
+ +
+ + +
+ + +
+ +
+
+ +
+
+ + + + +
+
+
+
+ +
+ + + + + + + + +
+ +
+
+
+
+ +
+ + +

+ # + Using DroidVNC-NG +

+
+

(These instructions are based off the project readme found here)

+

Some Bass builds will come with droidVNC-NG as a VNC remote management solution that can work across the internet.

+ +

+ # + How to use +

+
+
    +
  1. Launch the droidVNC-NG Admin Panel app.
  2. +
  3. Set a good password and consider turning the Start on Boot off.
  4. +
  5. Connect to your local Wi-Fi. For accepting a connection your device should be connected to some Local Area Network that you can control, normally it is a router. Connections via data networks (i.e. your mobile provider) are not supported.
  6. +
  7. Click Start
  8. +
  9. Set any permissions if requested
  10. +
  11. Connect to your device from a remote machine
  12. +
+ +

+ # + Keyboard Shortcuts From a VNC Viewer +

+
+
    +
  • Ctrl-Shift-Esc triggers 'Recent Apps' overview
  • +
  • Home/Pos1 acts as Home button
  • +
  • End acts as Power button
  • +
  • Escape acts as Back button
  • +
+ +

+ # + For accepting connections from outside +

+
+
    +
  1. You should allow Port Forwarding in your router's Firewall settings. Login to your router's settings (usually open 192.168.1.1 in your browser, some routers have password written on them).

    +
  2. +
  3. Find Port Forwarding, usually it's somewhere in Network - Firewall - Port Forwards.

    +
  4. +
  5. Create a new rule, this is an example from OpenWRT firmware.

    +

    Name: VNC forwarding

    +

    Protocol: TCP

    +

    Source zone: wan may be "internet", "modem", something that suggests the external source.

    +

    External port: 5900 by default or whatever you specified in the app.

    +

    Destination zone: lan something that suggests local network.

    +

    Internal IP address: your device's local IP address, leaving any is less secure. The device's address may change over time! You can look it up in your routers' connected clients info.

    +

    Internal port: same as external port.

    +
  6. +
  7. Apply the settings, sometimes it requires rebooting a router.

    +
  8. +
  9. Figure out your public address i.e. https://www.hashemian.com/whoami/.

    +
  10. +
  11. Use this address and port from above to connect to your device.

    +
  12. +
+ +

+ # + How to Pre-seed Preferences +

+
+

DroidVNC-NG can read a JSON file with default settings that apply if settings were not changed +by the user. A file named defaults.json needs to created under +<external files directory>/Android/data/net.christianbeier.droidvnc_ng/files/ where +depending on your device, <external files directory> is something like /storage/emulated/0 if +the device shows two external storages or simply /sdcard if the device has one external storage.

+

An example defaults.json with completely new defaults (not all entries need to be provided) is:

+
+
{
+    "port": 5901,
+    "portReverse": 5555,
+    "portRepeater": 5556,
+    "scaling": 0.7,
+    "viewOnly": false,
+    "showPointers": true,
+    "fileTransfer": true,
+    "password": "supersecure",
+    "accessKey": "evenmoresecure",
+    "startOnBoot": true,
+    "startOnBootDelay": 0
+}
+
+ +

+ # + Remote Control via the Intent Interface +

+
+

droidVNC-NG features a remote control interface by means of Intents. This allows starting the VNC +server from other apps or on certain events. It is designed to be working with automation apps +like MacroDroid, Automate or +Tasker as well as to be called from code.

+

You basically send an explicit Intent to net.christianbeier.droidvnc_ng.MainService with one of +the following Actions and associated Extras set:

+
    +
  • net.christianbeier.droidvnc_ng.ACTION_START: Starts the server.

    +
      +
    • net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY: Required String Extra containing the remote control interface's access key. You can get/set this from the Admin Panel.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID: Optional String Extra containing a unique id for this request. Used to identify the answer from the service.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_PORT: Optional Integer Extra setting the listening port. Set to -1 to disable listening.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_PASSWORD: Optional String Extra containing VNC password.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_SCALING: Optional Float Extra between 0.0 and 1.0 describing the server-side framebuffer scaling.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_VIEW_ONLY: Optional Boolean Extra toggling view-only mode.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_SHOW_POINTERS: Optional Boolean Extra toggling per-client mouse pointers.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_FILE_TRANSFER: Optional Boolean Extra toggling the file transfer feature.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_FALLBACK_SCREEN_CAPTURE: Optional Boolean Extra indicating whether to start with fallback screen capture that does not need a +user interaction to start but is slow and needs view-only to be off. Only applicable to Android 10 and newer.
    • +
    +
  • +
  • net.christianbeier.droidvnc_ng.ACTION_CONNECT_REVERSE: Make an outbound connection to a listening viewer.

    +
      +
    • net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY: Required String Extra containing the remote control interface's access key. You can get/set this from the Admin Panel.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID: Optional String Extra containing a unique id for this request. Used to identify the answer from the service.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_HOST: Required String Extra setting the host to connect to.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_PORT: Optional Integer Extra setting the remote port.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_RECONNECT_TRIES: Optional Integer Extra setting the number of tries reconnecting a once established connection. Needs request id to be set.
    • +
    +
  • +
  • net.christianbeier.droidvnc_ng.ACTION_CONNECT_REPEATER Make an outbound connection to a repeater.

    +
      +
    • net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY: Required String Extra containing the remote control interface's access key. You can get/set this from the Admin Panel.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID: Optional String Extra containing a unique id for this request. Used to identify the answer from the service.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_HOST: Required String Extra setting the host to connect to.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_PORT: Optional Integer Extra setting the remote port.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REPEATER_ID: Required String Extra setting the ID on the repeater.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_RECONNECT_TRIES: Optional Integer Extra setting the number of tries reconnecting a once established connection. Needs request id to be set.
    • +
    +
  • +
  • net.christianbeier.droidvnc_ng.ACTION_STOP: Stops the server.

    +
      +
    • net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY: Required String Extra containing the remote control interface's access key. You can get/set this from the Admin Panel.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID: Optional String Extra containing a unique id for this request. Used to identify the answer from the service.
    • +
    +
  • +
+

The service answers with a Broadcast Intent with its Action mirroring your request:

+
    +
  • Action: one of the above Actions you requested +
      +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID: The request id this answer is for.
    • +
    • net.christianbeier.droidvnc_ng.EXTRA_REQUEST_SUCCESS: Boolean Extra describing the outcome of the request.
    • +
    +
  • +
+

There is one special case where the service sends a Broadcast Intent with action +net.christianbeier.droidvnc_ng.ACTION_STOP without any extras: that is when it is stopped by the +system.

+ +

+ # + Examples +

+
+ +
+ # + Start a password-protected view-only server on port 5901 +
+
+

Using adb shell am syntax:

+
+
adb shell am start-foreground-service \
+ -n net.christianbeier.droidvnc_ng/.MainService \
+ -a net.christianbeier.droidvnc_ng.ACTION_START \
+ --es net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY de32550a6efb43f8a5d145e6c07b2cde \
+ --es net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID abc123 \
+ --ei net.christianbeier.droidvnc_ng.EXTRA_PORT 5901 \
+ --es net.christianbeier.droidvnc_ng.EXTRA_PASSWORD supersecure \
+ --ez net.christianbeier.droidvnc_ng.EXTRA_VIEW_ONLY true
+
+ +
+ # + Start a server with defaults from Tasker +
+
+
    +
  • Tasker action-category in menu is System -> Send Intent
  • +
  • In there: +
      +
    • Action net.christianbeier.droidvnc_ng.ACTION_START
    • +
    • Extra net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY:<your api key from DroidVNC-NG start screen>
    • +
    • Package net.christianbeier.droidvnc_ng
    • +
    • Class net.christianbeier.droidvnc_ng.MainService
    • +
    • Target: Service
    • +
    +
  • +
+ +
+ # + Start a server with defaults from a Kotlin app +
+
+
    +
  • For apps targeting API level 30+, you'll need to specify that your app is able to see/use +droidVNC-NG. You do this by adding the following snippet to your AndroidManifest.xml, right under +the <manifest> namepace:
  • +
+
+
<queries>
+    <package android:name="net.christianbeier.droidvnc_ng" />
+</queries>
+
+
    +
  • In your Kotlin code, it's then:
  • +
+
+
val intent = Intent()
+intent.setComponent(ComponentName("net.christianbeier.droidvnc_ng", "net.christianbeier.droidvnc_ng.MainService"))
+intent.setAction("net.christianbeier.droidvnc_ng.ACTION_START")
+intent.putExtra("net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY", "<your api key from DroidVNC-NG start screen>")
+startForegroundService(intent)
+
+ +
+ # + Make an outbound connection to a listening viewer from the running server +
+
+

For example from Java code:

+

See MainActivity.java.

+ +
+ # + Stop the server again +
+
+

Using adb shell am syntax again:

+
+
adb shell am start-foreground-service \
+ -n net.christianbeier.droidvnc_ng/.MainService \
+ -a net.christianbeier.droidvnc_ng.ACTION_STOP \
+ --es net.christianbeier.droidvnc_ng.EXTRA_ACCESS_KEY de32550a6efb43f8a5d145e6c07b2cde \
+ --es net.christianbeier.droidvnc_ng.EXTRA_REQUEST_ID def456
+
+ + + + +
+ +
+ +
+ +
+
+ + + + + + + +
+ +
+
+ + + +
+ + +
+ + + + diff --git a/remote_management/using_scrcpy_for_remote_management/index.html b/remote_management/using_scrcpy_for_remote_management/index.html index 8a5ab7de..e84cb414 100644 --- a/remote_management/using_scrcpy_for_remote_management/index.html +++ b/remote_management/using_scrcpy_for_remote_management/index.html @@ -3,7 +3,7 @@ - + @@ -32,11 +32,11 @@ - + - + - +
@@ -300,11 +300,11 @@