repos / pico

pico services - prose.sh, pastes.sh, imgs.sh, feeds.sh, pgs.sh
git clone https://github.com/picosh/pico.git

commit
b7d489b
parent
8d2f265
author
Eric Bower
date
2024-09-20 03:26:07 +0000 UTC
docs(pubsub): reorg content
1 files changed,  +124, -46
M pubsub/html/marketing.page.tmpl
+124, -46
  1@@ -21,50 +21,34 @@
  2 
  3 <hr />
  4 
  5-<article>
  6-  <p>
  7-    The simplest authenticated pubsub system.  Send messages through
  8-    user-defined channels.  By default, channels are private to the authenticated
  9-    ssh user.  The default pubsub model is multicast with bidirectional
 10-    blocking, meaning a publisher (<code>pub</code>) will send its message to all
 11-    subscribers (<code>sub</code>) on a channel.  Further, both <code>pub</code> and
 12-    <code>sub</code> will wait for at least one event to be sent or received on the channel.
 13-  </p>
 14-
 15-  <blockquote>This service is undergoing active development, expect bugs and restarts</blockquote>
 16-
 17+<article class="flex flex-col gap-2">
 18   <div>
 19-    <h2 class="text-xl">Examples</h2>
 20-
 21-    <p>Simple output pub/sub</p>
 22-    <img src="/send-output.gif" />
 23-
 24-    <p>Send a file</p>
 25-    <img src="/send-file.gif" />
 26-
 27-    <p>Multiple subs</p>
 28-    <img src="/multi-sub.gif" />
 29-
 30-    <p>Multiple pubs</p>
 31-    <img src="/multi-pub.gif" />
 32-
 33-    <p>Multiple pubs and subs</p>
 34-    <img src="/multi-pub-sub.gif" />
 35-
 36-    <p>Pipe based chat</p>
 37-    <img src="/pipe-chat.gif" />
 38-
 39-    <p>Pipe based command output</p>
 40-    <img src="/pipe-cmd-output.gif" />
 41+    <p>
 42+      The simplest authenticated pubsub system.  Send messages through
 43+      user-defined channels.  By default, channels are private to the authenticated
 44+      ssh user.  The default pubsub model is multicast with bidirectional
 45+      blocking, meaning a publisher (<code>pub</code>) will send its message to all
 46+      subscribers (<code>sub</code>) on a channel.  Further, both <code>pub</code> and
 47+      <code>sub</code> will wait for at least one event to be sent or received on the channel.
 48+    </p>
 49 
 50-    <p>Pipe based reverse shell</p>
 51-    <img src="/pipe-reverse-shell.gif" />
 52+    <blockquote>This service is undergoing active development, expect bugs and restarts</blockquote>
 53   </div>
 54 
 55   <div>
 56     <h2 class="text-xl">A basic API</h2>
 57     <pre>ssh {{.Site.Domain}} sub mykey</pre>
 58     <pre>echo "hello world!" | ssh {{.Site.Domain}} pub mykey</pre>
 59+
 60+    <details>
 61+      <summary>Demo</summary>
 62+      <script
 63+        src="https://asciinema.org/a/52qRVi77CTjfAoZj9IaGMygDr.js"
 64+        id="asciicast-52qRVi77CTjfAoZj9IaGMygDr"
 65+        async="true"
 66+        data-theme="dracula"
 67+      ></script>
 68+    </details>
 69   </div>
 70 
 71   <div>
 72@@ -77,6 +61,64 @@
 73     <h2 class="text-xl">File sharing</h2>
 74     <pre>cat doc.md | ssh {{.Site.Domain}} pub thedoc</pre>
 75     <pre>ssh {{.Site.Domain}} sub thedoc > ./important.md</pre>
 76+
 77+    <details>
 78+      <summary>Demo</summary>
 79+      <script
 80+        src="https://asciinema.org/a/TW0chshVssDj35hvr9NKNC2CK.js"
 81+        id="asciicast-TW0chshVssDj35hvr9NKNC2CK"
 82+        async="true"
 83+        data-theme="dracula"
 84+      ></script>
 85+    </details>
 86+  </div>
 87+
 88+  <div>
 89+    <h2 class="text-xl">Pipe command output</h2>
 90+    <p>Send command output through our <code>pipe</code> command.</p>
 91+
 92+    <details>
 93+      <summary>Demo</summary>
 94+      <script
 95+        src="https://asciinema.org/a/7e3SVyxKa31D0iZ4X5PJm8b6E.js"
 96+        id="asciicast-7e3SVyxKa31D0iZ4X5PJm8b6E"
 97+        async="true"
 98+        data-theme="dracula"
 99+      ></script>
