In the middle of the desert you can say anything you want
Wanted to run frp’s client frpc with docker to forward the SSH port.
Main issue was binding to a port already open on the host, and one not controlled by a docker thing.
My first attempt led to this: “: Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use”
After looking around the Internet, found a solution.
Docker’s docker-compose.yml:
services:
frpc:
image: chenhw2/frp
restart: unless-stopped
environment:
- ARGS=frpc
volumes:
- ./conf/frpc.ini:/frp/frpc.ini
network_mode: "host"
ports:
- "22:22"
The key being the “nertwork_mode” part.
Neither frp server nor client configs needed anything special.
Strangely , I didn’t even need to set any capabilities like I did for dns:
services:
dns:
restart: always
image: strm/dnsmasq
volumes:
- ./conf/dnsmasq.conf:/etc/dnsmasq.conf
ports:
- "53:53/udp"
cap_add:
- NET_ADMIN
md5sum the ISOs, otherwise that would’ve been the prime suspect<Ctrl-Shift-F2> to go to the tty and cat /var/log/syslog
less is not installed but nano istty4 has live running logs
I always look in zsh history for this string:
sudo dd if=/path/to/debian-live-11.5.0-amd64-cinnamon.iso of=/not/dev/sda bs=1M status=progress
/dev/sda is the usb drive, will be ofc. deleted fully; not a partition like /dev/sdaX but the actual /dev/sda disk itself.
I specifically added /not/dev/sda at the beginning for systems where I have not set up unset zle_bracketed_paste and that might press enter on paste or after I edit the .iso but not of. That way I’m forced to think when editing of.
For functions/callables, Callable is not the entire story: you can annotate the arguments and returns values of these callables!
From mypy documentation:
The type of a function that accepts arguments
A1,…,Anand returnsRtisCallable[[A1, ..., An], Rt]."You can only have positional arguments, and only ones without default values, in callable types
If your @abstractmethod should also be a @staticmethod, you can
happily blend both, as long as the @staticmethod (or other) decorator comes first.
In other words, @abstractmethod should always be the innermost decorator.1
Bitwarden-rs in now called vaultwarden.
Second time I find setting it up on Yunohost hard, so documenting.
“Create account” from main page with the yh email doesn’t work because the user allegedly exists.
admin@me:~$ sudo yunohost log
usage: yunohost log {list,show,display,share} ... [-h]
yunohost log: error: the following arguments are required: {list,show,display,share}
Interesting different commands doing different things!
User Guide — Certbot 1.30.0 documentation
Needed to manually get a cerificate.
`` Needed to manually get a cerificate, as opposet to ‘get and install automatically’. `
sudo certbot certonly --manual -d *.my.domainThe reason I’m doing this is weird DNS configuration.
Let’s try getting around it: Certificate | Yunohost Documentation
yunohost domain cert-install your.domain.tld --self-signed --force
if the certificate installation still doesn’t work, you can disable the checks with
--no-checksafter the cert-install command.
Oh nice! Let’s try with non self-signed:
admin@me:~$ sudo yunohost domain cert install sub.do.main --no-checks
Works! Even if the web interface complains of DNS issues, this works as long as it’s actually accessible from outside - say, with one of the 220924-2043 Options to access a host from behind NAT and firewall or something.
Adding domains through CLI is also much faster than using the GUI:
admin@me:~$ sudo yunohost domain add my.domain.another.one
And the certificate bit accepts lists of domains. Okay!
admin@me:~$ sudo yunohost domain add b.my.doma.in && sudo yunohost domain add g.my.doma.in && sudo yunohost domain add n.my.doma.in
admin@me:~$ sudo yunohost domain cert install n.my.doma.in b.my.doma.in g.my.doma.in --no-checks
The Yunohost documentation adds checkmarks to articles you already read, I love this. Not to track progress, but to quickly parse the list and find the 4 articles I keep reading.
Have a vodafone router and a real ASUS router that does everything better, and I connect the vodafone router to it and then use the ASUS router for everything else.
Was debugging stuff and set it to AP mode - wanted to go back, but I couldn’t access the ASUS admin panel anymore at the usual 192.168.2.1.
It had a different IP, one I could find in the Vodafone router control panel, and through that found the ASUS router admin interface.