30-something grey wolf therian and furry. Admin of yiffit.net lemmy instance and packmates.org mastodon instance.

  • 8 Posts
  • 61 Comments
Joined 1 year ago
cake
Cake day: June 7th, 2023

help-circle
  • I’d say to start with CF tunnels unless you need non-web based applications. Cloudflare tunnels require you to have a domain, though.

    It has the added benefit that you have network monitoring, logging and some filtering for security that they do on top and you get to manage everything from their web interface.

    be warned that the first time can be a bit confusing, but since it’s done using their web interface it’s easier than if you have a problem making wireguard work.

    1. Create a tunnel with a public hostname that will be the url to access that service. During the creation of the hostname specify you want it protected by L7 application firewall.
    2. Create a new self-hosted application in cloudflare application section and for starters use the default login email and in rules specify the list of emails that are allowed to login

    you should now be able to access your application from anywhere.

    Alternatively, if you have a DNS server in your home network you can add a private IP range to your tunnel. Let’s say 192.168.0.0/24. Then when you connect with their pseudo-VPN (cloudflare warp or cloudflare ONE) you can directly use your home network’s ip address from that device. If you tell your device to use a local DNS server that resolves your internal services, you’ll be able to connect to them that way.



  • Install proxmox on a computer with plenty of RAM and CPU and you’ll be able to create VMs which you can give out or rent out to anyone.

    In regards to access, ipv4 is not a good idea. Especially not residential IP addresses., You should get ipv6 addresses maybe from a tunnelbroker. But anyways, first you need the server with the hypervisor (which is what you’re looking for) and then you can slowly run tests, learn and eventually figure out networking.

    Btw, it might be cheaper to simply rent a server, which would solve the issue of ip addresses. OVH has cheap servers and a proxmox install wizard.

    Just please don’t use it for anything sensitive until you can find someone to give a quick check up in regards to security to make sure you haven’t missed anything. Unlike a regular PC, this one is expected to receive inbound connections which has its risks.

    But don’t worry about that too much now. Find an old computer or rent a server, install proxmox and start testing, playing around and learning.

    Edit: chatgpt is good when wanting to learn this stuff. Especially gpt-4, but even gpt-3.5 will do. Just don’t trust it blindly as it still messes up about 20% of the time. But it’s often better than googling for tutorials since you can’t often find what you’re looking for.

    Edit2: the setup I propose will allow you to divide a regular computer into 100s of virtual ones limited only by the total RAM, disk and CPU. If you only want a web server on dedicated hardware get a raspberry pi, because my proposal would be overkill. But it’s the closest to “being your own cloud provider”.


















  • Wander@yiffit.nettoFediverse@lemmy.worldI can't code.
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    1 year ago

    Sorry for the late reply. If you’re interested in music, you could give both javascript or C# a try. C# works integrated with the operating system and is not sandboxed by the browser, which means that you could do nifty things like actual sound processing and interact with sound devices etc.

    In general you will want to start with a console application that receives user input, does something and even prints the output. Let me give you an example of playing an audio file in C#

    LINE 1: System.Media.SoundPlayer myAudioPlayer = new System.Media.SoundPlayer(@"c:\mywavfile.wav");

    LINE 2: myAudioPlayer.Play();

    In the first line we are calling a pre-existing blueprint (library) that knows how to create an audio player. This blueprint can be located in System > Media > SoundPlayer within the collections of libraries. We are giving this virtual audio player a name and called it “myAudioPlayer”. Then, after the “=” sign we are giving it the instruction to be created with a preloaded file that would be found in “C:\mywavfile.wav”.

    In the second file we are commanding our newly created virtual audio player and telling it to play the file. Please note that this audio player would not have a visual interface yet. You would hear audio coming from the speakers but no way to pause. Fortunately C# / .NET (.NET are the pre-existing libraries that you can use), has a drag-and-drop way to create windows application interfaces with buttons via the “Visual Studio” editor, so you could potentially create a drag-and-drop interface and bind a button with a Stop symbol to the instruction “myAudioPlayer.Stop();”

    This is just a very very basic example, but object oriented programming often boils down to this: create virtual representations of something and then command them to do something.

    If this has peaked your interest check out this playlist of a full complete programming course in C# which is what I used to learn programming years ago. https://www.youtube.com/watch?v=umAcMO3d9_E&list=PLFqasLx4-AErVMCWiIyJe9uA3yQMPBukG

    In the end it’s all about creating a series of instructions that the computer will follow. The trick is to learn what these instructions mean and to not be scared by their syntax, because behind every scary looking syntax there’s just an instruction that can be explain in human language.