22a9acfc90
Camo: https://github.com/atmos/camo. This has a couple advantages over just allowing images to be dumped as-is: - Prevents mixed-content warnings by allowing the server to proxy HTTP images to an HTTPS camo instance - Protects users' privacy by not exposing their browser directly to the image host - Allows the camo proxy to intercept and reject bad image sources (URLs that are not actually images, gigapixel-sized images likely to DoS users' browsers, etc.) Whitelisting specific domains is supported for cases where the source is known to be trustworthy.
85 lines
2.5 KiB
JSON
85 lines
2.5 KiB
JSON
{
|
|
"author": "Calvin Montgomery",
|
|
"name": "CyTube",
|
|
"description": "Online media synchronizer and chat",
|
|
"version": "3.37.0",
|
|
"repository": {
|
|
"url": "http://github.com/calzoneman/sync"
|
|
},
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"@calzoneman/jsli": "^1.0.1",
|
|
"babel-cli": "^6.1.4",
|
|
"babel-core": "^6.1.4",
|
|
"babel-plugin-add-module-exports": "^0.2.1",
|
|
"babel-plugin-transform-es2015-destructuring": "^6.3.15",
|
|
"babel-preset-es2015": "^6.1.4",
|
|
"bcrypt": "^0.8.5",
|
|
"bluebird": "^2.10.1",
|
|
"body-parser": "^1.14.0",
|
|
"cheerio": "^0.19.0",
|
|
"clone": "^1.0.2",
|
|
"compression": "^1.5.2",
|
|
"cookie-parser": "^1.4.0",
|
|
"create-error": "^0.3.1",
|
|
"csrf": "^3.0.0",
|
|
"cytube-common": "git://github.com/CyTube/cytube-common",
|
|
"cytube-mediaquery": "git://github.com/CyTube/mediaquery",
|
|
"cytubefilters": "git://github.com/calzoneman/cytubefilters#67c7c69a",
|
|
"express": "^4.13.3",
|
|
"express-minify": "^0.1.6",
|
|
"graceful-fs": "^4.1.2",
|
|
"http-errors": "^1.3.1",
|
|
"json-typecheck": "^0.1.3",
|
|
"lodash": "^4.13.1",
|
|
"morgan": "^1.6.1",
|
|
"mysql": "^2.9.0",
|
|
"nodemailer": "^1.4.0",
|
|
"oauth": "^0.9.12",
|
|
"pug": "^2.0.0-beta3",
|
|
"q": "^1.4.1",
|
|
"redis": "^2.4.2",
|
|
"sanitize-html": "^1.14.1",
|
|
"serve-static": "^1.10.0",
|
|
"socket.io": "^1.4.0",
|
|
"socket.io-redis": "^1.0.0",
|
|
"source-map-support": "^0.4.0",
|
|
"sprintf-js": "^1.0.3",
|
|
"status-message-polyfill": "git://github.com/calzoneman/status-message-polyfill",
|
|
"toml": "^2.3.0",
|
|
"uuid": "^2.0.1",
|
|
"yamljs": "^0.2.8"
|
|
},
|
|
"scripts": {
|
|
"build-player": "$npm_node_execpath build-player.js",
|
|
"build-server": "babel -D --source-maps --loose es6.destructuring,es6.forOf --out-dir lib/ src/",
|
|
"flow": "flow",
|
|
"postinstall": "./postinstall.sh",
|
|
"server-dev": "babel -D --watch --source-maps --loose es6.destructuring,es6.forOf --out-dir lib/ src/",
|
|
"generate-userscript": "$npm_node_execpath gdrive-userscript/generate-userscript $@ > www/js/cytube-google-drive.user.js",
|
|
"test": "mocha --recursive test",
|
|
"integration-test": "mocha --recursive integration_test"
|
|
},
|
|
"devDependencies": {
|
|
"babel-plugin-transform-flow-strip-types": "^6.22.0",
|
|
"coffee-script": "^1.9.2",
|
|
"flow-bin": "^0.43.0",
|
|
"mocha": "^3.2.0"
|
|
},
|
|
"babel": {
|
|
"presets": [
|
|
"es2015"
|
|
],
|
|
"plugins": [
|
|
[
|
|
"transform-es2015-destructuring",
|
|
{
|
|
"loose": true
|
|
}
|
|
],
|
|
"add-module-exports",
|
|
"transform-flow-strip-types"
|
|
]
|
|
}
|
|
}
|