Skip to content

Instantly share code, notes, and snippets.

@TheLinx
Created October 25, 2010 00:08
Show Gist options
  • Save TheLinx/644181 to your computer and use it in GitHub Desktop.
Save TheLinx/644181 to your computer and use it in GitHub Desktop.
-- CLI version of unifrog
-- public domain
-- ascii frog generated by the GIMP
frames = {
[==[
_,
__s)2ooo2r+l,
/*1Ivvnvv}; <=
:++|||IlIl>++ii
:::::=+|lllllli
:..::::+|{lvl;
:::::==++Ivvi
-=+|+|||lvnov;
|+||||ivnooni
:|||i|illvnnv|`
_>+||||<i||inoii;
_,_)|i=|==i|i|i||l1v%=.
,svovI>++- ||i|iviii||vnc;
_Snoni+++=- +|iIvvvlli||vvns/"
___1**++=-- ||iIIviii|ivI}>^
___J1i+--- ||illIiiiiivv(;
.|.._ +||iiii|i|ii||=
` |+||<>|>|+||ivc
++|+|=|||+++<vo|
_i=+++||++|++|)ov=
)|i|===+==+==:={nIii
.i||+|;=;====;::)vIii_
:||+++=::::::::::=lvlii,
_;|+==::;:` .-:_.:+invli`
;|=;::.`..:::+==-.=|vIll;
i+::- --- ;---` -=iIii<
=i=;. ; -|Ii|+
=i>;:. ; +vl|:
=ili+_ ). =vl+;
-~<|==. =; _)nv+
-=ii; _iv =nnl+
^||: -:i|_ :vvvi=
.::.:::i+.. =vvl|~
,;:::`...v;.. .=vv>|
::--:.==::l;; ;:)nv|+
.::;i-::::::%;- .=vvi+^
=:== :`:=:i: .:<lvi=
;::`-; .=<;`%= `;ivI=;
_;_;-:.-_ .==_(~.;_Ivl+:.
.:;` +< -+=<>.= =lI>::-
=-(==, ::.:=>:_:=l>= ::
;<`-:;:..;:====;-.)v>=;::
i:=. ~-.::;=s==:vi;-:::
|:=:..:+-::;:;;<|.)v|; .::
i:):==---:.:;::<| %v:+<;::
~:=-` ..:~:::)=;v%~-:::.
;.=`.==- ==`=:l;|n=, -::
`:<;:;- ;:`;=:v-lv/-..:-
::;- ==;.=::v n> :;`
`:==.++: ==`=} Ii;=:;,
-.:-:--`.=. |>.+"i==<
-::;~ .=. .:=-;:-
.:::::::...::.
.=--:-.. :-
- `
]==],
[==[
_,
_,Jooooor^{;
=*{1vvvvvv( :i_
+=|=i|Ill>+|ii
--::::+=illllli;
.-:::::++|llI|
-;::::==++ivvl,
|++|+||ivnnn(
_|<|||ilvo2nl,
|||||iillnov>=,
i+++|<i|i||vovi;
_i_=ii++i+|i|ii|i|{1v%=
_,Jooovii>+; |||ilviii=ivnv _
_Jn11vl|=|==- |||IvIviiiis|vv}>
,___s_!<+<+---- ||iIlIviiiivs>|;
~-==~-= +|iilIiiii|v(+|;
` |+<iiiiii|i|ii>;
|+|=|||||+||ivi;
_|+||+|++|++|{o(
_v>=++++|+++=|<noi_
_lli===++=++==:<{nvl_,
%iiii=======;:::=InonI,
_=i|i=+==;.::::::. ~IInnIi,
=i|+===- .. +._.-..-=|Ivvl(,
:i|===:;_::.:=++;... -+<vIi=
i|+;;;` --- =---~ ++vvi,
_i=::- > -<ii:
.l==; ; =i>|:
li;. ; _iIi|:
vnnc. _; :il|+;
=o21i _iv_ :i|=|`
-no1l .....<i_ >||+=
vonv, .::....v+-.. <|+==
=nnv==::,-:.:%=:.... <|=<,
)}=:.-= :;:;v; :.... i|=+.
:+:;+_=. .:`l: :,... |||=.
+::` :_ : %| =- .... +=+-`
;:==:_ ;..; i +: ._,.: ||=`
.=_,==-.,-.==_l ; ; ::-|+-
*=:/<i=+~; :===%= .: ;-:i=`
;:(=%|_~-:-~;=>:./ .-.=|=
=_==:=+!.=;:;==+|_.==<=:|++
_;=----==::::==s|--- .:|+;
i:< _.~:;;;+|+||=....i|`
~;=..:;:- ==;=:::.+-=||=:|i_
:::--` .:.:::::-=. -`<=;|=vI1(
=:>` .+: :;;;;:--. . -..
.::__=~ .=/`=.; :: -::
:::= ;=.;=:; -=` ...`
;==. ==;:=< ;; .=:;:.
.:-:.|- ;=. =; ;:::;
-::::` >:. ;;=.;:
.:::.::::::::.
- . :::::.:-
~ . -`
]==],
[==[
_,
__sooo2oe+<;
.*Invvnvvv=--l,
-=|=i|lvvi|+||i_
-.:::==+{vliili
` :--:::~+<lvvl
:;:-:::==|<vvi;
:|+|+||ivvoov
:|+|||iivoonI(
|+|i|iiiInnvi<
_%=|+|||||i|Inn%=,
___)ii|=-||||ii||+*ilai, __
_,JoonovIi|==` +||ii%iii|=|Ivvv+
_onv1}||==+=--` ||iIvvliiivs|>|
,____*|~~-~-- ` _|iilvlliliIvi|<
:=::; i||ilviiiiiil|||
s=|ii|ii|i|ii|>+
|+=|||||+|||vs=
=||+++++|=++ivn;
_|;++||+|+|=<+)nov_
.li|======+;;:=<|1oovs_,
%Iii===;=;;;:::::|<nonnn;
i|||{i>;::::-: -||Innns,
li+|=+=-`-:_:.-` ~-+|{IvI,
_i||==:.::=++=:-.. -=iii
:i++=:=;-.:--~ =|>|=
_=i|=;=` )` .|>|=`
=v>+;: =; /|+==,
)i|:; =; |====
=v==~ =` .+|=;,
)n>: _ii :|+==
)vo|_ . --:l|_ (+=-`
-{no|+::.:-:l=.... |==,
)n};:-:`:,_I=..... _|:
:|-:=:._)c=s ::.:.- |+.
.::_~_ `:)s;s ;:- ... |:`
=::=+| :)i=v :` :-..` +=
.;<=n|=: .=i=}:~ :/` :- +:
.==_)e+-:.--<+>; :- =l:::=/<>""
.;=>||; `..=;(=+: )l;`::
>:>.=;;_ :;;=>:-_I=/` ..
;.~`:s=-..:===>:i>` :..
;)__)1i ;;:=si|.:=.:.-.
;)-=;:=- <:;;:++ :..
::-`=ni.:-;==:::./._. :.
;;=,=};:;.:;;:.|;`-=;::..
_;:>:;:; .:+==;;= =: -::-
^:::==+=.; ::=;+;_-;;..:.
:::--==;.=.:: =; :<;;;
.::==| ;;..= i;. ::=.
.:=:- .=- .= ;=.;;:
-`.:=::;; .= .;:::
::::::.::.::..
- =..::::-.--
` . -`
]==],
[==[
,
_s)2oo2e+{(
_)12vnvnvv>.=i_
~|=||ilIIl>;||i,
-:::;==+iIlilllv
.:-::-==+<lIvl
-:-::::++<lvv_
:==|+|+|ivonI(
=|+|||iivooov=
:+||i|iilvool|;
=|+|+|||i||vonii,
___)i>=;+|=i|i|>|l11v=.
_,sv2lli=<; |||iiiii|=|vvi;
_Snno}+|==: +|iilvllils=vvnn}`
,_1**|+|--~ =||iIIlliiilv%vi+'
___s_X>=--- =+iillliii|IIv||;
)=;. =++<ii|i|i|ii||/`
-|+|=|||||+|+ivc,
i=||+|++|++||vn%
_|==++|+|=|===)nov__
=ii+=====+==:=+{noXnns_
lli|+::=:=;:::::+vnoonn(,
lii|i|;:=::-::. +=Inoonv;
<i|+|==~ .._.:-` -~|+{n1I,
:i|+=-:.:|=+=:.=; ->vii;
l|++::. = --` =vv>|;
}||==- : _vv1>+-
:i+=:, : _vvI>=`
:|=:- : _li|+:`
=|=:` : .si|==
=|== _|s )ll|=;`
=|=;=.-::1 _ ./|=:-
=i=:..:;:c:.._I+--`
:::.:-.. s..=v=.
.::.=.:+=: i=_l:..:.
.;::+=::=== i=-==_>_,
=;_`~i::=>; || ,<~"++`
.;)( ii:=== l|_= .:.:
.+:=, iv(.==`lv: .:.-.:-
:;=; ==ii|:==={|-.:; -::
;:'. ~ ==:;=l|.; .;;.:
=:=:;.../i::;:i|=..:_==::
;=----=;--==:=v|_-- ::;
;+. _.+=;=:=+=.=`...;:
;=._=:: ==:=:::.---:+=;:
::==; ::;=;:=:~; ;;:
-:=. .;:.=;;;:-:.-;..:;~
.:=,__=-.:===`;_=:, :;;-
::==<2o+=|==:=|~=. .;=,
.::= ~=;===; =; :=-:;.
-::;.==-~== ;; ::;:
::=:. .=. ;==:::
,:-:::::.;.::.
- .:.::::::-
-. .
]==],
[==[
,
__Jooo2e+<<
_)1Soovnvv( =l(
|=||ilIll|==|i;
-:-::==+lIllllli
;:-:::;++|iIIl
-::::;:==|lvI_
.=+|+|||lvonI;
_|++|||ivnooI>
:+|i|iillvool|;
:||+||||||ivovii,
_=_)l>>-|+=i|ii||Inv%=.
_Jovli==; +|iiiiiii+ivvi:
_Jnnn1||==:` ||iilvliii+)nvi__,
,iv1*|+<:--~ =+|ilIliliivsIn}{~
__J}=+=-- =+|illliiiilli><;
-^<;:-.~ =+|||iiii>|i%iii;
- |++|||||=|i|<vs;
_|+|=+++||++|von,
_i+=+|+|+|=+=+)nn(
=ii=====+=+=:=<nnn(_
lii||;;;=;=;::=)SnvIl
|l|||=:-::-:::/<voonl;
i||==:=`..._.:-+{noolI
=|++=::-.:+++=:.:=|2oIi
=++;=:=;-:---` >nvii
:|=:;; : _vnv|:
-+=:- : _)onvi;
==;: : |vnnvi+`
=+;=. : _vvnl|+
:+=|, _|s vvvl>=
:ili+; :-:v+_)vvi+=`
-+|-...;;c:=vvi+=
.=:::-=::c_vnl+=:
.=:.+:.:=|;iIvI+=::.
.;:_|---:=i:ivl|:.::.
;;=:+= ;=i=vi=- ::.:`
::+( =: :={v>:- .- .::
==; :: :i>=:_;; :::=
::<>;. :_=v==::= ._< ::
;:'-:=:. =+===:=;:=;`.::
+:+` ==;;_=+=+|=+=i. :.;
;=;__|~==::.=:*".:+==:=::
;=:=:=;---=:::-=-==i; :-:
:=:` . ::=:::::::=, -::
::>`..:-- ;:::: :`:==+:;:
~:==/;~ ===:::: ;: :=::~
.::;- : :-=:::_ =;..:-
::;. +,.:.:: := :<=:;,
.::=.+ :.. = i;` ::;-
::::: :-`.= ;=:::-
::=:.;. .; ::;:
.::::.::-.:::.
- :-::::-: -
~ . -
]==]}
require("socket")
http = require("socket.http")
local frame = 1
local function drawframe()
os.execute("clear")
print(frames[frame])
frame = (frame == 5 and 1) or frame + 1
end
local ver = "0.0.0" --initialize this
-- credentials
local creds = io.open(os.getenv("HOME").."/.unifrog", "r")
if not creds then
print("Looks like this is your first launch. Please input the following information:")
io.write("Username: ") io.flush()
user = io.read("*l")
io.write("Password: ") io.flush()
pass = io.read("*l")
print("Great! I'll save it in ~/.unifrog so you won't have to input it next time.")
local f = io.open(os.getenv("HOME").."/.unifrog", "w")
f:write(("user = %q\npass = %q"):format(user, pass))
f:close()
os.execute("chmod 600 $HOME/.unifrog") --for security
socket.sleep(1)
else
loadstring(creds:read("*a"))()
end
local url = ("http://braxnet.org/unifrog/stat.php?username=%s&password=%s&ver="):format(user, pass)
while true do
local cont = http.request(url..ver)
local code = cont:sub(1,1)
if code == "1" then
for n=1,100 do
drawframe()
socket.sleep(0.1)
end
elseif code == "4" then
ver = cont:sub(3)
end
end
@TheLinx
Copy link
Author

TheLinx commented Oct 25, 2010

I know this code is awful, but frankly, I don't care.

I just want to go to bed right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment