Compare commits

...

6 Commits

Author SHA1 Message Date
士子☀️ 73ae0ad083 Update README.md 2022-01-27 11:38:36 +08:00
caorushizi 5ed6e84a14 Merge branch 'master' of https://github.com/caorushizi/m3u8-downloader 2022-01-27 00:22:22 +08:00
caorushizi ed45cd8d73 README.md 2022-01-27 00:21:36 +08:00
士子☀️ f393b99cb5 Update README.md 2022-01-27 00:07:56 +08:00
caorushizi 6638600ffa 修复开发环境中没有注入环境变量导致无法运行 2022-01-26 23:53:54 +08:00
士子☀️ 4d5cae3b0c Update build.js 2022-01-26 13:38:31 +08:00
7 changed files with 59 additions and 35 deletions
+3
View File
@@ -1 +1,4 @@
VITE_APP_TDID=
VITE_APP_SENTRY_DSN=
NODE_ENV=development
+3
View File
@@ -1 +1,4 @@
VITE_APP_TDID=
VITE_APP_SENTRY_DSN=
NODE_ENV=production
+23 -16
View File
@@ -1,32 +1,39 @@
# media-downloader
m3u8 视频在线提取工具 流媒体下载 m3u8下载 桌面客户端 windows mac
# 功能简介
m3u8 视频在线提取工具 流媒体下载 m3u8下载 桌面客户端 windows mac
可以直接在线获取 m3u8 链接地址,无需使用使用网络抓包,无需安装浏览器插件,可以直接带出请求标头……
# 下载链接
# 上手指南
以下指南将帮助你在本地机器上安装和运行该项目,进行开发和测试。关于如何将该项目部署到在线环境,请参考部署小节。
# 安装要求
运行代码需要 node 和 yarn,node需要在官网下载安装,yarn可以通过`npm i -g yarn`安装。
# 运行代码
开发环境 `yarn run watch`
打包运行 `yarn run publish`
# 下载链接
- [v1.1.3 windows](https://github.com/caorushizi/m3u8-downloader/releases/download/1.1.3/media-downloader-setup-1.1.3.exe)
- [v1.0.3 windows](http://static.ziying.site/media-downloader-1.0.3%20Setup.exe)
- [v1.0.2 windows](http://static.ziying.site/media-downloader-1.0.2%20Setup.exe)
- [v1.0.1 windows](http://static.ziying.site/media-downloader-1.0.1%20Setup.exe)
- [v1.0.0 windows](http://static.ziying.site/media-downloader-1.0.0%20Setup.exe)
# 更新日志 2021.04.18
1. 新增视频批量下载功能;
2. 添加收藏功能;
3. 更新了界面样式;
# 软件截图
![首页](http://static.ziying.site/2021-04-29-home.png)
![首页](http://static.ziying.site/Snipaste_2022-01-08_18-43-25.png)
![浏览器页面](http://static.ziying.site/downloader-browser.png)
![设置页面](http://static.ziying.site/Snipaste_2022-01-08_18-43-39.png)
![收藏页面](http://static.ziying.site/2021-04-29-fav.png)
# 技术栈
- vite https://cn.vitejs.dev
- antd https://ant.design
- electron https://www.electronjs.org
![设置页面](http://static.ziying.site/2021-04-29-setting.png)
# 鸣谢
N_m3u8DL-CLI 来自于 https://github.com/nilaoda/N_m3u8DL-CLI
# 使用 Vite & esBuild 构建
mediago 来自于 https://github.com/caorushizi/mediago
![vite esbuild](http://static.ziying.site/vite+esbuild.png)
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "media-downloader",
"version": "1.1.3",
"version": "1.1.4",
"description": "在线视频下载",
"author": "caorushizi",
"main": "dist/main/index.js",
+10 -5
View File
@@ -1,14 +1,19 @@
const { build } = require("vite");
const fs = require("fs");
const { resolve } = require("path");
const { build } = require("vite");
const rimraf = require("rimraf");
rimraf.sync(resolve(__dirname, "../dist"));
const { parsed } = require("dotenv").config({
path: resolve(__dirname, `../.env.${process.env.NODE_ENV}.local`),
});
let envPath = resolve(__dirname, `../.env.${process.env.NODE_ENV}.local`);
if (!fs.existsSync(envPath)) {
envPath = resolve(__dirname, `../.env.${process.env.NODE_ENV}`);
}
const mainDefined = Object.keys(parsed).reduce((prev, cur) => {
const { parsed } = require("dotenv").config({ path: envPath });
const mainDefined = Object.keys(parsed || {}).reduce((prev, cur) => {
prev[`process.env.${[cur]}`] = JSON.stringify(parsed[cur]);
return prev;
}, {});
+11 -7
View File
@@ -1,17 +1,21 @@
const fs = require("fs");
const { resolve, join } = require("path");
const { spawn } = require("child_process");
const { createServer } = require("vite");
const chalk = require("chalk");
const { resolve } = require("path");
const electron = require("electron");
const reactRefresh = require("@vitejs/plugin-react-refresh");
const path = require("path");
const { spawn } = require("child_process");
let electronProcess = null;
let manualRestart = false;
require("dotenv").config({
path: resolve(__dirname, `../.env.${process.env.NODE_ENV}.local`),
});
let envPath = resolve(__dirname, `../.env.${process.env.NODE_ENV}.local`);
if (!fs.existsSync(envPath)) {
envPath = resolve(__dirname, `../.env.${process.env.NODE_ENV}`);
}
require("dotenv").config({ path: envPath });
function startMain() {
return require("esbuild").build({
@@ -82,7 +86,7 @@ function startRenderer() {
}
function startElectron() {
let args = ["--inspect=5858", path.join(__dirname, "../dist/main/index.js")];
let args = ["--inspect=5858", join(__dirname, "../dist/main/index.js")];
electronProcess = spawn(String(electron), args);
+8 -6
View File
@@ -12,12 +12,14 @@ import handleUpdater from "main/helper/handleUpdater";
Sentry.init({ dsn: process.env.VITE_APP_SENTRY_DSN });
crashReporter.start({
companyName: author,
productName: name,
ignoreSystemCrashHandler: true,
submitURL: process.env.VITE_APP_SENTRY_DSN,
});
if (process.env.VITE_APP_SENTRY_DSN) {
crashReporter.start({
companyName: author,
productName: name,
ignoreSystemCrashHandler: true,
submitURL: process.env.VITE_APP_SENTRY_DSN,
});
}
if (require("electron-squirrel-startup")) {
app.quit();