Friday, August 28, 2020

Bashtop - Linux/OSX/FreeBSD Resource Monitor


Bpytop, bashtop python port is now available at https://github.com/aristocratos/bpytop
It's a lot faster and about a third as cpu heavy and has more features, including:
  • Mouse support
  • Toggleable mini mode
  • More customization
  • Graphs for memory consumption
It's also a lot easier for me to bug fix and it's the project I'm actively working on, so please try to migrate to bpytop.

Description
Resource monitor that shows usage and stats for processor, memory, disks, network and processes.

Features
  • Easy to use, with a game inspired menu system.
  • Fast and "mostly" responsive UI with UP, DOWN keys process selection.
  • Function for showing detailed stats for selected process.
  • Ability to filter processes.
  • Easy switching between sorting options.
  • Send SIGTERM, SIGKILL, SIGINT to selected process.
  • UI menu for changing all config file options.
  • Auto scaling graph for network usage.
  • Shows message in menu if new version is available
  • Shows current read and write speeds for disks
  • Multiple data collection methods which can be switched if running on Linux

Themes
Bashtop now has theme support and a function to download missing local themes from repository.
See themes folder for available themes.
The builtin theme downloader places the default themes in $HOME/.config/bashtop/themes. User created themes should be placed in $HOME/.config/bashtop/user_themes to be safe from overwrites.
Let me know if you want to contribute with new themes.

Support and funding
Bug fixes and updates might be slow during normal workdays since I work full time as an industrial worker and don't have much time or energy left during the week. I'm looking into ways of funding this project that would allow me to take off time from my day job to work on this.
Any advice on how to get funding for open source projects is very welcome!

Update
You can now sponsor this project through github, see my sponsors page for options.
Also added donation links for paypal and ko-fi.
Any support is greatly appreciated!

Prerequisites

Mac Os X
Will not display correctly in the standard terminal! Recommended alternative iTerm2
Will also need to be run as superuser to display stats for processes not owned by user.

Linux, Mac Os X and FreeBSD
For correct display, a terminal with support for:
Also needs a UTF8 locale and a font that covers:
  • Unicode Block "Braille Patterns" U+2800 - U+28FF
  • Unicode Block "Geometric Shapes" U+25A0 - U+25FF
  • Unicode Block "Box Drawing" and "Block Elements" U+2500 - U+259F

Notice
Dropbear seems to not be able to set correct locale. So if accessing bashtop over ssh, OpenSSH is recommended.

Dependencies

Linux, OSX and FreeBSD
bash (v4.4 or later) Script functionality will most probably break with earlier versions. Bash version 5 is highly recommended to make use of $EPOCHREALTIME variable instead of a lot of external date command calls.
GNU coreutils
GNU sed

Linux using /proc for data collection
GNU grep
ps from procps-ng (v3.1.15 or later)
GNU awk

OSX and FreeBSD or Linux using psutil for data collection
Python3 (v3.6 or later)
psutil python module (v5.7.0 or later)

Optionals for additional stats
(Optional OSX) osx-cpu-temp Needed to show CPU temperatures.
(Optional Linux) lm-sensors Needed to show CPU temperatures.
(Optional Linux) iostat (part of sysstat) Needed if you want disk read/write stats and are not using psutil data collection.
(Optional OSX/Linux/FreeBSD) curl (v7.16.2 or later) Needed if you want messages about updates and the ability to download themes.

Screenshots
Main UI showing details for a selected process.


Main menu.


Options menu.


Installation

Dependencies installation OSX
Install homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
If you got python 3.6 or later installed outside of brew:
sudo python3 -m ensurepip
sudo python3 -m pip install psutil
If you haven't got python3 installed:
brew install python3
python3 -m pip install psutil
Install dependencies
brew install bash coreutils gnu-sed git
Install optional dependency osx-cpu-temp
brew install osx-cpu-temp

Dependencies installation FreeBSD
Install with pkg and pip
sudo pkg install coreutils gsed git py37-psutil

Manual installation Linux, OSX and FreeBSD
Clone and install
git clone https://github.com/aristocratos/bashtop.git
cd bashtop
sudo make install
to uninstall it
sudo make uninstall

FreeBSD package
Available in FreeBSD ports
Install pre-built pacakge
sudo pkg install bashtop

Arch based
Available in the AUR as bashtop-git
Available in the Arch Linux repository as bashtop

Debian based
Available in official Debian repository since Debian 11
Available for debian/ubuntu from Azlux's repository
Or use quick installation:
Quick install go to DEB folder and type
 sudo ./build
to uninstall it go to DEB folder and type
 sudo ./build --remove

Guix based
Available in official Guix repository since 6bbd0fd2
Installation
guix install bashtop

