文章标签 ‘python’
20264 月30

AI:用Claude Code 开发了一款轻量级摄像头监控平台,飞牛OS应用

功能说明

基于 Python FastAPI + SQLite + Ant Design + ZLMediaKit + Jessibuca 实现的简易 ONVIF / RTSP 摄像头监控平台。

  • Python:实现WEB后台服务,包括用户登陆相关、摄像头操作接口、录像文件定时清理等
  • ZLMediaKit:流媒体服务,提供推流转发、录像等流媒体功能
  • SQLite:存储用户名、密码、权限、摄像头信息、录像文件信息
  • Ant Design:前端界面,由AI生成(感觉交互还有优化空间)
  • Jessibuca:前端流媒体播放器

https://github.com/budwk/budcam 源码及安装包地址

安全机制

  • 用户身份:Jwt Token
  • 摄像头权限:通过 SQLite 数据库关联查询
  • 流媒体服务:hook 通过用户 token 回调验证,不登陆获得合法 token 无法通过链接直接查看摄像头
  • 网络安全:流媒体服务通过 nginx + 前端代理,无需暴露流媒体服务端口

开发心得

  • 打包fpk安装包:创建独立配置文件,需要把脚本放到 cmd/install_callback 里,直接放 intsall_init 是不行的,而且要通过挂在文件夹的方式挂在到docker,而不是直接挂在文件,因为docker会把文件路径创建成文件夹,导致文件创建失败
20259 月9

尝试找回比特币密钥文件的密码

背景:2013年比特币兴起的时候,注册了比特币官网账号及钱包,从TB等处买了少量BTC,大概有0.02个吧,当时助记词存在硬盘上,N年来电脑换了好几个,最终由于Thinkpad X1 SSD硬盘挂了(见文章:https://wizzer.cn/archives/3552),导致历史备份文件永久丢失。最近从邮箱中找到了当时钱包的备份文件,wallet.aes.json 但密钥文件使用密码加密了,尝试了一堆常用密码,都不对(不知道当时脑子咋想了,弄那么复杂的密码干啥),于是尝试破解密码。

1、破解软件工具 BTCRecover

这个工具主要通过海量的密码词典,进行匹配,看是否有可能匹配的密码组合:

 python btcrecover.py --wallet wallet.aes.json --passwordlist weakpass.txt --no-dupchecks

–no-dupchecks 关闭重复猜测检查以节省内存

2、下载弱密码字典文件 https://weakpass.com

3、根据自己的密码习惯生成密码

import itertools
import random

def generate_passwords(base_string, max_length=5):
    # 生成所有可能的字符组合,允许任意顺序
    base_list = list(base_string)
    for length in range(1, max_length + 1):
        for combo in itertools.product(base_list, repeat=length):
            # 生成大小写的所有组合
            for case in itertools.product(*[(char.lower(), char.upper()) for char in combo]):
                yield ''.join(case)

def save_to_file(passwords, filename):
    with open(filename, 'w') as file:
        for password in passwords:
            file.write(password + '\n')

if __name__ == "__main__":
    base_string = 'abcdefg123456'
    max_length = 11  # 可以根据需要调整
    passwords = generate_passwords(base_string, max_length)
    save_to_file(passwords, 'passwords.txt')
    print(f"生成的密码已保存到 passwords.txt")

然而,使用了weakpass网站的上十亿密码组合,依旧没有匹配到我的密码……

尝试用生成密码的方式找回密码中……

20246 月19

企业微信:数据与智能专区 docker打包的坑

1、文档说明要求 python 3版本,但没有说必须是 3.6 版本,其他版本报错找不到 libpython3.6m.so.1.0;

2、使用 python 3.6 得安装 requests 组件,文档没有说明;

3、部署时必须指定执行的 sh 脚本文件;

Dcokerfile 文件内容如下:

FROM python:3.6-slim

WROKDIR /app

COPY . /app

RUN python -m pip install --upgrade pip

RUN pip install requests

RUN pip install pycryptodome

EXPOSE 8080

ps:搞过微信开发的都知道,微信的开发文档到底是多么多么的……

20232 月14

Linux(CentOS) 安装Python3.7 和 pip3

安装 python3 运行环境

yum install -y zlib zlib-devel libaio net-tools bzip2-devel pcre-devel openssl-devel ncurses-devel sqlite-devel readline-devel python3-devel tk-devel gcc cmake gcc-c++ make libffi-devel mesa-libGL.x86_64 wget git

安装 pip3 运行环境

yum install zlib*

下载 Python3 安装包

wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz

<em>tar </em>-xxf Python-3.7.9.tar.xz

cd Python-3.7.9

vi Modules/Setup.dist

#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

前面的 # 符号去掉

:wq

安装新版 openssh

wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz<br>tar -xxf openssl-1.1.1a.tar.gz<br>cd openssl-1.1.1a/<br>./config --prefix=/usr/local/openssl<br>make & make install

安装 python3

./configure --prefix=/usr/local/python3 --with-openssl=/usr/local/openssl

<em>make </em>&& make install

创建 python3 软链接

ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3

下载 pip3 安装脚本

wget https://bootstrap.pypa.io/get-pip.py

安装 pip3

python3 get-pip.py

创建 pip3 软链接

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3