HNHacker News
TopNewBestAskShowJobs

awulf

445 karma · joined October 2, 2010

submissionscomments
awulf··on Spammers are better at SPF, DKIM, and DMARC than everyone else
I built a free DMARC/DKIM/SPF checker: https://dmarcchecker.app/. No usage limits, no ads—just a small footer link to one of my other projects. Made it for the exact reason you mentioned.
awulf··on Cracking a 512-bit DKIM key for less than $8 in the cloud
An easy way is to check the length of the p= value in the DKIM record. If it's around 216 characters, it's likely a 1024-bit key. A 2048-bit key usually has about 388 characters.
awulf··on Cracking a 512-bit DKIM key for less than $8 in the cloud
The DKIM verification failed with the result "dkim=policy (weak key)," as it should according to RFC 8301: "Verifiers MUST NOT consider signatures using RSA keys of less than 1024 bits as valid signatures."
awulf··on Cracking a 512-bit DKIM key for less than $8 in the cloud
I guess most of these keys are decades old and no longer in use. They're likely just sitting in the DNS because someone forgot to delete them. Now, no one's sure if they're still needed and is afraid to remove them in case it breaks something. Or maybe they're still used by a legacy system, and no one realizes the impact an old DKIM record could have.
awulf··on Cracking a 512-bit DKIM key for less than $8 in the cloud
I published the article today, though it was written a few months ago (when the DKIM record was still online).
awulf··on Cracking a 512-bit DKIM key for less than $8 in the cloud
I agree, but to be precise, it was 1,726 out of 476,617 DKIM keys found across those 1M domains, or about 0.36%. Since it's impossible to determine all DKIM records a domain might have from the outside, I used a list of commonly used selectors (e.g., "default' or 'key1") for the search. It's likely there are additional short keys under selectors I didn't check.
awulf··on BIMI and DMARC Can't Save You: The Overlooked DKIM Exploit
Shameless plug: My DMARC Checker at https://dmarcchecker.app/ displays a warning message if it encounters a DKIM signature header with an 'l=' tag:

"The 'l=' tag limits how many bytes of the email body are included in the body hash. This may allow an attacker to alter/expand the message in a way that it still passes DKIM validation."

Additionally, the tool alerts you to the use of weak RSA keys or SHA1.

By the way, less than 0.4% of all emails checked make use of the 'l=' tag.

awulf··on Show HN: DMARC Checker
You are correct, the mail server is currently configured to only receive emails via IPv4. This setup is not uncommon as most major email providers have IPv4-only MX records (with Gmail and Yandex Mail being rare exceptions that support IPv6).

It might be a good idea to provide a different email address whose mail server explicitly requires IPv6. I'll think about it. Thanks for bringing it up.

awulf··on Show HN: DMARC Checker
We've just launched the app this week. While white labeling is a possibility down the road, we're currently focused on refining it and gathering user feedback.
awulf··on Show HN: DMARC Checker
Thanks for the feedback, much appreciated! It looks like you've flattened your SPF record, causing a large number of log messages. I'll see what I can do to better highlight the line that produces the 'pass' result.
awulf··on Show HN: DMARC Checker
There was a small bug in our DMARC record parser (it didn't like the semicolon at the end of the record). Sorry for that. Your DMARC record is definitely correct. The issue should be fixed now.

Also, thanks for the idea about circumventing DNS caching. I'll look into adding that feature.

awulf··on Show HN: DMARC Checker
I'm really happy to read that the app was able to help! Thanks for sharing.
awulf··on Show HN: TxtFiddle – JavaScript playground for text manipulation tasks
Thank you for the input. I have now added a separate "Templates" menu item.
awulf··on Show HN: TxtFiddle – JavaScript playground for text manipulation tasks
Basically, yes. In practice, there's a bit more to it. The user code is wrapped into an "async function(input)" (so you can use async/await) and run inside a worker inside a sandboxed iframe (for security reasons and for being able to stop the execution). There's also some additional code for catching errors and parsing the error stack.
awulf··on Show HN: TxtFiddle – JavaScript playground for text manipulation tasks
The main reason is ease of use. Of course, you can use JSFiddle to create an HTML page with a textarea field and a button that triggers your code and outputs the result to the console or somewhere else. But that's a lot of overhead for a simple text editing task.

TxtFiddle is specifically built for text manipulation tasks and reduces the amount of code you have to write to a minimum. There's also a (growing) list of templates that you can choose from (see the "New" menu). Another differentiating feature is the ability to abort a running script (i.e., in the case of an accidental infinite loop).

awulf··on Show HN (again): Web-based Link Checker with Blacklist Lookup
That's strange, your grep looks fine to me. Is it possible that you have configured nginx to use different log files for different locations (or maybe don't log at all)? Other than that, I don't have any good explanation.
awulf··on Show HN (again): Web-based Link Checker with Blacklist Lookup
It's an ASP.NET MVC 3 app running under Mono on Linux. The main components of the stack are:

