Skip to content

Commit d35314d

Browse files
authored
3.0.0
3.0.0
2 parents a024d25 + e235381 commit d35314d

File tree

12 files changed

+1777
-1322
lines changed

12 files changed

+1777
-1322
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
LICENSE.md
1+
LICENSE.md
2+
commands

CHANGELOG.md

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,37 @@
1-
# Bashpack changes
1+
# Changes
22

33
The released versions changelogs below are only about the main repository.
44

5+
### 3.0.0
6+
*2025/02/21*
7+
8+
##### Added
9+
- The CLI can now be installed offline by itself
10+
- Anyone can now host a repository for its own subcommands (edit sourceslist option from the configuration directory)
11+
- Anyone can now host a repository for its own CLI (edit cli_url option from the configuration file)
12+
- Repositories are compatibles with Github, but can also be simple directories listing web servers
13+
- Documentation website at https://bashpack-project.github.io
14+
- Subcommand template is available with the option "-n'
15+
16+
##### Modified
17+
- The CLI has been redesigned has a "script manager", to download/install/run/remove scripts as subcommands
18+
- The CLI helper can now easily create an automation from a simple function that allow to automatically run a subcommand on the system (systemd only for now)
19+
- When creating subcommands, the function "init_command()" can be used to run any requirements on the system (create automation, file etc... or anything else)
20+
- Subcommands provided from this repository has moved to the [commands repository](https://github.com/bashpack-project/commands)
21+
- Subcommands "update" and "install" are now merged in the "package" subcommand
22+
- Subcommand "verify" option "-c/--commands" replaced by "-d/--dependencies"
23+
- Publication system has been removed and replaced by the configuration option "cli_url"
24+
25+
##### Fixed
26+
- Subcommand "firewall" restoration option wasn't able to read the given file name
27+
28+
------------
529
### 2.0.0
630
*2024/11/19*
731
##### Added
832
- Log support in /var/log/bashpack/ and "--get-logs" option
9-
- Sub command "update" support of DNF (and YUM fallback)
10-
- Sub command "firewall" for firewall management (nftables only for now)
33+
- Subcommand "update" support of DNF (and YUM fallback)
34+
- Subcommand "firewall" for firewall management (nftables only for now)
1135
- This changelog file :D
1236

1337
##### Modified
@@ -16,22 +40,22 @@ The released versions changelogs below are only about the main repository.
1640
- Self update can now be forced with "-u --force" option
1741
- Self installation improved by automatically detect the better $PATH
1842
- Self installation can now read a given publication with "-i publication_name"
19-
- Sub command "verify" is now more used in installation process
20-
- Sub command "verify" can now detect presence of required commands
43+
- Subcommand "verify" is now more used in installation process
44+
- Subcommand "verify" can now detect presence of required commands
2145
- Config file renamed from bashpack_config to bashpack.conf
2246
- Detection of systemd improved to be able to install on compatible systems only
2347
- Detection of pkg-config improved to be able to install on compatible systems only
2448
- Moving sources from /usr/local/src/ to /opt/
2549

2650
##### Removed
27-
- Sub command "verify" download/extraction
51+
- Subcommand "verify" download/extraction
2852

2953
------------
3054
### 1.1.1
3155
*2024/10/06*
3256
##### Added
33-
- Sub command "verify" now replaces command option "-t"
34-
- Sub command "verify" can now test repository reachability and test releases download/extraction
57+
- Subcommand "verify" now replaces command option "-t"
58+
- Subcommand "verify" can now test repository reachability and test releases download/extraction
3559

3660
##### Modified
3761
- Self update is now taking in account the configuration file and the user custom values

README.md

Lines changed: 54 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,95 @@
11
# Bashpack
22

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.
44

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.
68

7-
<br>
89

910
## 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)
1711

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+
2117

22-
<br>
18+
## Quick Start
2319

20+
To manage your Bashpack installation, copy/paste the following command blocks into your Linux terminal.
2421

25-
## Quick start
26-
Copy/paste the following command blocks on your Linux terminal to manage your Bashpack installation.
22+
### Install
2723

28-
**Install**
29-
```javascript
24+
```sh
3025
curl -sL https://raw.githubusercontent.com/bashpack-project/bashpack/main/bashpack.sh -o bashpack.sh \
3126
&& chmod +x bashpack.sh \
3227
&& sudo ./bashpack.sh -i \
3328
&& rm bashpack.sh
3429
```
3530

36-
**Update**
37-
```javascript
31+
### Update
32+
33+
```sh
3834
sudo bp -u
3935
```
4036

41-
**Uninstall**
42-
```javascript
37+
### Uninstall
38+
39+
```sh
4340
sudo bp --self-delete
4441
```
4542

46-
<br>
43+
### Usage
4744

48-
## Usage
49-
**Commands & options** are listed with the command:
50-
```javascript
45+
```sh
5146
bp --help
5247
```
5348

54-
<br>
49+
### Subcommand management
5550

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>
6254
```
6355

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>
6759
```
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
7164
```
7265

73-
<br>
66+
## Configuration
7467

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.
7569

76-
#### Secured Linux firewall
77-
**Install** a ruleset
78-
```javascript
79-
sudo bp firewall -i
80-
```
70+
## Logs
8171

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:
8673

87-
**Disable** the firewall
88-
```javascript
89-
sudo bp firewall --disable
74+
```sh
75+
sudo bp --logs
9076
```
9177

92-
<br>
9378

9479
## 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

Comments
 (0)