mirror of
https://github.com/Genymobile/scrcpy.git
synced 2025-08-07 00:28:58 +00:00
Added ssh-mode
argument to server.
This commit is contained in:
parent
154557e72b
commit
83bbb75f39
4 changed files with 21 additions and 5 deletions
|
@ -16,6 +16,7 @@
|
|||
#include "util/str_util.h"
|
||||
|
||||
#define SOCKET_NAME "scrcpy"
|
||||
#define SSH_SOCKET_NAME "/data/local/tmp/scrcpy"
|
||||
#define SERVER_FILENAME "scrcpy-server"
|
||||
|
||||
#define DEFAULT_SERVER_PATH PREFIX "/share/scrcpy/" SERVER_FILENAME
|
||||
|
@ -294,6 +295,7 @@ execute_server(struct server *server, const struct server_params *params) {
|
|||
params->show_touches ? "true" : "false",
|
||||
params->stay_awake ? "true" : "false",
|
||||
params->codec_options ? params->codec_options : "-",
|
||||
params->use_ssh ? "true" : "false",
|
||||
};
|
||||
#ifdef SERVER_DEBUGGER
|
||||
LOGI("Server debugger waiting for a client on device port "
|
||||
|
|
|
@ -16,6 +16,7 @@ public final class DesktopConnection implements Closeable {
|
|||
private static final int DEVICE_NAME_FIELD_LENGTH = 64;
|
||||
|
||||
private static final String SOCKET_NAME = "scrcpy";
|
||||
private static final String SSH_SOCKET_NAME = "/data/local/tmp/scrcpy";
|
||||
|
||||
private final LocalSocket videoSocket;
|
||||
private final FileDescriptor videoFd;
|
||||
|
@ -41,11 +42,11 @@ public final class DesktopConnection implements Closeable {
|
|||
return localSocket;
|
||||
}
|
||||
|
||||
public static DesktopConnection open(Device device, boolean tunnelForward) throws IOException {
|
||||
public static DesktopConnection open(Device device, boolean tunnelForward, boolean sshMode) throws IOException {
|
||||
LocalSocket videoSocket;
|
||||
LocalSocket controlSocket;
|
||||
if (tunnelForward) {
|
||||
LocalServerSocket localServerSocket = new LocalServerSocket(SOCKET_NAME);
|
||||
LocalServerSocket localServerSocket = new LocalServerSocket(sshMode ? SSH_SOCKET_NAME : SOCKET_NAME);
|
||||
try {
|
||||
videoSocket = localServerSocket.accept();
|
||||
// send one byte so the client may read() to detect a connection error
|
||||
|
@ -60,9 +61,9 @@ public final class DesktopConnection implements Closeable {
|
|||
localServerSocket.close();
|
||||
}
|
||||
} else {
|
||||
videoSocket = connect(SOCKET_NAME);
|
||||
videoSocket = connect(sshMode ? SSH_SOCKET_NAME : SOCKET_NAME);
|
||||
try {
|
||||
controlSocket = connect(SOCKET_NAME);
|
||||
controlSocket = connect(sshMode ? SSH_SOCKET_NAME : SOCKET_NAME);
|
||||
} catch (IOException | RuntimeException e) {
|
||||
videoSocket.close();
|
||||
throw e;
|
||||
|
|
|
@ -16,6 +16,7 @@ public class Options {
|
|||
private boolean showTouches;
|
||||
private boolean stayAwake;
|
||||
private String codecOptions;
|
||||
private boolean sshMode;
|
||||
|
||||
public Ln.Level getLogLevel() {
|
||||
return logLevel;
|
||||
|
@ -120,4 +121,12 @@ public class Options {
|
|||
public void setCodecOptions(String codecOptions) {
|
||||
this.codecOptions = codecOptions;
|
||||
}
|
||||
|
||||
public boolean isSshMode() {
|
||||
return sshMode;
|
||||
}
|
||||
|
||||
public void setSshMode(boolean sshMode) {
|
||||
this.sshMode = sshMode;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -52,8 +52,9 @@ public final class Server {
|
|||
CleanUp.configure(mustDisableShowTouchesOnCleanUp, restoreStayOn, true);
|
||||
|
||||
boolean tunnelForward = options.isTunnelForward();
|
||||
boolean sshMode = options.isSshMode();
|
||||
|
||||
try (DesktopConnection connection = DesktopConnection.open(device, tunnelForward)) {
|
||||
try (DesktopConnection connection = DesktopConnection.open(device, tunnelForward, sshMode)) {
|
||||
ScreenEncoder screenEncoder = new ScreenEncoder(options.getSendFrameMeta(), options.getBitRate(), options.getMaxFps(), codecOptions);
|
||||
|
||||
if (options.getControl()) {
|
||||
|
@ -167,6 +168,9 @@ public final class Server {
|
|||
String codecOptions = args[13];
|
||||
options.setCodecOptions(codecOptions);
|
||||
|
||||
boolean sshMode = Boolean.parseBoolean(args[14]);
|
||||
options.setSshMode(sshMode);
|
||||
|
||||
return options;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue