Show HN: TailGuard – Bridge your WireGuard router into Tailscale via a container
Hacker News (score: 10)Description
The problem with WireGuard is that it requires handling key management oneself, and configuring the keys to every device you want to access it from. It also doesn't play nicely together with other VPNs, meaning I ended up connecting and disconnecting VPNs whenever I wanted to use them. This is especially evident on my phone, which only allows one VPN app at a time.
I was already using Tailscale as an easy way to handle homelab access with SSO, even if some computers are behind ISP CGNAT, and came up with this idea of spinning up a Docker container to connect the two. I found some suggestions for it online, but nothing ready to use. It ended up being more work than I expected to fine tune the routing, IPv6, firewall settings, re-resolving the DNS of the router on IP address changes etc.
I got it very stable eventually though, and wanted to share with everyone else. I think it's cool to have the WireGuard router looking like any other Tailscale node in my tailnet now.
More from Hacker
Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API)
Show HN: Minikv – Distributed key-value and object store in Rust (Raft, S3 API) Hi HN,<p>I’m releasing minikv, a distributed key-value and object store in Rust.<p>What is minikv? minikv is an open-source, distributed storage engine built for learning, experimentation, and self-hosted setups. It combines a strongly-consistent key-value database (Raft), S3-compatible object storage, and basic multi-tenancy. I started minikv as a learning project about distributed systems, and it grew into something production-ready and fun to extend.<p>Features/highlights:<p>- Raft consensus with automatic failover and sharding - S3-compatible HTTP API (plus REST/gRPC APIs) - Pluggable storage backends: in-memory, RocksDB, Sled - Multi-tenant: per-tenant namespaces, role-based access, quotas, and audit - Metrics (Prometheus), TLS, JWT-based API keys - Easy to deploy (single binary, works with Docker/Kubernetes)<p>Quick demo (single node):<p>git clone <a href="https://github.com/whispem/minikv.git" rel="nofollow">https://github.com/whispem/minikv.git</a> cd minikv cargo run --release -- --config config.example.toml curl localhost:8080/health/ready # S3 upload + read curl -X PUT localhost:8080/s3/mybucket/hello -d "hi HN" curl localhost:8080/s3/mybucket/hello<p>Docs, cluster setup, and architecture details are in the repo. I’d love to hear feedback, questions, ideas, or your stories running distributed infra in Rust!<p>Repo: <a href="https://github.com/whispem/minikv" rel="nofollow">https://github.com/whispem/minikv</a> Crate: <a href="https://crates.io/crates/minikv" rel="nofollow">https://crates.io/crates/minikv</a>
CLI's completion should know what options you've typed
CLI's completion should know what options you've typed
Show HN: Python SDK – forecasting with foundation time-series and tabular models
Show HN: Python SDK – forecasting with foundation time-series and tabular models We’ve built a Python SDK for running inference on foundation models designed for time-series and tabular data. They are new SOTA models for time-series and tabular tasks and work out of the box. They do not require model training or feature engineering. The link to the GitHub repository is: <a href="https://github.com/S-FM/faim-python-client" rel="nofollow">https://github.com/S-FM/faim-python-client</a>
Show HN: Deterministic PCIe Diagnostics for GPUs on Linux
Show HN: Deterministic PCIe Diagnostics for GPUs on Linux I built a small Linux tool to deterministically verify GPU PCIe link health and bandwidth.<p>It reports: - Negotiated PCIe generation and width - Peak Host→Device and Device→Host memcpy bandwidth - Sustained PCIe TX/RX utilization via NVML - A rule-based verdict derived from observable hardware data only<p>This exists because PCIe issues (Gen downgrades, reduced lane width, risers, bifurcation) are often invisible at the application layer and can’t be fixed by kernel tuning or async overlap.<p>Linux-only: it relies on sysfs and PCIe AER exposure that Windows does not provide.
No other tools from this source yet.