• 0 Posts
  • 48 Comments
Joined 2 years ago
cake
Cake day: June 11th, 2023

help-circle

  • This is a really fantastic explanation of the issue!

    It’s more like improv comedy with an extremely adaptable comic than a conversation with a real person.

    One of the things that I’ve noticed is that the training/finetuning that’s done in order to make it give good completions to the “helpful ai conversation scenario” is that it flattens a lot of the capabilities of the underlying language model for really interesting and specific completions. I remember playing around with gpt2 in it’s native text completion mode, and even with that much weaker model, it was able to complete a much larger variety of text styles without sliding into the sameness and slickness of the current chat model fine-tuning.

    A lot of the research that I read on LLMs is using them in the original token completion context, but pretty much the only way people interact with them is through a thick layer of ai chatbot improv. As an example for code, I imagine that one would have more success using an LLM to edit your code if the context that you give it starts out written like it is a review of a pull request for the code, or some other commentary of a form that matches the way that code is reviewed in the training data. But instead of having access to create that context directly, we have to ask for code review through the fogged window of a chat between an AI assistant and a person discussing code. And that form of chat likely isn’t well represented in the training data.






  • I don’t know a lot about tailscale, but I think that’s likely not relevant to what’s possible (but maybe relevant to how to accomplish it).

    It sounds like the main issue here is dns. If you wanted to/were okay with just IP based connections, then you could assign each service to a different port on Bob’s box, and then have nginx point those ports at the relevant services. This should be very easy to do with a raw nginx config. I could write one for you if you wanted. It’s pretty easy if you’re not dealing with https/certificates (in which case this method won’t work anyway).

    Looking quickly on google for npm (which I’ve never used), this might require adding the ports to the docker config and then using that port in npn (Like here). This is likely the simplest solution.

    If you want hostnames/https, then you need some sort of DNS. This is a bit harder. You can take over their router like you suggested. You could use public DNS that points at a private IP (this is the only way I’m suggesting to get public trusted ssl certificates).

    You might be able to use mdns to get local DNS at Bob’s house automatically, which would be very clean. You’d basically register like jellyseer.local and jellyfin.local on Bob’s network from the box and then setup the proxy manager to proxy based on those domains. You might be able to just do avahi-publish -a -R jellyseer.local 192.168.box.ip and then avahi-publish -a -R jellyfin.local 192.168.box.ip. And then any client that supports mdns/avahi will be able to find the service at that host. You can then register those names nginx/npn and I think things should just work

    To answer your questions directly

    1. Yes I think just a box can work
    2. I think locations are going to be a nightmare. don’t use them if you can avoid it. Also plain nginx really isn’t so bad, and you can learn pretty quickly. this is probably fine in npn though
    3. I don’t think you need to dive into iptables or anything like that. Iptables would provide a lower level proxying (level 3 instead of like level 7), which could be useful if you’re running non http services, but isn’t necessary for 99% of web stuff.
    4. I think part of the problem might be working with higher level systems like npn, but a lot of it is just that networking involves so many layers and there are multiple solutions to any problem, all of which require knowing somewhat what’s happening under the surface to understand why they’re failing

    I’d be happy to try and give more specifics if you choose a path similar to one of the above things.



  • Yeah openwrt should be great. It uses nftables as a firewall on a Linux distribution. You can configure it through a pretty nice ui, but you also have ssh access to configure everything directly if you want.

    The challenge is going to be what the ISP router supports. If it supports bridge mode then things are easy. You just put your router downstream of it and pretend like it’s a modem. Then you configure openwrt like it’s the only router in the network. This is the opposite of what you’ve suggested, using the upstream ISP router in pass through and relying on the openwrt router to get the ipv6 GUA prefix. (You might even be able to get a larger prefix delegated if you set the settings to ask for it)

    If you don’t have bridge mode then things are harder. There’s some helpful information here https://forum.openwrt.org/t/ipv6-only-slaac-dumb-aps/192059/19 even though the situation is slightly different since they also don’t want a firewall. But you probably need to configure your upstream side on the openwrt router similarly.

    Also looking more, the tplink ax55 isn’t supported by openwrt. If you don’t already have it, I’d get something that does. (Or if the default software on the ax55 supports what you want, that’s fine too. I just like having the full control openwrt and similar gives)


  • I’d recommend something that you can put openwrt or opnsense/pfsense on. I think the tplink archers support openwrt at least.

    The ISP router opening things at a port level instead of a host level is kinda insane. Do they only support port forwarding? Or when you open a port range can you actually send packets from the WAN to any LAN address at that port.

    Can you just buy your own modem, and then also use your own router? (If the reason you need the ISP router is that it also acts as a modem).

    Does the ISP router also provide your WiFi? If it does you should definitely go with a second router/access point and then disable the one on the ISP router.


  • I’m a little confused where the NAT comes in. It sounds like you want to use the same addresses on the server and the client, which means that there is no translation going on, just routing?

    I’m not familiar with wireguard, so I’m not going to be much help with that, but I’d imagine that you need to tell the server that that subnet is routed via the wireguard interface? If you do like ip -6 route on the server do you see that fd42:413d:a91f:dd37::/64 is routed via wireguard?


  • Since games don’t have to run with more than user privileges and steam runs in flatpak, you could run them as a different user account with very limited permissions.

    That said, flatpak should be pretty secure as far as I’m aware if you make sure that permissions for the apps running are restricted appropriately. I’m not sure how restricted you can make steam and still have it work though

    You can use offline mode for steam if you’re okay with steam having internet but not games. But there’s no way to use steam entirely offline. Internet access is a fundamental part of the system they have.

    There’s also a question of what your threat model is. Like are you trying to prevent causal access of your files by games, or like a sophisticated attempt to compromise the system conveyed through a game. For the former flatpak seems sufficient. For the latter you probably need a dedicated machine. And there’s varying levels in between



  • I think something that contributes to people talking past each other here is a difference in belief in how necessary/desirable revolution/overthrow of the U.S government is. Like many of the people who I’ve talked to online, who advocate not voting and are also highly engaged, believe in revolution as the necessary alternative. Which does make sense. It’s hard to believe that the system is fundamentally genocidal and not worth working within (by voting for the lesser evil) without also believing that the solution is to overthrow that system.

    And in that case, we’re discussing the wrong thing. Like the question isn’t whether you should vote or not . it’s whether the system is worth preserving (and of course what do you do to change it. How much violence in a revolution is necessary/acceptable). Like if you believe it is worth preserving, then clearly you should vote. And if you believe it isn’t, there’s stronger case for not voting and instead working on a revolution.

    Does anyone here believe that revolution isn’t necessary and also that voting for the lesser isn’t necessary?

    The opposite is more plausible to me: believing in the necessity of revolution while also voting

    Personally I believe that revolution or its attempt is unlikely to effective and voting+activism is more effective, and also requires agreement from fewer people in order to progress on its goals. Tragically, this likely means that thousands more people will be murdered, but I don’t know what can actually be effective at stopping that.



  • I understand that you have principles. I have principles too. But it sounds like your principles are at least partly based on a personal purity, which is what I’m arguing against.

    The idea that by voting for kamala, you’ll be personally tainted by her actions. And that by not voting at all, you avoid this taint.

    There’s a good argument in my opinion for not voting if you actually believe it will lead to the best outcome. Like for example that if enough people don’t vote it will cause our leader/parties/etc to do something better. I just don’t think this is true. And if it’s not true, what remains is a purity argument, which I find selfish, since it prioritizes your internal view of yourself over what happens to other people in the world.

    I’m also absolutely in favor of third party candidates that push issues and the electorate to the left. I just think that generally they should drop out at the point when it becomes clear that they aren’t going to win and endorse the person closest to them on the issues.


  • The other option is that they simultaneously believe they need your vote, but also know that they would lose more voters than they would gain if they did what you’re asking. It’s not entirely clear that this is what’s happening, as there’s not been much indication that Kamala believes what Israel is doing is horrific, but it’s a very real possibility that you aren’t including. And in that case, voting for her remains the best you can do, since you not voting for her won’t convince the other people who’s vote she would lose. It will just lead to trump being elected.




  • You have two options for setting up https certificates and then some more options for enabling it on the server:

    1: you can generate a self signed certificate. This will make an angry scary warning in all browsers and may prevent chrome from connecting at all (I can’t remember the status of this). Its security is totally fine if you are the one using the service since you can verify the key is correct

    2: you can get a certificate to a domain that you own and then point it at the server. The best way to do this is probably through letsencrypt. This requires owning a domain, but those are like $12 a year, and highly recommended for any services exposed to the world. (You can continue to use a dynamic DNS setup, but you need one that supports custom domains)

    Now that you have a certificate you need to know, Does the service your hosting support https directly. If it does, then you install the certificates in it and call it a day. If it doesn’t, then this is where a reverse proxy is helpful. You can then setup the reverse proxy to use the certificate with https and then it will connect to the server over http. This is called SSL termination.

    There’s also the question of certificate renewal if you choose the letsencrypt option. Letsencrypt requires port 80 to do a certificate renewal. If you have a service already running on port 80 (on the router’s external side), then you will have a conflict. This is the second case where a reverse proxy is helpful. It can allow two services (letsencrypt certificates renewal and your other service) to run on the same external port. If you don’t need port 80, then you don’t need it. I guess you could also setup a DNS based certificate challenge and avoid this issue. That would depend on your DNS provider.

    So to summarize:

    IF service doesn’t support SSL/https OR (want a letsencrypt certificate AND already using port 80)

    Then use a reverse proxy (or maybe do DNS challenge with letsencrypt instead)

    ELSE:

    You don’t need one, but can still use one.