File tree Expand file tree Collapse file tree 1 file changed +32
-6
lines changed
Expand file tree Collapse file tree 1 file changed +32
-6
lines changed Original file line number Diff line number Diff line change 11#!/usr/bin/env node
22
3+ var stream = require ( 'stream' ) ;
4+ var util = require ( 'util' ) ;
35var lib = require ( "./jsfuck.js" ) ;
6+ var repl = require ( 'repl' ) ;
47
58if ( process . argv . length !== 3 ) {
6- console . error ( "Usage: jsfuck <js file>" ) ;
7- return ;
8- }
99
10- var data = require ( "fs" ) . readFileSync ( process . argv [ 2 ] , "utf8" ) ;
11- var output = lib . JSFuck . encode ( data , false ) ;
12- console . log ( output ) ;
10+ function Stream ( ) {
11+ stream . Transform . call ( this ) ;
12+ }
13+ util . inherits ( Stream , stream . Transform ) ;
14+
15+ Stream . prototype . _transform = function ( chunk , encoding , callback ) {
16+ var script = lib . JSFuck . encode ( chunk . toString ( ) ) ;
17+ var lines = script . split ( / \n + / ) ;
18+ for ( var i = 0 ; i < lines . length ; i ++ ) {
19+ // ignore empty lines
20+ if ( lines [ i ] !== '' ) this . push ( lines [ i ] + '\n' ) ;
21+ }
22+ callback ( ) ;
23+ } ;
24+
25+ var fuckScript = new Stream ( ) ;
26+ repl . start ( {
27+ prompt : "FUCK> " ,
28+ input : fuckScript ,
29+ useColors : true ,
30+ output : process . stdout
31+ } ) ;
32+
33+ process . stdin . pipe ( fuckScript ) ;
34+ } else {
35+ var data = require ( "fs" ) . readFileSync ( process . argv [ 2 ] , "utf8" ) ;
36+ var output = lib . JSFuck . encode ( data , false ) ;
37+ console . log ( output ) ;
38+ }
You can’t perform that action at this time.
0 commit comments