2017年1月21日星期六

短链接生成器

基于TP5写发简单的短链生成
PHP>5.4
MYSQL
https://github.com/maysrp/shortURL

下载其中的ShortURL.zip,将ShortURL.zip解压到你的www目录:
PHP>5.4
点击http://你的域名/install.php 进入安装步骤
在出现如下图所示,按照步骤填写即可 安装完成后请删除install.php文件。

2017年1月15日星期日

单用户离线下载在线预览

Aria2 安装:

Debian 8系统 apt-get 安装Aria2

  1. apt-get update && apt-get install -y aria2
复制代码

创建目录:

  1. mkdir /root/.aria2
复制代码

修改配置文件: 下载配置文件:http://webdir.cc/aria2.conf

修改配置信息请参考:aria2.conf

保存到刚刚的目录上

  1. wget http://webdir.cc/aria2.conf /root/.aria2/aria2.conf

下载dht.dat 到/root/.aria2/

  1. wget http://webdir.cc/dht.dat /root/.aria2/dht.dat

执行命令:

  1. echo '' > /root/aria2.session 
执行命令,让aria2启动: 若没安装screen 请先

  1. apt-get install -y screen

在安装好screen后执行

  1. screen -dmS aria2 aria2c --enable-rpc --rpc-listen-all=true --rpc-allow-origin-all -c

wadir.php安装
下载地址:https://github.com/maysrp/webdir/archive/master.zip 解压下载文件后
将wadir.php上传到你的网站根目录

设置密码

  1. define("PASS","123");//

只展示该目录以下的所有文件,通过添加禁止显示文件夹以及后缀文件来控制显示

例如:

  1. $this->notex=array("php","js","tgz");//不允许显示的后缀名文件
  2. $this->notdir=array("a","phpmyadmin");//不允许显示的文件夹

访问 http://你的域名/wadir.php 即可

BT多用户离线下载在线播放

基于Tp3.1 webdir php-aria2 bootstrap jquery 


1.离线下载支持BT种子,Magnet链接以特征码等下载

2.可以支持的在线查看的文件:
视频:mp4,webm,ogg;
音频:mp3;
图片:jpg,png,gif;
文件:pdf text html;

3.开启邀请码注册,管理员可以分配账户下载量

KS3C+ BBR后可以在线播放1GB左右大小的大姐姐视频[移动线路]


https://github.com/maysrp/yunBT

找些无版权的服务器上BBR 可以在线看片

我已经帮到这里了

已经弃坑 ,米国版权太可怕~~~ 

我要做良民
求PT邀请码 

写的代码比较渣 见谅加个小星星不?

2017年1月11日星期三

IP的API

http://ipinfo.io/

如何使用:

http://ipinfo.io/8.8.8.8


传回json:
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "California",
  "country": "US",
  "phone": 650
}

可以用来获取访问者的IP
<?php
$ip="8.8.8.8";
$ip_json=file_get_contents("http://ipinfo.io/".$ip);
$ip_array=json_decode($ip_json,true);
var_dump($ip_array);

2017年1月7日星期六

php+nginx做下载服务器配置—X-Accel-Redirect【转载】

网络存储下载服务器需求配置
缘由:
“传统的Web服务器在处理文件下载的时候,总是先读入文件内容到应用程序内存,然后再把内存当中的内容发送给客户端浏览器。这种方式在应付当今大负载网站会消耗更多的服务器资源。sendfile是现代操作系统支持的一种高性能网络IO方式,操作系统内核的sendfile调用可以将文件内容直接推送到网卡的buffer当中,从而避免了Web服务器读写文件的开销,实现了“零拷贝”模式。 ”

附上传统的php做下载的处理方法,这种方法无疑还是将文件先读取到内存然后输出到客户的浏览器。
传统方法一:(最消耗内存){我曾经使用过这一种方法,文件大小8兆左右,同时500+人下载服务器负载直线飙升到20几直到宕机}
$file_fullpath = '/home/www/filepath/2011/12/31/abcd.zip';
header('Content-type: application/octet-stream');
@readfile($file_fullpath);

