Skip to content

Commit d948b2b

Browse files
committed
update docs
1 parent 747504c commit d948b2b

1 file changed

Lines changed: 108 additions & 45 deletions

File tree

src/pages/user/tips-and-tricks.html

Lines changed: 108 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,13 @@ <h2 id="transports">Choosing a transport</h2>
168168
<td>Built in, needs the binary</td>
169169
<td>
170170
Uses
171-
<a href="https://github.com/lexiforest/curl-impersonate" class="external" target="_blank"
172-
rel="noopener">curl-impersonate</a>
171+
<a
172+
href="https://github.com/lexiforest/curl-impersonate"
173+
class="external"
174+
target="_blank"
175+
rel="noopener"
176+
>curl-impersonate</a
177+
>
173178
to mimic Firefox's TLS fingerprint. For sites that block on the TLS
174179
handshake rather than on headers. Only appears as an option when the
175180
binary is on <code>PATH</code>.
@@ -239,71 +244,125 @@ <h3 id="curl-impersonate">Installing curl-impersonate</h3>
239244
- "4444:4444"
240245
restart: unless-stopped</code></pre>
241246

242-
<h2 id="4play">The 4play transport</h2>
247+
<h2 id="4play">4play</h2>
243248
<p>
244-
Borrows a real browser session using a browser extension to grab page
245-
information and data straight from browser tabs.
249+
4play lets Degoog use a real Firefox session for stubborn engines that protect
250+
hard against server-side requests. Degoog spawn a websocket server in parallel
251+
and talks to the official 4play Firefox extension itself, so you do
252+
<strong>not</strong> need the lolcat's provided sample Node server for Degoog.
246253
</p>
247254
<p>
248-
All credit for the original idea and browser extension goes to
249-
<a href="https://git.lolcat.ca/lolcat/4play" class="external" target="_blank" rel="noopener">lolcat</a>, author of
250-
4get and 4play.
255+
Credit for 4play goes to
256+
<a
257+
href="https://git.lolcat.ca/lolcat/4play"
258+
class="external"
259+
target="_blank"
260+
rel="noopener"
261+
>lolcat</a
262+
>. Read the upstream
263+
<a
264+
href="https://git.lolcat.ca/lolcat/4get/src/branch/master/docs/configure.md#4play-setup"
265+
class="external"
266+
target="_blank"
267+
rel="noopener"
268+
>4play setup notes</a
269+
>
270+
too, especially the real desktop and display requirements.
251271
</p>
252272

253-
<h3>4play (lolcat)</h3>
254-
<p>
255-
Uses the official 4play protocol to connect the
256-
<a href="https://addons.mozilla.org/en-US/firefox/addon/4play/">official 4play Firefox extension</a>
257-
to Degoog. Degoog runs the WebSocket server itself on its own main port, so
258-
there is no second service and no extra port to expose.
259-
</p>
273+
<h3 id="4play-setup">Setup</h3>
274+
<ol>
275+
<li>Install <strong>4play (lolcat)</strong> from the Degoog Store.</li>
276+
<li>
277+
Run Firefox ESR or current Firefox on a real desktop session. Use a laptop
278+
screen, powered monitor, or EDID adapter. Avoid headless/software-rendered
279+
Firefox if you want this to help.
280+
</li>
281+
<li>
282+
Install the
283+
<a
284+
href="https://addons.mozilla.org/en-US/firefox/addon/4play/"
285+
class="external"
286+
target="_blank"
287+
rel="noopener"
288+
>official 4play extension</a
289+
>
290+
in a clean Firefox profile. Allow private windows and automatic updates.
291+
</li>
292+
<li>
293+
In Degoog, open
294+
<em>Settings, Transports, 4play (lolcat), Configure</em>. Set a strong
295+
password and copy the WebSocket path shown there. The official Store path is
296+
normally
297+
<code>/ws/degoog-org-official-extensions-lolcat-4play-transport</code>, but
298+
copy your own setting instead of guessing.
299+
</li>
300+
<li>
301+
Put your Degoog WebSocket URL and password into the Firefox extension. Set
302+
the timeout to <code>30000</code>. The extension dot should turn green.
303+
</li>
304+
<li>
305+
Pick <strong>4play (lolcat)</strong> as the
306+
<em>Outgoing HTTP client</em> for the engines that need it.
307+
</li>
308+
</ol>
309+
310+
<h3 id="4play-settings">Settings worth knowing</h3>
260311
<ul>
261312
<li>
262-
<strong>Use a clean Firefox profile.</strong> The extension manages tabs and
263-
containers globally, so pointing it at your daily driver profile is a bad
264-
time.
313+
<strong>Container isolation:</strong> keep browser state split per origin.
314+
Leave it on unless you know you want shared cookies.
265315
</li>
266316
<li>
267-
Container isolation is on by default, and is forced on when you configure a
268-
proxy. You can tune the container pool size and TTL.
317+
<strong>Max containers:</strong> how many origins can stay ready at once.
269318
</li>
270319
<li>
271-
Background warmup can re-warm known origins on a schedule (for example every
272-
72 hours) so sessions are ready before you search. Set it at or below the
273-
warmup TTL or you leave a cold gap.
320+
<strong>Origin warmup query:</strong> the harmless search used before Degoog
321+
replays your real query.
274322
</li>
275323
<li>
276-
With <code>DEGOOG_VALKEY_URL</code> set, warmed sessions survive a Degoog
277-
restart. Without Valkey the cache is in memory and resets.
324+
<strong>Background warmup:</strong> re-warms origins that already used
325+
4play. It does not blindly warm every engine.
278326
</li>
279327
<li>
280-
The WebSocket URL to paste into the extension is shown at the top of
281-
<em>Settings, Transports, 4play (lolcat), Configure</em>. If you set a
282-
password there, append it as a path segment. The extension badge turns green
283-
when connected.
328+
<strong>Valkey:</strong> with <code>DEGOOG_VALKEY_URL</code>, primed
329+
sessions can survive Degoog restarts.
284330
</li>
285331
</ul>
286332

