This is Tornevall Networks main portal

Welcome to the primary portal of Tornevall Networks. This is where information are posted - and the forum can be found. If you're looking for our API configuration portal, take a look at the TorneAUTHv4 site.

What’s going on?

Tools Connector Framework – What’s coming

We are building a centralized connector framework for Tools. The goal is simple: make integrations reusable, secure and easier to extend. Instead of every service having its own custom integration, Tools will provide a common framework where connectors can be added and managed consistently.

The first AI connectors will be:

  • OpenAI Connector (Present)
  • Microsoft Connector (Entra / Copilot, hopefully upcoming)

Future connectors will expand into areas such as

  • Social platforms
  • Messaging services
  • External APIs
  • Enterprise integrations

Each connector will have a standardized way of handling

  • Authentication
  • Permissions
  • Configuration
  • Logging
  • API access

The foundation will support both internal services and user-owned integrations, where users can connect their own accounts and manage their own permissions.

The goal is to create an IFTTT-like integration layer, but built around something else where we keep expensive services separated from things that can be offered for free, AI services and enterprise authentication.

Cloud migration diagram showing data moving from a legacy server stack to a modern cloud platform

We’re working on an upgrade

ToolsAPI is currently undergoing one of its larger platform upgrades.

The project has been running on Laravel 8 for several years. That version has long since reached the end of its official support lifecycle, while Laravel itself has continued through several major generations.

We’re therefore moving ToolsAPI directly from Laravel 8 to Laravel 13, the current generation of the framework.

This is significantly more than a version number change. The work includes updating and replacing dependencies, modernizing older application code, adjusting integrations, improving compatibility with current PHP versions and rebuilding parts of the test suite around the newer framework.

Security maintenance is naturally part of this work as well. Moving back onto a currently supported framework gives ToolsAPI access to ongoing upstream maintenance and security updates instead of relying on an obsolete framework generation.

The migration is being performed and tested in stages before it reaches the production environment. Existing ToolsAPI services are expected to remain available while that work continues.

AI image editor interface with a futuristic landscape preview and generation progress at 72%

AI image generation is now live in Tools

Tools now has a working image-generation feature that is already in use and confirmed through the X-bot flow. It can generate images directly in Tools and store them in the project’s image archive for reuse in later workflows.

This is a practical feature for quick visual drafts, concept images, and supporting material without leaving the Tools environment.

Real use, not only a preview

The feature is not just a test setup. It is live and working in the current Tools setup, with generated images handled as background jobs so the request does not block the rest of the work.

That makes the feature useful both for normal web/API use and for X-bot-driven flows where an image is part of the response or follow-up content.

Easier to reuse and keep track of

Generated images can be saved in the built-in image archive and reused later, which helps when a concept or draft needs to be refined or referenced again. This makes the feature more useful than a one-off generation request.

Fair usage and responsible availability

AI image generation has a real cost per request. Access is therefore still managed with sensible limits and abuse protection so the service remains available for real users instead of being consumed by a single heavy script or workflow.

Support the project

Tools is kept available as a public service, but servers and AI usage still cost money. If you want to help keep the more expensive features running, donations and recurring support are very welcome.

Support the project through Ko-fi:

https://ko-fi.com/tornevall

Let’s Encrypt, DNS, job searching and the growing “put everything in Tools” toolbox

ToolsAPI started as my personal toolbox: a place for utilities I knew I would actually use myself. That idea still exists. It has just developed a slight case of “THIS SHOULD PROBABLY GO INTO TOOLS TOO”.

What began with technical helpers is turning into a much broader collection of services for infrastructure, automation and ordinary everyday problems. The direction is starting to resemble the IFTTT-like integration platform I have also been exploring: different services, triggers and actions gradually meeting in the same place.

ToolsAPI now includes certificate distribution, DNS administration, assisted job searching and personal reminder services. These are quite different problems, but most of them have entered Tools for the same reason: I ran into something repetitive, awkward or easy to forget and thought, “I can probably automate that.”

