[–] 1 point 2 days ago* (2 children)

OP is in Germany where they have a private database called Schufa that pools information about you collected from banks, mobile carriers and internet providers, and provides a "score" to them as well as to landlords.

It's borderline legal under GDPR because it doesn't actually store anything about things like nationality, employment, religion, marital status or sensitive financial information like income, assets, expenses.

The score is based on things like loan existence & repayments, ongoing utility contracts (with privately owned companies), if you've filed for insolvency, how often 3rd parties inquire about your score and other circumstantial data.

Generally speaking you're correct, in most countries there are very clear rules about loans that are based on what other loan repayment you have vs what's your current income, and there are rules about how far much debt you can take as a ratio of the two (say, you can't take a new loan if you're already using 60% of your income to repay previous loans).

Also, the information about loans is typically restricted to this exact inquiry: can this person get a new loan (yes/no) and if yes what's the maximum they allowed to repay per month (X euro). So the bank knows they can structure a loan to you based on a repayment of up to X per month, but nothing else.

I'm guessing Germany doesn't have regulation like this (since accessing any information about your income and expenses is forbidden), so Schufa was created to be a (poor) substitute.

  • source
  • parent
  • context
  • [–] 1 point 2 days ago

    I don't computer enough to host my own site.

    You mean savvy or cost?

    If it's cost, you can have a simple site and email with your own domain for something like $30 a year.

    I cut lawns and maintain gardens,

    Do you own your rake and gloves or rent/borrow them?

    It's the same thing having a domain. Really basic but essential tool that it makes sense to own it and have no surprises or changes at anybody else's whim.

  • source
  • parent
  • context
  • [–] 6 points 3 days ago

    AFAIK the concept behind keepassxc is that it's an encrypted .kdbx file that you sync yourself among your devices by any means you can. There are official apps for Windows/Linux/Mac, browser extensions for Firefox/Chrome/Chromium/Vivaldi, there's integration with ssh-agent, and 3rd-party apps for Android and iOS.

  • source
  • parent
  • context
  • [–] 20 points 3 days ago (3 children)

    decided that scraping the internet for fanworks and hosting them on a new site without asking permission from any of the creators was a good idea

    The thing is, in any fetish and fanfic community there will be a body of works accumulated over the years that contains many classics but the authors are only a nickname. Sometimes there's an email listed that stopped working decades ago.

    The sites that host the works are usually run by enthusiasts. Over the years they lose the incentive to maintain them. Whenever a site goes down and others take its place there's always a dilemma about what to do with that body of work.

    Technically speaking, yes, any site that's not the site where each author originally uploaded their work is in breach of copyright and/or licensing for those works. On the other hand, if you were to attempt to contact each author and only carry forward the works where you get an answer and permission... only a tiny fraction would qualify, and massive portions of the literature would be lost in each move.

  • source
  • parent
  • context
  • [–] 5 points 3 days ago (1 child)

    As someone who's used all three (moved from Plex -> Emby -> Jellyfin):

    Plex's killer feature is the relay and the fact it's completely transparent for users. You log in with a Plex client (whatever device, whatever location in the world) and it will sort out a connection to the Plex server. Complete no-brainer.

    Jellyfin has been killing it lately, the last 3 versions (10, 11, 12) were all amazing leaps forward. The devs have been really hitting their stride and are addressing fundamental design issues and making Jellyfin better from the ground up. If you want complete independence, openness and control, excellent performance, this is it.

    Emby for me sits somewhere in-between and it's not necessarily the better off for it. Feels like a compromise or the worst of both worlds. It has touches of Plex's enshittification streak, it hasn't addressed any of the core problems like Jellyfin has.

    Both Emby and Plex have issues navigating VPNs and complex/unusual network setups because their plug'n'play approach relies too heavily on autodetection. Plex has the relay to fall back on (provided you pay for it) but Emby doesn't.

    Both Emby and Plex will move features around and really, really want you to keep paying so it's anybody's guess what you'll be paying for from month to month. Lifetime passes were (can I say it?) a tremendously STUPID idea and now that ship has sailed anyway.

    IMHO, one of these days someone will come up with a way for Jellyfin to provide free, transparent, aecure client+server pairing behind NAT and that will be a huge blow to both Plex and Emby.

  • source
  • parent
  • context
  • [–] 2 points 4 days ago

    You can appoint multiple accounts as administrators at Migadu, provided you're not on the Micro plan.

    Another option would be the "pattern rewrites" feature of Migadu. It's a sort of "wildcard alias". You, as admin, can define an alias with a asterisk in it (let's say bla.*@) for one of the wife's mailboxes, and she could give out addresses with the asterisk replaced by anything she wants (bla.amazon@, bla.ebay@ etc.)

    You can define more than one such wildcard pattern, you could make for her shop.*@, bank.*@, bills.*@, social.*@, and so on, a pattern for every occasion.

    She would still not be able to edit these aliases but she would be able to make them up on the fly (as long as they match the fixed part of a wildcard). You can even send from these aliases (you simply use them as your "From" address in the mail client).

  • source
  • parent
  • context
  • [–] 3 points 4 days ago* (1 child)

    You can do what you want with IMAP too.

    I use isync, it's a CLI tool that can sync between IMAP accounts or between IMAP and local plain storage and it has the option to delete messages over a certain age after it copies them.

    Is there a set up where some remote service handles email exchange, and you just sync with it

    Any regular email provider can do this as long as it offers IMAP. I use email clients with my provider's IMAP but I also use isync on the server to periodically pull all email locally and delete messages older than 30 days. I've also installed a local private IMAP server and a private webmail client on top of that private IMAP, which I use to search through old emails.

    This way I normally use the "live" mailbox with my PC/mobile devices, and use the private webmail when I need to search for anything over 30 days old.

    What I do is not "selfhosted email", technically speaking, because I rely on the live IMAP and SMTP from a provider. But I can switch provider at any time because all my email is @ my custom domains, so I can simply point my DNS to another provider and update my apps to use the new provider's IMAP/SMTP server.

  • source
  • [–] 2 points 4 days ago (2 children)

    Do you know if it is possible to connect one alias to multiple mailboxes?

    I don't know if Mailbox does this but technically speaking it should definitely be possible, as long as the mailboxes are on the same domain. (If you cross domains it's not aliasing anymore, it's forwarding.)

    I know Migadu has this feature and it works as intended.

    Speaking of Migadu it's another good option but they only do email, nothing else (no calendar, no drive etc.) They have an interesting pricing model where the account owner pays for a certain tier of storage and of emails sent/received per day, but inside that account you can have as many mailboxes, logins, domains and aliases as you want. It can become cost-effective very fast, as low as 2-3 users.

  • source
  • parent
  • context
  •  

    Good news, a security issue that was blocking the draft for the new DNS-PERSIST-01 challenge mode for TLS certificates has been resolved, meaning the challenge can resume moving forward.

    Some background for those who aren't up to date:

    • TLS challenges are how self-hosters and many other TLS certificate users prove who they are in order to automate cert renewals.
    • The most popular challenge methods are HTTP-01 (which involves having a live web server answering on port 80 somewhere) and DNS-01 (which involves putting a key given by the TLS authority in your DNS zone in a TXT record temporarily).
    • All the current challenges are conducted "live" and require active online participation on the part of the domain owner each time a cert is approaching expiration.
    • The new DNS-PERSIST-01 challenge would let owners keep a proof in their DNS zone indefinitely (or with self-imposed expirations), eliminating the need for those online sessions.
    • DNS-PERSIST-01 was slated to come out in Q2 this year at the latest and all the popular tools (ACME bots, reverse proxies etc.) have been chomping at the bit to implement it.
    • Unfortunately there's been a security snag. Trying to do things the way DNS-01 did (record only the server-provided proof in DNS) would open DNS-PERSIST-01 to middleman attacks, because unlike DNS-01 where the proof is only there temporarily for a few seconds or a few minutes at the most, in this case the proof would be long-term.
    • Hence issue #64, which has been trying to come up with a way to keep only a partial proof in DNS, and combine it with something issued by the server and something issued by the domain owner to make the whole proof, thus rendering the stuff stored in DNS impossible to use for malicious purposes, yet still sufficient for verifying ownership periodically.

    Hopefully now that this hurdle has been passed things will proceed faster and we'll get to use this in the near future.

     

    I'm working on a personal project and I'd like to add a feature where you can deny/allow access based on IP.

    I'm not sure that the way I'm thinking about it is good enough.

    The user would be able to specify multiple deny and allow ranges as IP[/CIDR] and then I would:

    • Go through all the "deny" ranges and if any of them matches reject access.
    • Go through all the "allow" ranges and if any of them matches permit access.
    • If nothing matches the final decision is taken by a default fallback policy that can be set to allow or deny.

    Would this be good enough or are there scenarios that can't be expressed this way?

    PS: fwiw I did have a look at how other projects achieve this. Some let you define ranges and combine them with boolean logic in any manner, pseudo-programatically; that's a bit too complex for mine. Some let you draw up a list where order matters and the first matching range "wins"; I'm not sure if that's more capable than my way, and having order matter would complicate things for my code.

    Appreciate any help. If you can link me to something that talks about this, that's good too.

     

    Having fought for several days with this, I'd thought it would be worth sharing while it's still fresh in what's left of my mind:

    Problem:

    • OpenWRT router running latest available version (25.12) and Luci UI.
    • IP cam that I want hardwired-only (Ethernet).
    • Cam must have no access to internet or rest of LAN.
    • Cam must only be accessed directly by the NVR software.
    • Software (NVR and reverse proxy) run as docker containers on server PC.
    • Any other LAN device (laptop, phone) must be able to access the NVR only via the reverse proxy.

    Network topology:

    • Cam is plugged physically in lan1 port on router.
    • Server is plugged physically in lan3 port on router.
    • The problem above basically means we need two tagged VLANs, one for regular LAN devices, and one just for NVR and camera.

    Configuring the VLANs in OpenWRT:

    Before anything else: try doing the next batch of configs from wireless if possible not Ethernet, in case you mess up and lose wired connectivity to the router.

    • Go to Network > Interfaces > Devices and press "Configure" for the bridge that holds your router ports. This will typically be called "br-lan".
    • Go to the "Bridge VLAN filtering" tab and check "enable Vlan filtering".
    • Press the "Add" button twice to get two VLANs.
    • First VLAN: set id=1, check "local", mark lan1=off (not member), lan2=untagged, lan3=tagged (also primary), lan4=untagged. You can use any ID but "1" is traditional for the base LAN network.
    • Second VLAN: set id=100, check "local", mark lan1=untagged, lan2=off, lan3=tagged, lan4=off. Again, you can use any ID, but it's traditional to avoid numbers under 10 because they're typically used for core VLANs.
    • Case in point, please note that my router has two physical NICs, one for LAN ports 1-4 and one for WAN, so I have a separate br-wan device just for wan. But some routers only have one physical NIC so they only have one bridge that covers both lan1-4 and wan ports. On these routers when you get to the filtering tab you will find two VLANs (1 and 2, typically) already set up. If this is the case add the VLAN 100 and modify VLAN 1 as above and mark wan as off in 100.
    • After you press "save" you will notice two new virtual devices called "br-lan.1" and "br-lan.100" type VLAN 802.1q have appeared in the device list.
    • Do not apply modifications yet. First go to Network > Interfaces, edit the "lan" interface and switch it from device "br-lan" to device "br-lan.1", otherwise you may lose connectivity to router if you're on Ethernet.
    • If you've applied changes early and lose connectivity, don't panic, just wait. In recent OpenWRT versions after 90s without confirmation from the UI the router will automatically rollback the last changes.

    If all went well and you're on wireless or one of the untagged Ethernet ports (lan2 or lan4) you should have retained connectivity to the router and wireless devices.

    Configuring the NVR network in OpenWRT:

    • Go to Network > Interfaces, click "Add new interface".
    • Call it "NVR", protocol "static address", device "br-lan.100".
    • Next, edit it and set up your desired IPv4 address and netmask.
    • You MUST go to "firewall settings" and use the "custom" field to add a new "NVR" zone. alternatively you can go to Network > Fireall, create the NVR zone there, and choose it here.
    • Enable DHCP if you want.
    • If you do, please note that some routers bind dnsmasq only explicitly to select interfaces. Please check under Network > DHCP > dnsmasq > Devices & Ports and if "non-wildcard" is checked you will have to add "NVR" to the "Listen interfaces" to actually get DHCP services on that network.
    • Under Network > Firewall you should have a zone called "NVR". Set input/output/forward to accept/accept/reject.
    • Under Network > Firewall > Traffic rules you have to add a new rule, calld it "NVR DHCP", that says that protocol UDP, source zone "NVR", destination "device (input)", destination port 67, action "accept", and under advanced restrict address family to IPv4. Traffic rules have priority over zone configuration so DHCP will work no matter how you fuck up your zone access.
    • We will be skipping DNS because we don't want the NVR network to benefit from any. But if we did we'd be doing the same we did for DHCP (got to Network > DNS to enable explicitly on NVR interface, and add a traffic rule for it).

    Configuring the camera:

    • Plug the camera into port lan1, it should pick up a DHCP address on the network you've defined for interface "NVR".
    • In order to be able to access that IP from your regular LAN to configure the camera with your phone you'll have to temporarily add the "NVR" zone to the list of forward zonez of the "lan" zone.
    • Would probably be a good idea to either configure the camera to a static IP or give it a static DHCP assignment based on the Ethernet MAC, so you know where to reach it from the NVR software.
    • Remember to remove the "NVR" zone from the lan's zone forwards when you're done.

    Configuring the server for tagged VLAN connectivity:

    • Your server (port lan3) was marked for tagged VLAN connectivity in OpenWRT but it doesn't (yet) actually use tagged connections. We have to fix that or it won't be reachable.
    • Feel free to mark lan3 as "untagged" on VLAN 1 to connect to it while you change the settings, but keep in mind that direct console access may be needed if you fuck up.
    • My server runs Debian so configuration basically runs down to loading module 8021q (and adding it to /etc/modules just in case, although this should be largely automated), and editing /etc/network/interfaces. Feel free to adjust the example below to your needs:
    # this will bring up eth0 but leave it unconfigured, merely as a support carrier for the VLANs 
    auto eth0
    iface eth0 inet manual
    
    # this will set up VLAN ID 1 and tell it to use DHCP
    auto eth0.1
    iface eth0.1 inet dhcp
    
    # this will set up VLAN ID 100 with a static address
    auto eth0.100
    iface eth0.100 inet static
    	address 10.234.100.2/24
    

    Configuring docker networks and containers:

    • Remember I said the proxy and the NVR are running in docker containers. If you haven't done anything fancy with them before, you were probably using ports: to expose a port for the proxy and one for the NVR on the host's LAN IP, and pointing the proxy to the NVR.
    • First, we will want to make an ipvlan or macvlan docker network that will use the eth0.100 interface. Containers that use this network will be placed in the NVR network/zone, and have their communications tagged with VLAN ID 100. Feel free to customize the network range. You can use either ipvlan or macvlan, the latter is not very useful since docker can't do DHCP. Note the use of aux-address to reserve the IP you've assigned the camera, in case there's potential overlap with the range you choose for automatic allocation. It's essential that you use the eth0.100 interface as parent.
    docker network create --driver ipvlan \
    --ip-range=10.234.100.97/27 --subnet=10.234.100.0/24 --gateway=10.234.100.1 \
    --aux-address 'cam1=10.234.100.10' \
    -o parent=eth0.100 nvr-vlan
    
    • We also need a bridge network that will allow the proxy to see the NVR container, because once the NVR container is placed on the NVR network on the VLAN ID 100 it won't be reachable directly by the proxy.
    docker network create --driver bridge \
    --opt com.docker.network.bridge.name=br-docker-proxy \
    --ipv4 --subnet=172.23.1.0/24 --gateway=172.23.1.1 \
    proxy-bridge
    
    • Next, in the NVR container compose, join both proxy-bridge and nvr-lan:
    services:
      nvr:
        networks:
          nvr-vlan:
          proxy-bridge:
        hostname: nvr
    networks:
      nvr-vlan:
        external: true
      proxy-bridge:
        external: true
    
    • Also in the proxy container compose you will want to join the proxy-bridge network.
    • Remove the ports: directive from the NVR container, it doesn't serve any purpose now. Containers on ipvlan/macvlan are reachable by their native port assignments on the networks they've joined.
    • Please note the hostname: nvr in the NVR compose, that's the name you will have to use in the proxy configuration to reach the NVR. Docker will supply a DNS resolve for this automatically.
    • The proxy doesn't need to be on nvr-vlan. I mean you can, but you need to keep the proxy accessible from the main network so it will keep using ports: as usual.

    Bibliography:

    view more: next ›