10 ms·
Show HN: I built an app that scans every social media network for your username
- Ostatnigrosh 4y agoI found myself scrolling through Github’s “trending” repos, looking for some coding inspiration. Within the next hour, I stumbled across something called The Sherlock Project. Interesting, It had over 35k stars, must be pretty popular. I quickly cloned the repo and started toying around with it. It didn’t take me long to realize the power of this tool. All I had to do was insert a username, and voila! I was looking at every social media website that was associated with the username. Not only that but direct links to the accounts. I immediately wanted to turn this into a web app so that everyone could use it. My first challenge was that this was a CLI tool, so I got to work. The Sherlock project makes about 400 requests to various site s to check if your username exists. This was going to be tough... I noticed they were using requests.FutureSession to multithread the result. I decided to use a multithreaded Web-socket to continuously report out data to the frontend. After ALOT of trial and error I finally got something working. The Issue now though was that it wouldn't run in production due to a multiprocessing error: Daemonic processes are not allowed to have children. Eventually I learned that you cant use the standard multiprocessing library for this kind of thing, you had to use billiard. Bam! It worked. I quickly hacked together a simple frontend, configured the web socket, and results were pouring in. Turns out, the web-socket is considered a "long running request" as it makes 400 external requests. Maybe I could use celery to offload this process to a worker and queue it up. I started working on it and realized this was a little out of my skill range. I then decided to take a look at the logs where I hosted the code and what do i find? CPU, Memory, and bandwidth all reaching a staggering 100% usage. I was using the free tier of Render that only allowed for one instance of my app...duh. I did some rework of my codebase and it started running a little faster. Needless to say, I learned to take it slow, build tests for my code, and be patient with results. What do you guys think? Any hard lessons learned in coding? What were your takeaways? Here is also a link to the repo: https://github.com/bnkc/handlefinder https://github.com/bnkc/handlefinder
- mattl 4y agoI think it would be useful to show the networks that the username cannot be found on.
- Ostatnigrosh 4y agoThats a good thought. I was considering it but was worried about "cluttering" the site
- bombcar 4y agoCould be useful for people who like to “claim” their common handle.
- veb 4y agowhat I find annoying is that (other than HN) most places won't let you claim your username if the person has signed up, yet never posted over years (or even logged in) and places where an account was deleted. when I signed up to HN, I had a different username. I reached out to admins and they looked at the other account that had been created but they let me have it because the person hadn't logged in since. Oh! I think GitHub did as well. (shit, I wonder if I have mixed up GitHub and HN... I'm pretty sure they're the two that did actually let me have my handle... :x)
- mattl 4y agoThat sounds like a bad idea. Why would it be a good idea to recycle usernames like that?
- williamscales 4y agoBecause some people sign up for a site early and then never use it. I can't get my desired handle on a particular social network because some dude registered 15 years ago, posted one item, and then never used it again. I mean, obviously I'll live but it's a silly situation.
- sph 4y agoAdd "Show HN:" to the title to have more time in the spotlight, since you built this.
- Ostatnigrosh 4y agoGood idea!
- deleted 4y ago[deleted]
- deadalus 4y agoThis tool is very fast! I used it to find my crush's social profiles and it worked well.
- Ostatnigrosh 4y agohaha thats one way to use this thing
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- xeromal 4y agoBe warned people. You might find accounts you don't remember making. lmao A trip down memory lane.
- JacobThreeThree 4y agoThe only username you should use more than once is your real name.
- xeromal 4y agoI was 12-18 years old so I wasn't really thinking that way.
- timeon 4y agoYou shouldn't use your real name on the internet.
- bombcar 4y agoOr use someone else’s real name. Like Abraham Lincoln’s.
- Genghis_Khan 4y agoNegative. Only use your real name.
- someweirdperson 4y agoFor most people it doesn't matter much because there is many dupes. Mine seems to be unique, which is a little scary.
- chillfox 4y agoThere’s a few other people out there who use the same username as me, so I have had to come up with several other usernames.
- deleted 4y ago
- avgDev 4y agoGreat tool I used it to find all social accounts of my ex. Anyway, got to go as I am outside her house and don't want to miss her leaving for work. /s if it wasn't obvious. Cool tool.
- culi 4y agogood reminder for why you shouldn't use the same username everywhere unless you intend to have an online presence Personally I have a specific scheme I follow w my more private usernames. Basically the same username but depending on the website it has a predictable alteration to it so I get different usernames for different sites but don't have to remember them all Then I have a different username (well, a couple) I use for sites where I don't mind having a public presence that can be tied back together
- nop_slide 4y agoYou should also mention you are using Sherlock as the underlying backend which does that actual searching as you did in this post. https://old.reddit.com/r/Python/comments/z1ts1n/i_built_an_app_that_scans_every_social_media/ https://old.reddit.com/r/Python/comments/z1ts1n/i_built_an_a... S̵h̵e̵r̵l̵o̵c̵k̵ ̵u̵s̵e̵s̵ ̵M̵I̵T̵ ̵l̵i̵c̵e̵n̵s̵e̵ ̵a̵n̵d̵ ̵y̵o̵u̵ ̵s̵t̵i̵l̵l̵ ̵h̵a̵v̵e̵n̵'̵t̵ ̵a̵d̵d̵e̵d̵ ̵M̵I̵T̵ ̵l̵i̵c̵e̵n̵s̵e̵ ̵t̵o̵ ̵y̵o̵u̵r̵ ̵r̵e̵p̵o̵.̵ https://github.com/sherlock-project/sherlock https://github.com/sherlock-project/sherlock https://github.com/bnkc/handlefinder https://github.com/bnkc/handlefinder With that said, I like the look of the UI you put on top, great work! Edit: As others have pointed out, the author doesn't need to make their creation MIT as well. I misunderstood the license agreement. They just have to include the notice of the dependencies somewhere. TIL.
- Ostatnigrosh 4y agoHey! Just added the MIT license.
- bradknowles 4y agoSo, you should cache hits. If someone asks the same question again five minutes later, then you shouldn't need to look them up again. Also, it would be nice to show misses -- where the account name hasn't been used. I have found a few other people out there with the same name, and it would be nice to know what systems I can go to and grab the name I want to use.
- nop_slide 4y agoApologies if I misread the license attribution, didn't want to take away from the work you did but also wanted to make sure credit was given. Cheers
- nnoitra 4y ago
- Kiro 4y agoThey don't need to add the MIT license. They only need to include the notice somewhere.
- high_pathetic 4y agoAnd that's why I prefer making a username per site I use. No need to connect the dots, no need for this tool, except for spying on a person.
- moneywoes 4y agoSeems the HN one doesn’t work
- tomrod 4y agoIndeed. On that and a lot of sites I get false positives. Old usernames that I used (and pretty sure no one else did) on sites I've never visited.
- serjester 4y agoWhy use React for something this light? People wants to use a frontend frameworks for everything now, I miss 1998. Just kidding, great work! Way more accessibly to the average person than the Sherlock CLI. Also you have two requiments.txt's FYI.
- smcl 4y agoReminds me of this, which popped up recently here: https://github.com/soxoj/maigret https://github.com/soxoj/maigret
- dingdongdaddy 4y agoyou made a web frontend for Sherlock LMAO
- oriettaxx 4y agogreat, it works (with some false-positive, like Enjin for example). A warning: an account could be suspended (since many still cannot let you remove it), and by logging in again you end up re-activating. just be aware
- someweirdperson 4y agoI am using an un-pronouncible combination of 4 characters in some games. Never could not get it anywhere I wanted it. Was surprised to see it found on 60 sites, none of them me. My username here is found on only 50, the other 49 not me. It might be a useful tool to pre-check names before creating accounts for someone who wants a consistent name everywhere.
- someweirdperson 4y agoFalse positive bug list. These always return a match even if there is none: Archive of Our Own Dribbble Enjin Fiverr HackerNews Instagram Quizlet Smule We Heart It livelib
- s1mon 4y agoI put in a <somewhat random mashing of the keyboard> userid. I got a shorter list, but clearly this is an issue. [ ! ] Checking username q349t8y on: [ + ] Enjin: Enjin [ + ] Fiverr: Fiverr [ + ] HackerNews: HackerNews [ + ] Instagram: Instagram [ + ] Quizlet: Quizlet [ + ] Smule: Smule [ + ] livelib: livelib [ X ] End Results: 7
- someweirdperson 4y agoJust retried with the same name as before, now I see it reduced to your list, plus a new entry: [ + ] TikTok: TikTok
- NaturalPhallacy 4y agoI got a false positive on runescape, fiverr, and tiktok for my username (not this one).
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- s1mon 4y agoSome people are liking the UI here, but it wasn't clear to me at first that a [+] meant the username was used on that site. In my mind, it could just as easily mean that it's available on that site (that could be a positive result if you're looking for places to sign up with a name). This should be made more clear. It would be interesting if you could toggle on the not-found list as part of the results. If you get a big positive list, but you'd like to find the sites where the username is not in use yet, there's no quick way to get that info. (Yes you could scrape both lists and use some simple command line scripts to get those results, but it's such a simple thing to add to this tool)
- dtgriscom 4y agoI read the "[ + ]" bullet symbols as indicating a topic that could be expanded.
- jfk13 4y agoA bunch of the occurrences it "finds" appear to be false positives, as far as I can tell.
- deleted 4y ago[deleted]
- MichaelZuo 4y agoYes, even for HN it returns false positives.
- lamontcg 4y agoYeah I tried "dvmnasrtjkhqofjsenvign" and got false positives on Dribbble, Enjin, HackerNews, Instagram, Quizlet, Smule, and livelib. Also got the same false positives with a couple aliases of mine that seem to be actually unique so far. I was a bit annoyed someone had already stole them on HN for a second.
- aitchnyu 4y agoWonder if some sites are seeding false positives to get your visit. Like ads saying "buy sarin gas attack in japan at the lowest price!".
- ilyt 4y agoNow auto-create that account and offer user to buy it for few bucks
- magicemoji 4y agoThere is a similar iOS app implement in pure swift, run directly on your iPhone, open App Store and Search: Maigret to download this app.
- DueDilligence 4y ago.. which I am pleased to say also works in MacOS.
- rob 4y agoLot of results! Thanks
- kapral18 4y agohttps://whatsmyname.app/ https://whatsmyname.app/
- Dave3of5 4y agoShows me on something called smule which I don't have an account on.
- mcqueenjordan 4y agoI don't want to rain on anyone's parade, but I'll just add my unsolicited opinion... Functionality like this, and more acutely, any kind of cross-service, cross-account stylometrics correlation or de-anonymizing service gives me great concerns for its abuse and the groups that it likely endangers (and the groups it likely empowers).
- brobinson 4y agoBad actors have had the ability to do this for a long time. If anything, this raises awareness among normal people.
- nokya 4y agoWell, not sure I am a bad actor but reading the comment gave me the idea of typing my ex's nickname and I now discover she has an account on a quite unusual platform of which I am a member, too. For sure, I would never have the time to build such a tool. So, yes, some bad actors may have the "ability" as you mention, but I don't think that is the best justification to make querying this tool that easy.
- deleted 4y ago[deleted]
- Normille 4y agoHmmm... I searched a name and it found 9 results. But none of the profiles actually existed when I followed the links. Mind you, I've never fond these kind of things to be very effective. Bellingcat has a selection of similar tools and the results are always pretty unreliable: https://docs.google.com/spreadsheets/d/18rtqh8EG2q1xBo2cLNyhIDuK9jrPGwYr9DI2UncoqJQ/edit#gid=1700243466 https://docs.google.com/spreadsheets/d/18rtqh8EG2q1xBo2cLNyh...
- acqbu 4y agoThis is amazing! My only fear is that it will benefit more stalkers than genuine users.
- DueDilligence 4y ago.. excellent tool .. TWO coffee's for you!
- DueDilligence 4y ago.. added to my OSINT tools.
- DueDilligence 4y ago.. just ran the iOS MAIGRET tool report [massively granular-thus more false positives + a shit tonne of server errors] against your tool. Enlightening.
- dtgriscom 4y agoI tried this with my usual username (which is unusual; not many Griscoms out there), and found some false positives. The following sites gave me errors with my username, and if I changed the username to something unlikely I got the same error. I take this to mean that there's no evidence that username exists on that system. (And, I'm dubious that I'd have signed up at these sites.) * quizlet.com * www.enjin.com * apps.runescape.com * smule.com * livelib.ru And, fiverr.com's URL for my username just bounces to the homepage, as did any username. (Again, I wouldn't have signed up there.) Other than that, very cool.
- skc 4y agoLots of false positives