333+
<h3 id="4play-status">Status plugin</h3>
334+
<p>
335+
Install <strong>4play status</strong> and run <code>!4play</code>. It shows
336+
the Firefox connection, primed sessions, alive containers, CAPTCHA tabs, and
337+
background warmup state. It can also test the transport or clear sessions. The
338+
status card is admin-only by default.
339+
</p>
340+
287341
<div class="block-note">
288342
<p>
289-
<strong>The 4play transport mean your browser talks to external sites during
290-
warmup, and your Degoog server receives those cookies.</strong>
291-
That is the deliberate trade: real browser sessions in exchange for a more
292-
privileged server. The WebSocket is plain <code>ws://</code> and
293-
unencrypted, so if you bind it to anything other than localhost, set the
294-
transport password and treat that port accordingly. Please make sure to run
295-
everything behind proxies or having this setup will totally defy the purpose
296-
of having a private meta search aggregator.
343+
<strong
344+
>4play is VERY powerful, but configuring it properly is crucial to stay
345+
private.</strong
346+
>
347+
Firefox talks to engines during warmup, and Degoog gets the cookies and
348+
headers it needs to reuse that browser session. That is the trade: better
349+
scraping, more trust placed in your own setup. Keep the WebSocket private,
350+
set a password, and proxy it properly if Firefox is not on the same box. If
351+
privacy is the goal, put both Firefox and Degoog's outgoing requests behind
352+
proxies or a VPN you trust. Otherwise you are mostly making scraping work
353+
better, not making it more private.
297354
</p>
298355
</div>
299356

300357
<h2 id="gandalf">What to do when you see Gandalf</h2>
301358
<figure class="doc-screenshot-image-wrapper">
302-
<img class="doc-screenshot-image" src="images/screenshots/gandalf.png"
303-
data-screenshot-target="images/screenshots/gandalf.png" alt="Gandalf the Grey blocking your access." />
304-
<figcaption>
305-
Gandalf the Grey says you shall not pass.
306-
</figcaption>
359+
<img
360+
class="doc-screenshot-image"
361+
src="images/screenshots/gandalf.png"
362+
data-screenshot-target="images/screenshots/gandalf.png"
363+
alt="Gandalf the Grey blocking your access."
364+
/>
365+
<figcaption>Gandalf the Grey says you shall not pass.</figcaption>
307366
</figure>
308367
<p>
309368
If the homepage shows ASCII art of Gandalf instead of the search box, you have
@@ -325,7 +384,9 @@ <h2 id="gandalf">What to do when you see Gandalf</h2>
325384
shared address gets banned, and suddenly you see Gandalf even though you never
326385
touched those paths yourself. The same misconfiguration also makes rate limits
327386
apply to everyone at once; see
328-
<a href="troubleshooting.html#rate-limited-yourself">Everyone is getting rate limited</a>.
387+
<a href="troubleshooting.html#rate-limited-yourself"
388+
>Everyone is getting rate limited</a
389+
>.
329390
</p>
330391
<p>To get back in:</p>
331392
<ol>
@@ -374,7 +435,9 @@ <h2 id="general-tips">Smaller things worth knowing</h2>
374435
<a href="engines-providers.html#aggregation">How aggregation works</a>.
375436
</li>
376437
<li>
377-
<strong>Per-engine timeouts stop one slow engine ruining everything.</strong>
438+
<strong
439+
>Per-engine timeouts stop one slow engine ruining everything.</strong
440+
>
378441
Same panel.
379442
</li>
380443
<li>
@@ -402,4 +465,4 @@ <h2 id="general-tips">Smaller things worth knowing</h2>
402465
restart required" warning. The banner in <em>Settings, General</em> has a
403466
button that does it for you.
404467
</li>
405-
</ul>
468+
</ul>

0 commit comments

Comments
 (0)