Yeah, hence why I said “pretty much”.
Yeah, hence why I said “pretty much”.
the NC is rarely available or only for a few seconds which screws my automatic backup of photos. This is annoying. I think it is because there are two conflicting routes to the NC, one via the internal IPv4 and the other over the publicly available IPv6.
Sounds unlikely tbh. A TCP connection is established for a specific target address which stays the same for the duration of that connection, and there is pretty much no interaction between IPv4 and IPv6 in the first place. Have you run Wireshaek? Is it the same problem from other clients in the network? Have you tried explicitly connecting to the IPv6 address and the IPv4 address to see if it’s a specific one that’s not working?
But it actually doesnt. Most public wifis or other residential networks dont seem to give me external access to my Nextcloud, ironically, my mobile network via phone does.
A lot of those networks are run by boomers who don’t care about IPv6 or don’t want to set it up because (insert excuse from IPv6 Bingo) or non-tech people whose router doesn’t turn it on automatically. So yeah, that is unfortunately something you have to expect and work around.
Problem 1 seems to be best solved with renting the cheapest VPS I can find and then…build a permanent SSH tunnel to it? Use the WireGuard VPN of my router? Some other kind of tunnel to expose a public IPv4? Iirc, VPS are billed by throughput, I am not sure if I might run into problems here, but the only people that use it are my gf and me, and when not at home, mostly for the CalDAV stuff.
You don’t even need a tunnel. Just a proxy on a VPS that runs on IPv4 and connects to the IPv6 upstream. Set the AAAA record to the real host and the A record to the VPS. Assuming you actually get a static prefix which you should, but some IPv4-brained ISPs don’t and you get a rotating prefix, in which case it’s probably more annoying.
I do this too, mine runs on a free Oracle Cloud ARM VPS.
The disks are the most uggo part. They’re a bunch of old disks of varying sizes with a RAID+LVM setup to make the most use of them while still being redundant.
saiko@vineta ~ % lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 512M 0 part /Volumes/Boot
└─sda2 8:2 0 111.3G 0 part /nix/store
/
sdb 8:16 1 372.6G 0 disk
└─sdb1 8:17 1 372.6G 0 part
└─md1 9:1 0 1.5T 0 raid5
└─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
sdc 8:32 1 465.8G 0 disk
├─sdc1 8:33 1 372.6G 0 part
│ └─md1 9:1 0 1.5T 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
└─sdc2 8:34 1 93.1G 0 part
└─md2 9:2 0 279.3G 0 raid5
└─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
sdd 8:48 1 4.5T 0 disk
├─sdd1 8:49 1 372.6G 0 part
│ └─md1 9:1 0 1.5T 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
├─sdd2 8:50 1 93.1G 0 part
│ └─md2 9:2 0 279.3G 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
├─sdd3 8:51 1 465.8G 0 part
│ └─md3 9:3 0 931.3G 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
└─sdd4 8:52 1 3.6T 0 part
└─md4 9:4 0 3.6T 0 raid1
└─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
sde 8:64 1 7.3T 0 disk
├─sde1 8:65 1 372.6G 0 part
│ └─md1 9:1 0 1.5T 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
├─sde2 8:66 1 93.1G 0 part
│ └─md2 9:2 0 279.3G 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
├─sde3 8:67 1 465.8G 0 part
│ └─md3 9:3 0 931.3G 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
└─sde4 8:68 1 3.6T 0 part
└─md4 9:4 0 3.6T 0 raid1
└─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
sdf 8:80 1 931.5G 0 disk
├─sdf1 8:81 1 372.6G 0 part
│ └─md1 9:1 0 1.5T 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
├─sdf2 8:82 1 93.1G 0 part
│ └─md2 9:2 0 279.3G 0 raid5
│ └─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
└─sdf3 8:83 1 465.8G 0 part
└─md3 9:3 0 931.3G 0 raid5
└─storagevg-storage 254:0 0 6.3T 0 lvm /Volumes/storage
sr0 11:0 1 1024M 0 rom
For iOS, Go Map!! (source) has a similar quests system. I don’t know how well they hold up to StreetComplete though, I’ve never used the latter.
Also, obligatory https://wiki.openstreetmap.org/wiki/How_to_contribute!
The bingo one actually uses crossbeam channels instead of mutexes, so that’s nice. I haven’t looked too closely at it though.
I don’t think you can do too much about the Spectrum one if you want to keep the two threads, but here’s what I would change related to thread synchronization. Lemmy doesn’t seem to allow me to attach patch files for whatever reason so have an archive instead… https://dblsaiko.net/pub/tmp/patches.tar.bz2 (I wrote a few notes in the commit messages)
Just to give the reason for Rc<RefCell> in the current project. I’m reading in a M3U file and I’m going to be referencing it against an Excel file. So in the structure for the m3u file, I have two BtreeMaps, one for order by channel number and one by name. Each containing references to the same Channel object.
So basically it’s channels indexed by channel number and name? That one is actually one of the easy cases. Store indices instead:
struct Channels {
data: Vec<Channel>,
by_number: BTreeMap<u32 /* or whatever */, usize>,
by_name: BTreeMap<String, usize>,
}
// untested but I think it should compile
fn get_channel_by_name(ch: &Channels, name: &str) -> Option<&Channel> {
Some(&self.data[*ch.by_name.get(name)?])
}
Not for the built-in Eq derive macro. But you can write your own derive macros that do allow you to take options, yeah.
Do you have some public code you could link to that you’re having this issue with? There isn’t a one-size-fits-all solution for Rc/RefCell, I think.
Most computers with (at least) two network interfaces will do. If it’s something too crappy your throughput will be limited by CPU speed but I can’t tell you exact recommendations here. Here’s OPNsense’s hardware recommendations for example, they’re not high at all. Off-the-shelf devices that allow you to do this should probably be fine too.
I’d put Linux on it and use nftables but BSD PF seems to be very popular for firewalls (OPNsense/pfSense are built on this) which I have never used so consider that too.
Not a professional networking guy either but here’s my opinion.
What I would do is use the ISP router as is, open all ports on it (except to itself, hopefully it doesn’t do that…), and put a firewall in between the router and everything else that controls the actual access to everything behind it (in bridge mode between the two network interfaces of the firewall, so you only have the one network).
Could a potential second router also assign addresses to devices in that globally routable space directly?
Devices in IPv6 assign addresses themselves via SLAAC, you just need one device advertising the prefix which the ISP router should already do. The firewall should be able to just purely be there for packet filtering. If you need fixed addresses for public facing servers I would just assign them manually to the respective boxes as you likely also need to add them to public DNS manually anyway.
Huh, I thought I looked through them all when I tried it last time. I’ll check again.
Do you self-host Jitsi? The public instance has absolutely unusable FPS for streaming gameplay which is pretty much the only thing I still use discord for because it’s the only thing that seems to do it well. I read somewhere you can turn up the FPS on a self-hosted Jitsi though.
Yup!
Never seen this before, but you can enable NFS debugging with ‘rpcdebug -m nfs -s all’ (or nfsd on the server, or rpc for the underlying protocol). It prints to dmesg.
IIRC Keepass2Android does have that feature.
I’ve been trying VS Codium out for Rust/C++ development after avoiding it for years. (Used to use CLion until it for some reason stopped scaling consistently a couple days ago after I reinstalled my PC.)
So far it’s pretty good, except that run configurations seem extremely half baked and inconsistent between the two languages (or rather between build systems, at least for CMake, which doesn’t use the built in one at all; maybe specifically because it is half baked).
sourcehut. I like how it’s structured, where issue trackers, repos, and so on are independent of each other but can be grouped using a project, and you can have as many of each as you want or none at all. You should be able to have a huge monorepo with many issue trackers, or a single issue tracker for a project split across many repos if you want. GitHub doesn’t really allow you to do either, certainly not the former, and same with most of the alternatives. Everything else seems to clone GitHub’s workflow for contributions as well which I can’t stand (sourcehut uses git send-email as the primary contribution method — but there is also a GitHub style PR button —, which apart from the email jank I find much better because once it’s set up you can just send changes to any project with just a local clone; it also means you don’t even have to be registered on sourcehut to send changes to a project hosted there).
I also self-host cgit I suppose but that’s not really a GitHub alternative.
What they suggest sounds like setting up a bridge interface between your LAN and the VPN interface to connect the VPS with your LAN. That’s actually a good idea since it would not need you to have a separate /64 for your local network. In this case I’m pretty sure that your VPN needs to be a layer 2 VPN, i.e. transports whole ethernet frames instead of TCP/UDP only, for this to work correctly. Wireguard doesn’t do this, OpenVPN can for example.
To make the VPS a gateway, you need to configure it to forward packets between networks and then set it as your default route on the clients (with IPv6, default route is usually published using router advertisements, set up radvd service on your VPS for that). That’s pretty much it IIRC except for the firewall rules. Here’s an article that’s some cloud stuff but is also applicable to your situation: https://www.linode.com/docs/guides/linux-router-and-ip-forwarding/#enable-ip-forwarding
You don’t need a tunnel since your server is already accessible by the VPS over IPv6 (and you have to deal with changing prefix for the direct connection from other hosts already).