glue_snorter

joined 11 months ago
[–] glue_snorter@lemmy.sdfeu.org 3 points 8 months ago (1 children)

You are correct, it's a warm and helpful community... except for the people who like the smell of their own farts.

Lemmy is better. But reddit is lousy with ignorant twats saying bullshit like "Linux is just a superior philosophy", but who have never written a line of C or C++ in their lives. They know nothing about system design or computing history. They make claims about windows that apply equally to linux, or vice versa. They use terminology in a nonsensical context. In short, smug fools. It's not unwelcoming so much as unappealing.

The best thing about Windows is that no-one is smug about using it.

[–] glue_snorter@lemmy.sdfeu.org 2 points 8 months ago

Second draw.io - I've done lots of diagrams with VSCode and the draw.io plugin

[–] glue_snorter@lemmy.sdfeu.org 4 points 8 months ago (1 children)

Excellent - I'm about to install it for my aged mother, because windows keeps moving her cheese.

I want something that doesn't change the workflows once she's learned how to do a task, and that local techs can help her with, and that I can VNC to when I have to.

[–] glue_snorter@lemmy.sdfeu.org 14 points 9 months ago

The bit about "secret" whatsapp messages is alarming.

when Steve Jobs built the first Apple computers in his garage

Just erase Wozniak from history huh

[–] glue_snorter@lemmy.sdfeu.org 18 points 9 months ago (1 children)

the translation step from binary (program) -> text (SQL) -> binary (server)

Your concern about this is misguided. Inter-process communication always has to cross a barrier, by definition.

I take it http also feels wrong to you?

Binary protocols do exist, e.g. gRPC, but they incur costs of their own.

[–] glue_snorter@lemmy.sdfeu.org 2 points 9 months ago

Shame I had to scroll this far to find PRQL

[–] glue_snorter@lemmy.sdfeu.org 1 points 9 months ago

Ahhh, thanks! Please excuse my error - I am attempting to perform computation using a kilo of wet squidgy protein and fat.

[–] glue_snorter@lemmy.sdfeu.org 1 points 9 months ago

Implementation of VPN'd torrent client

This is how I torrent over Mullvad. I have no hesitation to recommend Mullvad - but I am not a crypto or security expert.

The main image fails closed - if the VPN goes down, transmission disconnects.

This setup also includes a SOCKS server that proxies your traffic over the same VPN. I use a separate browser (librewolf) and set the SOCKS proxy to :2020 including sending DNS over SOCKS. That's because my country blocks piracy-related sites at the DNS level. If you don't need this, you can delete the socks section of the docker-compose file.

On my ubuntu laptop, I install transmission-remote-gtk in order to click on a magnet link and have it added. Otherwise you have to browse to the container's web interface, which gets tiresome.

I have this installed as a systemd service so it runs on boot. I use the systemd state and credential features as a safeguard against my own mistakes with permissions, but my long-term goal is to encrypt these files on disk. Linux can be pwned - I have read that around 35% of botnet nodes are linux (although these are presumably mostly weak IoT devices). The secondary benefit of the LoadCredential/CREDENTIALS_DIRECTORY mechanism is that it doesn't expose secrets as environment variables.

The p2p.service file needs to be in that path, but you can put the other files wherever you want.

Known issues / todo list

  • The socks proxy sometimes falls over, I haven't looked into why
  • The downloaded files will be owned by root, since that's what the container runs as

File contents

/root/.secrets/mullvad:

123456789
""

For mullvad, there is no password, only an account number. I believe that the empty quotes are necessary. This file should be owned by root and chmod 600; containing dir should be 700. Replace the account number with your own account, obvs!

/etc/systemd/system/p2p.service:

[Unit]
Description=p2p
Requires=docker.service multi-user.target
After=docker.service network-online.target dhcpd.service

[Service]
Restart=always
RemainAfterExit=yes
WorkingDirectory=/usr/local/bin/p2p
ExecStart=docker compose up --remove-orphans
ExecStop=docker compose down
LoadCredential=mullvad:/root/.secrets/mullvad
DynamicUser=yes
SupplementaryGroups=docker
StateDirectory=p2p
StateDirectoryMode=700

[Install]
WantedBy=multi-user.target

/usr/local/bin/p2p/docker-compose.yml:

***
version: "3.7"

