Skip to content

Instantly share code, notes, and snippets.

View HiFiPhile's full-sized avatar

Zixun LI HiFiPhile

  • Lyon, France
View GitHub Profile
@HiFiPhile
HiFiPhile / main.c
Last active May 12, 2024 14:38
TinyUSB uac2_speaker_fb minimal example on STM32F723E-DISCO
/*
* The MIT License (MIT)
*
* Copyright (c) 2020 Jerzy Kasenberg
* Copyright (c) 2023 HiFiPhile
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
@theprojectsomething
theprojectsomething / An Ubuntu WiFi Secure Captive Portal.md
Last active July 11, 2025 14:03
Guide: An Ubuntu WiFi Secure Captive Portal: Network Manager / DNSMasq / HA Proxy / Let's Encrypt

An Ubuntu WiFi Secure Captive Portal

Improvements, suggestions & fixes are welcome!

Captive portals can be a pain. Here's an opinionated and no-doubt entirely imperfect guide to setting one up for a WiFi access point on Ubuntu (tested on 20+), utilising Network Manager, DNSMasq, HA Proxy and (optionally) Let's Encrypt for a secure, locally hosted landing page.

_Note: This setup was originally designed for an offline WLAN, providing access to a small number of locally hosted domains ... think the WiFi media portal on a flight or boat. If you are looking to provide internet access behind a captive portal then this guide won't get you all the way there. That said, many routers have this capability built in, as do any number of open source router firmware solutions. So you probably don't need to roll your own. If you'd like to try anyway, Ha Proxy Stick Tables would probably come in handy. Very happy to update the guide with any p

@nickdiego
nickdiego / 999-kernel-efi-copy.hook
Created December 17, 2018 06:33
efi-hooks-arch
# /etc/pacman.d/hooks/999-kernel-efi-copy.hook
[Trigger]
Type = File
Operation = Install
Operation = Upgrade
Target = boot/vmlinuz*
Target = usr/lib/initcpio/*
Target = boot/*-ucode.img
[Action]