tuya-ipc-terminal/tuya_auth_login.exp aktualisiert

This commit is contained in:
admin 2025-10-13 17:08:47 +00:00
parent 557f5cc32a
commit 715d82c3a9

View File

@ -1,41 +1,4 @@
#!/usr/bin/expect -f
# Check if the config directory already exists.
set config_dir "/config/.tuya-data"
if { [file isdirectory $config_dir] } {
puts "Skipping authentication: Configuration directory '$config_dir' already exists."
exit 0
}
puts "Configuration directory not found. Proceeding with authentication..."
set timeout 30
# Read the region from the first line of standard input.
gets stdin region
if { [eof stdin] || $region eq "" } {
puts stderr "Error: Could not read region from stdin or region is empty."
exit 1
}
# Read the email from the second line of standard input.
gets stdin email
if { [eof stdin] || $email eq "" } {
puts stderr "Error: Could not read email from stdin or email is empty."
exit 1
}
# Read the password from the third line of standard input.
gets stdin password
if { [eof stdin] || $password eq "" } {
puts stderr "Error: Could not read password from stdin or password is empty."
exit 1
}
# Spawn the tuya-ipc-terminal command WITH --password flag
spawn tuya-ipc-terminal auth add $region $email --password
# Handle password prompt
# Handle the interaction
expect {
"Password:" {
send "$password\r"
@ -51,23 +14,50 @@ expect {
}
"Authentication successful" {
puts "Authentication completed successfully!"
# Process completed successfully, wait for it to finish
catch {expect eof}
catch {wait}
exit 0
}
"Login successful" {
puts "Login completed successfully!"
catch {expect eof}
catch {wait}
exit 0
}
"Authentication completed" {
puts "Authentication completed!"
catch {expect eof}
catch {wait}
exit 0
}
"Invalid credentials" {
puts stderr "Authentication failed: Invalid credentials"
catch {expect eof}
catch {wait}
exit 1
}
"Login failed" {
puts stderr "Authentication failed: Login failed"
catch {expect eof}
catch {wait}
exit 1
}
"Authentication failed" {
puts stderr "Authentication failed"
catch {expect eof}
catch {wait}
exit 1
}
eof {
puts "Process ended unexpectedly"
catch {wait}
exit 1
}
timeout {
puts stderr "Authentication timeout"
puts stderr "Authentication process timeout"
catch {expect eof}
catch {wait}
exit 1
}
}
expect eof
wait
}