git.sophuwu.com > manweb
Golang HTTP service to allow users to search linux manual in their own system, with wildcards or regex (name + page summary), then convert to a dark themed html page with hyperlinks to named pages.
Clone this repository git clone https://git.sophuwu.com/manweb

Man Web

A Service to show man pages on the web. It allows for easy viewing and advanced searching of man pages in a web browser. It uses the current system’s manpages, so you will always have the correct documentation to all the commands and libraries installed on your system.

Written in GoLang, so the only dependencies are man and mandoc packages. To use tldr, git will be required to download the tldr pages.

Features

Installation Using Apt

Simply run the following commands to add my repository and install the package. This will install the latest release and automatically update the server when new versions are released. This will also make the server available as a systemd service, and start it automatically.

You can read addrepo.sh.txt in your browser.

curl https://cdn.sophuwu.com/deb/addrepo.sh | sudo sh
sudo apt install manweb

Compiling From Source

Dependencies

To compile the binary, the go compiler is required go.dev, make is recommended for compilation.

The following packages are required * mandoc * make * git - Optional, for tldr support

sudo apt install mandoc make git

The go compiler is required to compile * go.dev.

Compiling The Binary

git clone "https://git.sophuwu.com/manweb"
cd manweb

# build binary
make build
make install_bin

Using As Systemd Service:

If you used the installer script, the service will be automatically installed. You just need to enable it.

sudo systemctl daemon-reload
sudo systemctl enable manweb
sudo systemctl start manweb

Configuring The Server

The server can be configured by editing the /etc/manweb/manweb.conf file. Simply set the options how you like, and restart the service.

sudo nano /etc/manweb/manweb.conf
sudo systemctl restart manweb

Setting A Password

To set a password for the web interface, you must enable the require_auth option in /etc/manweb/manweb.conf. Generally, there is no need to change the auth_file option.

Once you have enabled require_auth, you can set a password manweb-passwd while the service is not running.

sudo systemctl stop manweb
sudo manweb-passwd username
sudo systemctl start manweb

The manweb-passwd command will prompt you for a password. If you enter a password, it will be set for the specified user. If you leave the password blank, it will remove the user from the authentication database.

If you set the require_auth option to no, the server will ignore the authentication database and allow access to the web interface without a password. This is the default behavior. ‘

Accessing the Web Interface

If you have installled the service and are running with default settings, you should be able to access the web interface on http://localhost:8082. By default, the web interface binds to 0.0.0.0:8082.

Accessibility Options

Searching

Regex and wildcards are supported in the search bar. You can also filter by section, or page function.

License

MIT License

Help and Support

I don’t know how this git pull thing works. I will try if I see any issues. I’ve never collaborated on code before. If you have any suggestions, or questions about anything I’ve written, I would be happy to hear your thoughts.
contant info: * discord: @sophuwu * email: sophie@sophuwu.com

Gallery

Video of Navigation