传统方法二:(降低内存消耗)
$file_fullpath = '/home/www/filepath/2011/12/31/abcd.zip';
header("Content-Type: application/octet-stream");
$data = fopen($file_fullpath, 'rb');
while (!feof($data)) {
        echo @fread($data, 8192);
        flush();
        ob_flush();
}
fclose($data);

本文将要使用的方法:主要应用nginx的X-Accel-Redirect将文件直接交给nginx做处理从而减少服务器负载
网站在服务器上的根目录为:/home/www
文件的真实地址为 http://www.artbeta.com/filespath/2011/12/31/abcd.zip
下载地址为:http://www.artbeta.com/down.php?filepath=2011/12/31/abcd.zip&filename=abcd.zip

本文档实现效果为:
1、只有通过php的下载地址能够下载并且“零内存”消耗。
2、通过http://www.artbeta.com/filespath/2011/12/31/abcd.zip 真实的路径是不允许下载的。
3、在php里可以进行一写下载权限的处理。
nginx配置文档
location /down
{
  internal;
  alias /home/www/filespath;
}
/* 此段是为了防止直接通过地址访问文件而做,可以作为防盗链*/
location /filepath
{
  internall;
}
php文件设置:
$filepath = '2011/12/31/abcd.zip';
$filename = 'abcd.zip';
header("Content-Disposition: attachment; filename= '{$filename}'");

header("Content-Type: application/octet-stream");

header('X-Accel-Redirect: /down/'.{$filepath});

header("X-Accel-Buffering: yes");

header("X-Accel-Limit-Rate :102400"); //速度限制 Byte/s

//header("Accept-Ranges: none");//单线程 限制多线程

在使用时候,必须要明白以下头信息是不能被Nginx更改的(即这些信息得由你来指定!)

Content-Type

Content-Disposition

Accept-Ranges

Set-Cookie

Cache-Control

Expires

如果其中的一些信息没有指定,那么重定向请求设置!
4.更多处理控制

你可以通过一下头信息来配置 X-Accel-Redirect 特性:

X-Accel-Limit-Rate: 1024

X-Accel-Buffering: yes|no

X-Accel-Charset: utf-8


转载:http://www.phpweblog.net/phpbaby/archive/2012/07/10/7709.html

免费的Owncloud 1TB 有独立管理员权限

据说1TB大小的owncloud
自己注册后可以添加用户 。
注册时会设置域名
一年后开始收费。
https://dattodrive.com/



有独立的管理员权限 自己设置文件大小[4GB最大]
我设置的账户
https://bt.dattodrive.com/
用户:
bt@hostloc.com

a123456

【不能自己安装owncloud的插件应用 】

2017年1月6日星期五

离线下载取回本地 中转

BT离线下载取回本地时候速度可能会非常的慢,安装个BBR之类的加速软件可能是个好方法。

也可以这样做,用一个Nginx的服务器 安装上BBR,然后反代BT下载的服务器,每次取回本地

时候有Nginx进行中转 不失为一种方法。


BT服务器 →Nginx服务器[bbr]中转 →本地

LNMP下的配置:


server    {
        listen          80;
        server_name     goagent.net; #你的域名
        location / {
            proxy_pass              http://bt.goagent.net/; #BT服务器域名
            proxy_redirect          off;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            }
    }

2017年1月3日星期二

视频在线转码

http://convert-video-online.com/
最大2GB

将视频转换为 mp4 avi mmpeg flv 3gp等
可以通过GoogleDrive 或者Dropbox
还可以通过URL获取需要转码的文件


属于
http://123apps.com/
旗下可以干好多事情 解压 图片 转码等

2017年1月2日星期一

javascript读取种子文件信息

B编码

https://github.com/benjreinhart/bencode-js

Usage

CommonJS environments:
Bencode = require('bencode-js')
Bencode.decode(...)
Bencode.encode(...)
In the browser the object is available globally as window.Bencode.

Bencode#encode(object)

