dev to main #1

Merged
kaku merged 3 commits from dev into main 2024-07-05 23:54:03 +08:00
8 changed files with 159 additions and 173 deletions
Showing only changes of commit 8b91e5a789 - Show all commits

View File

@ -1,79 +1,79 @@
#!/bin/bash
VENV_DIR=".venv"
PYTHON_APP="main.py"
LOG_FILE="output.log"
PID_FILE="app.pid"
start_app() {
if [ ! -d "$VENV_DIR" ]; then
echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m"
exit 1
fi
if [ ! -f "$PYTHON_APP" ]; then
echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m"
exit 1
fi
source "$VENV_DIR/bin/activate"
nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 &
echo $! > "$PID_FILE"
echo -e "\033[32m Application started! \033[0m"
}
stop_app() {
if [ ! -f "$PID_FILE" ]; then
echo -e "\033[31m PID file not found! \033[0m"
exit 1
fi
pid=$(cat "$PID_FILE")
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
kill "$pid"
rm "$PID_FILE"
echo -e "\033[32m Application ended! \033[0m"
else
echo -e "\033[31m Application not running or PID not found! \033[0m"
fi
}
check_app_status() {
if [ ! -f "$PID_FILE" ]; then
echo -e "\033[31m Application not running! \033[0m"
exit 1
fi
pid=$(cat "$PID_FILE")
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
echo -e "PID: $pid"
echo -e "\033[32m Application running! \033[0m"
else
echo -e "\033[31m Application not running! \033[0m"
fi
}
restart_app() {
stop_app
start_app
echo -e "\033[32m Application restarted! \033[0m"
}
case "$1" in
start)
start_app
;;
stop)
stop_app
;;
status)
check_app_status
;;
restart)
restart_app
;;
*)
echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m"
exit 1
;;
esac
#!/bin/bash
VENV_DIR=".venv"
PYTHON_APP="main.py"
LOG_FILE="output.log"
PID_FILE="app.pid"
start_app() {
if [ ! -d "$VENV_DIR" ]; then
echo -e "\033[31m Virtual environment directory $VENV_DIR not found! \033[0m"
exit 1
fi
if [ ! -f "$PYTHON_APP" ]; then
echo -e "\033[31m Python application $PYTHON_APP not found! \033[0m"
exit 1
fi
source "$VENV_DIR/bin/activate"
nohup python3 "$PYTHON_APP" > "$LOG_FILE" 2>&1 &
echo $! > "$PID_FILE"
echo -e "\033[32m Application started! \033[0m"
}
stop_app() {
if [ ! -f "$PID_FILE" ]; then
echo -e "\033[31m PID file not found! \033[0m"
exit 1
fi
pid=$(cat "$PID_FILE")
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
kill "$pid"
rm "$PID_FILE"
echo -e "\033[32m Application ended! \033[0m"
else
echo -e "\033[31m Application not running or PID not found! \033[0m"
fi
}
check_app_status() {
if [ ! -f "$PID_FILE" ]; then
echo -e "\033[31m Application not running! \033[0m"
exit 1
fi
pid=$(cat "$PID_FILE")
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
echo -e "PID: $pid"
echo -e "\033[32m Application running! \033[0m"
else
echo -e "\033[31m Application not running! \033[0m"
fi
}
restart_app() {
stop_app
start_app
echo -e "\033[32m Application restarted! \033[0m"
}
case "$1" in
start)
start_app
;;
stop)
stop_app
;;
status)
check_app_status
;;
restart)
restart_app
;;
*)
echo -e "\033[33m Usage: $0 {start|stop|status|restart} \033[0m"
exit 1
;;
esac

View File

