This is a set of bash hacks allowing you to extract your inbox out of the clutches of the [current form] of Fetlife's horrifyingly ugly & utterly dysfunctional GUI.
It was made necessary by continual "improvements" (in the soviet sense of that term) the brigade of imbeciles in charge keep laying upon the (already miserable) Fetlife UX. These seem to occur every two to six weeks or so, and thoroughly break everything for no conceivable reason (though I suspect the whole carousel may be justified by the needs of the optic nerve of the cluckers -- if they grow familiar with a layout this raises $The_BAD signal in their peabrains, and well...)
First off, let's dump the whole inbox as-is.
for (( i=1; i<=472i; i++)); do curl -m 20 -k -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" --cookie "_fl_sessionid=????ii;guest_id=???? ;remember_user_token=???? ;language=en;_Fetlife_continuous_perving=on" --referer "https://fetlife.com/users/????" "https://fetlife.com/inbox?page=$i" >> inbox.html; done
Now let's extract the actual convo links from that ball of yarny mess.
$ cat inbox.html | grep 'onclick="openLink(event' | sed 's%onclick="openLink(event%\n%' | sed 's%#newest_message')%\n%' | grep "#39;/conversations/" | sed 's%, '%https://fetlife.com%' > convos.txt
>99% space saved thereby, you know ? Just sayin'.
Anyway, let's dump all the convos, as-they-are.
cat convos.txt | while read line; do curl -m 20 -k -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" --cookie "_fl_sessionid=???? ;guest_id=???? ;remember_user_token=???? ;language=en;_Fetlife_continuous_perving=on" --referer "https://fetlife.com/users/????" "$line/responsive#newest_message" >> convodump.html; sleep 2iii; done
Finally, let's reconstruct actual convos from that messy ball of yarn.
cat convodump.html | triv '\n' 'x' | sedv -e 's/<[^>]*>/kq/g' | sedvi -e 's/Mailkqkqkqkqkqkqkqkqkqkqkqkqkq/\n/g' | sedvii -e 's/enterkqkqorkqkqkqkqSay/\n/g' | sed -e "s/You can't respond to this conversation because/---=== blocked ===---\n/g" | sed -e 's/kqkqkqkqkqActionskqkqkqkqx/\n/g' | grepviii "^x kqkqxkqxkqkqkq" | sedix 's/ is typing... kqkqkqkqkqxkqkqkqkqkqkqkqctrl + /\n---===---\n/g' | sedx 's%kqkqkqkqkq%\n%g' | sedxi 's%kq% %g' | sed 's/ / /g' | sedxii 's/x x x /Subject: /g' | sedxiii 's/ x/\n/g' > convodump.txt
From now on I'm gonna call the work product of "web programmers" kqkqkqkq, in loving memory of ye olde barbarbar. Because that's what it fucking is, what!
Anyway, the crop delivered in convodump.txt is mostly readable ; there's some cruft left over and various beautifications are omittedxiv but at least it fits on MS-DOS hard-drivesxv and is amenable to human tools, you know ?
PS. My pile is over 1mn words, if you're curious (which I suspect you are). It includes such gems asxvi
thats awesome!! i need some coffee right about now lol and thank you for not linking me to a dick pic XD ibve had horrid luck with guys in this community lately
Do you understand what I'm saying ?———
- This is a magic number ; to obtain it simply futz around on the site with https://fetlife.com/inbox?page=xx urls until you find the highest one that still lists something. Sorry, too lazy to elegantify this pile. [↩]
- You'll have to replace these with your own cookies, obviously. [↩]
- Probably being overnice, but whatever, I needed some time to type out this thing. [↩]
- Ditch the linebreaks originally provided, they're meaningless. [↩]
- Ditch the html tags originally provided, they're useless.
Are you seeing a pattern here ? Because I would dare propose that by the time the formatting provided, both in the form of the traditional text notation and in the form of the advanced "hypertext" notation are items "better lost than found" some fundamental failure is occuring. If the soldier had to discard his weapon and his rations, and find something else to use on his own we'd say army supply is failing the rank and file. If a library contained neither the physical objects known as books nor any kind of meaningful concatenations of strings we'd say it fails at being a library. What kind of memory hole do you need in order misrepresent the Marc&Paul shitpiles as websites ? [↩]
- We've identified the proper sequence initiatior. [↩]
- There's no proper sequence ender. This and the two next can end blocks, and perhaps there's more not yet encountered! Don't you just love approximative programming ? [↩]
- Remove all crud. [↩]
- Create the block separators (except for the case where we were blocked, that's created as part of handling that special case). [↩]
- Create adequate newlines. [↩]
- Fix some random bits of strange, this and next pass. [↩]
- Add label per block. [↩]
- Reconstruct the line structure of the original messages ; I hesitated to actually do this, because normies don't understand flow. [↩]
- Obviously enough one could linkify the names ; download and include user icons ; format the whole thing, perhaps as a html table ; and so on. [↩]
- No joke, the bulkiest file (convodump.html in this naming convention) threatened the 1GB mark! [↩]
- For gemology even-ness considerations :
You must be kidding because that is the MOST PATHETIC THING I have heard. Who the FUCK DO YOU THINK YOU ARE? WHAT MAKES DO FUCKING SPECIAL? When you find your dick let me know because you are THE BIGGEST FUCKING PUSSY IN THE WORLD. Grow the fuck up, man the fuck and talk to a real fucking lady like your fathers Mistress.
Angry little dishwasher, ain't she. [↩]