<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: blue0x1</title>
    <description>The latest articles on DEV Community by blue0x1 (@blue0x1).</description>
    <link>https://dev.to/blue0x1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3910404%2F7a657c6e-05c9-4057-badb-5ca64964c230.jpeg</url>
      <title>DEV Community: blue0x1</title>
      <link>https://dev.to/blue0x1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/blue0x1"/>
    <language>en</language>
    <item>
      <title>Rosemary: Multi-Hop Pivoting Tutorial</title>
      <dc:creator>blue0x1</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:59:34 +0000</pubDate>
      <link>https://dev.to/blue0x1/rosemary-multi-hop-pivoting-tutorial-5bjk</link>
      <guid>https://dev.to/blue0x1/rosemary-multi-hop-pivoting-tutorial-5bjk</guid>
      <description>&lt;p&gt;Learn how to chain multiple Rosemary agents to reach deeply nested networks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Multi-hop pivoting allows you to reach networks that are several layers deep. Each agent connects through the previous one, forming a chain that extends your reach hop by hop.&lt;/p&gt;

&lt;p&gt;Because the agent transport now runs over QUIC/UDP on port 2048, every link in the chain is a UDP forward to the previous hop's agent port (2048), not a TCP forward to the dashboard.&lt;/p&gt;

&lt;p&gt;In this tutorial, you will chain 5 agents across different operating systems:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;FreeBSD (Server)&lt;/li&gt;
&lt;li&gt;Windows (Agent)&lt;/li&gt;
&lt;li&gt;macOS (Agent)&lt;/li&gt;
&lt;li&gt;Linux (Agent)&lt;/li&gt;
&lt;li&gt;Linux (Agent)&lt;/li&gt;
&lt;li&gt;HTB Machine (Agent)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Network Topology&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Server]         [Agent 2]        [Agent 4→6]      [Agent 8]         [Agent 12]        [Agent 14]
FreeBSD           Windows          macOS             Linux             Linux             HTB Machine
172.16.54.186     172.16.54.0/24   172.16.126.0/24  172.14.1.0/24     172.16.19.0/24    172.20.1.0/24
                  1025/udp ──────► 1026/udp ──────► 1027/udp ──────► 1028/udp ──────► 192.168.3.0/24
                                                                                        10.10.10.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step-by-Step&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Start Server (FreeBSD)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo&lt;/span&gt; ./rosemary-freebsd-amd64
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="err"&gt;Server&lt;/span&gt; &lt;span class="err"&gt;login&lt;/span&gt; &lt;span class="py"&gt;key&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs=&lt;/span&gt;
&lt;span class="err"&gt;Server&lt;/span&gt; &lt;span class="py"&gt;IPs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;[172.16.54.186]&lt;/span&gt;
&lt;span class="py"&gt;Dashboard&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;http://0.0.0.0:1024&lt;/span&gt;
&lt;span class="err"&gt;Agent&lt;/span&gt; &lt;span class="err"&gt;transport&lt;/span&gt; &lt;span class="err"&gt;(QUIC):&lt;/span&gt; &lt;span class="py"&gt;0.0.0.0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="s"&gt;2048/udp&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 2: Agent 2 - Windows (Direct to Server)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./agent-windows-amd64.exe &lt;span class="nt"&gt;-s&lt;/span&gt; 172.16.54.186:2048 &lt;span class="nt"&gt;-k&lt;/span&gt; &lt;span class="nv"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Server output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[+] Agent agent-2 connected with subnets: [172.16.126.0/24 172.16.54.0/24]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 3: Create Forward for Hop 1 (Server → Windows → macOS)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; forward add 1025 agent-2 172.16.54.186 2048 udp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This makes the Windows agent listen on UDP port 1025 and forward QUIC datagrams to the server's agent transport on 2048/udp.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Agent 4 → 6 - macOS (Through Windows)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./agent-darwin-amd64 &lt;span class="nt"&gt;-s&lt;/span&gt; 172.16.126.135:1025 &lt;span class="nt"&gt;-k&lt;/span&gt; &lt;span class="nv"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Server output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[+] Agent agent-4 connected with subnets: [172.16.126.0/24]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 5: Reconnect Agent to Discover More Subnets&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; reconnect agent-4
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[-] Agent agent-4 disconnected and removed.
[+] Agent agent-6 connected with subnets: [172.16.126.0/24 172.14.1.0/24]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 6: Create Forward for Hop 2 (Server → Windows → macOS → Linux)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; forward add 1026 agent-6 172.16.126.135 1025 udp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 7: Agent 8 - Linux (Through macOS)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./agent-linux-amd64 &lt;span class="nt"&gt;-s&lt;/span&gt; 172.14.1.132:1026 &lt;span class="nt"&gt;-k&lt;/span&gt; &lt;span class="nv"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Server output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[+] Agent agent-8 connected with subnets: [172.14.1.0/24 172.16.19.0/24]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 8: Create Forward for Hop 3 (Server → Windows → macOS → Linux → Linux)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; forward add 1027 agent-8 172.14.1.132 1026 udp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 9: Agent 12 - Second Linux (Through First Linux)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./agent-linux-amd64 &lt;span class="nt"&gt;-s&lt;/span&gt; 172.16.19.136:1027 &lt;span class="nt"&gt;-k&lt;/span&gt; &lt;span class="nv"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Server output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[+] Agent agent-12 connected with subnets: [192.168.1.0/24 172.17.0.0/16 172.16.54.0/24 ...]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 10: Create Forward for Hop 4 (Server → ... → HTB Machine)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; forward add 1028 agent-12 172.16.19.136 1027 udp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 11: Agent 14 - HTB Machine (Final Hop)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./agent-linux-amd64 &lt;span class="nt"&gt;-s&lt;/span&gt; 10.10.14.72:1028 &lt;span class="nt"&gt;-k&lt;/span&gt; &lt;span class="nv"&gt;1RzWoufxJG86g9qWi9tQtyjV4IbwTmoptojWykBCyFs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Server output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[+] Agent agent-14 connected with subnets: [172.20.1.0/24 192.168.3.0/24 10.10.10.0/24]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 12: Access Deepest Network&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From the server (FreeBSD), you can now directly access the HTB machine's internal networks:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl http://192.168.3.1/login.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Success! The router login page from 5 hops away loads directly on the server.&lt;/p&gt;