Let’s Encrypt certificates in one place

One of the latest additions is central Let’s Encrypt certificate management.

Certificates created by Certbot can be published to Tools after issuance or renewal. Tools validates the certificate material, stores it privately and associates it with the account that should have access to it. The latest PEM bundle can then be downloaded manually or fetched automatically from another server using a protected token.

This is useful when the machine issuing a certificate is not the same machine that needs to use it. Tools can act as a small distribution point between Certbot, servers and the people responsible for the certificate.

Certificates keep the same public UUID across renewals, while access tokens can be rotated separately when needed. The interface also shows the domains included in a certificate, its current status, expiry and latest upload.

In other words: Certbot can keep doing what Certbot is good at, while Tools handles the “now how do I safely get this certificate over there?” part.

DNS administration is connected to certificate access

The certificate service is also connected to the DNS editor.

An enabled certificate assigned to a user can grant access to the matching DNS zone, so the same domain does not need a separate DNS permission entry just to be managed by the certificate owner.

The DNS editor itself makes it possible to work with zones and records from the web interface instead of editing zone files by hand. Access can be delegated per user, records can be searched and updated, and the same interface can work with zones backed by an external provider such as Cloudflare.

For locally managed zones, Tools can use cached zone data and refresh it from the authoritative source when needed. The API exposes the same basic operations for integrations and automation.

DNS is one of those things that works beautifully right up until the exact moment when you urgently need to change something. Having the records, permissions and certificate relationship visible in one place makes that considerably less entertaining.

A job search agent that can keep looking

Job hunting is another repetitive workflow that somehow found its way into the same toolbox.

The Job Search agent works from a personal search profile describing locations, types of work, keywords, exclusions and additional instructions. It searches for current listings on the web and performs additional checks on the result pages before they are accepted.

The service is intended to reduce repeated searching and cut down on listings that are already gone or clearly irrelevant.

Results can be reviewed in Tools, and unwanted listings can be dismissed so the same result is not repeatedly presented to the same account. Scheduled searches can reuse the profile and continue looking for new opportunities over time.

AI is used to help search, sort and compare results. The person using the service decides which listings are worth reading or applying for.

The basic idea is fairly simple: if finding a job is already work, there is no particular reason to manually redo exactly the same search every morning.

As a parent, I also wanted a simpler menstrual reminder

Then there are features that are considerably less server-shaped.

As a parent, keeping track of dates and remembering when the next period may be approaching is the kind of recurring everyday task where a small reminder can genuinely help. So, naturally, that ended up in Tools too.

The menstrual tracking service allows period starts to be registered and used to build a cycle history. From that history, Tools can show information such as average cycle length, the latest registered start and an estimated next start.

Optional SMS reminders can be enabled a selected number of days before that estimate. Accounts can also be linked so the same reminder can be sent to a parent. The menstrual profile belongs to the person being tracked, and delivery to each recipient is handled separately.

The service can also be used without SMS as a personal history of registered cycles.

It is probably not the first feature people expect to find next to DNS and Let’s Encrypt certificates, but that is increasingly the point of Tools: useful things do not always belong to the same category before they become useful together.

The toolbox is getting suspiciously large

There is still a personal-toolbox idea at the core of ToolsAPI. I tend to build things because I have an actual use for them, or because someone close to the project has a concrete problem worth solving.

The difference now is that the boundary has become much wider. Infrastructure tools can connect to account permissions. Certificates can connect to DNS. Search agents can run scheduled work. Reminder services can react to dates and user settings.

That is also why the IFTTT-like direction is interesting. Instead of treating every feature as an isolated application, more of Tools can eventually become reusable building blocks: something happens here, which triggers something useful over there.

At the current rate, the technical design principle may eventually just become: “Fine. Put it in Tools.”