object is either a StringNumberArray, or Object.
Bencode.encode("string")         // => "6:string"
Bencode.encode(123)              // => "i123e"
Bencode.encode(["str", 123])     // => "l3:stri123ee"
Bencode.encode({ key: "value" }) // => "d3:key5:valuee"

Bencode#decode(string)

string is a Bencoded string.
Bencode.decode("d3:key5:valuee") // => { key: "value" }

btpan_offlin

之前搞的多用户BT离线下载

写的比较乱,所以准备重新写一个 基于完整的离线多用户平台。


记得crontab 添加一条

*/1 * * * * curl http://your_website/index.php/Ondo/insert

用于实时刷新下载内容。

https://github.com/maysrp/btpan_offlin

aria2的一些笔记

这个Blog停了N久现在开始写点blog
丰富一下人生......
←。←

PHP-aria
https://github.com/shiny/php-aria2

笔记:
aria2


----------------------------------------------
任务传回信息:
result下
$info['gid']
$info['status']
$info['totalLength']
$info['downloadSpeed']
$info['"completedLength']
---------------------------------------------
BT特有:

$info['bittorrent']['info']['name']
$info['infoHash']
infoHash种子特有magnet也是先获取种子然后再通过种子下载的,$info['bittorrent']['info']['name']完成后无该名称,
种子下载拥有以上全部变量。
-------------------------------------------------------
$info['uploadLength]
$info['uploadSpeed']
上传信息

$info['connections']
连接数目
$info['dir']
下载到的目录
$info['files']['0']['path']
默认files下就是连接数目,而path为保存的本地地址.
每个文件都是一个。

-----------------------------------------------------------------------

aria2.tellActive([secret][keys])


aria2.tellWaiting([secret]offsetnum[keys])


aria2.tellStopped([secret]offsetnum[keys])

-----------------------------------------------------------------

aria2.getGlobalStat([secret])

result

["downloadSpeed"]
["numActive"]
["numStopped"]
["numStoppedTotal"]
["numWaiting"]
["uploadSpeed"]
----------------------------------------------------------------------------------------

aria2 配置文件
---------
## '#'开头为注释内容, 选项都有相应的注释说明, 根据需要修改 ##
## 被注释的选项填写的是默认值, 建议在需要修改时再取消注释  ##

## 文件保存相关 ##

# 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
dir=/home/wwwroot/default
# 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
#disk-cache=32M
# 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
# 预分配所需时间: none < falloc ? trunc < prealloc
# falloc和trunc则需要文件系统和内核支持
# NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
file-allocation=none
# 断点续传
continue=true

## 下载连接相关 ##

# 最大同时下载任务数, 运行时可修改, 默认:5
max-concurrent-downloads=30
# 同一服务器连接数, 添加时可指定, 默认:1
max-connection-per-server=5
# 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
# 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
min-split-size=10M
# 单个任务最大线程数, 添加时可指定, 默认:5
split=20
# 整体下载速度限制, 运行时可修改, 默认:0
max-overall-download-limit=8M
# 单个任务下载速度限制, 默认:0
#max-download-limit=0
# 整体上传速度限制, 运行时可修改, 默认:0
max-overall-upload-limit=1M
# 单个任务上传速度限制, 默认:0
#max-upload-limit=1000
# 禁用IPv6, 默认:false
disable-ipv6=true

## 进度保存相关 ##

# 从会话文件中读取下载任务
input-file=/root/aria2.session
# 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
save-session=/root/aria2.session
# 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
#save-session-interval=60

## RPC相关设置 ##

# 启用RPC, 默认:false
enable-rpc=true
# 允许所有来源, 默认:false
rpc-allow-origin-all=true
# 允许非外部访问, 默认:false
rpc-listen-all=true
# 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
#event-poll=select
# RPC监听端口, 端口被占用时可以修改, 默认:6800
#rpc-listen-port=6800
# 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
#rpc-secret=<TOKEN>
# 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-user=<USER>
# 设置的RPC访问?苈? 此选项新版已废弃, 建议改用 --rpc-secret 选项
#rpc-passwd=<PASSWD>

## BT/PT下载相关 ##

# 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
#follow-torrent=true
# BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
listen-port=51413
# 单个种子最大连接数, 默认:55
#bt-max-peers=55
# 打开DHT功能, PT需要禁用, 默认:true
enable-dht=true
# 打开IPv6 DHT功能, PT需要禁用
#enable-dht6=false
# DHT网络监听端口, 默认:6881-6999
#dht-listen-port=6881-6999
# 本地节点查找, PT需要禁用, 默认:false
#bt-enable-lpd=true
# 种子交换, PT需要禁用, 默认:true
enable-peer-exchange=true
# 每个种子限速, 对少种的PT很有用, 默认:50K
#bt-request-peer-speed-limit=50K
# 客户端伪装, PT需要
peer-id-prefix=-TR2770-
user-agent=Transmission/2.77
# 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
seed-ratio=0.1
# 强制保存会话, 即使任务已经完成, 默认:false
# 较新的版本开启后会在任务完成后依然保留.aria2文件
#force-save=false
# BT校验相关, 默认:true
#bt-hash-check-seed=true
# 继续之前的BT任务时, 无需再次校验, 默认:false
bt-seed-unverified=true
# 保存磁力链接元数据为种子文件(.torrent文件), 默认:false

#bt-save-metadata=true
------------------------------------------------------------------------------------------
aria2 保存内容

-----------

http://www.torrage.com/torrent/FF9BA0188C45AAA4C5A3B5929450949B59578C5D.torrent
 gid=fb03ed1f491e8275
 dir=/home/wwwroot/bt.inory.net
 continue=true
magnet:?xt=urn:btih:c830e09839c620b974239beccc16ad7bae94c80e
 gid=5b3066df7df62063
 dir=/home/wwwroot/cn.inory.net/download/a4b2f8fce25200da08d4e57378ee577b
 continue=true
magnet:?xt=urn:btih:6d410af71177de8feac3fe8a444c9fc35768c2d7
 gid=e1b851de75987a9d
 dir=/home/wwwroot/cn.inory.net/download/d0d438aa0e859c8a376b7e3c48624b75
 continue=true
magnet:?xt=urn:btih:fdb4dda4431beb290060e837ba7c2956a5b0225c
 gid=e2777065bc6f94c9
 dir=/home/wwwroot/cn.inory.net/download/fed19c2ffa1047d9714c77fc24c1a2cf
 continue=true
magnet:?xt=urn:btih:76ec1355c0b3ebc1ff58b8fb773c8d16530d3e04
 gid=8ee95a6a4b8aff1d
 dir=/home/wwwroot/cn.inory.net/download/01d9840dda1539e4e18513e64c3c46c4
 continue=true
magnet:?xt=urn:btih:3da29f332526e2797f8bbd7813902eaef0c571db
 gid=f6564c4a76471169
 dir=/home/wwwroot/cn.inory.net/download/f847dd3f41385bcaa670f37c6c81a9a1
 continue=true
magnet:?xt=urn:btih:81c4ce31ae8771e30ce336fa96b00cbe596dc57d
 gid=78df7f8d2bcb564c
 dir=/home/wwwroot/cn.inory.net/download/80c4d170270fbf0cfb5aad11aef199f9
 continue=true
magnet:?xt=urn:btih:8089ea92868ccbae44e15f5dd367c4def3570579
 gid=11df5210119659d4
 dir=/home/wwwroot/cn.inory.net/download/22d7e4a01fabd5757118fe70497ab8ef
 continue=true
magnet:?xt=urn:btih:6fcb8169cb3458b9234b1e16ff48e2b8053fbbfd
 gid=cab8648dddde07d7
 dir=/home/wwwroot/cn.inory.net/download/dd7b13443e368c8bd868f8c552fba17c
 continue=true
magnet:?xt=urn:btih:7975899ade795a23b0bed4983ce14981f74f3ced
 gid=c08640376a480679
 dir=/home/wwwroot/cn.inory.net/download/48da401fac8c8e688ec4911a506f6d5f
 continue=true