@ -5,11 +5,11 @@ host=0.0.0.0
threaded=1
[database]
host=127.0.0.1
host=172.16.0.4
port=3306
user=root
password=password
password=123456
database=fz_data
[RSA]
key=
key=MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAN132X+pP8D0m/if/TzcPdhpHD+4xtjW0wgkhMZh+72FJAJ35CWMbMm71bDyTq370lVvy+Eahbm2fAMPy3hIJisWuTlQ8bqscRSxyUNoVVt30qSI2Rb/uNYc79Sm6rwWdLj+mgFBKJgqmH4UHHoc17SjXIDmaW5VMVHjpiMYkRvDAgMBAAECgYBFs+tZ8RhWMAaI7T3EMmMqogZYjdzTsWUw6mF5mKwlHWrUdgxxvu0cXwhmDRUzUA8Ggc2utuzAow0L36Q/4qFUF2x99okk3ACcJsLcVm3+Ou7fhu5jtq2G7VW2J3aIIxzNs85ZsdGRBb9leZ4OVgbBGIj//GqlRiGKhR8qZma9sQJBAPgC2nHO4sNowDTIE558uPe0jh9hgdZysFUpL3FKIlbibGHQ7D/QFUcYbYqBlYbm2WluVIKF0TL2OqteKzBdbHMCQQDkmh4r7d+lmLhhr/j+200bIeLIoytHwMNOJodCUMU3gg4m0PHOEMhZsXu6EgqLXYierV/JPMxnlK93W90BQI9xAkBqTfbKD26dabnxJc1bAoTaD/dXNhlMDS7N4fBm8+rSKQ1hxAZvt8ZXCf5x/udTwoFwMo1gwPERkf9F0wBaI8FHAkALZxicLlhahTylOsbbx4qYEN+kDGeLQ7U6P7e9ehPsSeN00jVNhw7HUpAOXvoBq5+18oX1nr+/Zu49sOpcNqExAkEA6uKRPmM4rsJVtXotC1gZJsYTrGlVtY3smKG2wWE/xsw0nqAaw/MdsOkrxpNxKa0IDSOtubtyD0PIQgC2HGT4kw==

View File

@ -19,9 +19,9 @@ def saveFzData(data) -> bool:
sql = """
INSERT INTO table_zhapian
VALUES (
%(uuid)s,%(callednm)s,%(zptype)s,%(zpfeatures)s,%(early_warning_time)s,
%(warninglevel)s,%(zpcallernm)s,%(talktime)s,%(auth_code)s,%(student_number)s,
%(transfer_amout)s,%(url_or_app_name)s,%(zp_account)s
%(uuid)s,%(callednm)s,%(isPushZkj)s,%(called_city_name)s,%(called_province_name)s,%(called_location_county)s,
%(insert_time)s,%(warninglevel)s,%(zpfeatures)s,%(url)s,%(data_source)s,%(url_or_app_name)s,
%(called_location_province)s,%(pushZkjTime)s,%(zp_ip_address)s,%(first_login_time)s,%(called_location_city)s
);
"""
conn = getConn()
@ -29,21 +29,26 @@ def saveFzData(data) -> bool:
try:
for message in data:
message.setdefault("uuid",None)
message.setdefault("callednm",None)
message.setdefault("zptype",None)
message.setdefault("zpfeatures",None)
message.setdefault("early_warning_time",None)
message.setdefault("isPushZkj",None)
message.setdefault("called_city_name",None)
message.setdefault("called_province_name",None)
message.setdefault("called_location_county",None)
message.setdefault("insert_time",None)
message.setdefault("warninglevel",None)
message.setdefault("zpcallernm",None)
message.setdefault("talktime",None)
message.setdefault("auth_code",None)
message.setdefault("student_number",None)
message.setdefault("transfer_amout",None)
message.setdefault("zpfeatures",None)
message.setdefault("url",None)
message.setdefault("data_source",None)
message.setdefault("url_or_app_name",None)
message.setdefault("zp_account",None)
message.setdefault("called_location_province",None)
message.setdefault("pushZkjTime",None)
message.setdefault("zp_ip_address",None)
message.setdefault("first_login_time",None)
message.setdefault("called_location_city",None)
print("已保存",message.get("uuid"))
cursor.execute(sql,message)
conn.commit()
except:
except Exception as e:
print(e)
return False
conn.close()
return True
@ -51,7 +56,7 @@ def saveFzData(data) -> bool:
def LoadFzData():
"从数据库读取数据"
sql = """
SELECT * FROM `table_zhapian` ORDER BY `early_warning_time` DESC LIMIT 0,1000;
SELECT * FROM `table_zhapian` ORDER BY `insert_time` DESC LIMIT 0,1000;
"""
conn = getConn()
cursor = conn.cursor()

