@schmurnan@lemmy.world avatar

schmurnan

@schmurnan@lemmy.world

V

This profile is from a federated server and may be incomplete. Browse more on the original instance.

schmurnan,
@schmurnan@lemmy.world avatar

Pro models actually got a price decrease in the UK, unless I’m missing something.

Now I just need to decide whether to match my phone to my watch and get the natural titanium, or whether to go for the blue.

Oh, and, Pro (like usual) or Pro Max (seems a bit big!).

schmurnan,
@schmurnan@lemmy.world avatar

Which menu, sorry? I’m not seeing a menu. In my browser window I’m seeing a Back button in the top-left, an Edit button in the top-right and the title of the doc in the top-middle.

schmurnan,
@schmurnan@lemmy.world avatar

Yep, tried that. On both Safari and Brave, all it seems to do is remove the ‘Edit’ button from the top-right corner.

schmurnan,
@schmurnan@lemmy.world avatar

Thanks, that did the trick. A combination of removing /mobilebasic from the end of the URL and requesting the desktop version of the site opened the full document. Doesn’t really work well on a mobile screen, but in the odd occasions where I need to update a document quickly and on-the-go, this will work. Thanks a lot!

schmurnan,
@schmurnan@lemmy.world avatar

I could be misinformed, but this isn’t just limited to Spark as I understand it, I believe a lot (maybe all?) third-party clients do the same thing. They act as an intermediary between you and the server so they can deliver push notifications.

However, as I understand it, Spark’s privacy policy outlines that they don’t read/scan the contents of your emails, and the use of app-specific passwords rather than your email password ensures they only have access to emails and nothing else.

Pretty sure others such as Canary, Airmail, Edison, etc. all do/did the same thing, but it was the lack of clarity in Spark’s privacy policy that made them the main target for scrutiny. I think they’ve since cleared that up.

I could be mistaken, though.

schmurnan,
@schmurnan@lemmy.world avatar

I didn’t know they stored local copies — had a very, VERY quick skim through their privacy policy on their website and couldn’t see any reference to that (sure it’s there but I didn’t see it).

I’m not a Spark user btw, was just following the conversation. I use plain ol’ Apple Mail.

schmurnan,
@schmurnan@lemmy.world avatar

Thanks, I’ll take a look. I didn’t know about that post.

schmurnan,
@schmurnan@lemmy.world avatar

I’ve always just used Safari as my browser on iOS and macOS so have never paid attention to reviews/opinions on the newer browsers such as Brave. Before I switched to Mac I always used Firefox on my Windows machines so know how privacy focused they’ve always been. But I’m hearing a lot of positives about Brave, and so far it seems pretty decent.

I’ve tried Arc but wasn’t entirely convinced. And in work I have a Windows machine so have been tied to Edge (although I’ve recently put in a request for Firefox and had it approved).

I guess it’d be nice to have a consistent search experience across the board, which the likes of DDG would give me. But definitely seeing good things about Brave and Brave Search.

schmurnan,
@schmurnan@lemmy.world avatar

Perhaps I need to go back to figuring out SearXNG. Although I did read that there’s a slight privacy compromise to use SearXNG over SearX.

Perhaps that doesn’t apply if it’s self-hosted, though.

schmurnan,
@schmurnan@lemmy.world avatar

What are your thoughts on Arc? I tried it a couple of months ago but couldn’t really get used to the layout, etc.

Sure it’s as good a browser as any, I just wasn’t feeling it.

schmurnan,
@schmurnan@lemmy.world avatar

I’m seeing a lot of love for Kagi as well. Not sure I’m quite ready to have to pay for search results, but I fully appreciate people that do. I have lots of subscriptions already and am trying to reduce them (i.e. self-hosting Vaultwarden as a replacement for 1Password).

schmurnan,
@schmurnan@lemmy.world avatar

Yeah I’ve got Docker up and running with lots of containers, but wasn’t getting any results back from SearXNG for some reason, kept getting timeouts. I’ve got everything running behind Traefik so might just be a bit of a config issue.

schmurnan,
@schmurnan@lemmy.world avatar

No, I’m using local DNS in Pi-hole with a domain I own but nothing is externally accessible. And even if it were, I’ve got Authelia on all my containers (except, Vaultwarden because I can’t get it to work).

schmurnan,
@schmurnan@lemmy.world avatar

Would love to know this, and this did form part of my OP in terms of which search engines could be “hacked” into Safari.

schmurnan,
@schmurnan@lemmy.world avatar

