重装系统

      No Comments on 重装系统

mariadb把数据库弄死了,重装。
这东西弄得整个服务器全死了:重装的机器都死了。
把数据库文件扯出来,强行挂载在别的机器上,强行导出数据库,这才恢复了数据。
临时上个SSL证书,未来上letsencrypt。

立此存照

      1 Comment on 立此存照


Two days ago the police came to me and wanted me to stop working on this. Today they asked me to delete all the code from GitHub. I have no choice but to obey.
I hope one day I'll live in a country where I have freedom to write any code I like without fearing.
I believe you guys will make great stuff with Network Extensions.
Cheers!
 
https://web.archive.org/web/20150822042959/https://github.com/shadowsocks/shadowsocks-iOS/issues/124
 
Lest we forget.

应求写一个刷逼站直播在线人数的脚本/A simple script to get lots of viewers of live.bilibili.com

应求,就这样。
什么Queue啊都不用了,投入list的怀抱吧。
https://gist.github.com/cnbeining/6b2273d7e332f29193d0

#!/usr/bin/env python
#coding:utf-8
# Author:  Beining --<cnbeining#gmail.com>
# Purpose: A simple script to get lots of viewers of Bilibili Live
# Created: 08/11/2015
# Error report: http://www.cnbeining.com/?p=952
# https://github.com/cnbeining  somewhere within my gists
import sys
import time
import getopt
from multiprocessing import Process
from websocket import create_connection, WebSocketConnectionClosedException
#----------------------------------------------------------------------
def fake_connector(cid):
    """"""
    try:
        ws = create_connection('ws://livecmt.bilibili.com:88/{cid}'.format(cid = cid))
        while 1:
            time.sleep(5)
            a = ws.recv()
    except WebSocketConnectionClosedException:
        return -1
    except Exception as e:
        print(e)
        return 0
    finally:
        return
#----------------------------------------------------------------------
def main(cid, thread_number):
    """"""
    #Get a list of threads
    process_list = [Process(target=fake_connector, args=((cid, ))) for i in xrange(int(thread_number))]  #Queue? Your ass
    [i.start() for i in process_list]  #ignite every one
    try:
        while 1:
            alive_list = [i.is_alive() for i in process_list]
            print('Active thread: ' + str(len(alive_list)))
            death_position_list = [i for i, x in enumerate(alive_list) if x == False]
            if len(death_position_list) > 0:  #someone died
                print('Some died, adding {COUNT} new thread'.format(COUNT = len(death_position_list)))
                for i in death_position_list:
                    del process_list[i]
                    process_list.append(Process(target=fake_connector, args=((cid, ))))
                    process_list[-1].start()
            time.sleep(3)
    except Exception as e:
        print(e)
        for i in process_list:
            try:
                i.terminate()
            except:
                pass
        exit()
#----------------------------------------------------------------------
def usage():
    """"""
    print('''Use as:
    -c: cid, room number
    -t: thread number
    Press Ctrl+C to exit.
    ''')
if __name__=='__main__':
    argv_list = sys.argv[1:]
    try:
        opts, args = getopt.getopt(argv_list, "hc:t:",
                                   ['help', "cid=", 'thread_number='])
    except getopt.GetoptError:
        usage()
        exit()
    for o, a in opts:
        if o in ('-h', '--help'):
            usage()
            exit()
        if o in ('-c', '--cid'):
            cid = a
        if o in ('-t', '--thread_number'):
            thread_number = int(a)
    print('Getting room {cid} {thread_number} viewers...'.format(cid = cid, thread_number = thread_number))
    main(cid, thread_number)

 

关于B站无法访问/没图/页面错乱的问题的改host大法

这点破事八百万人一天问我八百万遍。
解决方案:
IE无人权 Opera类似Chrome 国产垃圾浏览器赶快都丢出去;
英文版,其他照猫画虎。
1. 审查元素(开发者工具)
Chrome: FF: Safari:
 
选择网络,Network:
Chrome:FF: Safari:
 
2. 刷新页面,看你是怎么死的:
Chrome: 其他两个类似。
 
3. 看看谁红了?红了的,域名是多少?
例如,上面Chrome这张红图,涉及的域名包括:
static.hdslb.com
i1.hdslb.com
i2.hdslb.com
你也有可能遇到别的。
4. 全国ping之:
我个人喜欢 http://www.17ce.com/
类似的网站使用类似。


 
5. 你已经有一堆IP地址了。
挑几个,进入命令提示符,试着ping一下:
无论平台,命令为:
ping (IP地址)

OSX的长这样,其他平台的类似。
6. 修改hosts:
Windows: https://support.microsoft.com/en-us/kb/923947
OSX:注意有可能需要root
其他平台:你都不应该需要看我这个东西
7. 保存,重启浏览器,试试是不是好了:
7.1 没好:清除DNS缓存试试
7.1.1 还没好:换个IP地址试试
 
以上。

ABPlayerHTML5-Py V1.09.9: 重构啦

      2 Comments on ABPlayerHTML5-Py V1.09.9: 重构啦

这个东西上次更新是去年8月8日。
时隔一年,一看当初的东西,真是不忍直视。
思路是对的:只不过太难看了。
 
重写,这样感觉圆满一些。
遇见了一堆当初碰见的坑:因为当时注释太少,都忘记了。补上。
如果用浏览器跑弹幕,有且只有这个方案能跑:HTML5的video必须用真正的HTTP服务器供源。file://不成的。
 
从开始写到现在,出了一堆wrapper,主要是Danmaku2ASS的,播放核心mpv。
Biligrab也加了这个功能。但是我还是想把视频下到本地慢慢看:因为连通性。
这个东西的初衷是对接Biligrab:现在看起来,做到了。
 
https://github.com/cnbeining/ABPlayerHTML5-Py
已经不能直接贴一片code了,因为出了依赖:需要自取,建议更新。
 

笔记:关于学校限制我跑sqlmap的解决方案,也就是各种系统一键修改MAC脚本

今天在学校跑sqlmap玩,然后机器的网就挂了。traceroute 8.8.8.8不通。只有自己AS的几个IP有应答。重启后有时没事有时还是不行。(其实是时间限制)
UofT的机器都会分配外网IP,但是IP地址一般保留--是的,跟MAC走。
好吧,忍几分钟,开Github,上这个东西:
https://github.com/feross/SpoofMAC
文档很清楚。
如果忘记挂VPN,机器被限制,直接断线换MAC,然后世界照常运行了。
这里就放一个自己抄文档的cheatsheet,给cheat https://github.com/chrisallenlane/cheat  用:
Continue reading