Mattias Geniar, a Belgian sysadmin and developer, writes about Linux, web servers, networking and security, and runs the Cron.weekly newsletter.
HN links it for practical sysadmin guides, such as setting up an SSH SOCKS proxy, and for write-ups on security issues and protocols like QUIC.
If you have a VPS, you could probably set up an ssh tunnel.
https://ma.ttias.be/socks-proxy-linux-ssh-bypass-content-filters/
If you live somewhere else, you could also probably set up something as simple as a raspberry pi at home (or really any old hardware) and forward the right ports to it.
If that's not your level of sophistication, then any VPN that works in Cambodia is probably fine. It's worth remembering that If you don't pay, you are the product. I would never use a free vpn.
ExpressVPN used to be great, even for china, but they got bought out by an evil company, also I think they were run out of Hong Kong anyway and I wouldn't trust anything from Hong Kong after China went full fascism.
Also you should switch to Firefox. Google wants to end AdBlock with ManifestV3 and they need to lose as many users as possible for doing so.
Apple private relay might be the best as far as corporate offerings: https://support.apple.com/en-us/HT212614
Since you're already on a Mac, using more apple products probably won't make your privacy stance any worse. I generally trust Apple more than most companies right now.
I'm planning to launch a newsletter soon for a site I own that gets a moderately decent amount of traffic. Here is a snippet of some handy things I've found:
The cost of sending email is a lot on some platforms (Mailchimp is $30/month for 2500 subscribers and $50/month for 5000 subs), but a lot cheaper with Mailgun or Amazon SES. Sendy [0] and Mailcoach [1] are both self-hosted newsletter sending apps that use Mailgun/SES if you want to DIY.
There is a handy blog post [2] from the creator of cron.weekly on his newsletter workflow.
Don't put "weekly" in the newsletter name because then you're really setting that weekly expectation. At some point, you might not want to be publishing weekly unless you've got some serious automation happening.
There are some interesting ideas on newsletter businesses on gaps.com [3]. A year ago I thought that a newsletter should link to my own content. But now? Many, many newsletters are link aggregators.
[0] https://sendy.co/
[1] https://mailcoach.app/
[2] https://ma.ttias.be/how-to-cron-weekly-newsletter/
[3] https://gaps.com/six-figure-newsletter/
I was excited to see this as just last night I was using FFmpeg to combine digital (legally owned) movies with multiple parts into a single MKV file. It worked great, the one thing (and this is undoubtedly just a knowledge problem on my part), is I could not get it to copy/include subtitles from both parts. I have a feeling I might need to extract the subtitle files and combine them and then re-include the combined version, but was hoping there would be a solution in this site for doing something like that. Unfortunately, I didn't even see the combine as one of the examples.
For reference:
One-liner:
> ffmpeg -loglevel info -f concat -safe 0 -i <(for f in *.mkv; do echo "file '$(pwd)/$f"; done) -c copy output.mkv
Or the method I ended up using, create a files.txt file with each file listed[0]
> ffmpeg -f concat -safe 0 -i files.txt -c copy output.mkv
files.txt
> file 'file 1.mkv' > file 'file 2.mkv' > # list any additional files
0: https://ma.ttias.be/use-ffmpeg-combine-multiple-videos/
Funnily enough, I just tried to do this over the weekend and the results were not ... great.
I hit https://unix.stackexchange.com/q/691436/9452 exactly
> need to process to file added to a directory, then remove them. Files can be large (20KiB to 5 GiB) and arrive slowly (via scp or ftp). How can I monitor a path (possibly with a systemd.path unit) and only react when the new file has finished writing?
And as the question details DirectoryNotEmpty is not adequate because zero byte files still being written will trigger it and there's nothing after.
Indeed all the path unit conditions: PathExists=, PathExistsGlob=, PathChanged=, PathModified=, DirectoryNotEmpty= suffers from this.
One could do the an old fashioned while inotifywait -r -e close_write "/foo/bar/" but now you need to think about the script dying and restarting it which of course leads back to systemd (see https://ma.ttias.be/auto-restart-crashed-service-systemd/ for more) and then one asks: why can't systemd do this alone?
When the patches are available, you need to update, and likely reboot. Mattias Geniar talks about using the following command to find processes depending on libc, any of which could be running the vulnerable code, these are core processes that you probably cannot just cycle without a reboot [1]. For me the listing looks something like this: agetty, auditd, dbus-daem, dhclient, init, master, mysqld, rsyslogd, sshd, udevd, xinetd. Many of these deal with hostnames, so I would want to be sure everything is clean, and the best option is likely a reboot.
lsof | grep libc | awk '{print $1}' | sort | uniq
[1] http://ma.ttias.be/critical-glibc-update-cve-2015-0235-gethostbyname-calls/
How does it cope with non-ASCII characters and various fonts? Suppose you had "ɡoogle.com" instead of "gooble.com" in that demo video (the first "g" is not a regular "g", but " U+0261 LATIN SMALL LETTER SCRIPT G")… Browsers tend to show IDN names in the "xn--…" punycode format, but not always.
https://en.wikipedia.org/wiki/IDN_homograph_attack
https://unicode.org/cldr/utility/confusables.jsp?a=google&r=None
https://ma.ttias.be/show-idn-punycode-firefox-avoid-phishing-urls/