WebVault is a Flask-based web application for archiving websites. Users can save websites, manage versions, and generate websites as PDFs.
- π User login and registration.
- π Adding and saving URLs.
- π Downloading and saving websites.
- π Website versioning.
- π Overview page with all archived URLs.
- π₯οΈ Browsing archived websites.
- π Saving websites as PDFs.
WebVault/
β
βββ app/
β βββ static/
β β βββ script.js
β βββ templates/
β β βββ base.html
β β βββ index.html
β β βββ login.html
β β βββ register.html
β β βββ dashboard.html
β β βββ website_view.html
β βββ __init__.py
β βββ models.py
β βββ routes.py
β βββ utils.py
βββ archived_websites/
βββ config.py
βββ requirements.txt
βββ run.py
app/__init__.py
: Initializes the Flask app and configures the database.app/models.py
: Defines the database models.app/routes.py
: Defines the routes and views.app/utils.py
: Helper functions for downloading and saving websites.app/templates/
: HTML templates for the user interface.
- Responsive layout using Bootstrap 5.3.
- Adjustments for mobile screens.
- Color scheme: Matte green with dark background.
- Flask
- Flask-SQLAlchemy
- Flask-Login
- requests
- beautifulsoup4
- WeasyPrint
- Install MSYS2 from the MSYS2 website.
- Execute the following commands in the MSYS2 console:
pacman -Syu pacman -S mingw-w64-x86_64-gtk3
- Add
C:\msys64\mingw64\bin
to yourPATH
. - Install the required Python libraries:
pip install -r requirements.txt
Follow these steps to set up WebVault on a Linux system:
-
Install Dependencies:
- First, ensure that you have Python and pip installed. You can install them using your package manager. For Ubuntu, you might use:
sudo apt update sudo apt install python3 python3-pip
- Install GTK for WeasyPrint:
sudo apt install libgirepository1.0-dev gcc libcairo2-dev pkg-config python3-dev gir1.2-gtk-3.0
- First, ensure that you have Python and pip installed. You can install them using your package manager. For Ubuntu, you might use:
-
Clone the Repository:
- Clone the WebVault repository from GitHub:
git clone https://github.com/tilltmk/webvault cd webvault
- Clone the WebVault repository from GitHub:
-
Setup a Python Virtual Environment (recommended):
- Create and activate a virtual environment:
python3 -m venv venv source venv/bin/activate
- Create and activate a virtual environment:
-
Install Python Dependencies:
- Install the required Python packages using pip:
pip install -r requirements.txt
- Install the required Python packages using pip:
-
Configure Environment Variables:
- Set up necessary environment variables, such as
FLASK_APP
andFLASK_ENV
, and any other configurations specific to your setup.
- Set up necessary environment variables, such as
-
Initialize the Database:
- Run the initialization script provided in the repository to set up your database schemas:
python run.py init_db
- Run the initialization script provided in the repository to set up your database schemas:
-
Run the Application:
- Start the Flask application:
flask run
- Start the Flask application:
Visit http://localhost:5000
in your web browser to start using WebVault.