From 53a8ad26bcf4637b106b816bceba20f5cb24ea0d Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 00:36:35 +0000 Subject: [PATCH 01/12] Update parser.js --- src/trigger/parser.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index b300145..b771de7 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -49,7 +49,7 @@ module.exports = (lib) => { }); } else - if(cb.msg != '') + if(cb.msg !== '') e.reply(cb.msg); }); } @@ -101,9 +101,9 @@ module.exports = (lib) => { .pipe(dat); } catch(ex) { - dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: ex }); + //dat.close(); + //fs.unlinkSync('./b/' + tmpdest); + cb({ success: false, msg: ex.message }); } } }); From 38511be7863b97b142676f5fef9ca930d6b1bf68 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:16:06 +0100 Subject: [PATCH 02/12] hoffentlich klappt das xD --- src/trigger/parser.js | 48 ++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index b771de7..b34090d 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -48,9 +48,14 @@ module.exports = (lib) => { } }); } - else - if(cb.msg !== '') - e.reply(cb.msg); + else { + if(path.existsSync('./b/' + cb.file)) { + fs.unlinkSync('./b/' + cb.file); + if(cb.msg !== '') { + e.reply(cb.msg); + } + } + } }); } }); @@ -64,8 +69,8 @@ module.exports = (lib) => { var yt = /https?:\/\/(www\.)?youtu(\.be\/|be\.com\/)((.+\/)?(watch(\?v=|.+&v=))?(v=)?)([\w_-]{11})(&.+)?/gi; var sc = /https?:\/\/(www\.)?(soundcloud\.com|snd\.sc)(\/\S*)(\/\S*)/gi; lib.checkRepost(url, (cbcr) => { + var tmpdest = uuid.v1().split('-')[0]; if(cbcr === true) { - var tmpdest = uuid.v1().split('-')[0]; var dat = fs.createWriteStream('./b/' + tmpdest); var info; @@ -80,8 +85,7 @@ module.exports = (lib) => { if(res.headers['content-length'] > cfg.maxFileSize) { res.destroy(); dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: 'f0ck! your file is too big (~'+lib.formatSize(res.headers['content-length'])+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); + cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(res.headers['content-length'])+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); } else { info = { @@ -95,15 +99,13 @@ module.exports = (lib) => { }) .on('error', (err) => { dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: ex }); + cb({ success: false, file: tmpdest, msg: ex }); }) .pipe(dat); } catch(ex) { - //dat.close(); - //fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: ex.message }); + dat.close(); + cb({ success: false, file: tmpdest, msg: ex.message }); } } }); @@ -124,8 +126,7 @@ module.exports = (lib) => { } else { dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: 'f0ck sc-api' }); + cb({ success: false, file: tmpdest, msg: 'f0ck sc-api' }); } }); } @@ -141,7 +142,6 @@ module.exports = (lib) => { lib.log('MimeType: '+type); var length = res.headers['content-length']; if(cfg.allowedMimes.hasOwnProperty(type)) { - //if(length <= cfg.maxFileSize) { if(data.length <= cfg.maxFileSize) { var s = new Readable s.push(data); @@ -157,20 +157,17 @@ module.exports = (lib) => { } else { dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: 'f0ck! your file is too big (~'+lib.formatSize(data.length)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); + cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(data.length)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); } } else { dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: '' }); + cb({ success: false, file: tmpdest, msg: '' }); } } else { dat.close(); - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: err }); + cb({ success: false, file: tmpdest, msg: err }); } }); } @@ -180,7 +177,7 @@ module.exports = (lib) => { var size = dat.bytesWritten; dat.close(); if(size > cfg.maxFileSize) - cb({ success: false, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); + cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { lib.getCheckSum('./b/' + tmpdest, (cbcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => { @@ -189,21 +186,20 @@ module.exports = (lib) => { if(cfg.allowedMimes.hasOwnProperty(mime.mime) || info.type === 'soundcloud') cb({ success: true, info: info, size: size, file: './b/' + tmpdest, checksum: cbcs }); else - cb({ success: false, msg: 'lol, go f0ck yourself ('+mime+')' }); + cb({ success: false, file: tmpdest, msg: 'lol, go f0ck yourself ('+mime+')' }); } else - cb({ success: false, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcrcs }); + cb({ success: false, file: tmpdest, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcrcs }); }); }); } }) .on('error', (err) => { - fs.unlinkSync('./b/' + tmpdest); - cb({ success: false, msg: err }); + cb({ success: false, file: tmpdest, msg: err }); }); } else - cb({ success: false, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcr }); + cb({ success: false, file: tmpdest, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcr }); }); }; }; \ No newline at end of file From 7e366f1c21cccbfcbeadd2b9d2040ce77e868aad Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:20:52 +0100 Subject: [PATCH 03/12] bugfix --- src/trigger/parser.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index b34090d..6a8c424 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -49,12 +49,12 @@ module.exports = (lib) => { }); } else { - if(path.existsSync('./b/' + cb.file)) { - fs.unlinkSync('./b/' + cb.file); - if(cb.msg !== '') { + fs.stat('./b/' + cb.file, (err, stat) => { + if(err === null) + fs.unlinkSync('./b/' + cb.file); + if(cb.msg !== '') e.reply(cb.msg); - } - } + }); } }); } From 2788ad9e385dcf9144585b37c3cd4c97218eaaf8 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:27:40 +0100 Subject: [PATCH 04/12] another bugfix --- src/trigger/parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 6a8c424..9c997a5 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -50,7 +50,7 @@ module.exports = (lib) => { } else { fs.stat('./b/' + cb.file, (err, stat) => { - if(err === null) + if(err === null || err.code == 'ENOENT') fs.unlinkSync('./b/' + cb.file); if(cb.msg !== '') e.reply(cb.msg); From c155a278e3daa576a0973f2cc224fc8c73128a72 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:34:27 +0100 Subject: [PATCH 05/12] another bugfix #2 --- src/trigger/parser.js | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 9c997a5..80af912 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -50,7 +50,7 @@ module.exports = (lib) => { } else { fs.stat('./b/' + cb.file, (err, stat) => { - if(err === null || err.code == 'ENOENT') + if(err === null) fs.unlinkSync('./b/' + cb.file); if(cb.msg !== '') e.reply(cb.msg); @@ -179,18 +179,22 @@ module.exports = (lib) => { if(size > cfg.maxFileSize) cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { - lib.getCheckSum('./b/' + tmpdest, (cbcs) => { - lib.checkRepostCheckSum(cbcs, (cbcrcs) => { - if(cbcrcs === true) { - var mime = fileType(readChunk.sync('./b/' + tmpdest, 0, 262)); - if(cfg.allowedMimes.hasOwnProperty(mime.mime) || info.type === 'soundcloud') - cb({ success: true, info: info, size: size, file: './b/' + tmpdest, checksum: cbcs }); - else - cb({ success: false, file: tmpdest, msg: 'lol, go f0ck yourself ('+mime+')' }); - } - else - cb({ success: false, file: tmpdest, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcrcs }); - }); + fs.stat('./b/' + cb.file, (err, stat) => { + if(err === null) { + lib.getCheckSum('./b/' + tmpdest, (cbcs) => { + lib.checkRepostCheckSum(cbcs, (cbcrcs) => { + if(cbcrcs === true) { + var mime = fileType(readChunk.sync('./b/' + tmpdest, 0, 262)); + if(cfg.allowedMimes.hasOwnProperty(mime.mime) || info.type === 'soundcloud') + cb({ success: true, info: info, size: size, file: './b/' + tmpdest, checksum: cbcs }); + else + cb({ success: false, file: tmpdest, msg: 'lol, go f0ck yourself ('+mime+')' }); + } + else + cb({ success: false, file: tmpdest, msg: 'repost motherf0cker: '+cfg.url+'/'+cbcrcs }); + }); + }); + } }); } }) From 3969b0a0926bbbc2117f5d8aa5e84c84f59595f8 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:39:01 +0100 Subject: [PATCH 06/12] another bugfix #2 --- src/trigger/parser.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 80af912..92127e4 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -179,7 +179,7 @@ module.exports = (lib) => { if(size > cfg.maxFileSize) cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { - fs.stat('./b/' + cb.file, (err, stat) => { + fs.stat('./b/' + tmpdest, (err, stat) => { if(err === null) { lib.getCheckSum('./b/' + tmpdest, (cbcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => { From 068d6b17e4d478b28de152629b5ec2be024ec4c1 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:49:40 +0100 Subject: [PATCH 07/12] bullshit --- bot.js | 2 +- src/trigger/parser.js | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bot.js b/bot.js index 2bf30bf..9d80793 100644 --- a/bot.js +++ b/bot.js @@ -26,7 +26,7 @@ var child = new (forever.Monitor)(__dirname+'/src/main.js', { silent: false, cwd: __dirname, args: [], - spinSleepTime: 2000, + spinSleepTime: 5000, watch: true, watchIgnoreDotFiles: true, watchIgnorePatterns: [ diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 92127e4..36b3d0c 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -84,7 +84,7 @@ module.exports = (lib) => { .on('response', (res) => { if(res.headers['content-length'] > cfg.maxFileSize) { res.destroy(); - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(res.headers['content-length'])+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); } else { @@ -98,13 +98,13 @@ module.exports = (lib) => { } }) .on('error', (err) => { - dat.close(); - cb({ success: false, file: tmpdest, msg: ex }); + dat.end(); + cb({ success: false, file: tmpdest, msg: err.message }); }) .pipe(dat); } catch(ex) { - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: ex.message }); } } @@ -125,7 +125,7 @@ module.exports = (lib) => { }; } else { - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: 'f0ck sc-api' }); } }); @@ -156,17 +156,17 @@ module.exports = (lib) => { }; } else { - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(data.length)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); } } else { - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: '' }); } } else { - dat.close(); + dat.end(); cb({ success: false, file: tmpdest, msg: err }); } }); @@ -175,7 +175,7 @@ module.exports = (lib) => { dat .on('finish', () => { var size = dat.bytesWritten; - dat.close(); + dat.end(); if(size > cfg.maxFileSize) cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { From d40f38fbe3f00b3dbfec19a53effce16debb20d2 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:54:29 +0100 Subject: [PATCH 08/12] test --- src/trigger/parser.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 36b3d0c..40ea40b 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -195,6 +195,9 @@ module.exports = (lib) => { }); }); } + else { + cb({ success: false, file: tmpdest, msg: 'keine Ahnung' }); + } }); } }) From 1e29de8b17d9267820d394ec986df02e36c28259 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:57:10 +0100 Subject: [PATCH 09/12] test --- src/trigger/parser.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 40ea40b..4121245 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -174,13 +174,14 @@ module.exports = (lib) => { dat .on('finish', () => { + lib.log('bin im Finishevent gelandet, keine Ahnung wieso.'); var size = dat.bytesWritten; dat.end(); if(size > cfg.maxFileSize) cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { fs.stat('./b/' + tmpdest, (err, stat) => { - if(err === null) { + if(!err) { lib.getCheckSum('./b/' + tmpdest, (cbcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => { if(cbcrcs === true) { @@ -195,9 +196,6 @@ module.exports = (lib) => { }); }); } - else { - cb({ success: false, file: tmpdest, msg: 'keine Ahnung' }); - } }); } }) From 53f91f2ba4e3bef7d519cf150630c554dd2ff2af Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 17:59:40 +0100 Subject: [PATCH 10/12] test --- src/trigger/parser.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 4121245..4486ca6 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -182,6 +182,7 @@ module.exports = (lib) => { else { fs.stat('./b/' + tmpdest, (err, stat) => { if(!err) { + lib.log('Datei '+tmpdest+' existiert'); lib.getCheckSum('./b/' + tmpdest, (cbcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => { if(cbcrcs === true) { @@ -196,6 +197,9 @@ module.exports = (lib) => { }); }); } + else { + lib.log('Datei '+tmpdest+' existiert nicht'); + } }); } }) From 44b636d76a79bd96725a558085466aa3b9bc0912 Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 18:12:43 +0100 Subject: [PATCH 11/12] test --- src/trigger/parser.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index 4486ca6..c1c629b 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -181,7 +181,7 @@ module.exports = (lib) => { cb({ success: false, file: tmpdest, msg: 'f0ck! your file is too big (~'+lib.formatSize(size)+'), max '+lib.formatSize(cfg.maxFileSize)+' allowed' }); else { fs.stat('./b/' + tmpdest, (err, stat) => { - if(!err) { + if(!err && stat.isFile() && stat.size > 300) { lib.log('Datei '+tmpdest+' existiert'); lib.getCheckSum('./b/' + tmpdest, (cbcs) => { lib.checkRepostCheckSum(cbcs, (cbcrcs) => { @@ -198,7 +198,7 @@ module.exports = (lib) => { }); } else { - lib.log('Datei '+tmpdest+' existiert nicht'); + lib.log('Datei '+tmpdest+' existiert nicht oder ist ungültig'); } }); } From d542ccd2fda85aafc8b02c87f2df2c6492e6ef1b Mon Sep 17 00:00:00 2001 From: Flummi Date: Wed, 2 Nov 2016 18:17:56 +0100 Subject: [PATCH 12/12] test --- src/trigger/parser.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/trigger/parser.js b/src/trigger/parser.js index c1c629b..eef2b4d 100644 --- a/src/trigger/parser.js +++ b/src/trigger/parser.js @@ -50,10 +50,10 @@ module.exports = (lib) => { } else { fs.stat('./b/' + cb.file, (err, stat) => { - if(err === null) - fs.unlinkSync('./b/' + cb.file); if(cb.msg !== '') e.reply(cb.msg); + if(!err && stat.isFile()) + fs.unlinkSync('./b/' + cb.file); }); } }); @@ -174,7 +174,6 @@ module.exports = (lib) => { dat .on('finish', () => { - lib.log('bin im Finishevent gelandet, keine Ahnung wieso.'); var size = dat.bytesWritten; dat.end(); if(size > cfg.maxFileSize) @@ -197,9 +196,6 @@ module.exports = (lib) => { }); }); } - else { - lib.log('Datei '+tmpdest+' existiert nicht oder ist ungültig'); - } }); } })