(BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPUT) op:Equal rhs:{(0)} spids:[75])] spids: [75] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {($ VSub_Number '$1')} right: {(Lit_Other '^') (-) (Lit_Other '?') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPUT) op: Equal rhs: {($ VSub_Number '$1')} spids: [102] ) ] spids: [102] ) ] spids: [16777215 99] ) ] spids: [16777215 106] ) (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)}) (C {(G_CHECK_ROOT_USER)}) (C {(G_CHECK_ROOTFS_RW)}) (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Letsencrypt>)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_LOGFILE) op: Equal rhs: {(DQ (/var/log/dietpi-letsencrypt.log))} spids: [150] ) ] spids: [150] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_MONTHLY_CRON) op: Equal rhs: {(DQ (/etc/cron.monthly/dietpi-letsencrypt))} spids: [156] ) ] spids: [156] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_LETSENCRYPT_BINARY) op: Equal rhs: {(DQ (/usr/bin/certbot))} spids: [162] ) ] spids: [162] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Name '$G_DISTRO')}) right: (ArithWord w:{(Lit_Digits 4)}) ) spids: [170 179] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_LETSENCRYPT_BINARY) op: Equal rhs: {(DQ (/etc/certbot_scripts/certbot-auto))} spids: [185] ) ] spids: [185] ) ] spids: [16777215 182] ) ] spids: [16777215 191] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:DP_WEBSERVER_INDEX) op:Equal rhs:{(0)} spids:[194])] spids: [194] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LETSENCRYPT_INSTALLED) op:Equal rhs:{(0)} spids:[202])] spids: [202] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$DP_LETSENCRYPT_BINARY'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_INSTALLED) op: Equal rhs: {(1)} spids: [222] ) ] spids: [222] ) ] spids: [16777215 219] ) ] spids: [16777215 226] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_DOMAIN) op: Equal rhs: {(DQ (mydomain.com))} spids: [229] ) ] spids: [229] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_EMAIL) op: Equal rhs: {(DQ ('myemail@email.com'))} spids: [235] ) ] spids: [235] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LETSENCRYPT_REDIRECT) op:Equal rhs:{(0)} spids:[241])] spids: [241] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LETSENCRYPT_AUTORENEW) op:Equal rhs:{(0)} spids:[245])] spids: [245] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:LETSENCRYPT_KEYSIZE) op:Equal rhs:{(4096)} spids:[249])] spids: [249] ) (FuncDef name: Run_Lets_Encrypt body: (BraceGroup children: [ (C {(G_DIETPI-NOTIFY)} {(3)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(DQ ('Running cert'))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:run_conditions_met) op: Equal rhs: {(1)} spids: [281] ) ] spids: [279] ) (C {(/DietPi/dietpi/dietpi-services)} {(start)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[a]pache'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [300 316] ) } ) spids: [298 319] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_WEBSERVER_INDEX) op: Equal rhs: {(0)} spids: [326] ) ] spids: [326] ) (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Apache2 webserver detected'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$G_DISTRO')}) right: (ArithWord w:{(Lit_Digits 4)}) ) spids: [341 350] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_LETSENCRYPT_BINARY) op: Equal rhs: {(DQ ($ VSub_Name '$DP_LETSENCRYPT_BINARY') (' --apache'))} spids: [356] ) ] spids: [356] ) ] spids: [16777215 353] ) ] spids: [16777215 363] ) ] spids: [16777215 322] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[l]ighttpd'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [371 387] ) } ) spids: [369 390] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_WEBSERVER_INDEX) op: Equal rhs: {(1)} spids: [397] ) ] spids: [397] ) (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Lighttpd webserver detected'))}) ] spids: [367 393] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[n]ginx'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [415 431] ) } ) spids: [413 434] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_WEBSERVER_INDEX) op: Equal rhs: {(2)} spids: [441] ) ] spids: [441] ) (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Nginx webserver detected'))}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithWord w:{($ VSub_Name '$G_DISTRO')}) right: (ArithWord w:{(Lit_Digits 4)}) ) spids: [456 465] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_LETSENCRYPT_BINARY) op: Equal rhs: {(DQ ($ VSub_Name '$DP_LETSENCRYPT_BINARY') (' --nginx'))} spids: [471] ) ] spids: [471] ) ] spids: [16777215 468] ) ] spids: [16777215 478] ) ] spids: [411 437] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[m]inio'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [486 502] ) } ) spids: [484 505] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_WEBSERVER_INDEX) op: Equal rhs: {(3)} spids: [512] ) ] spids: [512] ) (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ('Minio S3 server detected'))}) ] spids: [482 508] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:run_conditions_met) op: Equal rhs: {(0)} spids: [530] ) ] spids: [530] ) ] spids: [526 535] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithUnary op_id: Arith_Bang child: (ArithWord w:{($ VSub_Name '$run_conditions_met')}) ) spids: [545 552] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} {(-e)} {(DQ ('Error: No compatible and/or active webserver was found. Aborting.'))} ] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [576 585] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(whiptail)} {(--title)} {(DQ (Error))} {(--msgbox)} { (DQ ( 'Error: No compatible and/or active webserver was found. Aborting.' ) ) } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(8)} {(60)} ) ] spids: [16777215 588] ) ] spids: [16777215 618] ) ] spids: [16777215 555] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$DP_WEBSERVER_INDEX')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [640 649] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:dp_defaultsite) op: Equal rhs: {(DQ (/etc/apache2/sites-available/000-default.conf))} spids: [658] ) ] spids: [656] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithUnary op_id: Arith_Bang child: (ArithWord w: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(cat)} { (DQ ($ VSub_Name '$dp_defaultsite')) } ) (C {(grep)} {(-ci)} {(-m1)} {(SQ <ServerName>)} ) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [675 693] ) } ) ) spids: [671 696] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(sed)} {(-i)} {(DQ ('/ServerAdmin /a ServerName'))} {(DQ ($ VSub_Name '$dp_defaultsite'))} ) (SimpleCommand words: [ {(echo)} {(-e)} { (DQ ('ServerName entry not found in ') ($ VSub_Name '$dp_defaultsite') ('. Adding it now.') ) } ] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} ) ] ) ] spids: [16777215 699] ) ] spids: [16777215 739] ) (C {(sed)} {(-i)} { (DQ (/ServerName/c) (Lit_Other '\\') (' ServerName ') ($ VSub_Name '$LETSENCRYPT_DOMAIN') ) } {(DQ ($ VSub_Name '$dp_defaultsite'))} ) (C {(systemctl)} {(restart)} {(apache2)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cli_redirect) op: Equal rhs: {(DQ (--no-redirect))} spids: [778] ) ] spids: [776] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) spids: [786 791] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cli_redirect) op: Equal rhs: {(DQ (--redirect))} spids: [798] ) ] spids: [798] ) ] spids: [16777215 794] ) ] spids: [16777215 805] ) (C {($ VSub_Name '$DP_LETSENCRYPT_BINARY')} {(--duplicate)} {(--agree-tos)} {($ VSub_Name '$cli_redirect')} {(--rsa-key-size)} {($ VSub_Name '$LETSENCRYPT_KEYSIZE')} {(--email)} {($ VSub_Name '$LETSENCRYPT_EMAIL')} {(-d)} {($ VSub_Name '$LETSENCRYPT_DOMAIN')} ) ] spids: [16777215 652] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$DP_WEBSERVER_INDEX')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [845 854] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(/DietPi/dietpi/dietpi-services)} {(stop)}) (C {($ VSub_Name '$DP_LETSENCRYPT_BINARY')} {(certonly)} {(--standalone)} {(--duplicate)} {(--agree-tos)} {($ VSub_Name '$cli_redirect')} {(--rsa-key-size)} {($ VSub_Name '$LETSENCRYPT_KEYSIZE')} {(--email)} {($ VSub_Name '$LETSENCRYPT_EMAIL')} {(-d)} {($ VSub_Name '$LETSENCRYPT_DOMAIN')} ) (C {(cd)} {(/etc/letsencrypt/live/) (DQ ($ VSub_Name '$LETSENCRYPT_DOMAIN'))}) (SimpleCommand words: [{(cat)} {(privkey.pem)} {(cert.pem)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(combined.pem)} ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 987 stdin_parts: [ (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('SERVER[') (Right_DoubleQuote '"') (socket) (Right_DoubleQuote '"') ('] == ') (Right_DoubleQuote '"') (':443') (Right_DoubleQuote '"') (' {\n') ('\t\tssl.engine = ') (Right_DoubleQuote '"') (enable) (Right_DoubleQuote '"') ('\n') ('\t\tssl.pemfile = ') (Right_DoubleQuote '"') (/etc/letsencrypt/live/) ($ VSub_Name '$LETSENCRYPT_DOMAIN') (/combined.pem) (Right_DoubleQuote '"') ('\n') ('\t\tssl.ca-file = ') (Right_DoubleQuote '"') (/etc/letsencrypt/live/) ($ VSub_Name '$LETSENCRYPT_DOMAIN') (/fullchain.pem) (Right_DoubleQuote '"') ('\n') ('\t\t#ssl.cipher-list = ') (Right_DoubleQuote '"') ( 'ECDHE-RSA-AES256-SHA384:AES256-SHA256:HIGH:!MD5:!aNULL:!EDH:!AESGCM' ) (Right_DoubleQuote '"') ('\n') ('\t\tssl.cipher-list = ') (Right_DoubleQuote '"') ( 'ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS' ) (Right_DoubleQuote '"') ('\n') ('\t\tssl.honor-cipher-order = ') (Right_DoubleQuote '"') (enable) (Right_DoubleQuote '"') ('\n') ('\t\tssl.use-sslv2 = ') (Right_DoubleQuote '"') (disable) (Right_DoubleQuote '"') ('\n') ('\t\tssl.use-sslv3 = ') (Right_DoubleQuote '"') (disable) (Right_DoubleQuote '"') ('\n') ('}\n') ] ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/etc/lighttpd/conf-enabled/letsencrypt.conf)} ) ] ) (C {(rm)} {(/etc/lighttpd/conf-enabled/redirect.conf)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) spids: [1001 1006] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 1060 stdin_parts: [ (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('HTTP[') (Right_DoubleQuote '"') (scheme) (Right_DoubleQuote '"') ('] == ') (Right_DoubleQuote '"') (http) (Right_DoubleQuote '"') (' {\n') ( '\t# capture vhost name with regex conditiona -> %0 in redirect pattern\n' ) ('\t# must be the most inner block to the redirect rule\n') ('\t') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) ('HTTP[') (Right_DoubleQuote '"') (host) (Right_DoubleQuote '"') ('] =~ ') (Right_DoubleQuote '"') ('.*') (Right_DoubleQuote '"') (' {\n') ('\t\turl.redirect = (') (Right_DoubleQuote '"') ('.*') (Right_DoubleQuote '"') (' => ') (Right_DoubleQuote '"') ('https://%0') (EscapedLiteralPart token: <Lit_EscapedChar '\\$'> ) (0) (Right_DoubleQuote '"') (')\n') ('\t}\n') ('}\n') ] ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/etc/lighttpd/conf-enabled/redirect.conf)} ) ] ) ] spids: [16777215 1009] ) ] spids: [16777215 1063] ) (C {(/etc/init.d/lighttpd)} {(force-reload)}) ] spids: [843 857] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$DP_WEBSERVER_INDEX')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [1085 1094] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:nginx_defaultsite) op: Equal rhs: {(DQ (/etc/nginx/sites-available/default))} spids: [1103] ) ] spids: [1101] ) (C {(sed)} {(-i)} { (DQ (/server_name/c) (Lit_Other '\\') (' server_name ') ($ VSub_Name '$LETSENCRYPT_DOMAIN') (';') ) } {(DQ ($ VSub_Name '$nginx_defaultsite'))} ) (C {(systemctl)} {(restart)} {(nginx)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cli_redirect) op: Equal rhs: {(DQ (--no-redirect))} spids: [1146] ) ] spids: [1144] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) spids: [1155 1160] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cli_redirect) op: Equal rhs: {(DQ (--redirect))} spids: [1167] ) ] spids: [1167] ) ] spids: [16777215 1163] ) ] spids: [16777215 1174] ) (C {($ VSub_Name '$DP_LETSENCRYPT_BINARY')} {(--duplicate)} {(--agree-tos)} {($ VSub_Name '$cli_redirect')} {(--rsa-key-size)} {($ VSub_Name '$LETSENCRYPT_KEYSIZE')} {(--email)} {($ VSub_Name '$LETSENCRYPT_EMAIL')} {(-d)} {($ VSub_Name '$LETSENCRYPT_DOMAIN')} ) ] spids: [1083 1097] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$DP_WEBSERVER_INDEX')}) right: (ArithWord w:{(Lit_Digits 3)}) ) spids: [1215 1224] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(/DietPi/dietpi/dietpi-services)} {(stop)}) (C {($ VSub_Name '$DP_LETSENCRYPT_BINARY')} {(certonly)} {(--standalone)} {(--preferred-challenges)} {(tls-sni)} {(--staple-ocsp)} {(--agree-tos)} {($ VSub_Name '$cli_redirect')} {(--rsa-key-size)} {($ VSub_Name '$LETSENCRYPT_KEYSIZE')} {(--email)} {($ VSub_Name '$LETSENCRYPT_EMAIL')} {(-d)} {($ VSub_Name '$LETSENCRYPT_DOMAIN')} ) (C {(cp)} {(/etc/letsencrypt/live/) ($ VSub_Name '$LETSENCRYPT_DOMAIN') (/fullchain.pem) } {(/home/minio-user/.minio/certs/public.crt)} ) (C {(cp)} {(/etc/letsencrypt/live/) ($ VSub_Name '$LETSENCRYPT_DOMAIN') (/privkey.pem) } {(/home/minio-user/.minio/certs/private.key)} ) (C {(chown)} {(minio-user) (Lit_Other ':') (minio-user)} {(/home/minio-user/.minio/certs/public.crt)} ) (C {(chown)} {(minio-user) (Lit_Other ':') (minio-user)} {(/home/minio-user/.minio/certs/private.key)} ) (SimpleCommand words: [{(grep)} {(-v)} {(DQ (MINIO_OPTS))} {(/etc/default/minio)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/etc/default/minio.temp1)} ) ] ) (SimpleCommand words: [{(grep)} {(-v)} {(DQ (port))} {(/etc/default/minio.temp1)}] redirects: [ (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/etc/default/minio.temp2)} ) ] ) (C {(rm)} {(/etc/default/minio.temp1)}) (C {(mv)} {(/etc/default/minio.temp2)} {(/etc/default/minio)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 1379 stdin_parts: [ ('# Use if you want to run Minio on a custom port.\n') ('MINIO_OPTS=') (Right_DoubleQuote '"') ('--address :443') (Right_DoubleQuote '"') ('\n') ] ) (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(/etc/default/minio)} ) ] ) (C {(setcap)} {(Lit_VarLike 'CAP_NET_BIND_SERVICE=') (Lit_Other '+') (eip)} {(/usr/local/bin/minio)} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 1427 stdin_parts: [ ( '# Minio only works with copied and owned certs. Upon renewal the new certs needs to be copied and re-owned\n' ) ('systemctl stop minio.service\n') ('\n') ('# Copy to correct Location\n') ('cp /etc/letsencrypt/live/') ($ VSub_Name '$LETSENCRYPT_DOMAIN') ('/fullchain.pem /home/minio-user/.minio/certs/public.crt\n') ('cp /etc/letsencrypt/live/') ($ VSub_Name '$LETSENCRYPT_DOMAIN') ('/privkey.pem /home/minio-user/.minio/certs/private.key\n') ('\n') ('# Re-Own those certs!\n') ( 'chown minio-user:minio-user /home/minio-user/.minio/certs/public.crt\n' ) ( 'chown minio-user:minio-user /home/minio-user/.minio/certs/private.key\n' ) ('\n') ('systemctl start minio.service\n') ] ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(/home/minio-user/.minio/dietpi-cert-renewl.sh)} ) ] ) (C {(chmod)} {(Lit_Other '+') (x)} {(/home/minio-user/.minio/dietpi-cert-renewl.sh)} ) ] spids: [1213 1227] ) ] spids: [16777215 1442] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DAmp left: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_AUTORENEW')}) right: (ArithBinary op_id: Arith_Less left: (ArithWord w:{($ VSub_Name '$G_DISTRO')}) right: (ArithWord w:{(Lit_Digits 4)}) ) ) spids: [1457 1470] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 1538 stdin_parts: [ ('#!/bin/bash\n') ('{\n') ('\t#////////////////////////////////////\n') ('\t# DietPi-LetsEncrypt Autorenew script\n') ('\t#\n') ('\t#////////////////////////////////////\n') ('\t#\n') ('\t# Info:\n') ('\t# - Location ') ($ VSub_Name '$DP_MONTHLY_CRON') ('\n') ('\t#\n') ('\t#////////////////////////////////////\n') ('\n') ( '\t#----------------------------------------------------------------\n' ) ('\t# Main Loop\n') ( '\t#----------------------------------------------------------------\n' ) ('\t/DietPi/dietpi/dietpi-letsencrypt 1 &>> ') ($ VSub_Name '$DP_LOGFILE') ('\n') ('\n') ('\t# Minio specific applications\n') ('\tif (( ') (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(ps)} {(aux)}) (C {(grep)} {(-ci)} {(-m1)} {(SQ <'[m]inio'>)}) ] negated: F ) ] ) left_token: <Left_CommandSub '$('> spids: [1512 1528] ) (' )); then\n') ('\t\t/home/minio-user/.minio/dietpi-cert-renewl.sh\n') ('\tfi\n') ('\n') ( '\t#----------------------------------------------------------------\n' ) ('\texit\n') ( '\t#----------------------------------------------------------------\n' ) ('}\n') ] ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_MONTHLY_CRON'))} ) ] ) (C {(chmod)} {(Lit_Other '+') (x)} {(DQ ($ VSub_Name '$DP_MONTHLY_CRON'))}) ] spids: [16777215 1473] ) ] spids: [16777215 1551] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [1557 1566] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} {(DQ )}) (C {(read)} {(-p)} {(DQ ('Press any key to continue...'))}) (C {(echo)} {(-e)} {(DQ )}) ] spids: [16777215 1569] ) ] spids: [16777215 1599] ) (C {(/DietPi/dietpi/dietpi-services)} {(restart)}) ] spids: [626 1613] ) ] spids: [257] ) spids: [254 257] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DP_SETTINGS) op: Equal rhs: {(DQ (/DietPi/dietpi/.dietpi-letsencrypt))} spids: [1633] ) ] spids: [1633] ) (FuncDef name: Read_Settings_File body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:sed_index) op:Equal rhs:{(1)} spids:[1649])] spids: [1647] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_DOMAIN) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ($ VSub_Name '$sed_index')) (p)} {($ VSub_Name '$DP_SETTINGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1655 1666] ) } spids: [1654] ) ] spids: [1654] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) spids: [1668 1672] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_EMAIL) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ($ VSub_Name '$sed_index')) (p)} {($ VSub_Name '$DP_SETTINGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1676 1687] ) } spids: [1675] ) ] spids: [1675] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) spids: [1689 1693] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_REDIRECT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ($ VSub_Name '$sed_index')) (p)} {($ VSub_Name '$DP_SETTINGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1697 1708] ) } spids: [1696] ) ] spids: [1696] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) spids: [1710 1714] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_AUTORENEW) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ($ VSub_Name '$sed_index')) (p)} {($ VSub_Name '$DP_SETTINGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1718 1729] ) } spids: [1717] ) ] spids: [1717] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) spids: [1731 1735] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_KEYSIZE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(sed)} {(-n)} {(DQ ($ VSub_Name '$sed_index')) (p)} {($ VSub_Name '$DP_SETTINGS')} ) ] ) left_token: <Left_CommandSub '$('> spids: [1739 1750] ) } spids: [1738] ) ] spids: [1738] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) spids: [1752 1756] ) ] spids: [1643] ) spids: [1640 1643] ) (FuncDef name: Write_Settings_File body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(_EOF_)} here_end_span_id: 1794 stdin_parts: [ ($ VSub_Name '$LETSENCRYPT_DOMAIN') ('\n') ($ VSub_Name '$LETSENCRYPT_EMAIL') ('\n') ($ VSub_Name '$LETSENCRYPT_REDIRECT') ('\n') ($ VSub_Name '$LETSENCRYPT_AUTORENEW') ('\n') ($ VSub_Name '$LETSENCRYPT_KEYSIZE') ('\n') ] ) (Redir op: <Redir_Great '>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_SETTINGS'))} ) ] ) ] spids: [1767] ) spids: [1764 1767] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRAM_NAME) op: Equal rhs: {(DQ (DietPi-LetsEncrypt))} spids: [1813] ) ] spids: [1813] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHOICE) op:Equal rhs:{(0)} spids:[1820])] spids: [1820] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTION) op:Equal rhs:{(0)} spids:[1824])] spids: [1824] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[1828])] spids: [1828] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREVIOUS_MENU_SELECTION) op: Equal rhs: {(DQ )} spids: [1832] ) ] spids: [1832] ) (FuncDef name: Menu_Exit body: (BraceGroup children: [ (C {(whiptail)} {(--title)} {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))} {(--yesno)} {(DQ ('Exit ') ($ VSub_Name '$PROGRAM_NAME') ('?'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(9)} {(55)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [1888] ) ] spids: [1888] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$CHOICE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [1894 1903] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGETMENUID) op: Equal rhs: {(-1)} spids: [1913] ) ] spids: [1913] ) ] spids: [16777215 1906] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGETMENUID) op: Equal rhs: {(0)} spids: [1924] ) ] spids: [1924] ) ] spids: [1917 1928] ) ] spids: [1841] ) spids: [1838 1841] ) (FuncDef name: Menu_Main body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:auto_renew_text) op: Equal rhs: {(DQ ('Disabled | Manual renewal every 90 days'))} spids: [1948] ) ] spids: [1946] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_AUTORENEW')}) spids: [1956 1961] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auto_renew_text) op: Equal rhs: {(DQ ('Enabled | Automatic cron.monthly renewals'))} spids: [1967] ) ] spids: [1967] ) ] spids: [16777215 1964] ) ] spids: [16777215 1973] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:redirect_text) op: Equal rhs: {(DQ ('Disabled | Allows http and https usage'))} spids: [1979] ) ] spids: [1977] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) spids: [1987 1992] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:redirect_text) op: Equal rhs: {(DQ ('Enabled | Forces http redirects to https'))} spids: [1998] ) ] spids: [1998] ) ] spids: [16777215 1995] ) ] spids: [16777215 2004] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(whiptail)} {(--title)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--menu)} {(DQ ('Please select a option.'))} {(--cancel-button)} {(DQ (Exit))} {(--default-item)} {(DQ ($ VSub_Name '$PREVIOUS_MENU_SELECTION'))} {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(14)} {(70)} {(6)} {(DQ (Domain))} {(DQ (': ') ($ VSub_Name '$LETSENCRYPT_DOMAIN'))} {(DQ (Email))} {(DQ (': ') ($ VSub_Name '$LETSENCRYPT_EMAIL'))} {(DQ (Redirect))} {(DQ (': ') ($ VSub_Name '$redirect_text'))} {(DQ ('Auto Renew'))} {(DQ (': ') ($ VSub_Name '$auto_renew_text'))} {(DQ ('Key Size'))} {(DQ (': ') ($ VSub_Name '$LETSENCRYPT_KEYSIZE'))} {(DQ (Apply))} {(DQ ('Runs Lets Encrypt with your chosen options.'))} ] redirects: [ (Redir op: <Redir_GreatAnd '3>&'> fd: 3 arg_word: {(1)} ) (Redir op: <Redir_GreatAnd '1>&'> fd: 1 arg_word: {(2)} ) (Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(3)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2009 2121] ) } spids: [2008] ) ] spids: [2008] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2125] ) ] spids: [2125] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$CHOICE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2131 2140] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREVIOUS_MENU_SELECTION) op: Equal rhs: {($ VSub_Name '$OPTION')} spids: [2147] ) ] spids: [2147] ) (Case to_match: {(DQ ($ VSub_Name '$OPTION'))} arms: [ (case_arm pat_list: [{(Domain)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_DOMAIN) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(Input_Box)} {($ VSub_Name '$LETSENCRYPT_DOMAIN')} {(Website-Domain)} ) ] ) left_token: <Left_CommandSub '$('> spids: [2167 2173] ) ) } spids: [2165] ) ] spids: [2165] ) ] spids: [2161 2162 2177 16777215] ) (case_arm pat_list: [{(Email)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_EMAIL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(Input_Box)} {($ VSub_Name '$LETSENCRYPT_EMAIL')} {(Email-Address)} ) ] ) left_token: <Left_CommandSub '$('> spids: [2186 2192] ) ) } spids: [2184] ) ] spids: [2184] ) ] spids: [2180 2181 2196 16777215] ) (case_arm pat_list: [{(DQ ('Key Size'))}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w: {($ VSub_Name '$LETSENCRYPT_KEYSIZE')} ) right: (ArithWord w:{(Lit_Digits 2048)}) ) spids: [2207 2216] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_KEYSIZE) op: Equal rhs: {(4096)} spids: [2222] ) ] spids: [2222] ) ] spids: [16777215 2219] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_KEYSIZE) op: Equal rhs: {(2048)} spids: [2229] ) ] spids: [2229] ) ] spids: [2226 2233] ) ] spids: [2199 2202 2236 16777215] ) (case_arm pat_list: [{(DQ ('Auto Renew'))}] action: [ (DParen child: (UnaryAssign op_id: Node_PostDPlus child: (LhsName name:LETSENCRYPT_AUTORENEW) ) spids: [2245 2249] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithWord w: {($ VSub_Name '$LETSENCRYPT_AUTORENEW')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2254 2263] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_AUTORENEW) op: Equal rhs: {(0)} spids: [2269] ) ] spids: [2269] ) ] spids: [16777215 2266] ) ] spids: [16777215 2273] ) ] spids: [2239 2242 2276 16777215] ) (case_arm pat_list: [{(Redirect)}] action: [ (DParen child: (UnaryAssign op_id: Node_PostDPlus child: (LhsName name:LETSENCRYPT_REDIRECT) ) spids: [2283 2287] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithWord w: {($ VSub_Name '$LETSENCRYPT_REDIRECT')} ) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2292 2301] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_REDIRECT) op: Equal rhs: {(0)} spids: [2307] ) ] spids: [2307] ) ] spids: [16777215 2304] ) ] spids: [16777215 2311] ) ] spids: [2279 2280 2314 16777215] ) (case_arm pat_list: [{(Apply)}] action: [ (C {(whiptail)} {(--title)} {(DQ ('Run Lets Encrypt?'))} {(--yesno)} { (DQ ('LetsEncrypt will now be run. This will:') (Lit_Other '\\') ('n- Create your free SSL cert.') (Lit_Other '\\') ('n- Automatically apply and enable your SSL cert') (Lit_Other '\\') ('n- NB: This process can take a long time, please be patient.') (Lit_Other '\\') (n) (Lit_Other '\\') ('nWould you like to continue?') ) } {(--backtitle)} {(DQ ($ VSub_Name '$PROGRAM_NAME'))} {(--yes-button)} {(DQ (Ok))} {(--no-button)} {(DQ (Back))} {(--defaultno)} {(13)} {(65)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2370] ) ] spids: [2370] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$CHOICE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2376 2385] ) terminator: <Op_Semi ';'> ) ] action: [(C {(Write_Settings_File)}) (C {(Run_Lets_Encrypt)})] spids: [16777215 2388] ) ] spids: [16777215 2397] ) ] spids: [2317 2318 2400 16777215] ) ] spids: [2152 2158 2403] ) ] spids: [16777215 2143] ) ] else_action: [(C {(Menu_Exit)})] spids: [2407 2417] ) ] spids: [1942] ) spids: [1939 1942] ) (FuncDef name: Input_Box body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:input_value) op: Equal rhs: {($ VSub_Number '$1')} spids: [2434] ) ] spids: [2432] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:input_desc) op: Equal rhs: {($ VSub_Number '$2')} spids: [2440] ) ] spids: [2438] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPTION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(whiptail)} {(--inputbox)} {(DQ ('Please enter your ') ($ VSub_Name '$input_desc'))} {(9)} {(50)} {(DQ ($ VSub_Name '$input_value'))} {(--title)} {(DQ ('Input ') ($ VSub_Name '$input_desc'))} ] redirects: [ (Redir op: <Redir_GreatAnd '3>&'> fd: 3 arg_word: {(1)} ) (Redir op: <Redir_GreatAnd '1>&'> fd: 1 arg_word: {(2)} ) (Redir op: <Redir_GreatAnd '2>&'> fd: 2 arg_word: {(3)} ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2446 2479] ) } spids: [2445] ) ] spids: [2445] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2482] ) ] spids: [2482] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$CHOICE')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2488 2497] ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:input_value) op: Equal rhs: {($ VSub_Name '$OPTION')} spids: [2503] ) ] spids: [2503] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$input_value'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:input_value) op: Equal rhs: {(SQ <NULL>)} spids: [2527] ) ] spids: [2527] ) ] spids: [16777215 2524] ) ] spids: [16777215 2533] ) ] spids: [16777215 2500] ) ] spids: [16777215 2536] ) (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$input_value'))}) ] spids: [2428] ) spids: [2425 2428] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$DP_SETTINGS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(Write_Settings_File)})] spids: [16777215 2584] ) ] else_action: [(C {(Read_Settings_File)})] spids: [2592 2600] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithUnary op_id: Arith_Bang child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_INSTALLED')}) ) spids: [2614 2621] ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2634 2643] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(G_DIETPI-NOTIFY)} {(1)} { (DQ ('Certbot binary not found ( ') ($ VSub_Name '$DP_LETSENCRYPT_BINARY') (' )') ) } ) (C {(G_DIETPI-NOTIFY)} {(2)} { (DQ ( 'Please install Certbot with DietPi-Software before running this program.' ) ) } ) (C {(read)} {(-p)} {(DQ ('Press any key to continue.....'))}) ] spids: [16777215 2646] ) ] else_action: [ (SimpleCommand words: [ {(echo)} {(-e)} { (DQ ('Error: Letsencrypt binary not installed ( ') ($ VSub_Name '$DP_LETSENCRYPT_BINARY') (' ).') ) } ] redirects: [ (Redir op: <Redir_DGreat '>>'> fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} ) ] ) ] spids: [2680 2702] ) ] spids: [16777215 2624] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2716 2725] ) terminator: <Op_Semi ';'> ) ] action: [ (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')}) right: (ArithUnary op_id:Node_UnaryMinus child:(ArithWord w:{(Lit_Digits 1)})) ) spids: [2734 2744] ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(clear)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$TARGETMENUID')}) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [2761 2770] ) terminator: <Op_Semi ';'> ) ] action: [(C {(Menu_Main)})] spids: [16777215 2773] ) ] spids: [16777215 2781] ) ] spids: [2747 2785] ) ) ] spids: [2714 2728] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [2799 2808] ) terminator: <Op_Semi ';'> ) ] action: [(C {(Run_Lets_Encrypt)})] spids: [2797 2811] ) ] spids: [16777215 2819] ) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [3] )