View File

@ -11,7 +11,7 @@
Target Server Version : 101106 (10.11.6-MariaDB-0+deb12u1)
File Encoding : 65001
Date: 23/05/2024 10:53:04
Date: 05/07/2024 23:19:08
*/
SET NAMES utf8mb4;
@ -34,17 +34,21 @@ DROP TABLE IF EXISTS `table_zhapian`;
CREATE TABLE `table_zhapian` (
`uuid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`callednm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zptype` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`early_warning_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`warninglevel` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zpcallernm` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`talktime` int(11) NULL DEFAULT NULL,
`auth_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`student_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`transfer_amout` float NULL DEFAULT NULL,
`isPushZkj` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`called_city_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`called_province_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`called_location_county` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`insert_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zpfeatures` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`data_source` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`url_or_app_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zp_account` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`called_location_province` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`pushZkjTime` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`zp_ip_address` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`first_login_time` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`called_location_city` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`uuid`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>反诈预警平台</title>
</head>
<body>
<h1>诈骗信息</h1>
<table>
<thead>
<tr>
<th>UUID</th>
<th>受害人号码</th>
<th>诈骗方式</th>
<th>诈骗类型</th>
<th>预警时间</th>
<th>预警等级</th>
<th>APP/URL名称</th>
<th>诈骗电话</th>
<th>通话时长</th>
<th>诈骗人账号</th>
<th>转账金额</th>
<th>机构授权码</th>
<th>学号</th>
</tr>
</thead>
<tbody>
{% for item in data %}
<tr class="odd gradeX">
{% for v in item %}
{% if v == None %}
<td>-</td>
{% else %}
<td>{{v}}</td>
{% endif %}
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</body>
</html>

22
templates/log.html Normal file
View File

@ -0,0 +1,22 @@
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>反诈预警平台</title>
</head>
<body>
<h1>日志</h1>
{% for i in data %}
<p>{{i}}</p>
{% endfor %}
</body>
</html>

View File

@ -100,18 +100,22 @@
<thead>
<tr>
<th>UUID</th>
<th>受害人号码</th>
<th>诈骗方式</th>
<th>诈骗类型</th>
<th>预警时间</th>
<th>被叫号码</th>
<th>isPushZkj</th>
<th>报警城市</th>
<th>报警省份</th>
<th>报警本地 区/县</th></th>
<th>插入时间</th>
<th>预警等级</th>
<th>诈骗类型</th>
<th>URL</th>
<th>数据源</th>
<th>APP/URL名称</th>
<th>诈骗电话</th>
<th>通话时长</th>
<th>诈骗人账号</th>
<th>转账金额</th>
<th>机构授权码</th>
<th>学号</th>
<th>报警本地省份</th>
<th>推送时间</th>
<th>诈骗IP地址</th>
<th>首次登录时间</th>
<th>报警本地城市</th>
</tr>
</thead>
<tbody>

View File

@ -17,10 +17,12 @@ def showTable():
data = db.fz_data.LoadFzData()
return render_template("tables.html", data=data)
@page_bp.route("/fz", methods=["GET"])
def fz():
data = db.fz_data.LoadFzData()
return render_template("fz.html", data=data)
@page_bp.route("/log", methods=["GET"])
def log():
if request.cookies.get("user") == None:
return redirect("/login")
file = open("output.log","r").readlines()[::-1]
return render_template("log.html", data=file)
@page_bp.route("/", methods=["GET"])
def index():
@ -30,7 +32,7 @@ def index():
total[0] = db.fz_data.total()
data = db.fz_data.LoadFzData()
for i in data:
w_time = time.mktime(time.strptime(i[4], "%Y-%m-%d %H:%M:%S"))
w_time = time.mktime(time.strptime(i[15], "%Y-%m-%d %H:%M:%S"))
nowtime = time.time()
if w_time + 60 * 60 * 24 * 7 > nowtime:
total[1] += 1