ExperimentalGuy

joined 3 years ago
[–] ExperimentalGuy@programming.dev 2 points 1 day ago (1 children)

This is why I piss in the back tank of the toilet, so the next person peeing never thinks it flushed.

I heard that paired with loud chewing noises is sure to attract a fine femoid

[–] ExperimentalGuy@programming.dev 92 points 2 days ago (4 children)

Years ago, I thought Linux was for nerds(which it is) and performed badly and was hard to use. Now I haven't used Windows as a daily driver in 5+ years and every time I have to use someone else's non Linux machine, it feels like an ancient machine with absolutely no character to it.

[–] ExperimentalGuy@programming.dev 1 points 2 days ago (1 children)

...sir? Have you even checked my gender privilege card yet? It clearly says FEMBOY

[–] ExperimentalGuy@programming.dev 4 points 3 days ago (3 children)

How do you know that you know what carbon paper is? What if it's not about writing it down, but the carbon(friends) we made along the way? And given that we're all made of carbon, does that make you antifriend? And you know who wasn't very friendly? Nazis. So you're basically a Nazi if you think you shouldn't admit people who don't knownwhat carbon paper is.

Checkmate, lib

I did write my initial post like Im starting from nowhere. I do appreciate trying to get me in on the basics!

Brain Body by Acid Dad

I have a few more accounts than would fit on a notepad, but I appreciate the sentiment.

[–] ExperimentalGuy@programming.dev 1 points 5 days ago (2 children)

I completely disagree, to be honest. I don't understand how making a budget has a necessary prerequisite of manually inputting and categorizing transactions into a spreadsheet, or how that builds character in a way that's relevant to saving money. I want a program because my finances became more complicated recently and I don't have time to input my transactions from my bank into a spreadsheet and categorize them every day.

[–] ExperimentalGuy@programming.dev 1 points 5 days ago (1 children)

I don't have a process right now because my finances got more complicated recently. I figured I'd ask so that I can make a process!

 

I've been trying to get my finances in order for a while. I've been looking up different software to help me budget, but I can't find privacy respecting software besides Firefly III, which is self hosted. I usually try to find a few options then evaluate from there, but was wondering if you guys had any recommendations to throw in the mix!

 

Preface: I wrote this tutorial for two reasons. More people should learn torrenting, and I want people to listen to my album.

What is torrenting?

Torrenting is a distributed file sharing system that basically lets you have really fast upload and download speeds if there's enough people. All the people sharing amongst each other is called a swarm. There's three types of users of a torrent that are commonly referred to: seeds, peers, and leeches.

Seeds - These are the people that have the whole file and are now sharing it with other people.

Peers - These are people that are uploading and downloading the file. They have a partial version of the file, but because torrenting shares files in pieces, they can start sharing pieces once they have them.

Leeches - These are people that download the file and then just turn off their torrenting program and don't share. Don't be these people.

How to start

I'd recommend starting with qBitTorrent. It's easy to use, and right now is the gold standard in torrenting software, as far as I know. Additionally, your OS might have an actively maintained package for it, so look for that first! You'll also need a VPN. I'm using Mullvad VPN for this guide.

Opsec

One thing to remember about torrenting is that it is a peer to peer network. This means that your computer will be directly connecting to others. Other computers will see the IP address that you're torrenting on. Commonly, ISPs will detect torrenting and I've heard of users being sent legal letters telling them to stop torrenting copyrighted content. If you're able to mask your IP and tunnel your traffic somewhere else, your ISP should not pick up on it. I'm basically describing a VPN.

This is the most important step.

Make sure you configure qBitTorrent to tunnel all your torrenting traffic through a VPN. I have no idea if you can split traffic, but honestly I wouldn't risk leaking traffic. When going into qBitTorrent, make sure to navigate to Tools > Preferences > Advanced. From there, one of the first options lets you choose a network interface. If you are using Mullvad VPN, it should show up as a network interface.

If you don't do this, you can leak traffic if you turn your VPN off before qBitTorrent, or if there's some I/O error between qBitTorrent and your networking and it just switches to non-VPN networking. This ensures that all traffic goes through your VPN. This also means that if you turn your VPN off while torrenting, qBitTorrent will not be able to access the network because it's restricted to VPN traffic. Sounds simple, but I speak from experience.

Actually torrenting

In order to actually torrent, you need a torrent file or a link. This tells the program where the swarm is. I'm providing a torrent file here. It's an album that I made recently, but it's completely free and meant to be distributed via torrent! For qBitTorrent, there's a plus sign in the top left. Once you click that, you can choose a file and start torrenting!