- nginx

- Mono

- ASP.NET MVC 3

- FastCGI Mono Server

- MongoDB

awulf··on Show HN (again): Web-based Link Checker with Blacklist Lookup
Replying to myself: 193 link checks in the last 30 minutes, and the servers are still up.
awulf··on Show HN (again): Web-based Link Checker with Blacklist Lookup
To filter the list, just click on "Broken" in the "Link Status" box on the right.
awulf··on Show HN (again): Web-based Link Checker with Blacklist Lookup
This is a repost from about two weeks ago. Back then, I had to remove the link after a few minutes because my little server couldn't handle the traffic spike and ran out of memory.

During the last days I have added more server power and did some major changes to make the service more robust. I hope the work was worth it.

awulf··on Show HN: Tasskr
My suggestion would be to specialize in a particular direction. A generic task organizer doesn't get people too excited. However, if you offer something like a "collaborative task manager for small development teams," you have my attention.
awulf··on Top 20 Programming Languages According to Wikipedia Page Views
Here's the top 20 list for the German Wikipedia:

1. PHP (32519)

2. Java (31965)

3. C (27128)

4. C++ (24163)

5. JavaScript (22146)

6. Visual Basic (16598)

7. Python (15463)

8. C# (13792)

9. Visual Basic for Applications (9302)

10. Perl (9204)

11. Assembler (9084)

12. Brainfuck (8254)

13. Objective-C (8202)

14. BASIC (7209)

15. Ruby (7115)

16. PostScript (6633)

17. ABAP (6192)

18. FORTRAN (5984)

19. Visual Basic Script (5887)

20. Pascal (5803)

awulf··on Top 20 Programming Languages According to Wikipedia Page Views
MATLAB is both a computing environment AND a programming language. I assumed that people searching for "MATLAB" are rather looking for the environment. I may be wrong with that.
awulf··on Top 20 Programming Languages According to Wikipedia Page Views
It was a snap decision. It just didn't feel right to include PostScript in the list.

However, you are definitely right: PostScript is Turing-complete, and hence a programming language (as well as LaTeX and Batch, AFAIK).

awulf··on Top 20 Programming Languages According to Wikipedia Page Views
Clickable link to the spreadsheet: https://spreadsheets.google.com/ccc?key=0AvObTduyoRZ-dHVzbzg...
awulf··on Show HN: StartupGuild Hackethon - Yammer API + Gmaps API - Member Locator
I think it should be mentioned that the map shows the locations of the members of the StartupGuild, based on the location field in their profile. Members who have not supplied a location (or entered something like "Down at the beach"), obviously don't appear on the map. According to Martin, who created the map, the data is updated (via a cronjob) once per hour.
awulf··on Show HN: PowerMockup - A Wireframing Add-in for PowerPoint
There are dozens of mockup/wireframe tools out there, so why did I decide to add another one to the pile? First, it was a fun diversion from my main project and second, I believe that using PowerPoint for mockup design has some significant benefits:

- It encourages managers, clients and other "non-techies" to take part in the design process. PowerPoint is what they know and love and allows them to be an integral part of the development process.

- It's easy to embed mockups into Word documents (it's even possible to edit mockups from within Word).

What do you think?

awulf··on Httpstat.us: API for generating different HTTP codes.
Very useful, thanks! A nice addition would be random option like http://httpstat.us/random or even http://httpstat.us/?random=200+404.