|
1 | 1 | # Bashpack |
2 | 2 |
|
3 | | -Bashpack is a **user-friendly** Linux toolbox that has been designed to **quickly secure any Linux distro**. |
| 3 | +Bashpack is a versatile and user-friendly command-line script manager. It is designed to use scripts as regular commands on any Linux distro. It simplifies script management, security, and automation, making your administrative tasks more efficient. |
4 | 4 |
|
5 | | -It can be used for deployment purposes, or even by novices users (it doesn't require any specific knowledge). |
| 5 | +It can be compared to [PyPI](https://pypi.org/) for Python, [PowerShell Gallery](https://www.powershellgallery.com/) for PowerShell, [Registry](https://hub.docker.com/_/registry) for Docker, [Go Packages](https://pkg.go.dev/) for Go etc..., but for Shell scripts made to be compatible with any Unix based OS. |
| 6 | + |
| 7 | +Anyone can self-host its own subcommands repositories, and even its own CLI repository. |
6 | 8 |
|
7 | | -<br> |
8 | 9 |
|
9 | 10 | ## Features |
10 | | -* Unified Linux updates \ |
11 | | -_one command to control them all_ |
12 | | - - [APT](https://wiki.debian.org/Apt) |
13 | | - - [DNF](https://rpm-software-management.github.io/) |
14 | | - - [YUM](http://yum.baseurl.org/) |
15 | | - - [Snap](https://snapcraft.io/) |
16 | | - - [fwupd](https://github.com/fwupd/fwupd) (firmwares) |
17 | 11 |
|
18 | | -* Secured Linux firewall \ |
19 | | -_block inbound and simplify rule creation_ |
20 | | - - [nftables](https://wiki.nftables.org/wiki-nftables/index.php/Main_Page) |
| 12 | +- **Script Management**: Easily install, update, and remove scripts as subcommands. |
| 13 | +- **Automation**: Automate routine tasks to save time and reduce human error. |
| 14 | +- **Security**: Enhance the security of your Linux systems with minimal effort. |
| 15 | +- **User-Friendly**: Accessible to both novice and experienced users. |
| 16 | + |
21 | 17 |
|
22 | | -<br> |
| 18 | +## Quick Start |
23 | 19 |
|
| 20 | +To manage your Bashpack installation, copy/paste the following command blocks into your Linux terminal. |
24 | 21 |
|
25 | | -## Quick start |
26 | | -Copy/paste the following command blocks on your Linux terminal to manage your Bashpack installation. |
| 22 | +### Install |
27 | 23 |
|
28 | | -**Install** |
29 | | -```javascript |
| 24 | +```sh |
30 | 25 | curl -sL https://raw.githubusercontent.com/bashpack-project/bashpack/main/bashpack.sh -o bashpack.sh \ |
31 | 26 | && chmod +x bashpack.sh \ |
32 | 27 | && sudo ./bashpack.sh -i \ |
33 | 28 | && rm bashpack.sh |
34 | 29 | ``` |
35 | 30 |
|
36 | | -**Update** |
37 | | -```javascript |
| 31 | +### Update |
| 32 | + |
| 33 | +```sh |
38 | 34 | sudo bp -u |
39 | 35 | ``` |
40 | 36 |
|
41 | | -**Uninstall** |
42 | | -```javascript |
| 37 | +### Uninstall |
| 38 | + |
| 39 | +```sh |
43 | 40 | sudo bp --self-delete |
44 | 41 | ``` |
45 | 42 |
|
46 | | -<br> |
| 43 | +### Usage |
47 | 44 |
|
48 | | -## Usage |
49 | | -**Commands & options** are listed with the command: |
50 | | -```javascript |
| 45 | +```sh |
51 | 46 | bp --help |
52 | 47 | ``` |
53 | 48 |
|
54 | | -<br> |
| 49 | +### Subcommand management |
55 | 50 |
|
56 | | -### Command examples |
57 | | - |
58 | | -#### Unified Linux updates |
59 | | -Launch a pre-validated update of everything on your system |
60 | | -```javascript |
61 | | -sudo bp update -y |
| 51 | +Install a subcommand from the repositories |
| 52 | +```sh |
| 53 | +sudo bp --get <subcommand> |
62 | 54 | ``` |
63 | 55 |
|
64 | | -Check next update ([Systemd](https://systemd.io/) installations **only**) |
65 | | -```javascript |
66 | | -sudo bp update --when |
| 56 | +Remove a subcommand |
| 57 | +```sh |
| 58 | +sudo bp --delete <subcommand> |
67 | 59 | ``` |
68 | | -Get logs from last update ([Systemd](https://systemd.io/) installations **only**) |
69 | | -```javascript |
70 | | -sudo bp update --get-logs |
| 60 | + |
| 61 | +List available remotes and installed subcommands |
| 62 | +```sh |
| 63 | +sudo bp --list |
71 | 64 | ``` |
72 | 65 |
|
73 | | -<br> |
| 66 | +## Configuration |
74 | 67 |
|
| 68 | +A configuration file is located at `/etc/bashpack/bashpack.conf`. It is created and maintained automatically, and you can customize it according to your needs. |
75 | 69 |
|
76 | | -#### Secured Linux firewall |
77 | | -**Install** a ruleset |
78 | | -```javascript |
79 | | -sudo bp firewall -i |
80 | | -``` |
| 70 | +## Logs |
81 | 71 |
|
82 | | -**Restore** a backuped ruleset (made automatically during an installation) |
83 | | -```javascript |
84 | | -sudo bp firewall --restore |
85 | | -``` |
| 72 | +Logs are maintained in `/var/log/bashpack`. You can quickly view the logs using the following command: |
86 | 73 |
|
87 | | -**Disable** the firewall |
88 | | -```javascript |
89 | | -sudo bp firewall --disable |
| 74 | +```sh |
| 75 | +sudo bp --logs |
90 | 76 | ``` |
91 | 77 |
|
92 | | -<br> |
93 | 78 |
|
94 | 79 | ## FAQ |
95 | | -* Bashpack itself is POSIX, meaning it can be installed on any POSIX system (it was first written in [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)), but is now written in [Bourne shell](https://en.wikipedia.org/wiki/Bourne_shell)). That being said, every specific distro software support needs to be added one by one in the sub commands. |
96 | | -* Root/sudo access is required. |
97 | | -* [Systemd](https://systemd.io/) is highly recommanded to benefit all the automations. |
98 | | -* Bashpack will automatically update itself ([Systemd](https://systemd.io/) installations only). |
99 | | -* [fwupd](https://github.com/fwupd/fwupd) is installed only if your system is bare-metal (only [Systemd](https://systemd.io/) installations can detect it). |
100 | | -* Multiple repositories exists. For production usage, only the [main](https://github.com/bashpack-project/bashpack) one should be used. |
101 | | -* Just a funny command: bp man |
| 80 | + |
| 81 | +- **POSIX Compatibility**: Bashpack is POSIX-compliant, meaning it can be installed on any POSIX system. It was first written in [Bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)), but is now written in [Bourne shell](https://en.wikipedia.org/wiki/Bourne_shell). That being said, every specific distro software support needs to be added one by one in the subcommands. |
| 82 | +- **Root Access**: Root/sudo access is required for installation and most operations. |
| 83 | +- **Automatic Updates**: Bashpack can automatically update itself. |
| 84 | +- **Repositories**: Multiple repositories exist; for production usage, only the main one should be used. |
| 85 | + |
| 86 | + |
| 87 | +## License |
| 88 | + |
| 89 | +This project is licensed under the MIT License. See the [LICENSE](https://github.com/bashpack-project/bashpack/blob/main/LICENSE.md) file for details. |
| 90 | + |
| 91 | + |
| 92 | +## Links |
| 93 | + |
| 94 | +- [Homepage](https://bashpack-project.github.io/) |
| 95 | +- [Main Repository](https://github.com/bashpack-project/bashpack) |
0 commit comments