&lt;p&gt;Accessing through web browser&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F54grjzfv4mjuq0aryt50.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F54grjzfv4mjuq0aryt50.png" alt="accessing browser" width="768" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Rosemary dashboard graph view automatically lays out all connected agents and their subnet relationships. After completing the 5-hop chain, the graph shows all hops.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsggg4ulmvrruxzkhm09l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsggg4ulmvrruxzkhm09l.png" alt="rosemary graph" width="768" height="380"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complete Forward Chain&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hop&lt;/th&gt;
&lt;th&gt;Agent&lt;/th&gt;
&lt;th&gt;OS&lt;/th&gt;
&lt;th&gt;Listen Port&lt;/th&gt;
&lt;th&gt;Target&lt;/th&gt;
&lt;th&gt;Proto&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;agent-2&lt;/td&gt;
&lt;td&gt;Windows&lt;/td&gt;
&lt;td&gt;1025&lt;/td&gt;
&lt;td&gt;Server:2048&lt;/td&gt;
&lt;td&gt;udp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;agent-6&lt;/td&gt;
&lt;td&gt;macOS&lt;/td&gt;
&lt;td&gt;1026&lt;/td&gt;
&lt;td&gt;172.16.126.135:1025&lt;/td&gt;
&lt;td&gt;udp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;agent-8&lt;/td&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;1027&lt;/td&gt;
&lt;td&gt;172.14.1.132:1026&lt;/td&gt;
&lt;td&gt;udp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;agent-12&lt;/td&gt;
&lt;td&gt;Linux&lt;/td&gt;
&lt;td&gt;1028&lt;/td&gt;
&lt;td&gt;172.16.19.136:1027&lt;/td&gt;
&lt;td&gt;udp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;agent-14&lt;/td&gt;
&lt;td&gt;Linux (HTB)&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Direct to server chain&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Verification&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rosemary&amp;gt; agents
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All 5 agents connected:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ID         OS       Subnets
agent-2    windows  172.16.126.0/24, 172.16.54.0/24
agent-6    darwin   172.16.126.0/24, 172.14.1.0/24
agent-8    linux    172.14.1.0/24, 172.16.19.0/24
agent-12   linux    192.168.1.0/24, 172.17.0.0/16, ...
agent-14   linux    172.20.1.0/24, 192.168.3.0/24, 10.10.10.0/24
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Key Points&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Each hop uses &lt;code&gt;forward add ... udp&lt;/code&gt; to chain QUIC traffic to the next agent's transport port.&lt;/li&gt;
&lt;li&gt;The first hop targets the server's agent transport on &lt;code&gt;2048/udp&lt;/code&gt;; every subsequent hop targets the previous hop's listen port.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;reconnect&lt;/code&gt; forces subnet re-discovery when an agent has multiple interfaces.&lt;/li&gt;
&lt;li&gt;Traffic flows transparently through all hops over QUIC.&lt;/li&gt;
&lt;li&gt;The final agent (HTB machine) provides access to &lt;code&gt;192.168.3.0/24&lt;/code&gt; and &lt;code&gt;10.10.10.0/24&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Rosemary is open-source under GPL-3.0. Use only on systems you own or have explicit permission to test.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>networking</category>
    </item>
    <item>
      <title>Rosemary: Transparent Network Tunneling Over QUIC (Kernel-Level)</title>
      <dc:creator>blue0x1</dc:creator>
      <pubDate>Fri, 10 Jul 2026 06:42:18 +0000</pubDate>
      <link>https://dev.to/blue0x1/rosemary-2p86</link>
      <guid>https://dev.to/blue0x1/rosemary-2p86</guid>
      <description>&lt;p&gt;&lt;strong&gt;Rosemary: Transparent Network Tunneling Over QUIC (Kernel-Level)&lt;/strong&gt;  &lt;/p&gt;

