BT种子文件转二维码

12 4月

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2017/04/12/bt-file-to-qr-image/

自从入手小米路由器以来,下载电影就只选择最大的了,因为路由器下载可以在白天上班时间下载,而且夜间也可以,下载完成还可以用手机或者电视播放。

小米路由器APP端支持扫码下载和手动添加任务,当然手机上添加BT种子挺麻烦的,所以我一般用扫描二维码,好在很多下载站都提供了二维码。二维码中一般是种子的下载地址或者磁力链。但是偶尔会遇到只有种子文件的情况,所以就需要想个办法来转化成为二维码。

最终效果在这里:https://to-qr.herokuapp.com/

简单的地方就跳过了,比如如何上传文件,显示二维码这些,这里只关注两个问题。

  1. BT文件转磁力链接
  2. 磁力链接转二维码

BT文件转磁力链接

磁力链接中最关键的内容就是info hash,这个值可以轻松从BT文件中解析。

具体原理可以参考BT种子文件结构。这里使用ttorrent-core库。

package com.huangyunkun.service;

import com.turn.ttorrent.common.Torrent;
import org.apache.commons.io.FileUtils;
import org.springframework.stereotype.Service;

import java.io.File;
import java.io.IOException;
import java.security.NoSuchAlgorithmException;

@Service
public class TorrentService {
    public String getLink(File file) throws IOException, NoSuchAlgorithmException {
        Torrent torrent = new Torrent(FileUtils.readFileToByteArray(file), false);
        return "magnet:?xt=urn:btih:" + torrent.getHexInfoHash();
    }
}

磁力链接转二维码

这里的转化其实就是一个简单的文本转二维码。二维码的生成库比较多。这里使用的是QRGen。

compile('com.github.kenglxn.QRGen:javase:2.2.0')
File QR = QRCode.from(link).withSize(512, 512).file();

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2017/04/12/bt-file-to-qr-image/

发表回复

您的电子邮箱地址不会被公开。