Ubuntu based
Available in official Ubuntu repository since Ubuntu 20.10
Available for Ubuntu from PPA repository
Add PPA repository and install bashtop
 sudo add-apt-repository ppa:bashtop-monitor/bashtop
sudo apt update
sudo apt install bashtop

Fedora
Available in the Fedora repository.
Installation
sudo dnf install bashtop

CentOS 8
Installation
dnf config-manager --set-enabled PowerTools
dnf install epel-release
dnf install bashtop

RHEL 8
Installation
ARCH=$( /bin/arch )
subscription-manager repos --enable
"codeready-builder-for-rhel-8-${ARCH}-rpms"
dnf install epel-release
dnf install bashtop

Configurability
All options changeable from within UI. Config files stored in "$HOME/.config/bashtop" folder

bashtop.cfg: (auto generated if not found)
#? Config file for bashtop v. 0.9.21

#* Color theme, looks for a .theme file in "$HOME/.config/bashtop/themes" and "$HOME/.config/bashtop/user_themes"
#* Should be prefixed with either "themes/" or "user_themes/" depending on location, "Default" for builtin default theme
color_theme="Default"

#* Update time in milliseconds, increases automatically if set below internal loops processing time, recommended 2000 ms or above for better sample times for graphs
update_ms="2500"

#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu responsive"
#* "cpu lazy" updates sorting over time, "cpu responsive" updates sorting directly
proc_sorting="cpu lazy"

#* Reverse sorting order, "true" or "false"
proc_reversed="false"

#* Show processes as a tree
proc_tree="false"

#* Check cpu temperature, only works if "sensors", "vcgencmd" or "osx-cpu-temp" commands is available
check_temp="true"

#* Draw a clock at top of screen, formatting according to strftime, empty string to disable
draw_clock="%X"

#* Update main ui when menus are showing, set this to false if the menus is flickering too much for comfort
background_update="true"

#* Custom cpu model name, empty string to disable
custom_cpu_name=""

#* Enable error logging to "$HOME/.config/bashtop/error.log", "true" or "false"
error_logging="true"

#* Show color gradient in process list, "true" or "false"
proc_gradient="true"

#* If process cpu usage should be of the core it's running on or usage of the total available cpu power
proc_per_core="false"

#* Optional filter for shown disks, should be names of mountpoints, "root" replaces "/", separate multiple values with space
disks_filter=""

#* Enable check for new version from github.com/aristocratos/bashtop at start
update_check="true"

#* Enable graphs with double the horizontal resolution, increases cpu usage
hires_graphs="false"

#* Enable the use of psutil python3 module for data collection, default on OSX
use_psutil="true"

Command line options: (not yet implemented)
USAGE: bashtop

TODO
Might finish off items out of order since I usually work on multiple at a time.
  • Add options to change colors for text, graphs and meters.
  • Fix cross platform compatibility for Mac OSX and *BSD: Working on OSX, and FreeBSD.
  • Add support for showing AMD cpu temperatures.
  • Add option to show tree view of processes.
  • Add option to reset network download/upload totals.
  • Add option to turn of gradient in processes list.
  • Add gpu temp and usage. (If feasible)
  • Add io stats for disks.
  • Add cpu and mem stats for docker containers. (If feasible)
  • Change process list to line scroll instead of page change.
  • Add optional window for tailing log files.
  • Add options for resizing all boxes.
  • Add command line argument parsing.
  • Builtin updater. Relevant PR #96 by Jukoo
  • Add support for zram in memory box. Relevant PR #122 by perkinslr
  • Miscellaneous optimizations and code cleanup.
  • Add more commenting where it's sparse.
  • Python port. (Porting started)



via KitPloit

