Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); LouisBrunner (Louis Brunner) · GitHub
Skip to content
View LouisBrunner's full-sized avatar
🤖
🤖

Sponsors

@coke
@CrashenX
Private Sponsor

Block or report LouisBrunner

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
LouisBrunner/README.md

Hi, my name is Louis

In 2008, I learned to program for free, from a community-built website. That stuck with me: most of what I've been able to do professionally I owe to people who built things in the open and shared them freely. Contributing back has felt less like a choice and more like a debt I'm happy to keep paying.

I have 12 years of professional experience building systems at the intersection of cloud infrastructure, embedded software, and developer tooling. I'm equally at home writing low-level Rust and C, designing distributed cloud architectures in Go, or shipping developer tools or UIs in TypeScript. Along the way I've worked across robotics, IoT, compilers, DevOps, and AI, which makes for an eclectic GitHub.

Currently working as a Software Architect in AI/robotics. Open to remote consulting and contract roles: architecture, systems design, Go/Rust, developer tooling.

Software should outlast the company that made it. Local-first, user-owned data, no lock-in. Currently deep in ATProto. Watch this space.

My work

Actively developed:

  • valgrind-macos: Yearly downloadsValgrind's official macOS port has been broken for years: Mach kernel internals, Apple syscall changes, and threading differences make it genuinely hard to maintain. I keep a separate fork up to date with each macOS release. It's the only actively maintained port that supports modern macOS.
  • ha-proton-drive: Active DeploymentsHome Assistant integration to back up your instance to Proton Drive. Built an unofficial SDK while the official Proton Drive CLI was unavailable, migrated to first-party CLI once released, providing native-tier reliability and UX.
  • ha-addons: a collection of addons for Home Assistant.
  • mes-pronoms: Website a tool to help you describe your (French) pronouns.

Stable and in wide production use:

  • dnd-multi-backend: dnd-multi-backend monthly downloads / react-dnd-preview monthly downloads / dnd-multi-backend dependentsReact DnD backend adapter that unifies HTML5 and touch input from a single integration: desktop and mobile, one logic. Includes a Preview component for backends without native drag preview support. Used by Electron and Servarr.
  • checks-action: GitHub Dependents a GitHub Action used to interface with the GitHub Checks API directly from your YAML workflow, including adding annotations on files, matching the outcome of the job, etc. Used by NPM and Microsoft.
  • diff-action: GitHub dependents a GitHub Action to make diffs and publish them as GitHub Checks with automatic regression testing. Used by Traefik.
  • terraform-aws-ses-forwarder: Terraform Module a Terraform module to forward SES emails to another email, support regex-based routing.
  • avahi2dns: All times downloads a tiny DNS server which can be used to query local mDNS records through Avahi, useful to bridge musl's lack of mDNS support. Part of Alpine edge repository and documentation.

Cool tools and experiments I made:

Contributions

Here is some examples of projects I have contributed to in the past (mostly small fixes):

  • three.js (JavaScript): contributed a way to import NURBS stored in FBX files and a small improvement to LineMaterial
  • gping (Python): improved resizing behaviour, including fixing crashes
  • pi-hole (Shellscript): fixed a crontab-related crash
  • sinon (and its related fake-timers) (JavaScript): various small improvements
  • lua-intf (C++): added support for Lua 5.4
  • mockery (Go): improved support for generics
  • go-ykpiv (Go): fix compilation for ARM architecture
  • terraform-provider-auth0 (Go): fixed a crash when passing null in Terraform
  • swftools (C): improved support for some fonts
  • LIEF (Python/C++): improved support for Macho binaries
  • gorm SQLite (Go): improve parsing for CHECK/CONSTRAINT/FOREIGN KEY
  • zed GDScript (Toml): added support for gdshaderinc files
  • HA London TFL (Python): improved departures/arrivals for National Rail trains
  • Physis (Rust): added GEARSET.dat support (+ other small fixes)
  • V lang (V): reported issues and added test cases

Pinned Loading

  1. checks-actionchecks-actionPublic

    GitHub Action which wraps calls to GitHub Checks API

    TypeScript 276 64

  2. valgrind-macosvalgrind-macosPublic

    A valgrind mirror with latest macOS support

    C 1.4k 72

  3. dnd-multi-backenddnd-multi-backendPublic

    Multi Backend system for DnD Core & more

    TypeScript 210 36

  4. avahi2dnsavahi2dnsPublic

    Small DNS server which interface with avahi (perfect for Alpine Linux and musl)

    Go 53 7

  5. diff-actiondiff-actionPublic

    GitHub Action that compares two files, add tolerances, send notifications, etc

    TypeScript 14 3

  6. ha-proton-driveha-proton-drivePublic

    Proton Drive integration for Home Assistant (compatible with HACS)

    Python 39 2