说明:人人影视客户端,主要是一个下载视频的利器,上面的的美剧、日结、韩剧等资源都很多,而且还带搜索功能,可以直接搜索外部的资源。而且博主测试了下,很多资源下载速度基本可以跑满服务器带宽,加上有大佬搞了个人人影视自动上传到OneDrive
网盘脚本,不过需要配合PyOne
使用。这里博主就修改了下该脚本,配合博客另一个上传脚本一起使用,这样就不需要依赖PyOne
了,可以直接单独使用了,而且上传完会自动删除服务器的资源,不占用过多空间。
截图
安装
说明:官方客户端只有CentOS
系统,不过博主发现客户端也能在Debian
、Ubuntu
上使用,所以这里就都写下教程。
博主只测试过CentOS 7
和Debian 8+
,理论上Ubuntu 16+
也可以,不过为了稳定使用,还是建议优先使用CentOS 7
。
1、安装依赖
#CentOS 7系统
yum install wget crontabs -y
#Debian、Ubuntu系统
apt install cron -y
2、下载人人影视
#下载客户端
wget http://appdown.rrys.tv/rrshareweb_centos7.tar.gz
#解压
tar -zxvf rrshareweb_centos7.tar.gz
#删除无用文件
rm -rf rrshareweb*.tar.gz
#运行客户端
cd rrshareweb
./rrshareweb
然后访问http://ip:3001
即可,初始密码为:123456
,进入界面后先点击右上方设置,修改下存储路径,不然下载会没速度。
如果你打不开界面,那么需要开启防火墙端口了,可以先使用Ctrl+C
断开运行,然后使用命令:
#CentOS 7系统
firewall-cmd --zone=public --add-port=3001/tcp --permanent
firewall-cmd --reload
最后再重启运行即可。
3、开机自启
为了我们使用方便些,这里可以使用Systemctl
守护进程,并加入开机自启。
#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/renren.service <<EOF
[Unit]
Description=RenRen server
After=network.target
Wants=network.target
[Service]
Type=simple
PIDFile=/var/run/renren.pid
ExecStart=/root/rrshareweb/rrshareweb
RestartPreventExitStatus=23
Restart=always
User=root
[Install]
WantedBy=multi-user.target
EOF
开始启动:
systemctl start renren
查看状态:
systemctl status renren
如果显示active(running)
即开启成功。
设置开机自启:
systemctl enable renren
配置上传
1、安装Python 3
使用脚本安装:
#CentOS系统
wget https://www.moerats.com/usr/shell/Python3/CentOS_Python3.6.sh && sh CentOS_Python3.6.sh
#Debian系统
wget https://www.moerats.com/usr/shell/Python3/Debian_Python3.6.sh && sh Debian_Python3.6.sh
#由于Ubuntu 16+自带Python3,所以只需要安装pip3就可以了
apt install python3-pip -y
安装requests
:
pip3 install requests
2、安装Onedrive上传脚本
方法参考:VPS上传文件到OneDrive网盘脚本,安装好脚本并认证下OneDrive
账号即可。
3、添加自动上传脚本
#新建文件夹存放上传脚本
mkdir /root/upod
#新建检测脚本check.py,填入你的客户端运行端口和解锁密码后一起复制到ssh客户端运行
cat > /root/upod/check.py <<EOF
# -*- coding: utf-8 -*
import requests
import os
ip="127.0.0.1"
port="你的端口"
passwd="你的解锁密码"
url="http://"+str(ip)+":"+str(port)+"/api/unlock?passwd="+str(passwd)
workingtaskurl="http://"+str(ip)+":"+str(port)+"/api/workingtask"
finishedtaskurl="http://"+str(ip)+":"+str(port)+"/api/finishedtask"
deletetaskurl="http://"+str(ip)+":"+str(port)+"/api/deletetask"
s=requests.session()
s.get(url=url)
c=s.get(workingtaskurl).text
d=s.get(finishedtaskurl)
dict=(eval(d.text))
for i in dict['tasks']:
ids=i['file_id']
filename=i['file_name']
os.system("bash /root/upod/work.sh "+"\""+filename+"\"")
data={
'ids':'["'+ids+'"]',
'delfile':1
}
s.post(deletetaskurl,data=data)
print("task finish")
EOF
新建自动上传脚本,使用命令:
nano /root/upod/work.sh
先将脚本里的下载目录/root/down
替换成你自己的,记得有两个位置要替换,然后再复制进去。
#!/bin/bash
time=$(date "+%Y%m%d%H%M%S")
filename=${time}${1}
#time=$(date "+%Y%m%d-%H%M%S")
filedir=${filename}${time}
echo "$filedir"
echo "$filename"
mkdir -p /temp/"$filedir"/
mv /root/down/"$1" /temp/"$filedir"/"$filename"
eval onedrive-d \'/temp/"$filedir"\'
rm -rf /temp/"$filedir"
rm -rf /root/down/mask/
再使用Ctrl+X
,Y
保存退出。这里注意下check.py
脚本里面的work.sh
脚本路径最好为绝对路径,不然容易出问题。
4、测试上传脚本
首先我们可以先下载一个电影资源,然后执行命令:
python3 /root/upod/check.py
如果输出Successfully uploaded
字样则成功,反之请检查你之前的操作。
5、定时执行上传脚本
新建定时任务:
#设置为每分钟执行一次
echo "*/1 * * * * python3 /root/upod/check.py" > bt.cron
crontab bt.cron
rm -rf bt.cron
最后使用crontab -l
命令查看添加成功没。成功的话,就基本上完成了安装步骤。
提示
该客户端是不支持在线观看的,如果对在线观看有需求的话,可以配合几个OneDrive
列表程序实现在线观看了,好处都不消耗服务器流量,这里列举几个:
#PyOne
手动安装:https://www.moerats.com/archives/734/
脚本安装:https://www.moerats.com/archives/806/
Docker安装:https://www.moerats.com/archives/799/
#OneIndex
手动安装:https://www.moerats.com/archives/592/
脚本安装:https://www.moerats.com/archives/692/
#OLAINDEX
手动安装:https://www.moerats.com/archives/765/
参考链接
影视安装:https://www.abbeyok.com/archives/213
上传脚本:https://blog.mark56.cn/archives/101/
下载没有速度,下载文件夹已经修改好,是不是防火墙的原因?我只放行了这个软件的Web端口。
只需要开启Web端口就行了,你修改的下载文件夹存在不。
大佬,不知道为什么用不了啊,排查了好几遍了也没有找到原因。
用aria下载后是可以上传的,可以排除onedrive客户端的原因。
用人人客户端下载好后,下载目录出现了下载的文件和mask文件夹,过了一会儿消失应该是被删除掉了,网页客户端里已下载记录也删除了。可是就是无法上传。那个/temp文件里是始终没有文件存在的。
真心搞不懂问题出在哪里。
配置确定没问题话,先下载一个文件,运行python3 /root/upod/check.py,然后贴上你的SSH客户端输出日志。
真的很奇怪,我手动上传就可以,但是加到cron里就上传不上去
20181207182356生活大爆炸.The.Big.Bang.Theory.S12E10.中英字幕.HDTVrip.720P-人人影视.mp420181207182356
20181207182356生活大爆炸.The.Big.Bang.Theory.S12E10.中英字幕.HDTVrip.720P-人人影视.mp4
97.60% | TIME:126s | REMAIN TIME:3s | [243793920/249787162] bytes.
Successfully uploaded '20181207182356生活大爆炸.The.Big.Bang.Theory.S12E10.中英字幕.HDTVrip.720P-人人影视.mp4' as '20181207182356生活大爆炸.The.Big.Bang.Theory.S12E10.中英字幕.HDTVrip.720P-人人影视.mp4'
task finish
我是直接crontab -e,最后一行加的"/1 * python3 /root/upod/check.py"
也重启cron服务了
刚才没事又看了下执行日志,显示mv操作没有权限,我就在脚本最前边加上了sudo su就好了,实在是小白,不知道是不是我个人的问题,给后边遇到这个问题的小伙伴们提个醒。
我之前也有这个问题,多谢解答哈
可能是我在人人Systemctl配置文件里使用root运行,导致操作下载的文件也需要root权限吧。
好像中文名字的视频会有点问题,但是不知道里面哪个字符有问题,之前试过另一个中文名字的视频就可以上传
root@rhotov:~/upod# python3 /root/upod/check.py
Legal V~前律师·小鸟游翔子~.Legal.V.Moto.Bengoshi.Takanashi.Shoko.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4
Legal V~前律师·小鸟游翔子~.Legal.V.Moto.Bengoshi.Takanashi.Shoko.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4
mv: cannot stat ‘/download/Legal V~前律师·小鸟游翔子~.Legal.V.Moto.Bengoshi.Takanashi.Shoko.Ep07.Chi_Jap.HDTVrip.1280X720-ZhuixinFan.mp4’: No such file or directory
同一目录下的英文名字的视频也能正常上传
我开始以为是符号问题,然后我转义试了下,再然后发现是程序问题,日志导出是正确的名称,但下载完成后,文件里的空格被转换成了+,所以你的文件名称变成了Legal+V~,导致报错No such file or directory。
明白了,多谢,看来文件名里有空格的暂时没法上传了
人人客户端目前BUG是有点,只能等他们慢慢修复了。
armbian能用不
这个不清楚,得你自己尝试下才行。
不会吃DMCA么,要不要正向代理到抗DMCA的服务器上?如果要,怎么代理?
这个好像是加密传输,应该查不到。
为什么我回复一直提示我不合规则……
原Po说下载方式类似P2P,不知道会不会有问题
对,就是类似加密p2p传输,问题的话,暂未发现。
另外想给后来的网友提个醒,如果你的VPS每月流量不是很多,那么务必在设置里关掉上传(无法完全关掉,可以限速1kb),这个客户端在没有下载任何文件的时候也会全速上传,即使用脚本删掉了下载的文件,上传速度那里也是有速度的,很神奇。
这个好像会共享点带宽出去,具体多少自己可以设置。
现在又有一个新问题,我下载了一个文件A并且上传到OD上了,这时候脚本是会自动删掉VPS里的A这个文件以及人人网页版里面的下载记录,但是如果我重新在人人上下载这个A,那么这个任务就会直接被放进已完成的分类下,而此时VPS上并没有这个文件A。如何解决这个问题呢……
这个问题没遇到是,没试过重复下载,不过我感觉这客户端还是有点bug的。
我也发现这个问题。不能重复下载
我也发现了,客户端问题吧,可以下载名称一样,但标题不一样的就行了。
比如你要下xx电影,显示的标题 可以是xx-720p,也可以是xx_720p
之前在运行“python3 /root/upod/check.py”命令后,服务器回复我
port=“3001” ^File "/root/upod/check.py", line 5
SyntaxError: invalid character in identifier
一开始以为说端口不对,后来发现复制博主的代码修改时,不知道为什么“port=”3001“”这里面的双引号变成中文状态下的双引号了,刚刚突然发现修改成英文状态下的双引号,如果有人也遇到类似情况,可以照此修改。
想知道如何修改能让自动上传脚本上传文件在one drive的指定目录下啊?
刚去看是上传在根目录下新建文件夹的。d
这个上传的目录是有命名规定的,你可以编辑/usr/local/etc/OneDrive/onedrive.cfg配置文件,修改export api_root_folder参数,root是根目录,如果上传到文档目录,就改成export api_root_folder="special/documents",特殊文件夹名称参考这个https://docs.microsoft.com/zh-cn/onedrive/developer/rest-api/api/drive_get_specialfolder。
感谢大佬,在debian下安装和运行上传脚本成功,终于不用每次都命令行上传和删除文件了,小服务器福音
手动删除是挺麻烦的。
牛逼,大佬你怎么这么吊