haproxy
nixos
Our great sponsors
haproxy | nixos | |
---|---|---|
16 | 19 | |
4,431 | 157 | |
2.4% | - | |
9.9 | 9.3 | |
4 days ago | 7 days ago | |
C | Nix | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
haproxy
-
HAProxy is not affected by the HTTP/2 Rapid Reset Attack (CVE-2023-44487)
I wanted to try it out just now but hit a roadblock immediately - it cannot automatically obtain and maintain TLS certificates. You have to use an external client (e.g. acme.sh), set up a cron to check/renew them, and poke HAProxy to reload them if necessary. I'm way past doing this in 2023.
-
minexmr2.com updated to p2pool v3.1, monerod v0.18.2.0, and ready for Mar 18 p2pool (not monero) hardfork
I turn on 1 relatively cheap cloud server to process DNS, https and stratum connections and route them via haproxy to one of N miner servers described above.
- Update to haproxy 2.4.18 breaks WebDAV
-
HAProxy 2.7
With the recent discussions about memory safe languages, HAProxy is still surprisingly written in C [0].
-
35M Hot Dogs: Benchmarking Caddy vs. Nginx
It does not, because HAProxy does not perform any disk access at runtime and thus would be unable to persist the certificates anywhere. Disks accesses can be unpredictably slow and would block the entire thread which is not something you want when handling hundreds of thousands of requests per second.
See this issue and especially the comment from Lukas Tribus: https://github.com/haproxy/haproxy/issues/1864
Disclosure: Community contributor to HAProxy, I help maintain HAProxy's issue tracker.
-
The perils of the “real” client IP
:+1: for the effort to document this, and coordinating the disclosure with the vendors. This mainly talks about rate-limiting bypass/DoS, but if XFF is also used for audit trail logging of IP addresses and/or IP-based access lists, then the security implications can be even more severe, with falsified audit logs and bypassed security controls.
Setting up an application server behind a reverse proxy to use the "real" client IP is unfortunately very typically just a trial-and-error based process, with very little room for this kind of nuanced security-conciousness, because the configuration and exact behavior is all so non-standardized across different implementations of reverse-proxies and application servers... Typically users will just try different configuration settings until they find a combination that seems to work, and you would actually need to dig in with curl and tshark to understand the edge cases, because the documentation of the application-specific implementation is typically just one brief sentence...
Getting XFF working correctly through a complicated HTTP stack with multiple layers of nginx/haproxy/apache proxies (yes, they have different non-overlapping feature sets), custom backends implementing custom XFF handling/forwarding, and jetty/spring backends upgraded across a major version bump that changed the implementation and configuration properties related to XFF handling was insanely difficult. And of course it broke when migrating from a F5 LB to an AWS ALB, because it behaved differently for that one edge-case for an important customer... highly recommended to just override the entire XFF header with a single value at the appropriate point in your stack, if at all possible.
If just the naive leftmost-first vs rightmost-ish-with-configurable-list-of-trusted-upstream-proxies wasn't enough, then yeah, HAProxy does the thing where it adds a new 100% standards-compliant header continuation line [1] that maybe 1% of backend application developers have ever tested with. And trying to configure HAProxy to interpret the incoming XFF headers for logging/access-control ~is~/was even more weird [2].
- Ask HN: What are the best the publicly available FAMANG code repos?
nixos
-
miasma
I don't know. Have been using colorbuddy for ages now and it has always done exactly what I want. I don't need the "instant reaload" that lush advertices, doing :source on the colorscheme file, does the same for me to preview changes instantly. This is my theme, in case you need something to start with: - https://github.com/pinpox/nixos/blob/main/home-manager/modules/nvim/lua/config/pinpox-colors.lua
-
Looking for a transfer tool for command line
I use this to serve a directory temporarily.
-
Bluetooth headphones problem
I can't remember why I put that workaround in there, might not be needed any more. The above config is part of my dotfiles, I use my Bose blueutooth headphones by connecting them via the blueman-applet if the don't pair automatically
-
NixOS for selfhosting?
Yep, I have two different modules with defaults for server and for desktop. Host-specific settings are set in the according /machines//configuration.nix file. Most stuff is modularized into modules that can be reuesed and enabled at will.
You can find all my configs here
-
Nix-rice: rice your system with nix
Yep, I'm using the toJSON function already. The problem I had, was that not all applications use JSON as configuration format. Also the nix code gets very long, if you have to write the whole template as a string, which I find quite unreadable. Mustache is a pretty simple frequently used templating language, here is an example template that get's rendered by the nix code above.
-
Ricing with NixOS?
https://github.com/pinpox/nixos/blob/main/home-manager/modules/awesome.nix https://github.com/pinpox/dotfiles-awesome
My system uses a uniform colorscheme defined here. Configs for all applications I use read that and use the same colors. The wallpapers are randomly generated by a tool I wrote, it also automatically matches the colorscheme. Icons and symbols are colored the same way for awesomeWM.
-
My neovim config with a colorscheme created with nix
In case you are interested I use this and this to generate colorschemes, awesome config and a matching wallpaper
-
Dumping Tmux
Check out wezterm it has replaced tmux for me. Very active development, fast and just the right amount of features for my taste. It is configured in Lua, so if you are doing that for neovim already, it's another plus. I use it in combination with awesomeWM. My (not very special) config is here if you need something to start with.
What are some alternatives?
zstd - Zstandard - Fast real-time compression algorithm
ClickHouse - ClickHouse® is a free analytics DBMS for big data
eww - ElKowars wacky widgets
3proxy - 3proxy - tiny free proxy server
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Caddy - Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS
brotli - Brotli compression format
wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Jool - SIIT and NAT64 for Linux
nix-doom-emacs - doom-emacs packaged for Nix
nixpkgs - Nix Packages collection & NixOS
digga - A flake utility library to craft shell-, home-, and hosts- environments.