首页
About
友情链接
Search
1
RustDesk远程桌面工具自建服务器教程
2,352 阅读
2
V2ray配置文件翻译
1,602 阅读
3
draw.io(diagrams.net) - 免费开源全平台绘图软件
1,229 阅读
4
Android 11 中的软件包可见性
1,134 阅读
5
Windows常用软件
981 阅读
Uncategorized
Software
Android
Linux
Communist Party of China
Docker
Windows
Tools
登录
Search
Leon
累计撰写
36
篇文章
累计收到
52
条评论
首页
栏目
Uncategorized
Software
Android
Linux
Communist Party of China
Docker
Windows
Tools
页面
About
友情链接
搜索到
8
篇与
Uncategorized
的结果
2024-04-19
Python代码加密方案
Python代码加密方案调查方案缺点 Pyarmor、Nuitka收费 py2sec,将 .py 编译成so文件太老了https://github.com/cckuailong/py2sec https://github.com/ArvinMei/py2sopywhlobf,发行wheel混淆包不符合需求https://github.com/vkit-x/pywhlobf置换CPython的opcode(定制解释器)可行,但实现复杂https://zhuanlan.zhihu.com/p/25850970编译成 pyc很容易逆向python3 -O -m compileall demo使用ast和astor进行混淆ast和astor不支持python3.10+部分语法,编写混淆器成本较大。 pyinstaller打包为二进制可执行文件可行 Python语言翻译为C,编译为dll实现较为复杂 代码跑起来之后把代码删了。-- 【收费】Pyarmor、Nuitka。【太老了】py2sec 一款轻量的脚本工具,基于 Cython 将 .py 编译成 run-time libraries 文件:.so (Linux && Mac),或 .pyd (Win)。一定程度上实现了“加密”保护源代码的需求。https://github.com/cckuailong/py2sec【不符合需求】pywhlobf 是一个 Python 代码混淆工具,输入一个 wheel 格式分发包 (也就是说,您首先得执行如 python -m build --wheel 的命令将项目打成 wheel 包,然后才能使用本工具),输出一个混淆后的 wheel 包,包中所有的 .py Python 文件将会编译替换为目标平台的二进制文件,从而达到混淆/保护代码的目的。https://github.com/vkit-x/pywhlobf【方案可行,但需要深入实现】置换CPython的opcode(定制解释器)https://zhuanlan.zhihu.com/p/25850970【很容易逆向】编译成 pyc【可用pyinstaller】来自v2的phrack提供的python代码加密思路。https://fast.v2ex.com/t/348602#r_4150953【--】代码跑起来之后把代码删了。使用Pyinstaller编译发行二进制可执行文件编写spec文件# -*- mode: python ; coding: utf-8 -*- a = Analysis( # 主程序 ['app.py'], pathex=[], binaries=[], datas=[], # python引用不到、pyinstaller不支持的包需要在此声明。 hiddenimports=[], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, a.binaries, a.datas, [], # 输出的二进制文件名 name='pack', debug=False, bootloader_ignore_signals=False, strip=False, # 使用upx压缩,否则失败。 upx=True, upx_exclude=[], runtime_tmpdir=None, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, )保持环境纯净,新建venv来打包。python3 -m venv venv source venv/bin/activate pip3 install -r requirements.txt执行命令即可打包,二进制文件生成在dist中。pyinstaller pack.spec直接执行sudo ./pack即可运行。Docker部署,将pack放置于根目录即可。FROM ubuntu:latest WORKDIR /app COPY . /app CMD ["./pack"]docker build -t pack . docker run -d -p 5000:5000 pack
2024年04月19日
195 阅读
0 评论
0 点赞
2024-03-29
笑死
暂无简介
2024年03月29日
100 阅读
0 评论
0 点赞
2023-11-03
uu们好
暂无简介
2023年11月03日
113 阅读
0 评论
0 点赞
2023-11-02
Flask高并发方案性能调查
Flask高并发方案性能调查方案使用flask + gevent + multiprocess + wsgi# coding: utf-8 # code by https://cpp.la, 2020-04-20 # flask + gevent + multiprocess + wsgi from gevent import monkey from gevent.pywsgi import WSGIServer monkey.patch_all() import datetime import os from multiprocessing import cpu_count, Process from flask import Flask, jsonify app = Flask(__name__) @app.route("/cppla", methods=['GET']) def function_benchmark(): return jsonify( { "status": "ok", "time": datetime.datetime.now().strftime('%Y-%m-%d %H:%M'), "pid": os.getpid() } ), 200 def run(MULTI_PROCESS): if MULTI_PROCESS == False: WSGIServer(('0.0.0.0', 8080), app).serve_forever() else: mulserver = WSGIServer(('0.0.0.0', 8081), app) mulserver.start() def server_forever(): mulserver.start_accepting() mulserver._stop_event.wait() for i in range(cpu_count()): p = Process(target=server_forever) p.start() if __name__ == "__main__": # 单进程 + 协程 # run(False) # 多进程 + 协程 run(True)直接部署from gevent import monkey monkey.patch_all() import datetime import os from flask import Flask, jsonify app = Flask(__name__) @app.route("/cppla", methods=['GET']) def function_benchmark(): return jsonify( { "status": "ok", "time": datetime.datetime.now().strftime('%Y-%m-%d %H:%M'), "pid": os.getpid() } ), 200 def run(): app.run(debug=True, host='0.0.0.0', port=8080) if __name__ == "__main__": run()Locust压测结果服务器环境:腾讯云轻量应用服务器(北京),带宽5Mbps,Ubuntu 20.04.6 LTSCPU: 64位,物理1核(1 X 1),逻辑1核,AMD EPYC ,一级缓存32K内存:内存:1987 Mb,交换分区:0 Mb100000用户每秒增加100进行压测,压测数据如下。直接部署(当前LangChain部署方式)单进程+协程多进程协程测试服务器负载图表单进程+协程: 2023/11/1 18:06:36 - 2023/11/1 18:36:25直接部署: 2023/11/1 19:14:13 - 2023/11/1 19:39:45多进程+协程: 2023/11/1 19:50:33 - 2023/11/1 20:18:26 结论多进程+协程 > 直接部署 > 单进程+协程
2023年11月02日
70 阅读
0 评论
0 点赞
2023-01-28
于广友大傻逼
暂无简介
2023年01月28日
196 阅读
0 评论
2 点赞
1
2