Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/acgist/snail

基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。
https://github.com/acgist/snail

bittorrent dht javafx magnet tracker

Last synced: 2 days ago
JSON representation

基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。

Awesome Lists containing this project

README

        

Snail(蜗牛)


基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。


Java
JavaFX

GitHub stars

Gitee stars


GitHub Workflow Status
GitHub release (latest by date)
Maven Central
GitHub code size in bytes
GitHub

----

## 结构

|项目|描述|
|:--|:--|
|snail|下载核心|
|snail-javafx|电脑界面|

## 架构

```
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NativeGUI/ExtendGUI | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | Multifile | Monofile | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | Downloader | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | | | | | |
| + BitTorrent +-+-+-+-+-+-+-+ | | | |
| Context | | Magnet | FTP | HLS | HTTP | Thread |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | |
| | STUN/UPNP | DHT/Tracker | | | | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | Protocol | |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| | IP/TCP/UDP | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
```

## 使用

[稳定版本下载](https://gitee.com/acgist/snail/attach_files)

### 编译

```bash
mvn clean package -P release -D skipTests
```

> 推荐使用[Release](https://gitee.com/acgist/snail/releases)版本编译

### 界面

```bash
java -server -Xms128m -Xmx256m -jar snail.javafx-{version}.jar
```

> 界面使用参考[界面使用帮助](./docs/GUI.md)

### 代码

```xml

com.acgist
snail
{release.version}

```

```java
final Snail snail = SnailBuilder.newBuilder()
.enableAllProtocol()
.buildSync();
snail.download("https://www.acgist.com");
snail.lockDownload();
```

> 代码二次开发参考[开发帮助](./docs/API.md)

### 帮助

[开发帮助](./docs/API.md)
[界面帮助](./docs/GUI.md)
[使用帮助](./docs/HELP.md)
[安卓帮助](./docs/Android.md)

## 其他

### 仓库

* GITEE:[https://gitee.com/acgist/snail](https://gitee.com/acgist/snail)
* GITHUB:[https://github.com/acgist/snail](https://github.com/acgist/snail)

### 协议

[下载协议](./docs/PROTOCOL.md)

### 依赖

|项目|许可|
|:--|:--|
|[JavaFX](https://wiki.openjdk.java.net/display/OpenJFX)|[GPLv2 + CE](https://openjdk.java.net/legal/gplv2+ce.html)|
|[OpenJDK](https://openjdk.java.net)|[GPLv2 + CE](https://openjdk.java.net/legal/gplv2+ce.html)|

### 界面

![蜗牛](./docs/gui/main.png "蜗牛")

### 白嫖

[阿里云服务器](https://www.acgist.com/collect/server)