blob: 67c083c8fb41c3bda99a0e3b4277ccdbd6eda45c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
{ writeShellApplication, curl, openssh, sshpass, rsync, sshPassword, sshPort
, httpPort }:
writeShellApplication {
name = "reMder-client";
runtimeInputs = [ curl openssh sshpass rsync ];
text = let
ssh =
"sshpass -p ${sshPassword} ssh -q -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p ${
toString sshPort
}";
guest = "root@127.0.0.1";
documentDir = "/home/root/.local/share/remarkable/xochitl";
in ''
in="$1"
out="$2"
in_basename="$(basename "$in")"
${ssh} ${guest} rm -rf ${documentDir}
${ssh} ${guest} mkdir ${documentDir}
rsync --rsh="${ssh}" "$in" ${guest}:${documentDir}
${ssh} ${guest} "unzip '${documentDir}/$in_basename' -d ${documentDir}"
doc_id="$(${ssh} ${guest} find ${documentDir} -name '\*.metadata' -exec basename {} .metadata '\;')"
curl -f -o "$out" "http://127.0.0.1:${
toString httpPort
}/download/$doc_id/placeholder"
'';
}
|