<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Cursed Silicons Wiki  - Recent changes [en]</title>
		<link>https://wiki.cursedsilicon.net/wiki/Special:RecentChanges</link>
		<description>Track the most recent changes to the wiki in this feed.</description>
		<language>en</language>
		<generator>MediaWiki 1.43.9</generator>
		<lastBuildDate>Tue, 03 Nov 2026 19:13:49 GMT</lastBuildDate>
		<item>
			<title>CGHMN-Multi-Node</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=583&amp;oldid=581</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=583&amp;oldid=581</guid>
			<description>&lt;p&gt;Update target EU address&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:54, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;s&amp;gt;At the moment, the only way to connect up to the CGHMN is through the core VM container on the US PVE host&amp;lt;/s&amp;gt;, meaning high latency and slow throughput for members from different regions in the world, especially if both, target and destination are outside of the US.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;s&amp;gt;At the moment, the only way to connect up to the CGHMN is through the core VM container on the US PVE host&amp;lt;/s&amp;gt;, meaning high latency and slow throughput for members from different regions in the world, especially if both, target and destination are outside of the US.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Edit: It should be possible to connect through the EU node now by changing your peer address from &amp;lt;code&amp;gt;us.wg.cghmn.org:42070&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;51&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;75&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;55&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;235&lt;/del&gt;:42070&amp;lt;/code&amp;gt;, without having to reconfigure anything. The timeout of the peer monitoring script described below is somwhere between two and three minutes, so it&#039;ll take some time before your new connection is fully reachable on the network.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Edit: It should be possible to connect through the EU node now by changing your peer address from &amp;lt;code&amp;gt;us.wg.cghmn.org:42070&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;eu&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wg&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cghmn&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;org&lt;/ins&gt;:42070&amp;lt;/code&amp;gt;, without having to reconfigure anything. The timeout of the peer monitoring script described below is somwhere between two and three minutes, so it&#039;ll take some time before your new connection is fully reachable on the network.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To work around this issue, we intend on running multiple nodes across the world, interconnected through the private network feature of our hoster, OVH, or through tunnel networks between the nodes and routed with the help of OSPF and a monitoring script to keep track of the otherwise stateless Wireguard connections.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To work around this issue, we intend on running multiple nodes across the world, interconnected through the private network feature of our hoster, OVH, or through tunnel networks between the nodes and routed with the help of OSPF and a monitoring script to keep track of the otherwise stateless Wireguard connections.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 28 Oct 2026 23:54:38 GMT</pubDate>
			<dc:creator>Snep</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/Talk:CGHMN-Multi-Node</comments>
		</item>
		<item>
			<title>CGHMN DNS Information</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=CGHMN_DNS_Information&amp;diff=582&amp;oldid=442</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=CGHMN_DNS_Information&amp;diff=582&amp;oldid=442</guid>
			<description>&lt;p&gt;point to 100.64.64.64&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:51, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Pointing to the right DNS server ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Pointing to the right DNS server ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CGHMN has several DNS servers in use for differing purposes.  &#039;&#039;&#039;The correct default DNS server you should be pointing at while getting started is 100.64.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;11&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;1 from the core network, or 100.89.128.0 from the Wireguard tunnel&lt;/del&gt;&#039;&#039;&#039;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;This is the router, which then forwards the requests to the actual DNS.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;CGHMN has several DNS servers in use for differing purposes.  &#039;&#039;&#039;The correct default DNS server you should be pointing at while getting started is 100.64.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;64&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;64&lt;/ins&gt;&#039;&#039;&#039;. This is the router, which then forwards the requests to the actual DNS.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== What the different DNS servers are (or, is this thing on?) ====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== What the different DNS servers are (or, is this thing on?) ====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 28 Oct 2026 17:51:37 GMT</pubDate>
			<dc:creator>Bredo</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/Talk:CGHMN_DNS_Information</comments>
		</item>
		<item>
			<title>CGHMN-Multi-Node</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=581&amp;oldid=578</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=581&amp;oldid=578</guid>
			<description>&lt;p&gt;Add notes about testing the new connection&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:08, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-multi&quot; lang=&quot;en&quot;&gt;(One intermediate revision by the same user not shown)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;At the moment, the only way to connect up to the CGHMN is through the core VM container on the US PVE host, meaning high latency and slow throughput for members from different regions in the world, especially if both, target and destination are outside of the US.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;s&amp;gt;&lt;/ins&gt;At the moment, the only way to connect up to the CGHMN is through the core VM container on the US PVE host&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/s&amp;gt;&lt;/ins&gt;, meaning high latency and slow throughput for members from different regions in the world, especially if both, target and destination are outside of the US&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Edit: It should be possible to connect through the EU node now by changing your peer address from &amp;lt;code&amp;gt;us.wg.cghmn.org:42070&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;51.75.55.235:42070&amp;lt;/code&amp;gt;, without having to reconfigure anything. The timeout of the peer monitoring script described below is somwhere between two and three minutes, so it&#039;ll take some time before your new connection is fully reachable on the network&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To work around this issue, we intend on running multiple nodes across the world, interconnected through the private network feature of our hoster, OVH, or through tunnel networks between the nodes and routed with the help of OSPF and a monitoring script to keep track of the otherwise stateless Wireguard connections.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To work around this issue, we intend on running multiple nodes across the world, interconnected through the private network feature of our hoster, OVH, or through tunnel networks between the nodes and routed with the help of OSPF and a monitoring script to keep track of the otherwise stateless Wireguard connections.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 13:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order for a single client to be able to connect to one or the other Wireguard node without reconfiguring their own IP addresses, dynamic routing through OSPF (and more specifically the bird v2 routing daemon) is used. Routes are created over the vRack network when a peer connects and, after a short timeout, removed once the peer disconnects.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order for a single client to be able to connect to one or the other Wireguard node without reconfiguring their own IP addresses, dynamic routing through OSPF (and more specifically the bird v2 routing daemon) is used. Routes are created over the vRack network when a peer connects and, after a short timeout, removed once the peer disconnects.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== Wireguard Peer Monitor and Interface Sync ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since Wireguard is a stateless protocol, we cannot rely on the Wireguard tunnel or kernel module to tell us through hooks when a peer connects or disconnects, so we run a custom Bash script which parses the output of &amp;lt;code&amp;gt;wg show wg-cghmn dump&amp;lt;/code&amp;gt; on a short interval and keeps track of the peers&amp;#039; last handshakes and transmitted bytes counters to determine if a peer is dead or alive.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Since Wireguard is a stateless protocol, we cannot rely on the Wireguard tunnel or kernel module to tell us through hooks when a peer connects or disconnects, so we run a custom Bash script which parses the output of &amp;lt;code&amp;gt;wg show wg-cghmn dump&amp;lt;/code&amp;gt; on a short interval and keeps track of the peers&amp;#039; last handshakes and transmitted bytes counters to determine if a peer is dead or alive.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order for the Wireguard interfaces on all nodes to stay in sync, the [https://github.com/CGHMN/wireguard-controller central Wireguard Controller] has been extended to push its Wireguard configuration to the nodes via HTTP, to a [https://github.com/CGHMN/wg-endpoint-api small PHP based API] running on each node. The node API builds a valid Wireguard configuration from the transmitted JSON payload and applies it to its local Wireguard interface via &amp;lt;code&amp;gt;wg syncconf wg-cghmn&amp;lt;/code&amp;gt;. Additionally, the Wireguard API itself is configured to not manage a Wireguard interface itself, so it serves basically just as a message broker and database of sorts.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In order for the Wireguard interfaces on all nodes to stay in sync, the [https://github.com/CGHMN/wireguard-controller central Wireguard Controller] has been extended to push its Wireguard configuration to the nodes via HTTP, to a [https://github.com/CGHMN/wg-endpoint-api small PHP based API] running on each node. The node API builds a valid Wireguard configuration from the transmitted JSON payload and applies it to its local Wireguard interface via &amp;lt;code&amp;gt;wg syncconf wg-cghmn&amp;lt;/code&amp;gt;. Additionally, the Wireguard API itself is configured to not manage a Wireguard interface itself, so it serves basically just as a message broker and database of sorts.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=== DNS ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Before switching to the multi-node design, peers would usually use &amp;lt;code&amp;gt;100.64.11.1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;100.64.12.1&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;100.64.12.2&amp;lt;/code&amp;gt;, which all more-or-less pointed towards the dnsmasq instance running on the core router. Since we now don&#039;t just have one core router, but one for each node, with none of them having a higher priority over the others, the DNS resolver is best moved to its own container on the US OVH Proxmox VE. Caching resolvers are set up on each Proxmox VE node to resolve against it and cache results for a certain (short) amount of time, to bridge minor outages or high loads on the main dnsmasq instance.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This means, peers can now either use &amp;lt;code&amp;gt;100.64.11.19&amp;lt;/code&amp;gt; to contact the new primary resolver directly, or use the virtual/NATed IP address &amp;lt;code&amp;gt;100.64.64.64&amp;lt;/code&amp;gt; to contact the caching dnsmasq running on each core router container, which then forwards to &amp;lt;code&amp;gt;100.64.11.19&amp;lt;/code&amp;gt; internally.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The old DNS resolver IP addresses &amp;lt;code&amp;gt;100.64.11.1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;100.64.12.1&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;100.64.12.2&amp;lt;/code&amp;gt; are now nftable-redirect aliases to each respective Wireguard node, so they should still work just like before for the time being.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Perhaps an idea for the future: Run a second dnsmasq instance on &amp;lt;code&amp;gt;100.64.11.19&amp;lt;/code&amp;gt; listening on port &amp;lt;code&amp;gt;1053&amp;lt;/code&amp;gt; or similar and a matching forwarder on each core router and use an nftable rule on all core routes like &amp;lt;code&amp;gt;ip daddr 100.64.64.65 meta l4proto { tcp, udp } th 53 redirect to 1053&amp;lt;/code&amp;gt; in the destination NAT table to offer a DNS resolver that only resolves non-overridden domains for users with split network setups?&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Wed, 28 Oct 2026 12:08:14 GMT</pubDate>
			<dc:creator>Snep</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/Talk:CGHMN-Multi-Node</comments>
		</item>
		<item>
			<title>File:Multi-Node Overview.png</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=File:Multi-Node_Overview.png&amp;diff=579&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=File:Multi-Node_Overview.png&amp;diff=579&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Snep&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Snep (page does not exist)&quot;&gt;&lt;bdi&gt;Snep&lt;/bdi&gt;&lt;/a&gt; uploaded a new version of &lt;a href=&quot;/wiki/File:Multi-Node_Overview.png&quot; title=&quot;File:Multi-Node Overview.png&quot;&gt;File:Multi-Node Overview.png&lt;/a&gt; Adjusted interface and bridge names&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Diagram of the basic networking components between the US and EU node making up the CGHMN network&lt;/div&gt;</description>
			<pubDate>Wed, 28 Oct 2026 03:09:38 GMT</pubDate>
			<dc:creator>Snep</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/File_talk:Multi-Node_Overview.png</comments>
		</item>
		<item>
			<title>CGHMN-Multi-Node</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=578&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=CGHMN-Multi-Node&amp;diff=578&amp;oldid=0</guid>
			<description>&lt;p&gt;WIP: Initial revision&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;At the moment, the only way to connect up to the CGHMN is through the core VM container on the US PVE host, meaning high latency and slow throughput for members from different regions in the world, especially if both, target and destination are outside of the US.&lt;br /&gt;
