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.
No! Bad dev! No biscuit!
Never merge master into a feature branch. It’s called a “wrong-way” merge and it makes the history fucking awful.
You shit in the face of project maintainers when you do this.
You may not care, in fact many don’t. Also people buy timeshares, read celebrity gossip magazines, and vote for scumbags. They are fucking idiots who don’t know what they are doing. So are people who leave wrong-way merges in shared history.
In fact, wrong-way mergers are worse, because you can’t just ignore them - git blame rubs your face in their shit, so they shit in your face forever.
Just don’t fucking do it, OK? Or I will hit you in the throat with a cricket bat soaked in wasps. As a first warning.
I’m getting started with i3, so I get your point now.
Ahhh, thanks! Please excuse my error - I am attempting to perform computation using a kilo of wet squidgy protein and fat.
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.
/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
}
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl enable p2p
sudo systemctl start p2p
systemctl status p2p
sudo systemd-run -P --wait -p LoadCredential=mullvad:/root/.secrets/mullvad docker compose up --remove-orphans
/usr/local/bin/p2p
and run docker compose pull
to update the images.My friend, you haven’t heard about Oracle.
Microsoft at least gave the world Powershell, to balance out their sins. I can also name other good things they have done. Oracle is pure and deliberate evil.
I believe that the human race will end in one of three ways:
I think you were merely being pedantic, but there are some interesting points in there.
Is it a crime to generate fake “csam”?
Should it be a crime?
How can prosecutors get convictions against a defense of “no, your honour, that video is AI-generated”?
What we have now is still miles off general AI, but it’s going to take years for society to catch up. Interesting times.
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
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.
Pure FUD. Worse, it’s wilfully stupid.
Are you in the habit of picking pipeline commands at random? Do you not usually have a purpose in mind? OBVIOUSLY the receiving end has to understand what it’s receiving, or what the fuck are you even doing?
Do you believe that your text processing commands don’t have to understand what they receive?
Let’s get the ports of the node container.
Bash:
docker ps | grep node | cut -n 6 -f ' '
Pwsh:
docker-ps | where name -eq 'node' | select ports
First the grep command shits the bed because at some point you started a new container running a nodejs image.
Then the cut command fails because you had a container with a space in the name, so it outputs mounts instead of ports.
That’s a non-issue with sematic tools. Semantic tools are also legible. Yeah, I can figure out what that awk command does, but it’s meaningless unless I also know the shape of the data is supposed to operate on.
You don’t write “USE 2nd DATABASE; SELECT 3rd COLUMN FROM 10th ROW”, do you? Why would you want to do that in a shell?
Ate you joking? Auto-complete works out of the box, it’s a shell feature. Install pwsh and save keystrokes.
What’s wrong with Virtual Desktops on windows? They work perfectly for me.
No argument with your other points.
My understanding is that the Windows terminal sucks? I don’t know why, it just looks bad.
Your understanding is wrong. I’ve tried 8 different terminals on mac, arch and kubuntu, and I miss Windows Terminal every day. It looks good and the config is a pleasure. I don’t expect Linux to look pretty, but MacOS had fucking awful font rendering and it’s supposed to be this upmarket OS for moneyed pricks in black turtlenecks. Was everyone in unixland busy doing drugs while Microsoft was implementing anti-aliasing? Is clear legible type for losers?
That’s Teams. Slack used to be a CPU hog too, but Teams is a real piece of shit. And occasionally it used to just peg one core at 100% until I killed it.
I’m so glad I quit that company.
Great boast for privacy. Removes a lot of attack surface that law could exploit. And potentially reduces running costs, too.
Glad to hear you’re building the kernel too.
Long-time pwsh user here. I’d be all-in on nushell if I weren’t already getting all those benefits.
This is non-negotiable. When I touch bash - or zsh - I feel like I’ve visited a banana republic.
TFA says about pwsh: “not all features work on Linux” - be fair, those are system administration features, not shell or language features. They are things you need external utilities for in all shells on Linux. Like, no shit the AppX module doesn’t work…!
I do still keep nushell on my radar because pwsh is not the quickest. I’d be happy to use it if pwsh is ever blocked on some machine I need to use.
“…because if just one of those things gets down here, then all of this… bullshit, that you think is so important, well, you can kiss all that goodbye.”
Hmm. I run mine off a usb3 ssd and it’s faster, but still slow.
Observability is a capability my last employer really fucked up. I would have loved this power.
Trying to figure out wtf is going on with database locks, or celery tasks you can’t find in the dashboard, was like blindfold surgery.
Fat chance that team would use elixir, though. Nothing more esoteric than python.