I replied to another comment on here saying that I’d tried this once before, via a Docker container, but just wasn’t getting any results back (kept getting timeouts from all the search engines).

I’ve just revisited it, and still get the timeouts. Reckon you’re able to help me troubleshoot it?

Below are the logs from Portainer:


<span style="color:#323232;"> File "/usr/local/searxng/searx/network/__init__.py", line 165, in get
</span><span style="color:#323232;">    return request('get', url, **kwargs)
</span><span style="color:#323232;">           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 98, in request
</span><span style="color:#323232;">    raise httpx.TimeoutException('Timeout', request=None) from e
</span><span style="color:#323232;">httpx.TimeoutException: Timeout
</span><span style="color:#323232;">2023-08-06 09:58:13,651 ERROR:searx.engines.soundcloud: Fail to initialize
</span><span style="color:#323232;">Traceback (most recent call last):
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 96, in request
</span><span style="color:#323232;">    return future.result(timeout)
</span><span style="color:#323232;">           ^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result
</span><span style="color:#323232;">    raise TimeoutError()
</span><span style="color:#323232;">TimeoutError
</span><span style="color:#323232;">The above exception was the direct cause of the following exception:
</span><span style="color:#323232;">Traceback (most recent call last):
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize
</span><span style="color:#323232;">    self.engine.init(get_engine_from_settings(self.engine_name))
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init
</span><span style="color:#323232;">    guest_client_id = get_client_id()
</span><span style="color:#323232;">                      ^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id
</span><span style="color:#323232;">    response = http_get("https://soundcloud.com")
</span><span style="color:#323232;">               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 165, in get
</span><span style="color:#323232;">    return request('get', url, **kwargs)
</span><span style="color:#323232;">           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 98, in request
</span><span style="color:#323232;">    raise httpx.TimeoutException('Timeout', request=None) from e
</span><span style="color:#323232;">httpx.TimeoutException: Timeout
</span><span style="color:#323232;">2023-08-06 09:58:13,654 ERROR:searx.engines.soundcloud: Fail to initialize
</span><span style="color:#323232;">Traceback (most recent call last):
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 96, in request
</span><span style="color:#323232;">    return future.result(timeout)
</span><span style="color:#323232;">           ^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/lib/python3.11/concurrent/futures/_base.py", line 458, in result
</span><span style="color:#323232;">    raise TimeoutError()
</span><span style="color:#323232;">TimeoutError
</span><span style="color:#323232;">The above exception was the direct cause of the following exception:
</span><span style="color:#323232;">Traceback (most recent call last):
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/search/processors/abstract.py", line 75, in initialize
</span><span style="color:#323232;">    self.engine.init(get_engine_from_settings(self.engine_name))
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/engines/soundcloud.py", line 69, in init
</span><span style="color:#323232;">    guest_client_id = get_client_id()
</span><span style="color:#323232;">                      ^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/engines/soundcloud.py", line 45, in get_client_id
</span><span style="color:#323232;">    response = http_get("https://soundcloud.com")
</span><span style="color:#323232;">               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 165, in get
</span><span style="color:#323232;">    return request('get', url, **kwargs)
</span><span style="color:#323232;">           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
</span><span style="color:#323232;">  File "/usr/local/searxng/searx/network/__init__.py", line 98, in request
</span><span style="color:#323232;">    raise httpx.TimeoutException('Timeout', request=None) from e
</span><span style="color:#323232;">httpx.TimeoutException: Timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.wikidata: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.duckduckgo: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.google: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.qwant: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.startpage: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.wikibooks: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.wikiquote: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,024 ERROR:searx.engines.wikisource: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,025 ERROR:searx.engines.wikipecies: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,025 ERROR:searx.engines.wikiversity: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,025 ERROR:searx.engines.wikivoyage: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,025 ERROR:searx.engines.brave: engine timeout
</span><span style="color:#323232;">2023-08-06 10:02:05,481 WARNING:searx.engines.wikidata: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,481 ERROR:searx.engines.wikidata: HTTP requests timeout (search duration : 6.457878380082548 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,482 WARNING:searx.engines.wikisource: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,484 ERROR:searx.engines.wikisource: HTTP requests timeout (search duration : 6.460748491808772 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,485 WARNING:searx.engines.brave: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,485 ERROR:searx.engines.brave: HTTP requests timeout (search duration : 6.461546086706221 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,487 WARNING:searx.engines.google: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,487 ERROR:searx.engines.google: HTTP requests timeout (search duration : 6.463769535068423 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,489 WARNING:searx.engines.wikiversity: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,489 ERROR:searx.engines.wikiversity: HTTP requests timeout (search duration : 6.466003180015832 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,490 WARNING:searx.engines.wikivoyage: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,490 ERROR:searx.engines.wikivoyage: HTTP requests timeout (search duration : 6.466597221791744 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,490 WARNING:searx.engines.qwant: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,490 ERROR:searx.engines.qwant: HTTP requests timeout (search duration : 6.4669976509176195 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,491 WARNING:searx.engines.wikibooks: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,491 ERROR:searx.engines.wikibooks: HTTP requests timeout (search duration : 6.4674198678694665 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,491 WARNING:searx.engines.wikiquote: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,492 WARNING:searx.engines.wikipecies: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,492 ERROR:searx.engines.wikiquote: HTTP requests timeout (search duration : 6.468321242835373 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,492 ERROR:searx.engines.wikipecies: HTTP requests timeout (search duration : 6.468797960784286 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,496 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,497 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 6.47349306801334 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:02:05,511 WARNING:searx.engines.startpage: ErrorContext('searx/engines/startpage.py', 214, 'resp = get(get_sc_url, headers=headers)', 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:02:05,511 ERROR:searx.engines.startpage: HTTP requests timeout (search duration : 6.487425099126995 s, timeout: 6.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:04:27,475 ERROR:searx.engines.duckduckgo: engine timeout
</span><span style="color:#323232;">2023-08-06 10:04:27,770 WARNING:searx.engines.duckduckgo: ErrorContext('searx/search/processors/online.py', 118, "response = req(params['url'], **request_args)", 'httpx.TimeoutException', None, (None, None, None)) False
</span><span style="color:#323232;">2023-08-06 10:04:27,771 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.2968566291965544 s, timeout: 3.0 s) : TimeoutException
</span><span style="color:#323232;">2023-08-06 10:04:50,094 ERROR:searx.engines.duckduckgo: engine timeout
</span><span style="color:#323232;">2023-08-06 10:04:50,187 WARNING:searx.engines.duckduckgo: ErrorContext('searx/engines/duckduckgo.py', 98, 'res = get(query_url, headers=headers)', 'httpx.ConnectTimeout', None, (None, None, 'duckduckgo.com')) False
</span><span style="color:#323232;">2023-08-06 10:04:50,187 ERROR:searx.engines.duckduckgo: HTTP requests timeout (search duration : 3.0933595369569957 s, timeout: 3.0 s) : ConnectTimeout
</span>

The above is a simple search for “best privacy focused search engines 2023”, followed by the same search again but using the ddg! bang in front of it.

I can post my docker-compose if it helps?

schmurnan,
@schmurnan@lemmy.world avatar

Do you use a self-hosted SearXNG, or one of the other hosted instances?

schmurnan,
@schmurnan@lemmy.world avatar

Yeah I have a self-hosted one but I’m struggling to get results. I posted under another comment on this thread, was just gonna ask for some support troubleshooting.

Completely agree though, self hosting over public instances all day long.

schmurnan,
@schmurnan@lemmy.world avatar

Thanks. Yeah it’s really frustrating. There are guides out there that show that it’s possible, but I think I’m missing something somewhere. I’m combining guides together so more than likely I’ve missed a step somewhere.

schmurnan,
@schmurnan@lemmy.world avatar

Before putting Pi-hole behind Traefik, it worked perfectly via :/admin. And the logs for Pi-hole now in Traefik show that it is up and working, and I get the login page. But just can’t get beyond it.

The guides I’ve seen show how to structure the Traefik labels with and without the addprefix middleware, and both apparently work. So I’m wondering if by following several guides and taking bits from each, I’ve ended up overlooking something.

I’ll try and expose 80 and see if it makes a difference, but like I say everything is up and running in the backend, I just can’t get past the login screen on the frontend.

schmurnan,
@schmurnan@lemmy.world avatar

Will definitely let you know if I figure it out, for sure.

schmurnan,
@schmurnan@lemmy.world avatar

Just a quick update on where I’m up to…

I’ve managed to get all my containers working behind the Traefik reverse proxy with SSL. I’ve also deployed a Cloudflare DDNS container in Docker and have linked the external IP address of my Synology NAS to Cloudflare. I haven’t port forwarded 80 and 443, though, so it’s not accessible over the internet. So I’ve added local DNS into Pi-hole so I can access all the containers using subdomains.

I’ve also deployed an Authelia container and have started running through my containers adding 2FA in front of them all.

I should probably point out at this juncture, that if I encounter any errors, the HTTP 404 page that I get is a Cloudflare one - I assume that’s expected behaviour?

So, the final three bits I’m struggling with now are:

  • Pi-hole behind the reverse proxy
  • Portainer behind the reverse proxy
  • Accessing Vaultwarden over the internet (because as soon as I leave my house, if the vault hasn’t synced then I don’t have access to all my passwords) - unless anybody has a better suggestion?

Portainer - I have no idea how I do it, because I use it to manage my containers, so don’t have the config for Portainer in Portainer (obviously). So if I screw up the config, how am I getting back in to Portainer to fix it?

And the far more troubling one is Pi-hole. I just cannot get that thing working behind the reverse proxy.

I’ve followed a few different guides (though none of them are recent), and the below is the latest docker-compose I have. It will bring up the login page, but when I login it keeps returning me back to the login page - it won’t go to the main admin page.


<span style="color:#323232;">version: "3.7"
</span><span style="color:#323232;">
</span><span style="color:#323232;">services:
</span><span style="color:#323232;">  pihole:
</span><span style="color:#323232;">    container_name: pihole
</span><span style="color:#323232;">    image: pihole/pihole:latest
</span><span style="color:#323232;">    restart: unless-stopped
</span><span style="color:#323232;">    networks:
</span><span style="color:#323232;">      - medianet
</span><span style="color:#323232;">      - npm_network
</span><span style="color:#323232;">    ports:
</span><span style="color:#323232;">      - 8008:80
</span><span style="color:#323232;">      - 53:53/tcp
</span><span style="color:#323232;">      - 53:53/udp
</span><span style="color:#323232;">    environment:
</span><span style="color:#323232;">      - TZ=Europe/London
</span><span style="color:#323232;">      - WEBPASSWORD=xxxxxxxxxx
</span><span style="color:#323232;">      - FTLCONF_LOCAL_IPV4=192.168.1.116
</span><span style="color:#323232;">      - WEBTHEME=default-auto
</span><span style="color:#323232;">      - DNSMASQ_LISTENING=ALL
</span><span style="color:#323232;">      - VIRTUAL_HOST=pihole.mydomain.com
</span><span style="color:#323232;">    volumes:
</span><span style="color:#323232;">      - /path/to/pihole:/etc/pihole
</span><span style="color:#323232;">      - /path/to/pihole/dnsmasq.d:/etc/dnsmasq.d
</span><span style="color:#323232;">    cap_add:
</span><span style="color:#323232;">      - NET_ADMIN
</span><span style="color:#323232;">    labels:
</span><span style="color:#323232;">      - traefik.enable=true
</span><span style="color:#323232;">      - traefik.http.routers.pihole.entrypoints=http
</span><span style="color:#323232;">      - traefik.http.routers.pihole.rule=Host(`pihole.mydomain.com`)
</span><span style="color:#323232;">      - traefik.http.middlewares.pihole-https-redirect.redirectscheme.scheme=https
</span><span style="color:#323232;">      - traefik.http.routers.pihole.middlewares=pihole-https-redirect
</span><span style="color:#323232;">      - traefik.http.middlewares.pihole-addprefix.addprefix.prefix=/admin
</span><span style="color:#323232;">      - traefik.http.routers.pihole.middlewares=pihole-addprefix
</span><span style="color:#323232;">      - traefik.http.routers.pihole-secure.entrypoints=https
</span><span style="color:#323232;">      - traefik.http.routers.pihole-secure.rule=Host(`pihole.mydomain.com`)
</span><span style="color:#323232;">      - traefik.http.routers.pihole-secure.tls=true
</span><span style="color:#323232;">      - traefik.http.routers.pihole-secure.service=pihole
</span><span style="color:#323232;">      - traefik.http.services.pihole.loadbalancer.server.port=80
</span><span style="color:#323232;">
</span><span style="color:#323232;">networks:
</span><span style="color:#323232;">  medianet:
</span><span style="color:#323232;">    external: true
</span><span style="color:#323232;">  npm_network:
</span><span style="color:#323232;">    external: true
</span>
  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • tacticalgear
  • magazineikmin
  • thenastyranch
  • Youngstown
  • mdbf
  • rosin
  • slotface
  • InstantRegret
  • khanakhh
  • Durango
  • kavyap
  • osvaldo12
  • DreamBathrooms
  • JUstTest
  • GTA5RPClips
  • ngwrru68w68
  • everett
  • tester
  • ethstaker
  • cisconetworking
  • cubers
  • modclub
  • provamag3
  • anitta
  • normalnudes
  • Leos
  • lostlight
  • All magazines