&lt;br /&gt;
To work around this issue, we intend on running multiple nodes across the world, interconnected through the private network feature of our hoster, OVH, or through tunnel networks between the nodes and routed with the help of OSPF and a monitoring script to keep track of the otherwise stateless Wireguard connections.&lt;br /&gt;
[[File:Multi-Node Overview.png|thumb|CGHMN Network Components Overview]]&lt;br /&gt;
The basic layout looks like this:&lt;br /&gt;
&lt;br /&gt;
* Both the US and the EU Proxmox VE servers have a container called core-router. This is, as the name suggests, the core CGHMN  router for each particular node, taking care of routing local core services, locally hosted member servers and the CGHMN Wireguard clients and providing NATed internet access for local guest VMs and containers.&lt;br /&gt;
* The Proxmox VE nodes themselves and the core router containers are connected on one flat network through the OVH private network feature called vRack, this serves as the main inter-node routing backbone.&lt;br /&gt;
* The Wireguard interface is mirrored on all participating nodes, so that a member can connect to one or the other simply by changing the DNS peer name, without having to change public keys or IP addresses.&lt;br /&gt;
&lt;br /&gt;
In order for a single client to be able to connect to one or the other Wireguard node without reconfiguring their own IP addresses, dynamic routing through OSPF (and more specifically the bird v2 routing daemon) is used. Routes are created over the vRack network when a peer connects and, after a short timeout, removed once the peer disconnects.&lt;br /&gt;
&lt;br /&gt;
Since Wireguard is a stateless protocol, we cannot rely on the Wireguard tunnel or kernel module to tell us through hooks when a peer connects or disconnects, so we run a custom Bash script which parses the output of &amp;lt;code&amp;gt;wg show wg-cghmn dump&amp;lt;/code&amp;gt; on a short interval and keeps track of the peers&amp;#039; last handshakes and transmitted bytes counters to determine if a peer is dead or alive.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;aliveness&amp;quot; of a peer is currently determined through the time of its last handshake with the server, if any, and when bytes were last received on the server from the peer, in that order. If a peer transitions from a dead state to being alive, a route is inserted for each allowed IP entry of the peer into the main sytem routing table, which is then picked up by bird and announced as a dynamic route to other Wireguard nodes on the network. If a peer transitions from alive to dead, the opposite happens, all routes on the local Wireguard interface for each allowed IP entry of the peer is removed from the main system routing table and subsequently removed by bird from the announced dynamic routes.&lt;br /&gt;
&lt;br /&gt;
Should this method of detecting peers be insufficient, e.g. when it is deemed to sluggish or fragile to detect peers roaming between nodes, member @DrScriptt (on Discord) has a project called static-route-manager that adds and removes routes based on ICMP ping responses, which could be a solid alternative for detecting connected peers.&lt;br /&gt;
&lt;br /&gt;
In order for the Wireguard interfaces on all nodes to stay in sync, the [https://github.com/CGHMN/wireguard-controller central Wireguard Controller] has been extended to push its Wireguard configuration to the nodes via HTTP, to a [https://github.com/CGHMN/wg-endpoint-api small PHP based API] running on each node. The node API builds a valid Wireguard configuration from the transmitted JSON payload and applies it to its local Wireguard interface via &amp;lt;code&amp;gt;wg syncconf wg-cghmn&amp;lt;/code&amp;gt;. Additionally, the Wireguard API itself is configured to not manage a Wireguard interface itself, so it serves basically just as a message broker and database of sorts.&lt;/div&gt;</description>
			<pubDate>Wed, 28 Oct 2026 02:48:55 GMT</pubDate>
			<dc:creator>Snep</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/Talk:CGHMN-Multi-Node</comments>
		</item>
		<item>
			<title>File:Multi-Node Overview.png</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=File:Multi-Node_Overview.png&amp;diff=577&amp;oldid=0</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=File:Multi-Node_Overview.png&amp;diff=577&amp;oldid=0</guid>
			<description>&lt;p&gt;&lt;a href=&quot;/index.php?title=User:Snep&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new mw-userlink&quot; title=&quot;User:Snep (page does not exist)&quot;&gt;&lt;bdi&gt;Snep&lt;/bdi&gt;&lt;/a&gt; uploaded &lt;a href=&quot;/wiki/File:Multi-Node_Overview.png&quot; title=&quot;File:Multi-Node Overview.png&quot;&gt;File:Multi-Node Overview.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Diagram of the basic networking components between the US and EU node making up the CGHMN network&lt;/div&gt;</description>
			<pubDate>Wed, 28 Oct 2026 02:14:27 GMT</pubDate>
			<dc:creator>Snep</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/File_talk:Multi-Node_Overview.png</comments>
		</item>
		<item>
			<title>Services people are running</title>
			<link>https://wiki.cursedsilicon.net/index.php?title=Services_people_are_running&amp;diff=576&amp;oldid=575</link>
			<guid isPermaLink="false">https://wiki.cursedsilicon.net/index.php?title=Services_people_are_running&amp;diff=576&amp;oldid=575</guid>
			<description>&lt;p&gt;IRC bridge note&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:34, 17 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l26&quot;&gt;Line 26:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 26:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|no&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|no&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|#cghmn, #cghmn-events&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|#cghmn, #cghmn-events&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Bridged onto &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;regular internet and &lt;/del&gt;Discord&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;ALL channels are bridged to their Discord equivalents on &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cursed Silicon &lt;/ins&gt;Discord&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|irc.loganius.retro&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|irc.loganius.retro&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 18 Oct 2026 04:34:13 GMT</pubDate>
			<dc:creator>CursedSilicon</dc:creator>
			<comments>https://wiki.cursedsilicon.net/wiki/Talk:Services_people_are_running</comments>
		</item>
</channel></rss>