copyparty跨平台:Windows/Linux/macOS兼容
copyparty作为一款便携式文件服务器,以单文件形式提供了加速可恢复上传、重复数据删除、WebDAV、FTP、TFTP、零配置网络、媒体索引器、缩略图等丰富功能,且无依赖项,可在Windows、Linux和macOS等多种操作系统上运行。以下将详细介绍其在不同平台的使用方法及相关配置。
Windows平台使用指南
在Windows上运行copyparty,可选择便携的可执行文件或Python脚本方式,还能将其配置为服务实现开机自启。
准备工作
首先需要获取copyparty的可执行文件或Python脚本。你可以选择 copyparty.exe(便捷、便携、功能更多),或者 copyparty-sfx.py(更小、更安全)。如果选择copyparty-sfx.py,还需要安装 "Latest Python 3 Release"。
此外,为了启用缩略图、音频转码和音乐元数据搜索功能,建议下载 FFmpeg 并将ffmpeg.exe和ffprobe.exe放入PATH中,例如C:\Windows\System32\目录。
配置文件
创建配置文件是使用copyparty的重要步骤,它定义了服务器的全局设置、用户账户和共享卷等信息。用记事本创建一个名为party.conf的文件,保存路径如c:\users\you\documents\party.conf,内容示例如下:
[global]
lo: ~/logs/cpp-%Y-%m%d.xz # 日志保存路径
e2dsa, e2ts, z # 设置三个标志
p: 80, 443 # 监听端口
theme: 2 # 默认主题
lang: nor # 默认语言
[accounts] # 用户名和密码
kevin: shangalabangala # kevin的密码
[/] # 在根目录创建卷
c:\pub # 共享文件系统位置
accs: # 权限设置
r: * # 所有人可读取/下载文件
rwmd: kevin # kevin可读写/移动/删除
[/inc] # 在/inc创建卷
c:\pub\inc # 共享文件系统位置
accs: # 权限设置
w: * # 所有人可上传,但不能浏览
rwmd: kevin # kevin有管理员权限
[/music] # 在/music创建卷
~/music # 共享c:\users\you\music
accs:
r: *
rwmd: kevin
[global]部分接受官方文档中列出的任何配置参数,也可通过运行copyparty并添加--help参数查看。例如上述配置中的lo参数用于设置日志路径,e2dsa启用文件索引器以支持搜索和上传撤销等功能。[accounts]部分定义了用户账户,volumes部分则创建了不同的共享卷并设置了相应权限。
运行copyparty
测试配置时,可在控制台中运行copyparty。对于copyparty.exe,命令如下:
copyparty.exe -c party.conf
如果使用copyparty-sfx.py,命令为:
%localappdata%\programs\python\python311\python.exe copyparty-sfx.py -c party.conf
(注意根据安装的Python版本调整python311部分)
作为服务运行
要将copyparty作为服务运行,需借助NSSM,将其exe文件放入PATH中。对于copyparty.exe,安装服务的命令为:
nssm install cpp %homedrive%%homepath%\downloads\copyparty.exe -c %homedrive%%homepath%\documents\party.conf
对于copyparty-sfx.py,命令为:
nssm install cpp %localappdata%\programs\python\python311\python.exe %homedrive%%homepath%\downloads\copyparty-sfx.py -c %homedrive%%homepath%\documents\party.conf
安装后,修改服务使其以当前Windows账户运行:
nssm set cpp ObjectName .\yourAccoutName yourWindowsPassword
nssm start cpp
若服务无法启动,可启用 stderr 日志查看错误:
nssm set cpp AppStderr %homedrive%%homepath%\logs\cppsvc.err
nssm set cpp AppStderrCreationDisposition 2
此外,项目中还提供了contrib/windows/copyparty-ctmp.bat脚本,用于在环境变量损坏的机器上运行copyparty.exe,内容为:rem run copyparty.exe on machines with busted environment variables cmd /v /c "set TMP=\tmp && copyparty.exe"。
Linux平台支持
copyparty在Linux系统上有多种安装和运行方式,可通过包管理器、源码或Docker等方式部署。
包管理器安装
在Arch Linux等系统中,可通过AUR获取copyparty包。相关包定义文件位于contrib/package/arch/PKGBUILD,可按照AUR包的安装方法进行安装。
对于Debian/Ubuntu系统,可参考contrib/package/makedeb-mpr/中的相关文件构建安装包。
源码运行
从仓库克隆代码:
git clone https://gitcode.com/GitHub_Trending/co/copyparty
cd copyparty
可直接运行Python脚本:
python3 copyparty/__main__.py
服务配置
copyparty提供了systemd服务配置文件,如contrib/systemd/copyparty.service,可将其复制到/etc/systemd/system/目录,并使用systemctl命令管理服务。
此外,还有针对不同Web服务器的配置示例,如Nginx配置、Apache配置和lighttpd配置,可根据实际需求进行配置。
macOS平台兼容
虽然目前没有专门针对macOS的详细配置文档,但copyparty的mDNS功能使其能与macOS系统良好兼容。
copyparty可通过mDNS(多播DNS-SD)宣布已启用的协议,这与macOS等系统兼容。在配置文件如docs/chungus.conf中提到:# announce the enabled protocols over mDNS (multicast DNS-SD) -- compatible with KDE, gnome, macOS, ...。所有启用的服务(如WebDAV、FTP、SMB)将出现在支持mDNS的文件管理器中,包括macOS的Finder。
在macOS上运行copyparty,可参考Linux平台的源码运行方式,确保系统已安装Python环境,然后克隆仓库并运行相应的Python脚本。
跨平台一致性与特色
copyparty在不同平台上保持了功能的一致性,其核心功能如加速上传、文件共享、服务协议支持等在各平台均能正常工作。通过零配置网络功能,在局域网内各平台设备可方便发现和访问copyparty服务。无论是Windows的服务配置、Linux的包管理安装,还是macOS的mDNS兼容,copyparty都提供了灵活的使用方式,满足不同平台用户的需求。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



