• 0 Posts
  • 10 Comments
Joined 1 year ago
cake
Cake day: July 1st, 2023

help-circle



  • The easiest way to disable unnecessary services is to uninstall them with aptitude, or whichever package manager you like. Try terminating services one by one, and see if anything bad happens. If nothing bad happens, you can probably uninstall it. On the other hand, if the system does get wonky a reboot should fix it. Or, you can research the services by name and decide whether to uninstall them. (avahi-daemon for example is a good idea to uninstall.)

    To make the GUI not run, uninstall your display manager (gdm, xdm, nodm, or whatever) and uninstall your xorg server or wayland server. There may be GUI programs remaining after that, but they will only be consuming disk space, not RAM or CPU.

    If the battery is old and holds little charge, you may save a few watts by removing it and throwing it away, instead of letting the system keep it topped off.

    Get a power meter, such as a Kill-a-watt device. Then, experiment with different settings. If it’s consuming less than 30 watts, you’re probably fine. If you live in the US, one watt-year is about one US dollar (or a little more), so for every watt it consumes, that’s about how much you will pay per year for its electricity.


  • Looks like this program is really old. It appears to be designed for a 32-bit system, the way it casts between unsigned int and pointers.

    unsigned int is probably 32-bit even on your 64-bit system, so you’re only printing half the pointer with the printf, and only scanning half the pointer with the scanf. The correct data type to be using for this is uintptr_t , which is the same as uint32_t on a 32-bit system, and the same as uint64_t on a 64-bit system.

    Try changing the type of addr to uintptr_t , and change lines 14-17 to this:

    	printf("Address of main function: %p\n", (void *) &main);
    	printf("Address of addr variable: %p\n", (void *) &addr);
    	printf("\nEnter a (hex) address: ");
    	scanf("%p", &addr);
    

    You may have to include <stdint.h> . These changes should make the code portable to any 32-bit or 64-bit architecture.





  • Using a VPN (like Tailscale or Netbird) will make setup very easy, but probably a bit slower, because they probably connect through the VPN service’s infrastructure.

    My recommended approach would be to use a directly connected VPN, like OpenVPN, that just has two nodes on it – your VPS, and your home server. This will bypass the potentially slow infrastructure of a commercial VPN service. Then, use iptables rules to have the VPS forward the relevant connections (TCP port 80/443 for the web apps, TCP/UDP port 25565 for Minecraft, etc.) to the home server’s OpenVPN IP address.

    My second recommended approach would be to use a program like openbsd-inetd on your VPS to forward all relevant connections to your real IP address. Then, open those ports on your home connection, but only for the VPS’s IP address. If some random person tries to portscan you, they will see closed ports.