当新启动一个项目的时候,特别是项目会托管到GIT仓库的时候我们一般会选择添加.gitignore文件。
gitignore可以手动添加,但是随着语言,IDE工具,框架的变动,创建.gitignore也越发复杂了,经常会漏掉一些东西。
这里有一个网站可以帮助生成gitignore文件: https://www.gitignore.io/
…

当新启动一个项目的时候,特别是项目会托管到GIT仓库的时候我们一般会选择添加.gitignore文件。
gitignore可以手动添加,但是随着语言,IDE工具,框架的变动,创建.gitignore也越发复杂了,经常会漏掉一些东西。
这里有一个网站可以帮助生成gitignore文件: https://www.gitignore.io/
…
最近看漫画有点多,因为各种各样的原因各个网站的漫画都不全,好不容易找到一个好用的,估计服务器不在大陆,速度特别慢。但是又只有网页版本,自然没有各种缓存,离线 下载功能了。
本来寻思自己写一个,但是在知乎看到一个推荐多多猫的,就简单尝试了一下,果然不要自己造轮子呀。
多多猫这个app本身是没有任何内容的,它只是一个插件容器,内容来源是需要插件实现的。而插件的标准(?)名为sited,是xml格式,具体代码实现是javascript。简单来说文档是有的,而且只找到了一份官方的,可以看出有些内容并没有及时更新,但是照着做一个还是没有问题的。
简单来说一下这个漫画网站的结构,主页就是一个列表,每个漫画有分页,一页10张图,一般一个漫画200张左右,就是一个没有目录结构的顺序图集。
先来看看插件大体格式
<?xml version="1.0" encoding="utf-8"?>
<sited ver="1" debug="0" engine="32" schema="1">
<meta>
<title>XXX漫画</title>
<encode>utf-8</encode>
<ua>Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87
Safari/537.36
</ua>
</meta>
<main dtype="4" durl="xxx">
<home>
<hots cache="10m" title="首页" method="get" parse="hots_parse" url="xxx" …自从入手小米路由器以来,下载电影就只选择最大的了,因为路由器下载可以在白天上班时间下载,而且夜间也可以,下载完成还可以用手机或者电视播放。
小米路由器APP端支持扫码下载和手动添加任务,当然手机上添加BT种子挺麻烦的,所以我一般用扫描二维码,好在很多下载站都提供了二维码。二维码中一般是种子的下载地址或者磁力链。但是偶尔会遇到只有种子文件的情况,所以就需要想个办法来转化成为二维码。
最终效果在这里:https://to-qr.herokuapp.com/
简单的地方就跳过了,比如如何上传文件,显示二维码这些,这里只关注两个问题。
磁力链接中最关键的内容就是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 = …