Related articles


  1. What Are Hacking Tools
  2. Hacking Tools For Beginners
  3. Pentest Tools Open Source
  4. How To Make Hacking Tools
  5. Hacker Techniques Tools And Incident Handling
  6. Hacking Apps
  7. Hack Tools
  8. Nsa Hacker Tools
  9. Hacking Tools
  10. Hacker Tools Free Download
  11. Hack Tools Mac
  12. Pentest Tools Tcp Port Scanner
  13. Hack Tool Apk No Root
  14. Hackrf Tools
  15. Hacking Tools Kit
  16. Hacking App
  17. How To Hack
  18. Hacking Tools
  19. Nsa Hack Tools Download
  20. Hacker Tools Free
  21. Hack Tools For Games
  22. Pentest Reporting Tools
  23. Hacks And Tools
  24. Hacker Tools For Pc
  25. Hacking Tools For Windows 7
  26. Pentest Tools For Windows
  27. Hack Tools
  28. Hacker Tools 2020
  29. Termux Hacking Tools 2019
  30. Blackhat Hacker Tools
  31. Pentest Tools Online
  32. Hack Tools For Windows
  33. Hacker Tools Free Download
  34. Pentest Tools Linux
  35. Pentest Tools Online
  36. Pentest Tools Review
  37. Pentest Tools Subdomain
  38. Pentest Reporting Tools
  39. Hacker Tools Free
  40. Hack Tools For Pc
  41. Hacker Tools Online
  42. Hacking Tools Pc
  43. Hacking Tools Pc
  44. Pentest Tools Github
  45. Android Hack Tools Github
  46. Hacking Tools
  47. Hacking Tools Download
  48. Nsa Hacker Tools
  49. Pentest Tools Download
  50. Pentest Tools Find Subdomains
  51. Hacking Tools Download
  52. Hacking Tools For Pc
  53. Hacker Techniques Tools And Incident Handling
  54. Hacking Tools Github
  55. Hacker Tools Software
  56. New Hacker Tools
  57. Free Pentest Tools For Windows
  58. Github Hacking Tools
  59. Top Pentest Tools
  60. Computer Hacker
  61. Pentest Automation Tools
  62. Hacker
  63. Wifi Hacker Tools For Windows
  64. Hack Tools For Windows
  65. Pentest Tools Android
  66. Tools 4 Hack
  67. Hacker Tools For Windows
  68. Hack Tools For Windows
  69. Hack Website Online Tool
  70. Pentest Tools Apk
  71. Hacking App
  72. Pentest Tools Open Source
  73. Nsa Hack Tools Download
  74. Physical Pentest Tools
  75. Hacker Tools For Mac
  76. Hack Tools Download
  77. Hack Rom Tools
  78. Pentest Tools Online
  79. Bluetooth Hacking Tools Kali
  80. Hack Tools
  81. World No 1 Hacker Software
  82. Pentest Tools Online
  83. New Hack Tools
  84. Computer Hacker
  85. Pentest Tools Website Vulnerability
  86. Hack Tools For Windows
  87. Hacker Hardware Tools
  88. Pentest Tools
  89. Hacking Tools For Windows Free Download
  90. Ethical Hacker Tools
  91. Hacking Tools Download
  92. Hacking Tools Download
  93. Pentest Tools Tcp Port Scanner
  94. Hacker Tools For Pc
  95. Hacker Tools Linux
  96. Pentest Tools Website
  97. Hack Tools
  98. Hack Tools 2019
  99. Hacker Tools Free
  100. Pentest Tools Subdomain
  101. Growth Hacker Tools
  102. Hack Tools Pc
  103. Install Pentest Tools Ubuntu
  104. Hacking Tools For Kali Linux
  105. Hacking Tools Download
  106. Hackers Toolbox
  107. Best Pentesting Tools 2018
  108. Blackhat Hacker Tools
  109. Hacker Techniques Tools And Incident Handling
  110. Black Hat Hacker Tools
  111. Hacker Hardware Tools
  112. Black Hat Hacker Tools
  113. Pentest Tools For Android
  114. Hacking Tools Usb
  115. Hacking Tools For Kali Linux
  116. Hack Tools For Pc
  117. Pentest Tools Online
  118. Hack Tools Pc
  119. Pentest Tools Kali Linux
  120. Pentest Tools Apk
  121. Underground Hacker Sites
  122. Hacking Tools Github
  123. Hacker Tools Github
  124. Hack Tools For Games
  125. Hacking Tools Hardware
  126. Pentest Tools Open Source
  127. Hacking Tools For Windows Free Download
  128. What Is Hacking Tools
  129. Hack Tools Pc
  130. How To Install Pentest Tools In Ubuntu
  131. Pentest Tools Alternative
  132. Hacking Tools For Windows 7
  133. Pentest Tools For Mac
  134. Hacker Tools For Windows
  135. Hacking Tools Github
  136. Hacking Tools Hardware
  137. Hacking Apps
  138. Hackers Toolbox
  139. Pentest Tools Find Subdomains
  140. Hacking Tools Github
  141. Hacking Tools For Kali Linux
  142. Tools Used For Hacking
  143. Hack And Tools
  144. Hacker
  145. Nsa Hacker Tools
  146. Hacking Tools For Games
  147. Hacker Tools Free
  148. Pentest Tools List
  149. Hack And Tools
  150. Hacking Tools
  151. Hack Tools For Games
  152. Pentest Tools Linux
  153. Pentest Tools Review
  154. Install Pentest Tools Ubuntu
  155. Nsa Hack Tools
  156. Hacker Techniques Tools And Incident Handling
  157. Hack Tools For Pc
  158. Pentest Tools Github
  159. Pentest Tools For Windows
  160. Hacking Tools Usb
  161. Hack App
  162. Hack Tools For Mac
  163. Pentest Tools Website

No comments:

Post a Comment