所有由罗佳(博主)发布的文章

回到osu

ppy一直没有搭理我的邮件,看来是根本不想把号还给我了,之后我又开了两个号,也被ban了。

然后我研究了一下,osu会发送一些机器特征到服务器上,估计我这电脑是进黑名单了,所以只要用这台电脑登一个号就ban一个号。

于是我改进了一下我的假撒泼特脚本,让它可以修改osu发出的机器特征,这样我就可以继续用这台电脑开个新号玩esu啦。

======2018/8/22更新======

后来还是被ban了,到现在已经ban了6个号。

不知道还有什么地方泄露了身份,这个还是慢慢研究吧。现在到surfacebook上开了个新号假装萌新用触摸屏玩,然后上了黑名单的这台式机继续尝试伪装clientHash寻找被ban的原因

做一个大号U盘

原本在用的一个64G的金士顿 DataTraveler G3又坏了,是的已经坏了两个一模一样的了,死法也一模一样。

都是一开始发现被自动写保护,然后扫描查出坏道,然后我备份文件,一趟高强度数据传输之后变成插上一会儿就掉盘的状态了。

然后我就想要不就拿ssd来组个大号U盘吧,反正也已经组过几个超大号U盘了,这次搞个小点的。

于是买了个便宜的台电128G m.2 SSD(不要问我为什么买寨电,组个u盘还要多好的ssd么),加了个尽量小的USB3硬盘盒。

继续阅读做一个大号U盘

OSU被ban

皮老板似乎发现我有两个账号了(虽然有一个已经几年没用了),于是两个号都被ban了。

大概是因为我自己写的假撒泼特脚本用小号的cookie来下图,结果就变成同一个ip两个账号然后被检测出来了。。。

以后说不定要开个新号重新做人了。。。

=================================

附一张被ban时的状态

垃圾亿流网络

虽然这种垃圾小代理商大部分相关行业的人都知道是屑,全都是价格高服务差全靠关系和杀熟存活的蛆,但是这家弄到我头上了我还就得发篇博文骂骂他们。据说老板都已经换了好几个了,真搞不懂到底是哪些老蛆一直在给这破公司续命。

首先这代理商网站有的页面打开已经根本什么都没有了,基本上就是一个壳子了,甚至域名管理页面进去都什么都没有,业务竟然还在运作也是很神奇。

去年暑假我要从这些蛆那里转出域名,他们要邮寄资料验证我可以理解,但是他们要另收50元服务费,从你这转出域名你还有脸收费?(后来一想当然也是因为他们够不要脸了才会做成这样)你也不想想为什么要从你这转走?我就和他们争了好几天,最后因为我暂时离开了,没有继续转出域名。到了这个暑假我去转出域名他们要收100了,还说房租涨了所以服务费也涨了,那你们把这坨屎开在这里干嘛的呢,赶紧把客户域名全部转出解散了拉倒吧,可还能省点成本少害点人。

导致我写这篇文章的主要原因是今天周二我找他们昨天联系过的107号客服,他说今天休息,然后我去找了115号客服说明了情况并要继续咨询,他竟然给我丢了一句“你还联系他”就把我删了。你是什么东西?你靠谁的钱在潇洒?就你这服务态度把你全身粉碎骨折挂在亿流窗外都不解气,这种高利润代理商能衰败成这样怕是有你这种蛆中蛆一份功劳。

这次我肯付这100并不是我妥协了他们所谓的规定,而是已经实在不敢再放在那里了,看现在这样子哪天跑路了都不奇怪,到时候要拿回域名所有权就更麻烦了。

最后还有一句话,并不是针对亿流,而是远离所有野鸡代理商,资源能托管到大厂就放大厂,别给自己找麻烦。

现在开始恢复大部分失效的blog图片,那些图片有的是以前放在已经跑路的点点博客的,有的是放在自己心血来潮写的静态文件站的,大部分在我的硬盘各处还有备份,只是点点博客的图片可能有些要找不回来了。

[Node.js]file-namer 文件重命名工具

昨晚写了个重命名工具,使用正则表达式匹配并替换文件名。

现在给npm包起个合适的名字是真难

GitHub: https://github.com/JiaJiaJiang/node-namer

效果

