From fd124c828dc692c81354a196865c67b368193923 Mon Sep 17 00:00:00 2001
From: Bommels05 <69975756+Bommels05@users.noreply.github.com>
Date: Fri, 17 Apr 2026 18:03:04 +0200
Subject: [PATCH] HTTP Proxy & More
---
build.gradle | 2 +
.../bommels05/befatorweb/BefatorRewriter.java | 54 +++++---
.../de/bommels05/befatorweb/BefatorWeb.java | 119 ++++++++++++------
.../de/bommels05/befatorweb/SavedPaged.java | 2 +-
.../de/bommels05/befatorweb/SiteCache.java | 17 ++-
.../befatorweb/links/LinkDatabase.java | 31 +++--
6 files changed, 148 insertions(+), 77 deletions(-)
diff --git a/build.gradle b/build.gradle
index b99c068..563cf06 100644
--- a/build.gradle
+++ b/build.gradle
@@ -21,6 +21,8 @@ dependencies {
implementation("com.google.code.gson:gson:2.10.1")
implementation("com.github.ben-manes.caffeine:caffeine:3.2.2")
implementation("org.jsoup:jsoup:1.21.1")
+ implementation("org.graphstream:gs-core:2.0")
+ implementation("org.graphstream:gs-ui-swing:2.0")
implementation("it.uniroma1.dis.wsngroup.gexf4j:gexf4j:1.0.0")
diff --git a/src/main/java/de/bommels05/befatorweb/BefatorRewriter.java b/src/main/java/de/bommels05/befatorweb/BefatorRewriter.java
index 3d0de45..8ebaf53 100644
--- a/src/main/java/de/bommels05/befatorweb/BefatorRewriter.java
+++ b/src/main/java/de/bommels05/befatorweb/BefatorRewriter.java
@@ -9,6 +9,8 @@ import org.jsoup.select.Elements;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets;
import java.util.function.Consumer;
import java.util.regex.Matcher;
@@ -35,7 +37,7 @@ public class BefatorRewriter {
if (href != null) {
Attribute rel = link.attribute("rel");
if (rel != null) {
- String newLink = rewriteLink(href.getValue());
+ String newLink = rewriteLink(href.getValue(), url);
if (rel.getValue().equalsIgnoreCase("stylesheet")) {
LOGGER.info("Rewriting Stylesheet Link: {} -> {}", href.getValue(), newLink);
href.setValue(newLink);
@@ -56,7 +58,7 @@ public class BefatorRewriter {
if (type != null) {
if (type.getValue().equalsIgnoreCase("refresh")) {
String link = content.getValue().substring(content.getValue().indexOf("=") + 1);
- String newLink = rewriteLink(link);
+ String newLink = rewriteLink(link, url);
LOGGER.info("Rewriting refresh Link: {} -> {}", link, newLink);
content.setValue(content.getValue().replaceFirst(link, newLink));
}
@@ -68,7 +70,7 @@ public class BefatorRewriter {
for (Element base : bases) {
Attribute href = base.attribute("href");
if (href != null) {
- String newLink = rewriteLink(href.getValue());
+ String newLink = rewriteLink(href.getValue(), url);
LOGGER.info("Rewriting Link: {} -> {}", href.getValue(), newLink);
href.setValue(newLink);
}
@@ -78,7 +80,7 @@ public class BefatorRewriter {
for (Element script : scripts) {
Attribute src = script.attribute("src");
if (src != null) {
- String newLink = rewriteLink(src.getValue());
+ String newLink = rewriteLink(src.getValue(), url);
LOGGER.info("Rewriting