diff options
author | Joe <rbo@gmx.us> | 2024-10-22 17:19:58 +0200 |
---|---|---|
committer | Joe <rbo@gmx.us> | 2024-10-22 17:19:58 +0200 |
commit | fd8c4e675727941502d62118b77fcb1490cdde60 (patch) | |
tree | aaf6f50ec90fbca5cd7f8f66485ebb5c8974a2e3 | |
parent | up (diff) | |
download | dotfiles-bsd-fd8c4e675727941502d62118b77fcb1490cdde60.tar.gz dotfiles-bsd-fd8c4e675727941502d62118b77fcb1490cdde60.tar.bz2 dotfiles-bsd-fd8c4e675727941502d62118b77fcb1490cdde60.tar.xz dotfiles-bsd-fd8c4e675727941502d62118b77fcb1490cdde60.tar.zst dotfiles-bsd-fd8c4e675727941502d62118b77fcb1490cdde60.zip |
conkyup
-rw-r--r-- | .config/conky/conkyrc | 97 | ||||
-rwxr-xr-x | .local/bin/conky/net.sh | 14 |
2 files changed, 60 insertions, 51 deletions
diff --git a/.config/conky/conkyrc b/.config/conky/conkyrc index e865a8d..af60a99 100644 --- a/.config/conky/conkyrc +++ b/.config/conky/conkyrc @@ -16,8 +16,9 @@ conky.config = { use_xft = true, xinerama_head = 1, xftalpha = 1, - font = 'Open Sans:style=Semibold:size=10', - font1 = 'ConkySymbols:size=18', + font = 'Open Sans:style=Semibold:size=11', + font2 = 'Open Sans:style=bold:size=11', + font1 = 'ConkySymbols:size=20', template0 = '\\n', if_up_strictness = address, format_human_readable = true, @@ -33,6 +34,8 @@ conky.config = { draw_shades = false, default_shade_color = AAAAAA, default_outline_color = AAAAAA, + default_bar_height = 8, + default_bar_width = 280, draw_graph_borders = true, show_graph_scale = false, show_graph_range = false, @@ -53,64 +56,67 @@ conky.config = { extra_newline = false, default_color = 'red', color0 = '#ebdbb2', - color1 = '#83a598', - color2 = '#a89984', - color5 = '#fd9e22', - color6 = '#c87911', + color1 = '#fb4934', + color2 = '#98971a', + color3 = '#d79921', + color4 = '#458588', + color5 = '#d3869b', + color6 = '#8ec07c', + color9 = '#83a598' } conky.text = [[ ${color0}${alignc}${time %A %e %B %Y - %Hh%M} -${alignc}${color1}Terminal: ${color0}${nodename_short} -${alignc}${color1}OS: ${color0}${sysname} - ${execi 300 lsb_release -ds} -${alignc}${color1}Kernel: ${color0}${kernel} -${alignc}${color1}Uptime: ${color0}${uptime_short}${font}${if_match "${nodename_short}" == "po-rbo"}${image ~/.config/conky/popos-logo.png -p 5,10 -s 75x75 -n}${endif}${if_match "${nodename_short}" == "mother"}${image ~/.config/conky/artix-logo.png -p 5,10 -s 75x75 -n}${if_mpd_playing} +${alignc}${color9}${font2}Terminal: ${color0}${font}${nodename_short} +${alignc}${color9}${font2}OS: ${color0}${font}${sysname} - ${execi 300 lsb_release -ds} +${alignc}${color9}${font2}Kernel: ${color0}${font}${kernel} +${alignc}${color9}${font2}Uptime: ${color0}${font}${uptime_short}${font}${if_match "${nodename_short}" == "po-rbo"}${image ~/.config/conky/popos-logo.png -p 5,10 -s 75x75 -n}${endif}${if_match "${nodename_short}" == "mother"}${image ~/.config/conky/artix-logo.png -p 5,10 -s 75x75 -n}${if_mpd_playing} ${color0}${hr}${font} ${color0}${goto 130}${mpd_artist} ${goto 130}${scroll wait 30 3 5 ${mpd_title}} ${goto 130}${mpd_date} - ${mpd_album} ${goto 130}${mpd_elapsed}/${mpd_length} ${mpd_bar} ${execi 5 ~/.local/bin/conky/cover.sh >/dev/null 2>&1}${image /tmp/conkyCover.png -p 10,115 -n}${endif}${endif} -${color0}${hr} -${color0}${font ConkySymbols:size=18}f${font :bold:}${voffset -5} CPU${font}${goto 115}${if_match "${nodename_short}" == "mother"}Intel i7-4790${endif}${if_match "${nodename_short}" == "po-rbo"}Intel i5-12450H${endif} @ ${freq_g}GHz${alignr}${font :bold:}${cpu}%${font} -${color orange}${offset 3}${cpugraph cpu1 30,93 000000 DDAA00} ${cpugraph cpu2 30,93 000000 DDAA00} ${cpugraph cpu3 30,93 000000 DDAA00} ${cpugraph cpu4 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 1: ${cpu cpu1}% ${goto 115}CPU 2: ${cpu cpu2}% ${goto 210}CPU 3: ${cpu cpu3}% ${voffset -29} ${goto 307}CPU 4: ${cpu cpu4}% -${color orange}${offset 3}${cpugraph cpu5 30,93 000000 DDAA00} ${cpugraph cpu6 30,93 000000 DDAA00} ${cpugraph cpu7 30,93 000000 DDAA00} ${cpugraph cpu8 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 5: ${cpu cpu5}% ${goto 115}CPU 6: ${cpu cpu6}% ${goto 210}CPU 7: ${cpu cpu7}% ${voffset -29} ${goto 307}CPU 8: ${cpu cpu8}%${if_match "${nodename_short}" == "po-rbo"} -${color orange}${offset 3}${cpugraph cpu9 30,93 000000 DDAA00} ${cpugraph cpu10 30,93 000000 DDAA00} ${cpugraph cpu11 30,93 000000 DDAA00} ${cpugraph cpu12 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 9: ${cpu cpu9}% ${goto 115}CPU 10: ${cpu cpu10}% ${goto 210}CPU 11: ${cpu cpu11}% ${voffset -29} ${goto 307}CPU 12: ${cpu cpu12}% -${color orange}${offset 3}${cpugraph cpu13 30,93 000000 DDAA00} ${cpugraph cpu14 30,93 000000 DDAA00} ${cpugraph cpu15 30,93 000000 DDAA00} ${cpugraph cpu16 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 13: ${cpu cpu13}% ${goto 115}CPU 14: ${cpu cpu14}% ${goto 210}CPU 15: ${cpu cpu15}% ${voffset -29} ${goto 307}CPU 16: ${cpu cpu16}% -${color orange}${offset 3}${cpugraph cpu17 30,93 000000 DDAA00} ${cpugraph cpu18 30,93 000000 DDAA00} ${cpugraph cpu19 30,93 000000 DDAA00} ${cpugraph cpu20 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 17: ${cpu cpu17}% ${goto 115}CPU 18: ${cpu cpu18}% ${goto 210}CPU 19: ${cpu cpu19}% ${voffset -29} ${goto 307}CPU 20: ${cpu cpu20}%${endif} -${color0}${hr}${font} -${color0}${font ConkySymbols:size=18}j${font :bold:}${voffset -5} MEMORY${font}${goto 150}$mem / $memmax${alignr}${font :bold:}${memperc}%${font} -${color0}${font :size 11:bold}${offset 5}Top Processes ${alignr}${offset -5}CPU%${offset 5}MEM% -${color 228B22}${memgraph 95,390 000000 228B22}${voffset -110}${font} +${color3}${hr} +${color3}${font ConkySymbols:size=18}f${font :size 15:bold}${voffset -5} CPU${color0}${font}${goto 115}${if_match "${nodename_short}" == "mother"}Intel i7-4790${endif}${if_match "${nodename_short}" == "po-rbo"}Intel i5-12450H${endif} @ ${freq_g}GHz${alignr}${font :bold:}${cpu}%${font} +${color3}${offset 3}${cpugraph cpu1 30,93 000000 DDAA00} ${cpugraph cpu2 30,93 000000 DDAA00} ${cpugraph cpu3 30,93 000000 DDAA00} ${cpugraph cpu4 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 1: ${cpu cpu1}% ${goto 115}CPU 2: ${cpu cpu2}% ${goto 210}CPU 3: ${cpu cpu3}% ${voffset -29} ${goto 307}CPU 4: ${cpu cpu4}% +${color3}${offset 3}${cpugraph cpu5 30,93 000000 DDAA00} ${cpugraph cpu6 30,93 000000 DDAA00} ${cpugraph cpu7 30,93 000000 DDAA00} ${cpugraph cpu8 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 5: ${cpu cpu5}% ${goto 115}CPU 6: ${cpu cpu6}% ${goto 210}CPU 7: ${cpu cpu7}% ${voffset -29} ${goto 307}CPU 8: ${cpu cpu8}%${if_match "${nodename_short}" == "po-rbo"} +${color3}${offset 3}${cpugraph cpu9 30,93 000000 DDAA00} ${cpugraph cpu10 30,93 000000 DDAA00} ${cpugraph cpu11 30,93 000000 DDAA00} ${cpugraph cpu12 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 9: ${cpu cpu9}% ${goto 115}CPU 10: ${cpu cpu10}% ${goto 210}CPU 11: ${cpu cpu11}% ${voffset -29} ${goto 307}CPU 12: ${cpu cpu12}% +${color3}${offset 3}${cpugraph cpu13 30,93 000000 DDAA00} ${cpugraph cpu14 30,93 000000 DDAA00} ${cpugraph cpu15 30,93 000000 DDAA00} ${cpugraph cpu16 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 13: ${cpu cpu13}% ${goto 115}CPU 14: ${cpu cpu14}% ${goto 210}CPU 15: ${cpu cpu15}% ${voffset -29} ${goto 307}CPU 16: ${cpu cpu16}% +${color3}${offset 3}${cpugraph cpu17 30,93 000000 DDAA00} ${cpugraph cpu18 30,93 000000 DDAA00} ${cpugraph cpu19 30,93 000000 DDAA00} ${cpugraph cpu20 30,93 000000 DDAA00} ${voffset 12} ${color0} ${goto 19}CPU 17: ${cpu cpu17}% ${goto 115}CPU 18: ${cpu cpu18}% ${goto 210}CPU 19: ${cpu cpu19}% ${voffset -29} ${goto 307}CPU 20: ${cpu cpu20}%${endif} +${color2}${hr}${font} +${color2}${font ConkySymbols:size=18}j${font :size 15:bold}${voffset -5} MEMORY${color0}${font}${goto 150}$mem / $memmax${alignr}${font :bold:}${memperc}%${font} +${color0}${font2}${offset 5}Top Processes ${alignr}${offset -5}CPU%${offset 5}MEM% +${color2}${memgraph 110,390 000000 98971a}${voffset -124}${font} ${color0}${offset 5}${top_mem name 1} ${alignr 10}${offset -13}${top_mem cpu 1}${offset 15}${top_mem mem 1} ${color0}${offset 5}${top_mem name 2} ${alignr 10}${offset -13}${top_mem cpu 2}${offset 15}${top_mem mem 2} ${color0}${offset 5}${top_mem name 3} ${alignr 10}${offset -13}${top_mem cpu 3}${offset 15}${top_mem mem 3} ${color0}${offset 5}${top_mem name 4} ${alignr 10}${offset -13}${top_mem cpu 4}${offset 15}${top_mem mem 4} ${color0}${offset 5}${top_mem name 5} ${alignr 10}${offset -13}${top_mem cpu 5}${offset 15}${top_mem mem 5}${if_match "${nodename_short}" == "mother"} ${color0}${hr}${font} -${color0}${font ConkySymbols:size=18}n${font :bold:}${voffset -5} GPU${font}${goto 90}${nvidia modelname} @ ${nvidia gpufreq}MHz${alignr}${font :bold:}${nvidia gpuutil}%${font} +${color0}${font ConkySymbols:size=18}n${font :size 12:bold}${voffset -5} GPU${font}${goto 90}${nvidia modelname} @ ${nvidia gpufreq}MHz${alignr}${font :bold:}${nvidia gpuutil}%${font} ${color tomato}${offset 3}${nvidiagraph gpuutil 30,190 000000 FF6347} ${nvidiagraph mem 30,190 000000 FF6347} ${voffset 13} ${goto 25}${color0}GPU Usage: ${nvidia gpuutil}%${goto 215}${voffset -29}VRAM Usage: ${nvidia memutil}% ${color tomato}${offset 3}${nvidiagraph fanlevel 30,190 000000 FF6347} ${nvidiagraph temp 30,190 000000 FF6347} ${voffset 13} ${goto 25}${color0}Fan level: ${nvidia fanlevel}%${goto 215}${voffset -29}Temperature: ${nvidia temp}°C${endif} -${color0}${hr}${font} -${color0}${font ConkySymbols:size=18}k${font :Bold:}${voffset -5} FILE SYSTEMS${alignr}NVMe ${fs_used_perc /}%${if_match "${nodename_short}" == "mother"} | HDD ${fs_used_perc /var/hdd}%${endif}${font} -${voffset 5}${color1}NVMe ${goto 70}${color darkcyan}${fs_bar 8,210 /} ${color0}${alignr}${fs_free /} / ${fs_size /}${if_match "${nodename_short}" == "mother"} -${color1}HDD ${goto 70}${color darkcyan}${fs_bar 8,210 /var/hdd} ${color0}${alignr} ${fs_free /var/hdd} / ${fs_size /var/hdd}${if_existing /home/jozan/exthdd} -${color1}EXT ${goto 70}${color darkcyan}${fs_bar 8,210 /home/jozan/exthdd} ${color0}${alignr}${fs_free /home/jozan/exthdd} / ${fs_size /home/jozan/exthdd}${endif}${if_existing /home/jozan/ceres} -${color1}CERES ${goto 70}${color darkcyan}${fs_bar 8,210 /home/jozan/ceres} ${color0}${alignr}${fs_free /home/jozan/ceres} / ${fs_size /home/jozan/ceres}${endif}${endif}${if_match "${nodename_short}" == "po-rbo"} -${color1}STOC1 ${goto 70}${color darkcyan}${fs_bar 8,210 /home/r_bousset/stoc1} ${color0}${alignr}${fs_free /home/r_bousset/stoc1} / ${fs_size /home/r_bousset/stoc1}${endif} -${color darkcyan}${offset 3}${diskiograph_read nvme0n1 30,190 000000 008B8B} ${diskiograph_write nvme0n1 30,190 000000 008B8B} ${voffset 13} ${goto 25}${color0}NVMe R: ${diskio_read nvme0n1}${goto 215}NVMe W: ${diskio_write nvme0n1}${voffset -29}${font}${if_match "${nodename_short}" == "mother"} -${color darkcyan}${offset 3}${diskiograph_read sdb1 30,190 000000 008B8B} ${diskiograph_write sdb1 30,190 000000 008B8B} ${voffset 13} ${goto 25}${color0}HDD R: ${diskio_read sdb1}${goto 215}HDD W: ${diskio_write sdb1}${voffset -29}${font}${endif} -${color0}${hr}${font} -${color0}${font ConkySymbols:size=18}i${font :Bold:} ${voffset -5}NETWORK${alignr}${execpi 5 ~/.local/bin/conky/net.sh}${if_match "${nodename_short}" == "mother"} -${color 81B562}${offset 3}${downspeedgraph eth1 50,190 000000 81B562 128000000}${goto 205}${color SteelBlue}${upspeedgraph eth1 50,190 000000 4682B4 128000000} -${color0}${voffset -55}${offset 10}Download${goto 210}Upload${offset 10} +${color4}${hr}${font} +${color4}${font ConkySymbols:size=18}k${font :size 15:bold}${voffset -5} FILE SYSTEMS${color0}${alignr}NVMe ${fs_used_perc /}%${if_match "${nodename_short}" == "mother"} | HDD ${fs_used_perc /var/hdd}%${endif}${font} +${voffset 5}${color4}${font2}NVMe ${goto 70}${fs_bar 8,200 /} ${color0}${font}${alignr}${fs_free /} / ${fs_size /}${if_match "${nodename_short}" == "mother"} +${color4}${font2}HDD ${goto 70}${fs_bar 8,200 /var/hdd} ${color0}${font}${alignr} ${fs_free /var/hdd} / ${fs_size /var/hdd}${if_existing /home/jozan/exthdd} +${color4}${font2}EXT ${goto 70}${fs_bar 8,200 /home/jozan/exthdd} ${color0}${font}${alignr}${fs_free /home/jozan/exthdd} / ${fs_size /home/jozan/exthdd}${endif}${if_existing /home/jozan/ceres} +${color4}${font2}CERES ${goto 70}${fs_bar 8,200 /home/jozan/ceres} ${color0}${font}${alignr}${fs_free /home/jozan/ceres} / ${fs_size /home/jozan/ceres}${endif}${endif}${if_match "${nodename_short}" == "po-rbo"} +${color4}${font2}STOC1 ${goto 70}${fs_bar 8,200 /home/r_bousset/stoc1} ${color0}${font}${alignr}${fs_free /home/r_bousset/stoc1} / ${fs_size /home/r_bousset/stoc1}${endif} +${color4}${offset 3}${diskiograph_read nvme0n1 30,190 000000 458588} ${diskiograph_write nvme0n1 30,190 000000 458588} ${voffset 13} ${goto 25}${color0}NVMe R: ${diskio_read nvme0n1}${goto 215}NVMe W: ${diskio_write nvme0n1}${voffset -29}${font}${if_match "${nodename_short}" == "mother"} +${color4}${offset 3}${diskiograph_read sdb1 30,190 000000 458588} ${diskiograph_write sdb1 30,190 000000 458588} ${voffset 13} ${goto 25}${color0}HDD R: ${diskio_read sdb1}${goto 215}HDD W: ${diskio_write sdb1}${voffset -29}${font}${endif} +${color5}${hr}${font} +${color5}${font ConkySymbols:size=18}i${font :size 15:bold} ${voffset -5}NETWORK${color0}${alignr}${execpi 5 ~/.local/bin/conky/net.sh}${if_match "${nodename_short}" == "mother"} +${color2}${offset 3}${downspeedgraph eth1 50,190 000000 81B562 128000000}${goto 205} ${color2}${upspeedgraph eth1 50,190 000000 4682B4 128000000} +${color0}${voffset -60}${offset 10}Download${goto 210}Upload${offset 10} ${offset 10} ${downspeed eth1} ${goto 210}${upspeed eth1}${endif}${if_match "${nodename_short}" == "po-rbo"} -${color 81B562}${offset 3}${downspeedgraph enx34298f762de7 50,190 000000 81B562 128000000} ${color SteelBlue}${upspeedgraph enx34298f762de7 50,190 000000 4682B4 128000000} -${color0}${voffset -55}${offset 10}Download${goto 210}Upload${offset 10} +${color2}${offset 3}${downspeedgraph enx34298f762de7 50,190 000000 98971a 128000000} ${color4}${upspeedgraph enx34298f762de7 50,190 000000 458588 128000000} +${color0}${voffset -60}${offset 10}Download${goto 210}Upload${offset 10} ${offset 10} ${downspeed enx34298f762de7} ${goto 210}${upspeed enx34298f762de7}${endif} -${color0}${hr}${font} -${font ConkySymbols:size=18:bold}h${font :bold:}${voffset -5}TEMPERATURES ${goto 150}${font}${if_match "${nodename_short}" == "mother"} -${color EE4444}${execbar sensors 2>/dev/null | grep CPUTIN | awk '{print $2}'} +${color1}${hr}${font} +${color1}${font ConkySymbols:size=18:bold}l${font :size 15:bold:} ${voffset -5}TEMPERATURES ${goto 150}${font}${color0}${if_match "${nodename_short}" == "mother"} +${color1}${execbar sensors 2>/dev/null | grep CPUTIN | awk '{print $2}'} ${color LightBlue}${execbar sensors 2>/dev/null | grep fan1 | awk 'NR==1{print $2/35}'} ${color0}GPU: ${hwmon 3 temp 1}°C ${goto 150}Junc: ${hwmon 3 temp 2}°C${goto 260}GPU Fan${alignr}${hwmon 3 fan 1} RPM ${color EE4444}${execbar sensors 2>/dev/null | grep edge | awk '{print $2}'} @@ -119,8 +125,11 @@ ${color0}Mobo: ${hwmon 2 temp 1}°C ${goto 110}Int.Fan: ${hwmon 2 fan 5} RPM${go ${color EE4444}${execbar sensors 2>/dev/null | grep SYSTIN | awk '{print $2}'} ${color LightBlue}${execbar sensors 2>/dev/null | grep fan2 | awk '{print $2/35}'} ${endif}${if_match "${nodename_short}" == "po-rbo"} -${voffset 3}${color1}CPU: ${color0}${hwmon 5 temp 1}°C -${color EE4444}${execbar sensors 2>/dev/null | grep Package | awk '{print $4}'} -${color1}NVMe: ${color0}${hwmon 3 temp 1}°C -${color EE4444}${execbar sensors 2>/dev/null | grep Composite | awk '{print $2}'}${endif} +${voffset 5}${color1}${font2}CPU ${goto 70}${execbar sensors 2>/dev/null | grep Package | awk '{print $4}'} ${alignr}${color0}${font}${hwmon 5 temp 1}°C +${color1}${font2}NVMe ${goto 70}${color1}${execbar sensors 2>/dev/null | grep Composite | awk '{print $2}'}${color0}${font}${hwmon 3 temp 1}°C${endif} +${color6}${hr}${font} +${color6}${font ConkySymbols:size=18}h${font :size 15:bold:}${voffset -5} WEATHER${font} +${execi 3600 curl -so /tmp/weather_data "https://api.openweathermap.org/data/2.5/forecast?lat=45.77&lon=4.83&exclude=minutely,hourly&appid=ccf08b5571670cecdf898dbbf33b6d6c&units=metric"} +${execi 3600 sleep 2 && jq -r '.list[0].weather[0].icon' </tmp/weather_data | xargs printf "http://openweathermap.org/img/wn/%s@2x.png" | xargs curl -so /tmp/weather_now.png} +${voffset -30}${color6}${font2}${execi 1 jq -r '.city.name' </tmp/weather_data}${goto 60}${font}${color0}${execi 1 jq -r '.list[0].main.temp' </tmp/weather_data | awk '{print int($1+0.5)}'}° ${image /tmp/weather_now.png -s 70x70 -p 300,915} ]] diff --git a/.local/bin/conky/net.sh b/.local/bin/conky/net.sh index 781bd9c..4baf43b 100755 --- a/.local/bin/conky/net.sh +++ b/.local/bin/conky/net.sh @@ -39,10 +39,10 @@ elif ! ip a | grep $if_vpnssl | grep UP >/dev/null 2>&1; then fi echo $if_main'${font}' -[ -z $if_wg ] || echo '${color1}WireGuard ${color0}ON${font}' -[ -z $if_wg ] || echo '${color1}WG IP ${color0}${goto 80}${addr '$if_wg'}${font}' -[ -z $if_vpnssl ] || echo '${color1}Forti VPN-SSL ${color0}ON${font}' -[ -z $if_vpnssl ] || echo '${color1}VPN IP ${color0}${goto 80}${addr '$if_vpnssl'}${font}' -echo '${voffset 3}${color1}LAN IP ${color0}${goto 80}${addr '$if_main'}${font}' -echo '${color1}DNS IP ${color0}${goto 80}${nameserver 0}${if_match "${nameserver 1}" != ""}, ${nameserver 1}${endif}${font}' -echo '${color1}WAN IP ${color0}${goto 80}${execi 15 curl -s https://ifconfig.me || echo No WAN}${font}' +[ -z $if_wg ] || echo '${color5}${font2}WireGuard ${color0}${font}ON${font}' +[ -z $if_wg ] || echo '${color5}${font2}WG IP ${color0}${font}${goto 80}${addr '$if_wg'}${font}' +[ -z $if_vpnssl ] || echo '${color5}${font2}Forti VPN-SSL ${color0}${font}ON${font}' +[ -z $if_vpnssl ] || echo '${color5}${font2}VPN IP ${color0}${font}${goto 80}${addr '$if_vpnssl'}${font}' +echo '${voffset 3}${color5}${font2}LAN IP ${color0}${font}${goto 80}${addr '$if_main'}${font}' +echo '${color5}${font2}DNS IP ${color0}${font}${goto 80}${nameserver 0}${if_match "${nameserver 1}" != ""}, ${nameserver 1}${endif}${font}' +echo '${color5}${font2}WAN IP ${color0}${font}${goto 80}${execi 15 curl -s https://ifconfig.me || echo No WAN}${font}' |