Make sure to properly configure the path that the torrent/s will be stored. It's easier to keep torrents separate from downloads. Once you're done downloading a file, make sure to keep your program up! You can see what your torrenting ratio is (how much you've contributed back). Different communities can have different guidelines for what an acceptable ratio is. Make sure you figure that out before closing your torrenting program, lest you become a leech.

 

I made this album(available only by torrent)! It’s my first full project and was hoping you guys would give it a listen! I also have a README included explaining everything about it.

 

I saw the post earlier about making maps using Python. I thought that was a really cool concept as I love seeing open art projects like that. Do you know any other projects that allow you to make art with code?

 

Are there any FOSS alternatives to privacy.com? I want to conceal my actual card information when registering with a new account on different platforms so I can create limits, but I can't shake the feeling that privacy.com probably just sells my transaction history. If there's any alternatives to privacy.com that are more transparent, I'd love to know!

 

So I've had this idea for an API for a while but the problem I keep coming back to is authentication. I'm using rocket to actually code it. I looked through the rocket docs and it looks like the closest thing to API key authentication it has are cookies.

I then went and looked at some other APIs to see if I can copy their layouts and it looks like a lot of them use an API key and then a secret API key for authentication. Did some more googling and stackoverflow said that it's more secure to use a pair like that.

So that leaves me with the actual question: how do you actually implement this feature? Do you just generate API keys and throw them a database to be looked up later? Should they be written/read to a file to be used later(probably not a good option I'd guess).

Just for reference I'm using rocket, sqlx and postgres.

 

I've been coming back to the same project a few times. It's essentially just a program that interacts with an API. Only problem is whenever I get back to it, I realize how annoying it is to debug through all the "too many requests" responses I get back from the API because it has a max of 200 requests per second.

On solution would be to filter out those responses but that just feels like the wrong move, so I'm guessing the better solution would be to put some sort of rate limiter on my program. My two questions are: does that seem like a good solution and if it is, do I embed the rate limiter in my program, i.e. using the ratelimit crate or would a better solution be to run my program in a container and connect it to a reverse proxy(I think) container and control rate limiting from there?

 

I've been trying to learn the fuzzing library LibAFL for a while now, but I never seem to be able to fully grasp the essential parts. I've read tutorials, followed along tutorials, read the whole LibAFL book (that's still under construction), and have read a few of the examples in the repo. You could say I'm still in tutorial hell, honestly.

I'm trying to write a simple fuzzer for a malware code sample (MooBot) and I've been trying to figure out two things: how to find the input that has the maximum run time for a function, and how to not run malware directly on my computer. One of them should be more important than the other, but given my lack of expertise in LibAFL right now, I'm focused on the former. For my example, I noticed that there's a custom trim function in MooBot that helps sanitize input:

void trim(char *str)
{
        int i, begin = 0, end = strlen(str) - 1;

    while (isspace(str[begin]))
        begin++;

    while ((end >= begin) && isspace(str[end]))
        end--;

    for (i = begin; i <= end; i++)
        str[i - begin] = str[i];

    str[i - begin] = '\0';
}

This is what I test in my harness. I know I could probably logic my way into finding the input that has the max run time, but I'm using this as an exercise for LibAFL and using the rust FFI. The problem is how to deal with feedbacks and observers. I currently have this with no observers:

let mut feedback = CrashFeedback::new();
let mut objective = CrashFeedback::new();

Which simply reports an input if it crashes the program. It works for inital fuzzing, but now that I'm trying to find an input that maximizes run time this won't work. I tried to figure if there was a maximization feedback that would work with the time observer, but the only feedback that maximizes anything is the MaxMapFeedback which doesn't seem compatible with the time observer.

What I'm envisioning is something like this:

let mut observer = TimeObserver::new();
let mut feedback = MaximizeFeedback::new(&observer);

I think the solution has something to do with MapFeedbacks, but I'm not exactly sure how they work.

 

This is going to sound fishy.

Recently getting into cybersecurity things and have been pretty interested in looking at malware and maybe making some myself to get the hang of it. Do you guys know any good repositories with malware to learn from? For example, if I wanted to make a credential stealing program, there's a lot of different programs that may have credentials that are valuable. Or, maybe writing a keylogger? I took a look at a rust crate that can record keystrokes but has kind of a weird (or at least not as easy) type system because of different OS implementations, but how do different types of malware consolidate those differences?

I guess the broader question I'm getting at specifically is looking at how already made programs get around different technical obstacles like detailed above.

Thanks

 

I went to my local library today and noticed there's a lot of networking, cybersecurity, tcp/ip books from the early 2000s. Now, I want more modern versions of these types of handbooks. Does anyone know any good modern handbooks that deal with networking or network security standards?

Thanks :)

 

I wanted to get others' takes but it seems like the only real way to get a non-spying car is to get an older car without any sort of telemetrics. I saw a video about different car companies' security policies, well specifically the new Mental Outlaw video, and it just blew me away how even our cars aren't safe. Anyone got tips for how to anonymize their car?

view more: next ›