ToolsAPI is actively developed, and suggestions are useful while this slightly overenthusiastic toolbox continues to grow. If something is missing, awkward or unnecessarily complicated, feedback and improvement ideas are welcome.

Jobbsökningsagenten som hjälper dig att leta efter rätt jobb

Att leta jobb kan lätt bli ett eget heltidsjobb. Samma sökningar ska göras om och om igen, annonser ska öppnas, arbetsgivare jämföras och gamla träffar sorteras bort. Därför finns Job Search i Tools – en personlig jobbsökningsagent som gör en stor del av det återkommande letandet åt dig.

Tanken är inte att agenten ska välja jobb åt dig. Den ska hjälpa dig att hitta sådant som faktiskt verkar relevant, så att du kan lägga mer tid på de annonser som är värda att läsa och mindre tid på att upprepa samma sökningar.

Du beskriver vad du letar efter

I Job Search bygger du upp en egen sökprofil. Där kan du tala om exempelvis vilka orter du är intresserad av, vilka typer av jobb du söker, vilka ord eller områden som är viktiga och sådant du helst vill slippa få träffar på. Det går också att ge agenten egna instruktioner. En sökning kan därför vara betydligt mer personlig än en vanlig lista med några nyckelord.

Du kanske söker arbetsledande jobb inom grönytor i nordvästra Skåne, men även kan tänka dig lager eller butik. Eller så är distansarbete intressant, medan vissa typer av tjänster inte alls är det. Sådana skillnader kan agenten ta hänsyn till när den söker.

Agenten söker på webben åt dig

När sökningen körs använder Tools din profil för att leta efter aktuella jobb på webben.

Agenten försöker inte bara hitta sidor där några av dina sökord råkar förekomma. Den bedömer också hur väl en träff stämmer med det du faktiskt har beskrivit att du söker.

Land, orter, yrkesområden, nyckelord, undantag och dina egna instruktioner följer med som en del av sökningen.

Träffarna kontrolleras innan de visas

Jobbsajter förändras snabbt. En annons kan tas bort, flyttas eller leda till en sida som inte längre innehåller jobbet som först hittades.

Därför gör Tools en extra kontroll av träffarna innan de godkänns. Målsidan ska gå att nå och grundläggande uppgifter som jobbtitel, arbetsgivare och plats ska gå att hitta.

Det minskar mängden döda länkar och märkliga träffar som annars lätt följer med automatiserade sökningar.

Du bestämmer vad som är intressant

/job-search kan du öppna originalannonsen direkt och gå igenom de jobb agenten har hittat.

Om en annons inte är intressant kan du dölja den. Tools kommer då ihåg det för just ditt konto och försöker inte presentera samma annons för dig igen bara för att den dyker upp i en senare sökning.

Det påverkar inte andra användare. Job Search är byggd runt varje användares egen profil, historik och val.

Återkommande sökningar utan att börja om från början

En av poängerna med en agent är att du inte ska behöva göra exakt samma arbete varje dag.

Job Search kan köras återkommande och använda samma personliga sökprofil när nya jobb letas fram. När en schemalagd sökning är aktiverad kan resultatet sammanställas och skickas vidare som en rapport.

Systemet håller samtidigt reda på tidigare träffar och sådant du redan har valt bort, så att sökningen kan fortsätta där den förra slutade i stället för att hela tiden börja om från noll.

En agent som ska hjälpa – inte bestämma

Job Search använder AI och aktuell information från webben för att sortera, jämföra och kontrollera sökresultat. Det innebär inte att varje bedömning automatiskt är rätt.

Se därför agenten som ett extra par ögon. Den kan göra grovjobbet, hitta kandidater och minska mängden manuellt letande, men det är fortfarande du som avgör om ett jobb passar, om arbetsgivaren verkar intressant och om du vill söka tjänsten.

Verktyget finns på https://tools.tornevall.net

Coming up next …

Marvel Studios WandaVision15 January, 2021