Turns form data into JSON and opens a pull request. https://fediblock.org/
This repository has been archived on 2021-03-22. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2020-07-05 12:06:29 +02:00
cmake Add std::filesystem helper to CMake recipe. 2020-06-29 22:47:55 +02:00
src Add string-to-string time conversion. 2020-07-05 12:06:29 +02:00
tests Simplify CMake config by making a reusable library. 2020-07-02 06:54:54 +02:00
.clang-format Update .clang-format to clang-10. 2020-07-05 07:50:04 +02:00
.drone.yml Add pull requests via Gitea API. 2020-07-02 00:19:18 +02:00
.editorconfig Add skeleton. 2020-06-29 03:07:46 +02:00
.gitignore Add skeleton. 2020-06-29 03:07:46 +02:00
AUTHORS Add skeleton. 2020-06-29 03:07:46 +02:00
CMakeLists.txt Set required CMake version to 3.11. 2020-07-04 02:14:20 +02:00
CODE_OF_CONDUCT.adoc Add skeleton. 2020-06-29 03:07:46 +02:00
CONTRIBUTING.adoc Fix URIs in contributing guidelines. 2020-06-29 06:24:56 +02:00
CREDITS Add pull requests via Gitea API. 2020-07-02 00:19:18 +02:00
LICENSE Add skeleton. 2020-06-29 03:07:46 +02:00
README.adoc Update short description in readme. 2020-07-04 03:10:08 +02:00

fediblock-backend

fediblock-backend turns form data into JSON and opens a pull request on FediBlock/data. Also included are tools to generate a HTML list and (soon) an RSS generator.

Usage

nginx config
# […]

location /add {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass    unix:/var/run/cgi-fcgiwrap.socket-1;
    fastcgi_param SCRIPT_FILENAME /usr/bin/fediblock-backend;
    fastcgi_param HOME "/var/lib/nginx"; # When I didn't set it, HOME was /root.
}
Generate SSH key
sudo -u nginx ssh-keygen -t ed25519 -f ~nginx/.local/share/fediblock-backend/ssh_id

Dont forget to add the key to the data repo.

Generate an access token and save it in /var/lib/nginx/.local/share/fediblock-backend/gitea_access_token.

Generate HTML blocklist

After compiling, run src/generators/gen_html in your build dir. The screenshots will be copied into the target directory and the output will be the HTML file.

Example: Generate the HTML blocklist in ~/blocklist/
./src/generators/gen_html ~/blocklist > ~/blocklist/index.html

Existing screenshots will not be overwritten.

Install

From source

Dependencies

  • Tested OS: Linux

  • C++ compiler with C++17 support (tested: GCC 8/9/10, clang 7/10)

  • CMake (at least: 3.9)

  • cgicc (tested: 3.2)

  • nlohmann-json (tested: 3.7 / 2.1)

  • libgit2 with SSH support (tested: 1.0 / 0.27)

  • libcurl (at least: 7.56)

  • Optional

    • Tests: Catch (tested: 2.5 / 1.10)

    • DEB package: dpkg (tested: 1.19)

    • RPM package: rpm-build (tested: 4.11)

Get sourcecode

git clone https://schlomp.space/FediBlock/backend.git

Compile

mkdir -p build && cd build
cmake ..
cmake --build . -- --jobs=$(nproc --ignore=1)
CMake options:
  • -DCMAKE_BUILD_TYPE=Debug for a debug build.

  • -DWITH_TESTS=YES if you want to compile the tests.

  • -DWITH_CLANG-TIDY=YES to check the sourcecode with clang-tidy while compiling.

  • One of:

    • -DWITH_DEB=YES if you want to be able to generate a deb-package.

    • -DWITH_RPM=YES if you want to be able to generate an rpm-package.

To create a deb or rpm package, run make package after compiling.