{"id":17337704,"url":"https://github.com/centril/motd.dynamic","last_synced_at":"2025-04-14T18:41:37.906Z","repository":{"id":70446630,"uuid":"32451792","full_name":"Centril/motd.dynamic","owner":"Centril","description":"motd script written in python, highly configurable and lots of eyecandy","archived":false,"fork":false,"pushed_at":"2015-03-24T06:38:59.000Z","size":168,"stargazers_count":7,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-28T07:11:15.638Z","etag":null,"topics":["linux-server","motd","python"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Centril.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-18T10:15:55.000Z","updated_at":"2024-02-26T15:29:19.000Z","dependencies_parsed_at":"2023-02-27T01:46:19.347Z","dependency_job_id":null,"html_url":"https://github.com/Centril/motd.dynamic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centril%2Fmotd.dynamic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centril%2Fmotd.dynamic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centril%2Fmotd.dynamic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Centril%2Fmotd.dynamic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Centril","download_url":"https://codeload.github.com/Centril/motd.dynamic/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248938233,"owners_count":21186368,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["linux-server","motd","python"],"created_at":"2024-10-15T15:35:49.087Z","updated_at":"2025-04-14T18:41:37.870Z","avatar_url":"https://github.com/Centril.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Gittip]][url: Gittip] [![License]][url: License] [![Semver]][url: Semver]\n\n# [`motd.dynamic`]\n\u003e `motd` script for `linux` written in `python`, highly configurable with lots of eyecandy.\n\u003e It runs all the information gathering in separate concurrent proccesses and thus is fast, relatively speaking.\n\n## Features\n\n[`motd.dynamic`] reports the following information:\n\n+ [`uptime`].\n+ [`booted on`][`uptime`].\n+ `system time`.\n+ `system info` (dist, os, release-version, arch).\n+ usage of `/`, same as running [`df /`] - with color warnings if not enough free space.\n+ `sshd sessions` reporting: all the logged-in users and how many per user. Color notification if root is on.\n+ `memory usage \u0026 swap usage`.\n+ [`load average`].\n+ `number of processes` (total and for current user).\n+ `public hostname \u0026 IP`.\n+ `internal hostname \u0026 IP`.\n+ [`apt-get upgrades reporting`].\n\nAdditionally, it provides a nice colorized banner made with [`figlet`], or [`pyfiglet`] to be precise, as well as something like the following, but more elegantly and with colors, using [`fortune`] and [`cowsay`]:\n\n```shell\nfortune | cowsay\n```\n\n## Installation\n\n##### 1 - Prerequisites\n\nAssuming you have [`apt-get`] - installed on `debian` based dists, you need to:\n\n```shell\nsudo apt-get update\nsudo apt-get install python python-dev pip fortune fortunes cowsay\nsudo pip install -U pyfiglet uptime ipgetter psutil futures git+http://github.com/bufordtaylor/python-texttable\n```\n\nOr do this if you have [`apt-fast`]\n\n```shell\nsudo apt-fast update\nsudo apt-fast install python python-dev pip\nsudo apt-fast install fortune fortunes cowsay\nsudo pip install -U pyfiglet uptime ipgetter psutil futures git+http://github.com/bufordtaylor/python-texttable\n```\n\n##### 2 - Clone the repo:\n\n```shell\ncd /opt\ngit clone https://github.com/Centril/motd.dynamic/\ncd motd.dynamic\nchmod +x motd.dynamic\n```\n\nThis installs it to `/opt/motd.dynamic`, but the choice is yours.\n\n##### 3 - Configure \u0026 Edit [`motd.dynamic`] with your favourite editor.\n```shell\nnano motd.dynamic\n```\n\n##### 4 - Add script to `/etc/profile`.\n\n```shell\necho /opt/motd.dynamic/motd.dynamic | sudo tee -a /etc/profile\n```\n\n##### 5 - Remove Last Login \u0026 Motd from sshd logins.\n\nFind `PrintMotd` and `PrintLastLog`, set them both to `no`.\nThen restart `sshd`\n\n```shell\nsudo nano /etc/ssh/sshd_config\n/etc/init.d/ssh restart\n```\n\n## Deciding on a figlet font:\n\nCan't decide what figlet font to use? Run this in and replace `\u003ctext\u003e` with the text you wish to use.\n\n```shell\npyfiglet -l | while read line ; do echo $line \u0026\u0026 echo \u0026\u0026 pyfiglet \u003ctext\u003e --font=$line ; done \u003e figletfonts\n```\n\n\u003c!-- references --\u003e\n\n[Gittip]: http://img.shields.io/gittip/lefoy.svg?style=flat\n[url: Gittip]: https://www.gittip.com/lefoy/\n[License]: http://img.shields.io/badge/license-GPL2.0-blue.svg?style=flat\n[url: License]: https://github.com/lefoy/cyanide-theme/blob/master/LICENSE.md\n[Semver]: http://img.shields.io/badge/semver-2.0.0-blue.svg?style=flat\n[url: Semver]: http://semver.org/spec/v2.0.0.html\n\n[`motd.dynamic`]: https://github.com/Centril/motd.dynamic/\n\n[`uptime`]: https://github.com/Cairnarvon/uptime\n[`load average`]: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages\n[`apt-get upgrades reporting`]: https://nickcharlton.net/posts/debian-ubuntu-dynamic-motd.html\n[`df /`]: http://en.wikipedia.org/wiki/Df_%28Unix%29\n[`apt-get`]: http://linux.die.net/man/8/apt-get\n[`apt-fast`]: https://github.com/ilikenwf/apt-fast\n[`pyfiglet`]: https://github.com/pwaller/pyfiglet\n[`figlet`]: http://www.figlet.org/\n[`cowsay`]: http://en.wikipedia.org/wiki/Cowsay\n[`fortune`]: http://en.wikipedia.org/wiki/Fortune_%28Unix%29\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentril%2Fmotd.dynamic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcentril%2Fmotd.dynamic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentril%2Fmotd.dynamic/lists"}