HOPStudio commited on
Commit
b4f6dbd
·
verified ·
1 Parent(s): c8588cb

Update frp.py

Browse files
Files changed (1) hide show
  1. frp.py +19 -20
frp.py CHANGED
@@ -5,23 +5,29 @@ import subprocess
5
  def install_frpc():
6
  print("正在安装 frpc...")
7
 
8
- # 下载 frpc 二进制文件(更新为 Hugging Face 镜像)
9
- try:
10
- frpc_url = "https://hf-mirror.com/HOPStudio/modelscope/resolve/main/frp_0.61.0_linux_amd64.tar.gz?download=true"
11
- download_dir = "/root/frp"
12
- os.makedirs(download_dir, exist_ok=True)
13
 
14
- # 使用 aria2 下载并解压 frpc
15
- subprocess.run(["aria2c", "--dir", download_dir, frpc_url], check=True)
 
 
 
16
 
17
  # 解压下载的 tar.gz 文件
18
- subprocess.run(["tar", "-xvzf", os.path.join(download_dir, "frp_0.61.0_linux_amd64.tar.gz"), "-C", download_dir], check=True)
19
- subprocess.run(["rm", os.path.join(download_dir, "frp_0.61.0_linux_amd64.tar.gz")], check=True)
 
 
 
 
20
 
21
- # 移动 frpc 到合适的位置
22
- subprocess.run(["mv", os.path.join(download_dir, "frp_0.61.0_linux_amd64", "frpc"), "/root/"], check=True)
 
 
23
 
24
- print("frpc 安装完成。")
25
  except subprocess.CalledProcessError as e:
26
  print(f"安装 frpc 失败: {e}")
27
  exit(1)
@@ -33,13 +39,11 @@ def create_frpc_toml():
33
  [common]
34
  server_addr = 182.43.67.222
35
  server_port = 7000
36
-
37
  [jl]
38
  type = tcp
39
  local_ip = 127.0.0.1
40
  local_port = 8888
41
  remote_port = 8888
42
-
43
  [comfyui]
44
  type = tcp
45
  local_ip = 127.0.0.1
@@ -57,16 +61,13 @@ remote_port = 8188
57
  def create_frp_service_script():
58
  script_path = "/root/frp_service.sh"
59
  script_content = '''#!/bin/bash
60
-
61
  # 设置 frp 的路径和配置文件路径
62
  FRP_PATH="/root/frpc"
63
  FRP_CONFIG="/root/frpc.toml" # 使用新的 TOML 配置文件
64
-
65
  # 启动 frp 并保持运行
66
  while true; do
67
  # 启动 frp
68
  $FRP_PATH -c $FRP_CONFIG
69
-
70
  # 如果 frp 崩溃或关闭,则重新启动
71
  echo "frp 连接已断开,正在重新启动..."
72
  sleep 1 # 等待 1 秒再重启
@@ -87,7 +88,6 @@ def create_systemd_service():
87
  service_content = '''[Unit]
88
  Description=frp connection service
89
  After=network.target
90
-
91
  [Service]
92
  ExecStart=/root/frp_service.sh
93
  Restart=always
@@ -96,7 +96,6 @@ WorkingDirectory=/root
96
  StandardOutput=journal
97
  StandardError=journal
98
  SyslogIdentifier=frp
99
-
100
  [Install]
101
  WantedBy=multi-user.target
102
  '''
@@ -126,4 +125,4 @@ def main():
126
  enable_and_start_service() # 启动并启用服务
127
 
128
  if __name__ == "__main__":
129
- main()
 
5
  def install_frpc():
6
  print("正在安装 frpc...")
7
 
8
+ # 本地解压路径
9
+ local_path = "/root/modelscope"
10
+ frpc_tar_gz = os.path.join(local_path, "frp_0.61.0_linux_amd64.tar.gz")
 
 
11
 
12
+ try:
13
+ # 确保文件存在
14
+ if not os.path.exists(frpc_tar_gz):
15
+ print(f"错误:文件 {frpc_tar_gz} 不存在。")
16
+ exit(1)
17
 
18
  # 解压下载的 tar.gz 文件
19
+ subprocess.run(["tar", "-xvzf", frpc_tar_gz, "-C", local_path], check=True)
20
+ print("frpc 解压完成。")
21
+
22
+ # 移除 tar.gz 文件
23
+ os.remove(frpc_tar_gz)
24
+ print("已删除 tar.gz 文件。")
25
 
26
+ # 移动 frpc 到 /root 目录
27
+ frpc_extracted_dir = os.path.join(local_path, "frp_0.61.0_linux_amd64")
28
+ subprocess.run(["mv", os.path.join(frpc_extracted_dir, "frpc"), "/root/"], check=True)
29
+ print("frpc 已成功移动到 /root 目录。")
30
 
 
31
  except subprocess.CalledProcessError as e:
32
  print(f"安装 frpc 失败: {e}")
33
  exit(1)
 
39
  [common]
40
  server_addr = 182.43.67.222
41
  server_port = 7000
 
42
  [jl]
43
  type = tcp
44
  local_ip = 127.0.0.1
45
  local_port = 8888
46
  remote_port = 8888
 
47
  [comfyui]
48
  type = tcp
49
  local_ip = 127.0.0.1
 
61
  def create_frp_service_script():
62
  script_path = "/root/frp_service.sh"
63
  script_content = '''#!/bin/bash
 
64
  # 设置 frp 的路径和配置文件路径
65
  FRP_PATH="/root/frpc"
66
  FRP_CONFIG="/root/frpc.toml" # 使用新的 TOML 配置文件
 
67
  # 启动 frp 并保持运行
68
  while true; do
69
  # 启动 frp
70
  $FRP_PATH -c $FRP_CONFIG
 
71
  # 如果 frp 崩溃或关闭,则重新启动
72
  echo "frp 连接已断开,正在重新启动..."
73
  sleep 1 # 等待 1 秒再重启
 
88
  service_content = '''[Unit]
89
  Description=frp connection service
90
  After=network.target
 
91
  [Service]
92
  ExecStart=/root/frp_service.sh
93
  Restart=always
 
96
  StandardOutput=journal
97
  StandardError=journal
98
  SyslogIdentifier=frp
 
99
  [Install]
100
  WantedBy=multi-user.target
101
  '''
 
125
  enable_and_start_service() # 启动并启用服务
126
 
127
  if __name__ == "__main__":
128
+ main()