100+    </details>
101+  </div>
102+
103+  <div>
104+    <h2 class="text-xl">Chat</h2>
105+    <p>Use our <code>pipe</code> command to have a chat with someone.</p>
106+    <pre>htop | ssh {{.Site.Domain}} pipe mychan -p</pre>
107+    <p>Now anyone with a <code>pico</code> account can subscribe to this channel:</p>
108+    <pre>ssh send.pico.sh pipe mychan -p</pre>
109+
110+    <details>
111+      <summary>Demo</summary>
112+      <script
113+        src="https://asciinema.org/a/fLBHAcPQqqawkrdpRdgEVFNrm.js"
114+        id="asciicast-fLBHAcPQqqawkrdpRdgEVFNrm"
115+        async="true"
116+        data-theme="dracula"
117+      ></script>
118+    </details>
119+  </div>
120+
121+  <div>
122+    <h2 class="text-xl">Pipe reverse shell</h2>
123+    <p>If you squint hard enough you can give users interactive access to your shell.</p>
124+
125+    <details>
126+      <summary>Demo</summary>
127+      <script
128+        src="https://asciinema.org/a/S3LSLOi9mHQOPZHoK0xlkiKLM.js"
129+        id="asciicast-S3LSLOi9mHQOPZHoK0xlkiKLM"
130+        async="true"
131+        data-theme="dracula"
132+      ></script>
133+    </details>
134   </div>
135 
136   <div>
137@@ -85,6 +127,43 @@
138     <pre>docker buildx build --push -t myimg .; ssh {{.Site.Domain}} pub myimg -e</pre>
139   </div>
140 
141+  <div>
142+    <h2 class="text-xl">Pubsub interactions</h2>
143+
144+    <h3 class="text-lg">Multiple subs</h3>
145+    <details>
146+      <summary>Demo</summary>
147+      <script
148+        src="https://asciinema.org/a/Ccee82V83EUyaZzFYbTn36BLF.js"
149+        id="asciicast-Ccee82V83EUyaZzFYbTn36BLF"
150+        async="true"
151+        data-theme="dracula"
152+      ></script>
153+    </details>
154+
155+    <h3 class="text-lg">Multiple pubs</h3>
156+    <details>
157+      <summary>Demo</summary>
158+      <script
159+        src="https://asciinema.org/a/ONe1OphgsKUt9MMPVRBiSbwd0.js"
160+        id="asciicast-ONe1OphgsKUt9MMPVRBiSbwd0"
161+        async="true"
162+        data-theme="dracula"
163+      ></script>
164+    </details>
165+
166+    <h3 class="text-lg">Multiple pubs and subs</h3>
167+    <details>
168+      <summary>Demo</summary>
169+      <script
170+        src="https://asciinema.org/a/HAlhNCLFLvuGjiqnEEUvWVi1h.js"
171+        id="asciicast-HAlhNCLFLvuGjiqnEEUvWVi1h"
172+        async="true"
173+        data-theme="dracula"
174+      ></script>
175+    </details>
176+  </div>
177+
178   <div>
179     <h2 class="text-xl">Send a public message</h2>
180     <pre>echo "hello world!" | ssh send.pico.sh pub mychan -p</pre>
181@@ -101,17 +180,16 @@
182     </p>
183   </div>
184 
185-  <p>
186-    This project was heavily inspired by
187-    <a href="https://patchbay.pub">patchbay.pub</a>
188-  </p>
189-
190-  <p>
191-    built on our <a href="https://github.com/picosh/pubsub">go pkg</a>.
192-  </p>
193+  <div>
194+    <h2 class="text-xl">Inspiration</h2>
195+    <p>
196+      A special thanks to <a href="https://patchbay.pub">patchbay.pub</a> for our inspiration.
197+    </p>
198+  </div>
199 
200-  <div class="text-center">
201-    <a href="https://pico.sh/getting-started" class="btn-link my-2 inline-block">GET STARTED</a>
202+  <div class="text-center mb-2">
203+    <p>built on our <a href="https://github.com/picosh/pubsub">go pkg</a>.</p>
204+    <a href="https://pico.sh/getting-started" class="btn-link inline-block">GET STARTED</a>
205   </div>
206 </article>
207