blob: ae46b6a98f617a3e48e662c3884c6c05fcb651b2 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# Hydrilla&Haketilo
Haketilo is a tool to modify pages being opened in a web browser. It can block
pages' scripts and optionally inject user-specified ones.
Haketilo started as a browser extension (a WebExtension) with a dedicated user
scripts repository server, Hydrilla. It has since been rewritten as an HTTP
proxy. This repository contains the Python code of Hydrilla and Haketilo.
## Installation and running
Head on to the relevant [wiki
article](https://hydrillabugs.koszko.org/projects/haketilo/wiki/User_manual) for
usage instructions for casual users.
## Hacking
At the moment the recommended method of hacking Haketilo and Hydrilla's codebase
is through the [GNU Guix](https://guix.gnu.org/) package manager.
A Guix version of at least 1.1.0 is expected. Most development tasks have been
automated through Makefile. Rules use the `guix time-machine` command under the
hood to pull and run a fixed Guix version that is known to work with the
code. The most important make rules are described below.
### `make wheel`
Builds the project and put a source tarbal and a Python wheel under `dist/`.
### `make dist`
Generates a source tarbal under `dist/`.
### `make release`
Produces a standalone, relocatable, binary release tarball that should work on
most GNU/Linux systems. The tarball is written as
`./haketilo-and-hydrilla-bin-<VERSION>-<ARCHITECTURE>.tar.gz`.
### `make shell`
Spawns a development shell with project's all dependencies and dev dependencies
available.
### `make shell-with-haketilo`
Spawns a shell with Haketilo and Hydrilla built and available by means of a Guix
profile.
### `make catalogs`
Rebuilds GNU gettext message catalogs used for localization.
### `make refresh-catalogs`
Extracts messages form source files, refreshes the GNU gettext message catalog
source files and rebuilds the catalogs.
### `make test`
Runs the automated test suite.
### `make run-haketilo`
Runs `haketilo` program from sources.
### `make clean`
Removes generated files.
## Contributing, asking for help, giving feedback, reporting bugs
Development occurs on
[our issue tracker](https://hydrillabugs.koszko.org/projects/haketilo). You can
also write directly to [Wojtek](mailto:koszko@koszko.org) if you prefer.
## Copying
Hydrilla is Copyright (C) 2021-2022 Wojtek Kosior and contributors, entirely available under the GNU Affero General Public License version 3 or later. Some files might also give you broader permissions, see comments inside them.
*I, Wojtek Kosior, thereby promise not to sue for violation of this project's license. Although I request that you do not make use of this code in a proprietary program, I am not going to enforce this in court.*
|