$ namer -f "/.+(?=\.txt$)/" -r "#COUNTERpoi$&"
match: /.+(?=\.txt$)/   find: /.+(?=\.txt$)/   replacement: #COUNTERpoi$&
Match list:
1.txt   >       1poi1.txt
2.txt   >       2poi2.txt
3.txt   >       3poi3.txt
4.txt   >       4poi4.txt
5.txt   >       5poi5.txt
6.txt   >       6poi6.txt
7.txt   >       7poi7.txt
8.txt   >       8poi8.txt
9.txt   >       9poi9.txt
10.txt  >       10poi10.txt
11.txt  >       11poi11.txt
12.txt  >       12poi12.txt
13.txt  >       13poi13.txt
14.txt  >       14poi14.txt
15.txt  >       15poi15.txt
16.txt  >       16poi16.txt
17.txt  >       17poi17.txt
18.txt  >       18poi18.txt
19.txt  >       19poi19.txt
20.txt  >       20poi20.txt
21.txt  >       21poi21.txt
22.txt  >       22poi22.txt
23.txt  >       23poi23.txt
24.txt  >       24poi24.txt
25.txt  >       25poi25.txt
26.txt  >       26poi26.txt
27.txt  >       27poi27.txt
28.txt  >       28poi28.txt
29.txt  >       29poi29.txt
30.txt  >       30poi30.txt
31.txt  >       31poi31.txt
32.txt  >       32poi32.txt
33.txt  >       33poi33.txt
34.txt  >       34poi34.txt
35.txt  >       35poi35.txt
36.txt  >       36poi36.txt


36matches found.
Confirm?    (control+c to exit)

Finished. 36succeeded,0failed

 

【工具】listen

今天写了个小工具,用来显示声音的波形和频谱。音源可以是麦或者音乐文件音乐文件可以直接拖入。

在线演示:https://jiajiajiang.github.io/listen/https://pages.luojia.me/listen/

项目地址:https://github.com/JiaJiaJiang/listen

默认会进入麦克风模式,如果想要显示本地音乐的频谱的话可以直接把音乐拖入。

继续阅读【工具】listen

[C++]std::async异步操作 笔记

相关文档:http://zh.cppreference.com/w/cpp/thread/async

这只是一篇个人学习笔记,如有错误欢迎指出

咕了C++一段时间,我又回来学习了,这次是关于STL里自带的线程相关的模板函数`async` 。

async可以非常方便地用来创建一个异步任务,不同于基于libuv那种事件轮回型的异步编程,这个异步是使用一个新的线程来执行任务,而coder不用自己去管理新的线程。

继续阅读[C++]std::async异步操作 笔记

四月要结束啦,这个月竟然一篇博文都没写

回忆一下也没做什么特别的事情,白天玩游戏补番,晚上恶补c++

另外帮同校生搭了个blog放在我服务器上,看起来是个生活向blog

这个学期的课表安排让我们感觉时间过得特别快,几乎都是上午的课,然后随便干点什么事下午就结束了,再干点什么事晚上就结束了,一周周转眼就过去了

[Javascript]进制转换

由于coding gists即将关闭,所以把此代码片搬到博客

js的Number支持直接使用toString转换到最多36进制(0-9a-z),而此函数支持转换到由传入进制表定义的任何进制。

默认进制表为0-9a-zA-Z的62进制

/*
COPYRIGHT luojia@luojia.me
MIT LICENSE
*/
function conv(n,o,t,olist,tlist){//数,原进制,目标进制[,原数所用字符表,目标字符表]
	var dlist='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
		tnum=[],m,negative=((n+='').trim()[0]=='-'),decnum=0;
	olist||(olist=dlist);
	tlist||(tlist=dlist);
	if(negative)n=n.slice(1);
	for(var i=n.length;i--;)
		decnum+=olist.indexOf(n[i])*Math.pow(o,n.length-i-1);
	for(;decnum!=0;tnum.unshift(tlist[m])){
		m=decnum%t;
		decnum=Math.floor(decnum/t);
	}
	decnum&&tnum.unshift(tlist[decnum]);
	if(tnum.length===0)tnum.unshift(tlist[0]);
	return (negative?'-':'')+tnum.join('');
}


conv(1234,10,2)			//"10011010010"
conv(15,10,16)			//"f"
conv('ABC',16,10)		//"9846"

conv(3245670,10,10,null,'零一二三四五六七八九')		//"三二四五六七零"
conv('①②③',10,2,'〇①②③④⑤⑥⑦⑧⑨')					//"1111011"