&lt;p&gt;Ever SSH into a box and wish you could just &lt;em&gt;use&lt;/em&gt; its network without setting up proxy chains or VPNs? Rosemary makes that happen. The server intercepts traffic at the kernel level (no proxy settings, no TUN devices) and tunnels it over encrypted QUIC through a lightweight agent on the remote host. From your laptop, &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;ping&lt;/code&gt;, or your browser reach private subnets as if you were there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you get&lt;/strong&gt;  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Kernel-level packet interception, transparent to all your apps
&lt;/li&gt;
&lt;li&gt;TCP, UDP, ICMP, and DNS just work without configuration
&lt;/li&gt;
&lt;li&gt;Route all internet traffic through a chosen agent (egress)
&lt;/li&gt;
&lt;li&gt;SOCKS5 proxies, port forwards, and reverse forwards per agent
&lt;/li&gt;
&lt;li&gt;Multi-hop pivoting through several agents
&lt;/li&gt;
&lt;li&gt;Web dashboard with real-time agent graph
&lt;/li&gt;
&lt;li&gt;Full REST API for automation
&lt;/li&gt;
&lt;li&gt;Works on Linux, Windows, macOS, FreeBSD, and OpenBSD
&lt;/li&gt;
&lt;li&gt;Agents run without root; traffic is AES-256-GCM encrypted over QUIC
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Quick start&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# install (requires Go)&lt;/span&gt;
go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/blue0x1/rosemary/rosemary@latest
go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/blue0x1/rosemary/agent@latest

&lt;span class="c"&gt;# start server (needs sudo for kernel interception)&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;rosemary

&lt;span class="c"&gt;# deploy agent on remote box&lt;/span&gt;
./agent-linux-amd64 &lt;span class="nt"&gt;-s&lt;/span&gt; &amp;lt;server-ip&amp;gt;:2048 &lt;span class="nt"&gt;-k&lt;/span&gt; &amp;lt;your-key&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Open &lt;code&gt;http://server-ip:1024&lt;/code&gt; and you'll see the agent's subnets automatically routed. Set a default egress agent to route all traffic through a jump host:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;egress agent-1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now your laptop behaves like it's on the remote network. No proxychains, no &lt;code&gt;ssh -D&lt;/code&gt;, no friction.&lt;/p&gt;

&lt;p&gt;Check the repo &lt;a href="https://github.com/blue0x1/rosemary" rel="noopener noreferrer"&gt;blue0x1/rosemary&lt;/a&gt; for pre-built binaries, PowerShell agents, and the full API. Use only on systems you own or have permission to test.&lt;/p&gt;

</description>
      <category>networking</category>
      <category>security</category>
    </item>
  </channel>
</rss>
