Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a578d7555f | ||
|
|
dff969f955 | ||
|
|
b964240a20 | ||
|
|
7f7a395d67 | ||
|
|
475ef8c6d0 | ||
|
|
e269489639 | ||
|
|
20d5d5d60d | ||
|
|
590dc99c51 | ||
|
|
10e9b36aea | ||
|
|
5250f55bf7 |
32
CHANGELOG.md
Normal file
32
CHANGELOG.md
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# WebTorrent.app Version History
|
||||||
|
|
||||||
|
## v0.0.1
|
||||||
|
|
||||||
|
- Wait 10 seconds (instead of 60 seconds) after app launch before checking for updates.
|
||||||
|
|
||||||
|
## v0.0.0
|
||||||
|
|
||||||
|
The first official release of WebTorrent.app, the streaming torrent client for OS X,
|
||||||
|
Windows, and Linux. For now, we're only releasing binaries for OS X.
|
||||||
|
|
||||||
|
WebTorrent.app is in ALPHA and under very active development – expect lots more polish in
|
||||||
|
the coming weeks! If you know JavaScript and want to help us out, there's
|
||||||
|
[lots to do](https://github.com/feross/webtorrent-app/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+contribution%22)!
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
- **Lightweight, fast torrent client**
|
||||||
|
- **Beautiful user experience**
|
||||||
|
- **Instantly stream video and audio** from torrents!
|
||||||
|
- WebTorrent fetches file pieces from the network **on-demand**, for instant playback.
|
||||||
|
- Even when the file is not fully downloaded, **seeking still works!** (Seeking just reprioritizes what pieces are fetched from the network.)
|
||||||
|
- Stream videos to **AirPlay** and **Chromecast**
|
||||||
|
- **Pure Javascript**, so it's very easy to contribute code!
|
||||||
|
- Based on the most popular and comprehensive torrent package in Node.js, [`webtorrent`](https://www.npmjs.com/package/webtorrent).
|
||||||
|
- Lots of **features**, without the bloat:
|
||||||
|
- Opens magnet links and .torrent files
|
||||||
|
- Drag-and-drop makes adding torrents easy!
|
||||||
|
- Seed files/folders by dragging them onto the app
|
||||||
|
- Discovers peers via tracker servers, DHT (Distributed Hash Table), and peer exchange
|
||||||
|
- Make the video window "float on top" for watching video while you work!
|
||||||
|
- Supports WebTorrent protocol – for connecting to WebRTC peers (i.e. web browsers)
|
||||||
@@ -180,50 +180,59 @@ function buildDarwin (cb) {
|
|||||||
infoPlist.NSHumanReadableCopyright = config.APP_COPYRIGHT
|
infoPlist.NSHumanReadableCopyright = config.APP_COPYRIGHT
|
||||||
|
|
||||||
fs.writeFileSync(infoPlistPath, plist.build(infoPlist))
|
fs.writeFileSync(infoPlistPath, plist.build(infoPlist))
|
||||||
|
|
||||||
|
// Copy torrent file icon into app bundle
|
||||||
cp.execSync(`cp ${config.APP_FILE_ICON + '.icns'} ${resourcesPath}`)
|
cp.execSync(`cp ${config.APP_FILE_ICON + '.icns'} ${resourcesPath}`)
|
||||||
|
|
||||||
var zipPath = path.join(buildPath[0], BUILD_NAME + '.zip')
|
|
||||||
cp.execSync(`zip -r -y ${zipPath} ${appPath}`)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Signing OS X apps for distribution outside the App Store requires:
|
|
||||||
*
|
|
||||||
* - Xcode
|
|
||||||
* - Xcode Command Line Tools (xcode-select --install)
|
|
||||||
* - Membership in the Apple Developer Program
|
|
||||||
*/
|
|
||||||
if (process.platform === 'darwin') {
|
if (process.platform === 'darwin') {
|
||||||
|
/*
|
||||||
|
* Sign the app with Apple Developer ID certificate. We sign the app for 2 reasons:
|
||||||
|
* - So the auto-updater (Squirrrel.Mac) can check that app updates are signed by
|
||||||
|
* the same author as the current version.
|
||||||
|
* - So users will not a see a warning about the app coming from an "Unidentified
|
||||||
|
* Developer" when they open it for the first time (OS X Gatekeeper).
|
||||||
|
*
|
||||||
|
* To sign an OS X app for distribution outside the App Store, the following are
|
||||||
|
* required:
|
||||||
|
* - Xcode
|
||||||
|
* - Xcode Command Line Tools (xcode-select --install)
|
||||||
|
* - Membership in the Apple Developer Program
|
||||||
|
*/
|
||||||
var signOpts = {
|
var signOpts = {
|
||||||
app: appPath,
|
app: appPath,
|
||||||
platform: 'darwin',
|
platform: 'darwin',
|
||||||
verbose: true
|
verbose: true
|
||||||
}
|
}
|
||||||
|
|
||||||
var dmgPath = path.join(buildPath[0], BUILD_NAME + '.dmg')
|
|
||||||
var dmgOpts = {
|
|
||||||
basepath: config.ROOT_PATH,
|
|
||||||
target: dmgPath,
|
|
||||||
specification: {
|
|
||||||
title: config.APP_NAME,
|
|
||||||
icon: config.APP_ICON + '.icns',
|
|
||||||
background: path.join(config.STATIC_PATH, 'appdmg.png'),
|
|
||||||
'icon-size': 128,
|
|
||||||
contents: [
|
|
||||||
{ x: 122, y: 240, type: 'file', path: appPath },
|
|
||||||
{ x: 380, y: 240, type: 'link', path: '/Applications' },
|
|
||||||
// Hide hidden icons out of view, for users who have hidden files shown.
|
|
||||||
// https://github.com/LinusU/node-appdmg/issues/45#issuecomment-153924954
|
|
||||||
{ x: 50, y: 500, type: 'position', path: '.background' },
|
|
||||||
{ x: 100, y: 500, type: 'position', path: '.DS_Store' },
|
|
||||||
{ x: 150, y: 500, type: 'position', path: '.Trashes' },
|
|
||||||
{ x: 200, y: 500, type: 'position', path: '.VolumeIcon.icns' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sign(signOpts, function (err) {
|
sign(signOpts, function (err) {
|
||||||
if (err) return cb(err)
|
if (err) return cb(err)
|
||||||
|
|
||||||
|
// Create .zip file (used by the auto-updater)
|
||||||
|
var zipPath = path.join(buildPath[0], BUILD_NAME + '.zip')
|
||||||
|
cp.execSync(`zip -r -y ${zipPath} ${appPath}`)
|
||||||
|
|
||||||
|
// Create a .dmg (OS X disk image) file, for easy user installation.
|
||||||
|
var dmgOpts = {
|
||||||
|
basepath: config.ROOT_PATH,
|
||||||
|
target: path.join(buildPath[0], BUILD_NAME + '.dmg'),
|
||||||
|
specification: {
|
||||||
|
title: config.APP_NAME,
|
||||||
|
icon: config.APP_ICON + '.icns',
|
||||||
|
background: path.join(config.STATIC_PATH, 'appdmg.png'),
|
||||||
|
'icon-size': 128,
|
||||||
|
contents: [
|
||||||
|
{ x: 122, y: 240, type: 'file', path: appPath },
|
||||||
|
{ x: 380, y: 240, type: 'link', path: '/Applications' },
|
||||||
|
// Hide hidden icons out of view, for users who have hidden files shown.
|
||||||
|
// https://github.com/LinusU/node-appdmg/issues/45#issuecomment-153924954
|
||||||
|
{ x: 50, y: 500, type: 'position', path: '.background' },
|
||||||
|
{ x: 100, y: 500, type: 'position', path: '.DS_Store' },
|
||||||
|
{ x: 150, y: 500, type: 'position', path: '.Trashes' },
|
||||||
|
{ x: 200, y: 500, type: 'position', path: '.VolumeIcon.icns' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var dmg = appDmg(dmgOpts)
|
var dmg = appDmg(dmgOpts)
|
||||||
dmg.on('error', cb)
|
dmg.on('error', cb)
|
||||||
dmg.on('progress', function (info) {
|
dmg.on('progress', function (info) {
|
||||||
|
|||||||
8
bin/release-_post.sh
Executable file
8
bin/release-_post.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
git diff --exit-code
|
||||||
|
npm run package
|
||||||
|
git push
|
||||||
|
git push --tags
|
||||||
|
gh-release
|
||||||
9
bin/release-_pre.sh
Executable file
9
bin/release-_pre.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
git pull
|
||||||
|
npm run update-authors
|
||||||
|
git diff --exit-code
|
||||||
|
rm -rf node_modules/
|
||||||
|
npm install
|
||||||
|
npm test
|
||||||
7
bin/release-major.sh
Executable file
7
bin/release-major.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
BIN=`dirname $0`
|
||||||
|
|
||||||
|
$BIN/release-_pre.sh
|
||||||
|
npm version major
|
||||||
|
$BIN/release-_post.sh
|
||||||
7
bin/release-minor.sh
Executable file
7
bin/release-minor.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
BIN=`dirname $0`
|
||||||
|
|
||||||
|
$BIN/release-_pre.sh
|
||||||
|
npm version minor
|
||||||
|
$BIN/release-_post.sh
|
||||||
7
bin/release-patch.sh
Executable file
7
bin/release-patch.sh
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
BIN=`dirname $0`
|
||||||
|
|
||||||
|
$BIN/release-_pre.sh
|
||||||
|
npm version patch
|
||||||
|
$BIN/release-_post.sh
|
||||||
@@ -10,6 +10,7 @@ while (<>) {
|
|||||||
next if $seen{$_};
|
next if $seen{$_};
|
||||||
next if /<support\@greenkeeper.io>/;
|
next if /<support\@greenkeeper.io>/;
|
||||||
next if /<ungoldman\@gmail.com>/;
|
next if /<ungoldman\@gmail.com>/;
|
||||||
|
next if /<grunjol\@users.noreply.github.com>/;
|
||||||
$seen{$_} = push @authors, "- ", $_;
|
$seen{$_} = push @authors, "- ", $_;
|
||||||
}
|
}
|
||||||
END {
|
END {
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ module.exports = {
|
|||||||
APP_VERSION: APP_VERSION,
|
APP_VERSION: APP_VERSION,
|
||||||
|
|
||||||
AUTO_UPDATE_URL: 'https://webtorrent.io/app/update?version=' + APP_VERSION,
|
AUTO_UPDATE_URL: 'https://webtorrent.io/app/update?version=' + APP_VERSION,
|
||||||
AUTO_UPDATE_CHECK_STARTUP_DELAY: 60 * 1000 /* 1 minute */,
|
AUTO_UPDATE_CHECK_STARTUP_DELAY: 10 * 1000 /* 10 seconds */,
|
||||||
|
|
||||||
CONFIG_PATH: applicationConfigPath(APP_NAME),
|
CONFIG_PATH: applicationConfigPath(APP_NAME),
|
||||||
CONFIG_POSTER_PATH: path.join(applicationConfigPath(APP_NAME), 'Posters'),
|
CONFIG_POSTER_PATH: path.join(applicationConfigPath(APP_NAME), 'Posters'),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "webtorrent-app",
|
"name": "webtorrent-app",
|
||||||
"description": "WebTorrent, the streaming torrent client. For OS X, Windows, and Linux.",
|
"description": "WebTorrent, the streaming torrent client. For OS X, Windows, and Linux.",
|
||||||
"version": "0.0.0",
|
"version": "0.0.1",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Feross Aboukhadijeh",
|
"name": "Feross Aboukhadijeh",
|
||||||
"email": "feross@feross.org",
|
"email": "feross@feross.org",
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
"electron-osx-sign": "^0.3.0",
|
"electron-osx-sign": "^0.3.0",
|
||||||
"electron-packager": "^5.0.0",
|
"electron-packager": "^5.0.0",
|
||||||
"electron-prebuilt": "0.37.2",
|
"electron-prebuilt": "0.37.2",
|
||||||
|
"gh-release": "^2.0.2",
|
||||||
"path-exists": "^2.1.0",
|
"path-exists": "^2.1.0",
|
||||||
"plist": "^1.2.0",
|
"plist": "^1.2.0",
|
||||||
"rimraf": "^2.5.2",
|
"rimraf": "^2.5.2",
|
||||||
|
|||||||
Reference in New Issue
Block a user