(CommandList children: [ (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)}) ) ) 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] ) } ) ) 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)}) ) ) 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] ) } ) ) 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] ) } ) ) 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)}) ) ) 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] ) } ) ) 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')}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} {(-e)} { (DQ ( 'Error: No compatible and/or active webserver was found. Aborting.' ) ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} spids: [567] ) ] ) (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)}) ) ) 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)}) ) ) 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] ) } ) ) ) 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_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} spids: [731] ) ] ) ] 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')}) ) 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)}) ) ) 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_id: Redir_Great fd: 16777215 arg_word: {(combined.pem)} spids: [915] ) ] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ (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') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [923] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/etc/lighttpd/conf-enabled/letsencrypt.conf)} spids: [927] ) ] ) (C {(rm)} {(/etc/lighttpd/conf-enabled/redirect.conf)}) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ (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') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [1014] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/etc/lighttpd/conf-enabled/redirect.conf)} spids: [1018] ) ] ) ] spids: [16777215 1008] ) ] spids: [16777215 1061] ) (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)}) ) ) 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: [1101] ) ] spids: [1099] ) (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: [1144] ) ] spids: [1142] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')}) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cli_redirect) op: Equal rhs: {(DQ (--redirect))} spids: [1165] ) ] spids: [1165] ) ] spids: [16777215 1161] ) ] spids: [16777215 1172] ) (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: [1081 1095] ) (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)}) ) ) 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_id: Redir_Great fd: 16777215 arg_word: {(/etc/default/minio.temp1)} spids: [1328] ) ] ) (SimpleCommand words: [{(grep)} {(-v)} {(DQ (port))} {(/etc/default/minio.temp1)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/etc/default/minio.temp2)} spids: [1343] ) ] ) (C {(rm)} {(/etc/default/minio.temp1)}) (C {(mv)} {(/etc/default/minio.temp2)} {(/etc/default/minio)}) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('# Use if you want to run Minio on a custom port.\n') ('MINIO_OPTS=') (Right_DoubleQuote '"') ('--address :443') (Right_DoubleQuote '"') ('\n') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [1362] ) (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(/etc/default/minio)} spids: [1366] ) ] ) (C {(setcap)} {(Lit_VarLike 'CAP_NET_BIND_SERVICE=') (Lit_Other '+') (eip)} {(/usr/local/bin/minio)} ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ( '# 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') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [1399] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/home/minio-user/.minio/dietpi-cert-renewl.sh)} spids: [1403] ) ] ) (C {(chmod)} {(Lit_Other '+') (x)} {(/home/minio-user/.minio/dietpi-cert-renewl.sh)} ) ] spids: [1211 1225] ) ] spids: [16777215 1438] ) (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)}) ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ('#!/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: [1508 1524] ) (' )); then\n') ('\t\t/home/minio-user/.minio/dietpi-cert-renewl.sh\n') ('\tfi\n') ('\n') ( '\t#----------------------------------------------------------------\n' ) ('\texit\n') ('\t#----------------------------------------------------------------\n') ('}\n') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [1475] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_MONTHLY_CRON'))} spids: [1479] ) ] ) (C {(chmod)} {(Lit_Other '+') (x)} {(DQ ($ VSub_Name '$DP_MONTHLY_CRON'))}) ] spids: [16777215 1469] ) ] spids: [16777215 1546] ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(-e)} {(DQ )}) (C {(read)} {(-p)} {(DQ ('Press any key to continue...'))}) (C {(echo)} {(-e)} {(DQ )}) ] spids: [16777215 1564] ) ] spids: [16777215 1594] ) (C {(/DietPi/dietpi/dietpi-services)} {(restart)}) ] spids: [626 1608] ) ] 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: [1628] ) ] spids: [1628] ) (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:[1644])] spids: [1642] ) (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: [1650 1661] ) } spids: [1649] ) ] spids: [1649] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) ) (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: [1671 1682] ) } spids: [1670] ) ] spids: [1670] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) ) (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: [1692 1703] ) } spids: [1691] ) ] spids: [1691] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) ) (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: [1713 1724] ) } spids: [1712] ) ] spids: [1712] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) ) (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: [1734 1745] ) } spids: [1733] ) ] spids: [1733] ) terminator: <Op_Semi ';'> ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:sed_index)) ) ] spids: [1638] ) spids: [1635 1638] ) (FuncDef name: Write_Settings_File body: (BraceGroup children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ($ 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') ) } do_expansion: True here_end: _EOF_ was_filled: T spids: [1768] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_SETTINGS'))} spids: [1772] ) ] ) ] spids: [1762] ) spids: [1759 1762] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROGRAM_NAME) op: Equal rhs: {(DQ (DietPi-LetsEncrypt))} spids: [1807] ) ] spids: [1807] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CHOICE) op:Equal rhs:{(0)} spids:[1814])] spids: [1814] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:OPTION) op:Equal rhs:{(0)} spids:[1818])] spids: [1818] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TARGETMENUID) op:Equal rhs:{(0)} spids:[1822])] spids: [1822] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREVIOUS_MENU_SELECTION) op: Equal rhs: {(DQ )} spids: [1826] ) ] spids: [1826] ) (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: [1882] ) ] spids: [1882] ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGETMENUID) op: Equal rhs: {(-1)} spids: [1907] ) ] spids: [1907] ) ] spids: [16777215 1900] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARGETMENUID) op: Equal rhs: {(0)} spids: [1918] ) ] spids: [1918] ) ] spids: [1911 1922] ) ] spids: [1835] ) spids: [1832 1835] ) (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: [1942] ) ] spids: [1940] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithWord w:{($ VSub_Name '$LETSENCRYPT_AUTORENEW')})) 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: [1961] ) ] spids: [1961] ) ] spids: [16777215 1958] ) ] spids: [16777215 1967] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:redirect_text) op: Equal rhs: {(DQ ('Disabled | Allows http and https usage'))} spids: [1973] ) ] spids: [1971] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child:(ArithWord w:{($ VSub_Name '$LETSENCRYPT_REDIRECT')})) 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: [1992] ) ] spids: [1992] ) ] spids: [16777215 1989] ) ] spids: [16777215 1998] ) (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_id: Redir_GreatAnd fd: 3 arg_word: {(1)} spids: [2107] ) (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [2110] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(3)} spids: [2113] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2003 2115] ) } spids: [2002] ) ] spids: [2002] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2119] ) ] spids: [2119] ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREVIOUS_MENU_SELECTION) op: Equal rhs: {($ VSub_Name '$OPTION')} spids: [2141] ) ] spids: [2141] ) (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: [2161 2167] ) ) } spids: [2159] ) ] spids: [2159] ) ] spids: [2155 2156 2171 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: [2180 2186] ) ) } spids: [2178] ) ] spids: [2178] ) ] spids: [2174 2175 2190 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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_KEYSIZE) op: Equal rhs: {(4096)} spids: [2216] ) ] spids: [2216] ) ] spids: [16777215 2213] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_KEYSIZE) op: Equal rhs: {(2048)} spids: [2223] ) ] spids: [2223] ) ] spids: [2220 2227] ) ] spids: [2194 2196 2230 16777215] ) (case_arm pat_list: [{(DQ ('Auto Renew'))}] action: [ (DParen child: (UnaryAssign op_id: Node_PostDPlus child: (LhsName name:LETSENCRYPT_AUTORENEW) ) ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_AUTORENEW) op: Equal rhs: {(0)} spids: [2263] ) ] spids: [2263] ) ] spids: [16777215 2260] ) ] spids: [16777215 2267] ) ] spids: [2234 2236 2270 16777215] ) (case_arm pat_list: [{(Redirect)}] action: [ (DParen child: (UnaryAssign op_id: Node_PostDPlus child: (LhsName name:LETSENCRYPT_REDIRECT) ) ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LETSENCRYPT_REDIRECT) op: Equal rhs: {(0)} spids: [2301] ) ] spids: [2301] ) ] spids: [16777215 2298] ) ] spids: [16777215 2305] ) ] spids: [2273 2274 2308 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: [2364] ) ] spids: [2364] ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(Write_Settings_File)}) (C {(Run_Lets_Encrypt)})] spids: [16777215 2382] ) ] spids: [16777215 2391] ) ] spids: [2311 2312 2394 16777215] ) ] spids: [2146 2152 2397] ) ] spids: [16777215 2137] ) ] else_action: [(C {(Menu_Exit)})] spids: [2401 2411] ) ] spids: [1936] ) spids: [1933 1936] ) (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: [2428] ) ] spids: [2426] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:input_desc) op: Equal rhs: {($ VSub_Number '$2')} spids: [2434] ) ] spids: [2432] ) (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_id: Redir_GreatAnd fd: 3 arg_word: {(1)} spids: [2465] ) (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [2468] ) (Redir op_id: Redir_GreatAnd fd: 2 arg_word: {(3)} spids: [2471] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [2440 2473] ) } spids: [2439] ) ] spids: [2439] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CHOICE) op: Equal rhs: {($ VSub_QMark '$?')} spids: [2476] ) ] spids: [2476] ) (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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:input_value) op: Equal rhs: {($ VSub_Name '$OPTION')} spids: [2497] ) ] spids: [2497] ) (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: [2521] ) ] spids: [2521] ) ] spids: [16777215 2518] ) ] spids: [16777215 2527] ) ] spids: [16777215 2494] ) ] spids: [16777215 2530] ) (C {(echo)} {(-e)} {(DQ ($ VSub_Name '$input_value'))}) ] spids: [2422] ) spids: [2419 2422] ) (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 2578] ) ] else_action: [(C {(Read_Settings_File)})] spids: [2586 2594] ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithUnary op_id: Arith_Bang child: (ArithWord w:{($ VSub_Name '$LETSENCRYPT_INSTALLED')}) ) ) 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)}) ) ) 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 2640] ) ] else_action: [ (SimpleCommand words: [ {(echo)} {(-e)} { (DQ ('Error: Letsencrypt binary not installed ( ') ($ VSub_Name '$DP_LETSENCRYPT_BINARY') (' ).') ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(DQ ($ VSub_Name '$DP_LOGFILE'))} spids: [2688] ) ] ) ] spids: [2674 2696] ) ] spids: [16777215 2618] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 0)}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (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)}) ) ) ) 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)}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(Menu_Main)})] spids: [16777215 2767] ) ] spids: [16777215 2775] ) ] spids: [2741 2779] ) ) ] spids: [2708 2722] ) (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{($ VSub_Name '$INPUT')}) right: (ArithWord w:{(Lit_Digits 1)}) ) ) terminator: <Op_Semi ';'> ) ] action: [(C {(Run_Lets_Encrypt)})] spids: [2791 2805] ) ] spids: [16777215 2813] ) (ControlFlow token:<ControlFlow_Exit exit>) ] spids: [3] ) ] )