forked from Krowemoh/TCL-Utilities
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSECURE.FILE.TRANSFER.PROTOCOL
More file actions
63 lines (62 loc) · 1.54 KB
/
SECURE.FILE.TRANSFER.PROTOCOL
File metadata and controls
63 lines (62 loc) · 1.54 KB
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
SUBROUTINE SECURE.FILE.TRANSFER.PROTOCOL(RESULTS,SERVER,USERNAME,PASSWORD,LOCAL.PATH,REMOTE.PATH,DIRECTION)
*
GIT.FILENAME = 'SECURE.FILE.TRANSFER.PROTOCOL'
GIT.REPO = 'https://github.com/Krowemoh/TCL-Utilities.git'
*
* VERSION
*
VERSION = '1'
*
@USER1 = 'SECURE.FILE.TRANSFER.PROTOCOL'
@USER2 = 'SECURE.FILE.TRANSFER.PROTOCOL'
*
EQU TRUE TO 1
EQU FALSE TO 0
*
IF DIRECTION # 'SEND-FILE' AND DIRECTION # 'GET-FILE' THEN
PRINT 'Invalid direction.'
RETURN
END
*
PORT = ''
*
IF INDEX(SERVER,':',1) # 0 THEN
PORT = SERVER[INDEX(SERVER,':',1)+1,999]
SERVER = SERVER[1,INDEX(SERVER,':',1)-1]
END
*
IF DIRECTION = 'SEND-FILE' THEN
COMMAND = "sshpass -p '" : PASSWORD : "' "
COMMAND = COMMAND : 'sftp -q '
*
IF PORT THEN
COMMAND = COMMAND : ' -P ' : PORT : ' '
END
*
COMMAND = COMMAND : USERNAME : '@' : SERVER : ' <<EOF > /dev/null'
*
COMMAND = COMMAND : CHAR(10) : 'put ' : LOCAL.PATH : ' ' : REMOTE.PATH
COMMAND = COMMAND : CHAR(10) : 'quit'
COMMAND = COMMAND : CHAR(10) : 'EOF'
*
END ELSE IF DIRECTION = 'GET-FILE' THEN
COMMAND = "sshpass -p '" : PASSWORD : "' "
COMMAND = COMMAND : 'sftp -q '
*
IF PORT THEN
COMMAND = COMMAND : ' -P ' : PORT : ' '
END
*
COMMAND = COMMAND : USERNAME : '@' : SERVER : ':' : REMOTE.PATH : ' '
COMMAND = COMMAND : LOCAL.PATH : ' '
END
*
SHELL.COMMAND = 'SH -c "' : COMMAND : '"'
EXECUTE SHELL.COMMAND CAPTURING RESULTS
*
RETURN
*
* END OF PROGRAM
*
END
*