lariza
-we_adblock.so
+*.so
darkreader.js
*.1
*.5
\ No newline at end of file
mandir = $(datarootdir)/man/man1
datadir = $(prefix)/share
-.PHONY: man lariza we_adblock.so clean uninstall install
+.PHONY: man lariza extensions clean uninstall install
-all: man lariza we_adblock.so darkreader
+all: man lariza extensions darkreader
man:
for i in man1/*.scd; do \
-o $@ $< \
`pkg-config --cflags --libs gtk+-3.0 glib-2.0 webkit2gtk-4.0`
-we_adblock.so: we_adblock.c
- $(CC) $(CFLAGS) $(LDFLAGS) \
- -D__NAME__=\"lariza\" \
- -D__NAME_UPPERCASE__=\"LARIZA\" \
- -shared -o $@ -fPIC $< \
- `pkg-config --cflags --libs glib-2.0 webkit2gtk-4.0`
+extensions:
+ for i in extensions/*.c; do \
+ outp=$$(echo "$$i" | sed 's/\$\.c/.so/g'); \
+ $(CC) $(CFLAGS) $(LDFLAGS) \
+ -D__NAME__=\"lariza\" \
+ -D__NAME_UPPERCASE__=\"LARIZA\" \
+ -shared -o $$outp -fPIC $$i \
+ `pkg-config --cflags --libs glib-2.0 webkit2gtk-4.0`; \
+ done
install: all
mkdir -p $(DESTDIR)$(bindir) \
$(DESTDIR)$(datadir)/lariza/user-scripts
cp lariza $(DESTDIR)$(bindir)/lariza
- cp we_adblock.so $(DESTDIR)$(libdir)/lariza/web_extensions/we_adblock.so
cp man1/* $(DESTDIR)$(mandir)/
cp lariza.ini $(DESTDIR)/etc/lariza.ini
+ cp -r extensions/*.so $(DESTDIR)$(libdir)/lariza/web_extensions/
cp -r user-scripts/* $(DESTDIR)$(datadir)/lariza/user-scripts/
uninstall:
--- /dev/null
+#include <stdio.h>
+
+#include <glib.h>
+#include <webkit2/webkit-web-extension.h>
+
+
+GSList *adblock_patterns = NULL;
+
+
+void
+adblock_load(void)
+{
+ GRegex *re = NULL;
+ GError *err = NULL;
+ GIOChannel *channel = NULL;
+ gchar *path = NULL, *buf = NULL;
+
+ path = g_build_filename(g_get_user_config_dir(), __NAME__, "adblock",
+ NULL);
+ channel = g_io_channel_new_file(path, "r", &err);
+ if (channel != NULL)
+ {
+ while (g_io_channel_read_line(channel, &buf, NULL, NULL, NULL)
+ == G_IO_STATUS_NORMAL)
+ {
+ g_strstrip(buf);
+ if (buf[0] != '#')
+ {
+ re = g_regex_new(buf,
+ G_REGEX_CASELESS | G_REGEX_OPTIMIZE,
+ G_REGEX_MATCH_PARTIAL, &err);
+ if (err != NULL)
+ {
+ fprintf(stderr, __NAME__": Could not compile regex: %s\n", buf);
+ g_error_free(err);
+ err = NULL;
+ }
+ else
+ adblock_patterns = g_slist_append(adblock_patterns, re);
+ }
+ g_free(buf);
+ }
+ g_io_channel_shutdown(channel, FALSE, NULL);
+ }
+ g_free(path);
+}
+
+gboolean
+web_page_send_request(WebKitWebPage *web_page, WebKitURIRequest *request,
+ WebKitURIResponse *redirected_response, gpointer user_data)
+{
+ GSList *it = adblock_patterns;
+ const gchar *uri;
+
+ uri = webkit_uri_request_get_uri(request);
+
+ while (it)
+ {
+ if (g_regex_match((GRegex *)(it->data), uri, 0, NULL))
+ return TRUE;
+ it = g_slist_next(it);
+ }
+
+ return FALSE;
+}
+
+void
+web_page_created_callback(WebKitWebExtension *extension, WebKitWebPage *web_page,
+ gpointer user_data)
+{
+ g_signal_connect_object(web_page, "send-request",
+ G_CALLBACK(web_page_send_request), NULL, 0);
+}
+
+G_MODULE_EXPORT void
+webkit_web_extension_initialize(WebKitWebExtension *extension)
+{
+ adblock_load();
+ g_signal_connect(extension, "page-created",
+ G_CALLBACK(web_page_created_callback), NULL);
+}
+++ /dev/null
-#include <stdio.h>
-
-#include <glib.h>
-#include <webkit2/webkit-web-extension.h>
-
-
-GSList *adblock_patterns = NULL;
-
-
-void
-adblock_load(void)
-{
- GRegex *re = NULL;
- GError *err = NULL;
- GIOChannel *channel = NULL;
- gchar *path = NULL, *buf = NULL;
-
- path = g_build_filename(g_get_user_config_dir(), __NAME__, "adblock",
- NULL);
- channel = g_io_channel_new_file(path, "r", &err);
- if (channel != NULL)
- {
- while (g_io_channel_read_line(channel, &buf, NULL, NULL, NULL)
- == G_IO_STATUS_NORMAL)
- {
- g_strstrip(buf);
- if (buf[0] != '#')
- {
- re = g_regex_new(buf,
- G_REGEX_CASELESS | G_REGEX_OPTIMIZE,
- G_REGEX_MATCH_PARTIAL, &err);
- if (err != NULL)
- {
- fprintf(stderr, __NAME__": Could not compile regex: %s\n", buf);
- g_error_free(err);
- err = NULL;
- }
- else
- adblock_patterns = g_slist_append(adblock_patterns, re);
- }
- g_free(buf);
- }
- g_io_channel_shutdown(channel, FALSE, NULL);
- }
- g_free(path);
-}
-
-gboolean
-web_page_send_request(WebKitWebPage *web_page, WebKitURIRequest *request,
- WebKitURIResponse *redirected_response, gpointer user_data)
-{
- GSList *it = adblock_patterns;
- const gchar *uri;
-
- uri = webkit_uri_request_get_uri(request);
-
- while (it)
- {
- if (g_regex_match((GRegex *)(it->data), uri, 0, NULL))
- return TRUE;
- it = g_slist_next(it);
- }
-
- return FALSE;
-}
-
-void
-web_page_created_callback(WebKitWebExtension *extension, WebKitWebPage *web_page,
- gpointer user_data)
-{
- g_signal_connect_object(web_page, "send-request",
- G_CALLBACK(web_page_send_request), NULL, 0);
-}
-
-G_MODULE_EXPORT void
-webkit_web_extension_initialize(WebKitWebExtension *extension)
-{
- adblock_load();
- g_signal_connect(extension, "page-created",
- G_CALLBACK(web_page_created_callback), NULL);
-}