自用FTP小工具分享

DNXRZL
2023年01月31日 · 阅读 370
故事
目前局域网传输软件挺多的,但都有一个问题,速度太慢了,几个G的文件传输真的很让人发狂的,好在我发现用FTP在局域网里传输文件速度还不错,5G WIFI下最高可以100m/s,一般也在40、50、60左右,这速度干翻基于http的传输,但每次都需要在电脑上手动输入ftp地址就很麻烦,能不能有一个软件,点一下就自动打开电脑资源管理器并自动访问手机开启的ftp?有,我用py捣鼓出来个软件,使用上达到了我的预期,还不错,分享出来吧!
注意
应用范围:电脑 和 手机之间
局域网注意:必须手机开5G频段热点,电脑连接热点
手机端软件:酷安下载
电脑端软件:蓝奏云
具体教程
手机打开FTP软件,“端口号”:必须设置为2121,”账户设置“:必须匿名模式,然后“启用FTP服务”
电脑双击这个刚下载的exe软件,即可自动打开资源管理器并访问手机开启的FTP服务
Py源码
from os import system
from time import sleep
from psutil import net_if_addrs
from socket import socket
from threading import Thread
def getIP():
netData = net_if_addrs()
n = 0
for a in netData['WLAN']:
if n == 1:
return {'ip':a.address, 'mask':a.netmask}
n += 1
def get_ip_lists(ip):
ip_lists = []
for i in range(0, 255):
ip_lists.append('{}{}'.format(ip[:ip.rfind('.')+1], i))
return ip_lists
def findFtp(ip):
port = 2121
sk = socket()
sk.settimeout(0.1)
conn_result = sk.connect_ex((ip, port))
if conn_result == 0:
system("explorer.exe %s" % 'ftp://'+ip+':'+str(port)+'/')
print('ftp://'+ip+':'+str(port)+'/')
fag.append(True)
sk.close()
fag = []
thread_list = []
for i in get_ip_lists(getIP()['ip']):
t = Thread(target=findFtp, args=(i, ))
thread_list.append(t)
for thread in thread_list:
thread.start()
for thread in thread_list:
thread.join()
if len(fag) == 0:
print('未在局域网发现FTP服务!')
sleep(2)