services:
  p2p:
    restart: always
    container_name: p2p
    image: haugene/transmission-openvpn   # see also: https://www.nickkjolsing.com/posts/dockermullvadvpn/
    cap_add:
      - NET_ADMIN
    sysctls:
      - "net.ipv6.conf.all.disable_ipv6=0"  # ipv6 must be enabled for Mullvad to work
    volumes:
      - ${STATE_DIRECTORY:-./config/}:/config   # dir managed by systemd - but defaults to ./config if running interactively
      - ${CREDENTIALS_DIRECTORY:-.}/mullvad:/config/openvpn-credentials.txt:ro  # var populated by LoadCredential - but defaults to ./mullvad if running interactively
      - transmission:/data
      - transmission_incomplete:/data/incomplete
      - /my/directory/Downloads:/data/completed
    environment:
      - OPENVPN_PROVIDER=MULLVAD
      - OPENVPN_CONFIG=se_all  # sweden
      - LOCAL_NETWORK=192.168.1.0/24    # put your own LAN network here - in most cases it should end in .0/24
      - TRANSMISSION_WEB_UI=flood-for-transmission  # optional
    ports:
      - 9091:9091
      - 80:9091
      - 2020:2020

  socks:
    restart: always
    container_name: socks
    image: lthn/dante
    network_mode: "service:p2p"
    volumes:
      - ./sockd.conf:/etc/sockd.conf
    depends_on:
      - p2p

volumes:
  transmission:
    external: false
  transmission_completed:
    external: false
  transmission_incomplete:
    external: false

/usr/local/bin/p2p/sockd.conf:

logoutput: stderr
# debug: 2
internal: 0.0.0.0 port = 2020
external: tun0
external.rotation: route

clientmethod: none
socksmethod: username none

user.privileged: root
user.notprivileged: nobody
user.unprivileged: sockd

# Allow everyone to connect to this server.
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: connect error  # disconnect
}

# Allow all operations for connected clients on this server.
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: bind connect udpassociate
    log: error  # connect disconnect iooperation
    #socksmethod: username
}
# Allow all inbound packets.
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: bindreply udpreply
    log: error  # connect disconnect iooperation
}

Steps

  1. Install docker and docker-compose, e.g. with sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  2. Create the files with contents as above
  3. sudo systemctl enable p2p
  4. sudo systemctl start p2p
  5. Check what it's doing: systemctl status p2p
  6. On first start, it will take a few minutes to pull the images
  7. To debug interactively while also passing the creds, use sudo systemd-run -P --wait -p LoadCredential=mullvad:/root/.secrets/mullvad docker compose up --remove-orphans
  8. Every so often, cd into /usr/local/bin/p2p and run docker compose pull to update the images.
[–] glue_snorter@lemmy.sdfeu.org 5 points 9 months ago (1 children)

Peace On Earth is a book by Stanislaw Lem, the author of Solaris.

It is my all-time favourite sci-fi novel.

The premise is that mankind builds autonomous war robots and sends them to the moon to fight proxy wars instead of real wars on earth. But the robots evolve. For reasons unknown, contact with the moon is lost, so humanity sends a astronaut up to see what's going on.

[–] glue_snorter@lemmy.sdfeu.org 2 points 9 months ago

Another Kagi fan here. I pay $10 a month.

I'm a reasonably heavy search user, but have never hit the quota.

It's wonderful to have relevant results again.

The one thing it doesn't work for is shopping. From time to time I use Google. I should probably switch that to Bing, as the lesser of two evils.

[–] glue_snorter@lemmy.sdfeu.org 5 points 9 months ago (2 children)

Deliberately duplicate a mac address, and worse, deliberately pick a device that's definitely going to be online in the same network segment?

At first I thought you were either trolling or profoundly ignorant.

Then I remembered that wifi is CSMA, and thought, hang on... is this actually a genius idea? Has this user come up with a hack that no-one else knows about? So I tried it.

It doesn't work. I couldn't even join.

So no, you are either trolling or ignorant.

Hers some discussion and links, for anyone interested: https://superuser.com/questions/1132935/duplicate-mac-on-a-wifi-network-problems

[–] glue_snorter@lemmy.sdfeu.org 4 points 9 months ago

Racial origins of those terms? Citation needed.

Black and white, in the sense of good and evil, have had their connotations for a fucking long time, whereas black and white to describe skin colour are relatively recent etymologies. I'm pretty sure that Romans didn't call themselves "white" or others "black", for example.

I'm willing to be taught, but this sounds like bullshit to me.

The etymology being wrong doesn't mean that we shouldn't drop freighted terminology, I just don't want false justification. Bullshit is never a valid reason to do something.

view more: next ›