Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The platform architecture consists of two main components:
- 💰 **Free**: Self-hosted alternative to AWS Device Farm and Firebase Test Lab
- 📱 **Cross-Platform**: Full support for iOS and Android devices, plus automated testing for Smart TVs (Samsung Tizen OS, LG WebOS)
- 🎮 **Remote Control**: Real-time device control and testing capabilities
- 🎮 **Local debugging - Android only**: [Connect](./docs/adb-client.md) remotely controlled Android device to your local `adb` instance for development and debugging
- 🎮 **Local debugging - Android only**: [Connect](./docs/adb-tunnel.md) remotely controlled Android device to your local `adb` instance for development and debugging
- 🔌 **Appium Compatible**: Works with industry-standard Appium testing framework
- 🔑 **Flexible Authentication**: Support for multiple JWT issuers with origin-based keys
- 🛠 **Easy Setup**: Simple installation and configuration process
Expand All @@ -61,7 +61,7 @@ The platform architecture consists of two main components:
- App installation/uninstallation
- High-quality screenshots
- Device reservation system
- Android devices remote debugging over `adb` [adb-client](./docs/adb-client.md)
- Android devices remote debugging over `adb` [adb-tunnel](./docs/adb-tunnel.md)
- 🔄 **Backend Capabilities**
- Web interface serving
- Provider communication proxy
Expand Down
4 changes: 2 additions & 2 deletions docs/adb-client.md → docs/adb-tunnel.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Android adb-client
# Android adb-tunnel

## Overview

Expand All @@ -15,4 +15,4 @@ GADS allows you to connect Android devices to your local `adb` instance for debu

- You can only create tunnel to devices that are currently being remotely controlled by you.
- Stopping the remote control of the device through the hub interface will also drop the tunnel connection.
- Stopping the adb client will not drop your remote control session.
- Stopping the adb tunnel will not drop your remote control session.
2 changes: 1 addition & 1 deletion docs/hub.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ The experimental grid was tested only using latest Appium and Selenium Java clie

### Android devices remote control debugging

GADS allows you to create an adb tunnel to a remotely controlled Android device for local development and debugging - find more information on usage [here](./adb-client.md)
GADS allows you to create an adb tunnel to a remotely controlled Android device for local development and debugging - find more information on usage [here](./adb-tunnel.md)
26 changes: 13 additions & 13 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -62,24 +62,24 @@ func main() {
providerCmd.Flags().Bool("use-ios-pair-cache", false, "Cache iOS pair records on disk to skip Trust dialog on reconnect (for unsupervised devices)")
rootCmd.AddCommand(providerCmd)

// ADB Client Command
var adbClientCmd = &cobra.Command{
Use: "adb-client",
// ADB Tunnel Command
var adbTunnelCmd = &cobra.Command{
Use: "adb-tunnel",
Short: "Connect to a remote Android device via ADB tunnel through the hub",
Run: func(cmd *cobra.Command, args []string) {
adb.Start(cmd.Flags())
},
}
adbClientCmd.Flags().String("hub", "", "Hub URL (e.g. http://localhost:10000)")
adbClientCmd.Flags().String("udid", "", "Device UDID to tunnel")
adbClientCmd.Flags().String("username", "", "GADS username")
adbClientCmd.Flags().String("password", "", "GADS password")
adbClientCmd.Flags().Int("port", 0, "Local port to listen on (0 = auto)")
adbClientCmd.MarkFlagRequired("hub")
adbClientCmd.MarkFlagRequired("udid")
adbClientCmd.MarkFlagRequired("username")
adbClientCmd.MarkFlagRequired("password")
rootCmd.AddCommand(adbClientCmd)
adbTunnelCmd.Flags().String("hub", "", "Hub URL (e.g. http://localhost:10000)")
adbTunnelCmd.Flags().String("udid", "", "Device UDID to tunnel")
adbTunnelCmd.Flags().String("username", "", "GADS username")
adbTunnelCmd.Flags().String("password", "", "GADS password")
adbTunnelCmd.Flags().Int("port", 0, "Local port to listen on (0 = auto)")
adbTunnelCmd.MarkFlagRequired("hub")
adbTunnelCmd.MarkFlagRequired("udid")
adbTunnelCmd.MarkFlagRequired("username")
adbTunnelCmd.MarkFlagRequired("password")
rootCmd.AddCommand(adbTunnelCmd)

var versionCmd = &cobra.Command{
Use: "version",
Expand Down