<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: eniac111</title><link>https://news.ycombinator.com/user?id=eniac111</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 02 Aug 2026 23:33:55 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=eniac111" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>Interesting project, I've never heard of it. Looks very similar as functionality, but Bor is a centralized management system. As you said, it's more like "company deploys to many employees". The target is not only companies. It would be useful in Schools, universities, community centers, etc.</p>
]]></description><pubDate>Sun, 02 Aug 2026 22:32:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=49149105</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49149105</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49149105</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>The general documentation is something that definitely needs a lot of improvement, but it's currently under active development.<p>Policies are delivered over a persistent gRPC stream, secured with mTLS, where each node gets it's own cert from Bor's built-in CA at enrollment - so there's no SSH key sprawl and no credentials on the server that could log into machines. Since agents connect outbound to the server, it works through NAT and firewalls without opening any inbound ports on desktops, and policy changes propagate in seconds over the already-open stream. SHH-push would have meant maintaining an inventory of searchable hosts and a server that can shell into the whole fleet - a much bigger attach surface for less capability.</p>
]]></description><pubDate>Sun, 02 Aug 2026 14:08:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49144862</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49144862</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49144862</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>The default enrollment is based on temporary (5 min lifetime)tokens, generated from the UI. Domain-joined machines use Kerberos, but this is optional. Using the temporary tokens, the admin have to execute the agent with a command-line option for enrollment.<p>About the files, most of the bor-managed files are not defaults, coming from the system packages. If a given file is overridden by a package, the Bor agent will immediately rollback the managed version.<p>Also, there is a priority value on each policy, if several policies have the same property.</p>
]]></description><pubDate>Sun, 02 Aug 2026 13:07:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=49144300</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49144300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49144300</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>Not directly. This might be somehow configured with PAM. It's a good use case, thanks for the idea!<p>It could easily block porn, enforcing DNS over HTTPS in the web browsers, using providers with adult content protection.</p>
]]></description><pubDate>Sun, 02 Aug 2026 12:08:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143738</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49143738</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143738</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>- Samba already supports policies for Linux, but it's not a "finished product", not actively maintained and it does not have Bor's tamper protection of the managed files. 
- IaC tools like Ansible/Puppet are good alternatives, but coding the whole configuration is not comfortable for some system administrations. Especially those with Windows Server AD background. Also, setting up strict policies avoids running of arbitrary code on the target systems, which is good for enterprise compliance certification.
- It's not a domain controller because there are no user entities, only nodes. Bor works together with Windows AD/ Samba or FreeIPA. It supports LDAP and Kerberos authentication. Domain-joined machines could automatically enroll without setting the temporary token, issued from the UI.</p>
]]></description><pubDate>Sun, 02 Aug 2026 11:56:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143650</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49143650</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143650</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>Unfortunately, only LDAP is currently supported. There is no implementation of Enterprise SSO like Oauth/SAML. It's planned for the future, but not in priority for now.<p>I have never tested Cinnamon, but it should work in theory, because it stores most of it's settings in dconf.<p>Custom scripts: deliberately not, so far. Once a management agent runs arbitrary scripts as root, it stops being a policy system and becomes remote-code-execution-as-a-service — the security review, the audit story, and the "what exactly is enforced on this machine?"
It may be implemented in the future, but with a ENV variable/config property from the application configuration. The same goes for configuration management systems like Ansible.<p>Thank you for the interest! I'm interested in developing a community around the software.</p>
]]></description><pubDate>Sun, 02 Aug 2026 11:48:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143586</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49143586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143586</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Open-source policy management for Linux desktops"]]></title><description><![CDATA[
<p>Delivery is push, not pull. Each agent holds a persistent gRPC stream to the server (mTLS). Policy changes are broadcast over that stream the moment they're released — agents apply them in real time. If the connection drops, the agent reconnects with backoff and sends its last-known revision; the server replays exactly what it missed (or a full snapshot). So there's no "check every N minutes" anywhere in the design.
Most user changes never stick in the first place. Where the desktop stack has a native lockdown mechanism, Bor uses it: dconf keys are written together with a dconf locks file, so a locked setting simply can't be changed from GNOME's UI; KDE settings are written with the Kiosk [$i] immutability marker, which KDE itself enforces; and everything else (Firefox/Chrome/Edge policies.json, polkit rules, firewalld zones) lives in root-owned files under /etc that an unprivileged user can't touch. Those applications treat managed policy as non-overridable by design.
Root-level drift is caught by inotify, not a timer. For every file it manages, the agent watches the parent directory via inotify (parent dir, so atomically-renamed replacements are caught too). If anything external modifies or deletes a managed file — a curious admin with sudo, a config-management tool, a package postinstall script — the watcher fires immediately and the agent rewrites the file from its cached policy state and re-reports compliance to the server. In practice the revert happens within milliseconds of the write, and the tamper event is visible server-side, so drift isn't just corrected — it's auditable. (The agent suppresses events from its own writes, so it doesn't fight itself.)</p>
]]></description><pubDate>Sun, 02 Aug 2026 11:41:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49143523</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49143523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49143523</guid></item><item><title><![CDATA[Show HN: Bor – Open-source policy management for Linux desktops]]></title><description><![CDATA[
<p>Hi HN! I've been working on Bor, an open-source system for centralized Linux desktop management.<p>Bor consists of a lightweight Go agent and a central server. Policies are streamed to clients over mTLS/gRPC in real time—no polling—and currently support Firefox, Chrome, KDE, dconf, polkit and package management, with more coming.<p>Version 0.8 introduces several new policy types - Thunderbird, Microsoft Edge for Business and FirewallD zones, along with a number of improvements and fixes.<p>I'd love feedback on the architecture, policy model, and whether this is something you'd consider for managing Linux workstations.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49142569">https://news.ycombinator.com/item?id=49142569</a></p>
<p>Points: 165</p>
<p># Comments: 22</p>
]]></description><pubDate>Sun, 02 Aug 2026 09:06:33 +0000</pubDate><link>https://getbor.dev/blog/2026-08-02-bor-v080-release/</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=49142569</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49142569</guid></item><item><title><![CDATA[New comment by eniac111 in "Ask HN: What are you working on? (June 2026)"]]></title><description><![CDATA[
<p>I'm mostly working on Bor in my free time. Bor is a policy manager for the Linux desktop: <a href="https://getbor.dev/" rel="nofollow">https://getbor.dev/</a></p>
]]></description><pubDate>Mon, 15 Jun 2026 06:41:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48537440</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=48537440</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48537440</guid></item><item><title><![CDATA[New comment by eniac111 in "Ask HN: What are you working on? (May 2026)"]]></title><description><![CDATA[
<p>Bor - Linux Desktop policy management ( <a href="https://getbor.dev/" rel="nofollow">https://getbor.dev/</a> ).<p>In short, it unifies the configuration of different desktop components as policies ( dconf, Kconfig, polkit, Chrome, Firefox, etc.. . It's LGPL.<p>You can check my slides for the upcoming Tuxconf conference this Friday: <a href="https://getbor.dev/publications/tuxcon2026/" rel="nofollow">https://getbor.dev/publications/tuxcon2026/</a><p>Cheers!
Blago :)</p>
]]></description><pubDate>Mon, 11 May 2026 00:09:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48089523</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=48089523</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48089523</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Bor – Policy management for Linux desktops"]]></title><description><![CDATA[
<p>@dreamglider,<p>I've always missed something like this in the industry, when I was trying to integrate Linux desktops in different organizations. There are tools like Ansible and Foreman, but they are not "out of the box" structured like simple policies. For example, it would be more difficult to run an arbitrary code with Bor, compared to Ansible. It's important for the enterprise compliance and we we never had anything like GPOs in the Linux world.<p>The current target are the desktop machines. That's why the currently implemented features are the most essential ones - desktop environments (KDE, Gnome), browsers ( Firefox, Chrome), security - Polkit.<p>Unfortunately, it doesn't manage certificates at the current stage of development. There are no webhooks, but thee audit logs may be exported to a syslog server.</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:58:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47765083</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47765083</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47765083</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Mushroam – Turn any URL into a promo video"]]></title><description><![CDATA[
<p>Your internal API to POE is not working :/</p>
]]></description><pubDate>Tue, 14 Apr 2026 12:44:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47764935</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47764935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764935</guid></item><item><title><![CDATA[Show HN: Bor – Policy management for Linux desktops]]></title><description><![CDATA[
<p>Article URL: <a href="https://getbor.dev/">https://getbor.dev/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47764358">https://news.ycombinator.com/item?id=47764358</a></p>
<p>Points: 2</p>
<p># Comments: 2</p>
]]></description><pubDate>Tue, 14 Apr 2026 11:46:39 +0000</pubDate><link>https://getbor.dev/</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47764358</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47764358</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: GovAuctions lets you browse government auctions at once"]]></title><description><![CDATA[
<p>It would be good to mention which government in the title :)</p>
]]></description><pubDate>Tue, 07 Apr 2026 07:25:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47671801</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47671801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47671801</guid></item><item><title><![CDATA[New comment by eniac111 in "Friendica – A Decentralized Social Network"]]></title><description><![CDATA[
<p>Heh, I've found this post while installing Gotosocial :D</p>
]]></description><pubDate>Sun, 05 Apr 2026 22:39:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47654682</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47654682</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47654682</guid></item><item><title><![CDATA[Thaura – AI from Syria]]></title><description><![CDATA[
<p>Article URL: <a href="https://thaura.ai/story">https://thaura.ai/story</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47051541">https://news.ycombinator.com/item?id=47051541</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 17 Feb 2026 19:02:23 +0000</pubDate><link>https://thaura.ai/story</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=47051541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47051541</guid></item><item><title><![CDATA[New comment by eniac111 in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://petrovs.info" rel="nofollow">https://petrovs.info</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 21:05:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=46623418</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=46623418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46623418</guid></item><item><title><![CDATA[New comment by eniac111 in "I converted a rotary phone into a meeting handset"]]></title><description><![CDATA[
<p><a href="https://petrovs.info/post/2023-01-12-shaiba/" rel="nofollow">https://petrovs.info/post/2023-01-12-shaiba/</a> This is my USB rotary dial. It's always fun with the young people when I bring it to IT conferences.</p>
]]></description><pubDate>Fri, 21 Nov 2025 13:07:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46004147</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=46004147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46004147</guid></item><item><title><![CDATA[New comment by eniac111 in "Writerdeck.org"]]></title><description><![CDATA[
<p>Writing without AI agent assistance? How is that possible?</p>
]]></description><pubDate>Fri, 14 Nov 2025 17:49:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45929438</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=45929438</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45929438</guid></item><item><title><![CDATA[New comment by eniac111 in "Show HN: Spegel, a Terminal Browser That Uses LLMs to Rewrite Webpages"]]></title><description><![CDATA[
<p>Cool! It would be even better if it was able to create simple web pages for vintage browsers.</p>
]]></description><pubDate>Tue, 01 Jul 2025 14:07:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44434059</link><dc:creator>eniac111</dc:creator><comments>https://news.ycombinator.com/item?id=44434059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44434059</guid></item></channel></rss>