aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/background/run-ocr.ts18
-rw-r--r--src/scripts/login/index.ts3
2 files changed, 14 insertions, 7 deletions
diff --git a/src/background/run-ocr.ts b/src/background/run-ocr.ts
index d61e71a..f6d1339 100644
--- a/src/background/run-ocr.ts
+++ b/src/background/run-ocr.ts
@@ -1,7 +1,15 @@
-chrome.runtime.onMessage.addListener(async (message, sender, sendResponse) => {
- if (message.type === "ping") {
- console.log("Received ping from content script");
- console.log(message.data);
- sendResponse({ text: "pong" });
+import Tesseract from "tesseract.js";
+
+chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
+ if (message.type === "OCR") {
+ (async () => {
+ const { data: { text, confidence } } = await Tesseract.recognize(message.dataURL, "eng+osd", {
+ logger: m => console.log(m),
+ });
+ sendResponse({ text, confidence });
+ })();
+ return true;
}
+
+ return false;
});
diff --git a/src/scripts/login/index.ts b/src/scripts/login/index.ts
index dacc90a..b7e0a73 100644
--- a/src/scripts/login/index.ts
+++ b/src/scripts/login/index.ts
@@ -1,4 +1,3 @@
-import Tesseract from "tesseract.js";
import { interceptPost, interceptGet } from "@/shared/intercept-jquery-ajax";
function prepareCaptcha(ctx: CanvasRenderingContext2D, width: number, height: number) {
@@ -84,7 +83,7 @@ const observer = new MutationObserver((mutationsList, obs) => {
prepareCaptcha(ctx, canvas.width, canvas.height);
canvas.style.display = "";
const dataURL = canvas.toDataURL("image/png");
- chrome.runtime.sendMessage({ type: "ping", data: "hello background" }).then(console.log);
+ chrome.runtime.sendMessage({ type: "OCR", dataURL }, console.log);
// TODO: Perform OCR
// window.postMessage({
// type: "RUN_OCR",