It seems like more and more links to Twitter being submitted to HN. This is inconvenient for me as I do not use Twitter's GUI. I do not like the way Twitter uses Javascript and tries to force users to enable it.
Here is a temporary solution to I am using to fetch the JSON from the command line and make simple HTML. I did try Nitter but found that sometimes instances were exceeding rate limits.
json_reformat is from https://github.com/lloyd/yajl
this uses stunnel and nc but can easily be adapted to use openssl, bssl, haproxy, or whatever other ssl solution you prefer
example usage - read twitter.com/foone
1.sh foone > 1.json
1.sh < 1.json > 1.htm
firefox ./1.htm
#!/bin/sh
case $# in :)
;;0) # make simple html;
sed -n /{\"data\"/p|json_reformat|tr -cd '\12\40-\176'|sed -n -e 's/ *//' -e 's/\\n/ /g' \
-e '/created_at/p;/sation_id_str/p;/full_text/p'|grep -B2 full_text \
|sed 's,https://[^ \"]*,<a href=&>&</a>,g;s/\",$/&<br>/g;s/^--/&<br>/'
;;1) # fetch json;
M="GET"; V="HTTP/1.1";H="host: twitter.com";I="104.244.42.129:443";C="connection: close";
A="authorization: Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA";
P1="/i/api/graphql/Vf8si2dfZ1zmah8ePYPjDQ/UserByScreenNameWithoutResults?variables=%7B%22screen_name%22%3A%22$1%22%2C%22withHighlightedLabel%22%3Atrue%7D";
S1(){ printf "%s\n%s\n%s\n%s\n%s\n" "pid=$HOME/1.pid" "[ $$ ]" "accept=127.0.0.7:80" "client=yes" "connect=$I"|stunnel -fd 0;};
S2(){ kill -9 $(cat $HOME/1.pid);};
N(){ nc -n 127.7 80;};
S1;x=$(printf "%s %s %s\r\n%s\r\n%s\r\n\r\n" "$M" "/" "$V" "$H" "$C"|N|grep -o "gt=[^;]*"|sed 's/gt=//');t="x-guest-token: $x";
y=$(printf "%s %s %s\r\n%s\r\n%s\r\n%s\r\n%s\r\n\r\n" "$M" "$P1" "$V" "$H" "$A" "$t" "$C"|N|grep -o "rest_id\":\"[^\"]*"|sed 's/.*\"//');
p2="/i/api/graphql/Bn2jPG0Cy8VAOakAoyV_kA/UserTweets?variables=%7B%22userId%22%3A%22$y%22%2C%22count%22%3A500%2C%22withHighlightedLabel%22%3Atrue%2C%22withTweetQuoteCount%22%3Atrue%2C%22includePromotedContent%22%3Atrue%2C%22withTweetResult%22%3Afalse%2C%22withUserResults%22%3Afalse%2C%22withVoice%22%3Afalse%2C%22withNonLegacyCard%22%3Atrue%2C%22withBirdwatchPivots%22%3Afalse%7D";
printf "%s %s %s\r\n%s\r\n%s\r\n%s\r\n%s\r\n\r\n" "$M" "$p2" "$V" "$H" "$t" "$A" "$C"|N;S2;
esac