blob: ad58693c9561e4266b38815f456ca555c06797e1 (
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
34
35
36
37
38
39
40
41
42
43
|
{
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"
'';
}
|