Commit graph

76 commits

Author SHA1 Message Date
Zachary Boyd 7b90edabd0 Prevents errors that occur when connecting to the destination in the SOCKS Proxy and HTTP Proxy from crashing the applications 2018-10-15 17:36:32 -04:00
Zachary Boyd 419e78b727 Replaces 'jrpc2' with 'multi-rpc'. No application or API changes. 2018-09-25 12:40:15 -04:00
Zachary Boyd a9e8baa27f references 'granax' to comply with licensing requirements 2018-09-15 13:54:28 -04:00
Zachary Boyd 3a869f46bf fixes a small bug in tests 2018-09-15 02:27:19 -04:00
Zachary Boyd 0b82ad9cb5 finishes documentation. minor bug fixes and some code clean-up 2018-09-14 20:09:36 -04:00
Zachary Boyd 5b598f612a Adds jsdoc for TorPool. 2018-09-13 22:35:40 -04:00
Zachary Boyd 4aec5c3d0f Move most of the README to the wiki. Add grunt and jsdoc and documentation for TorProcess 2018-09-13 15:00:51 -04:00
Zachary Boyd d2b64ad796 "proxyByName" is now disabled by default because most browsers do not support SOCKS authentication 2018-09-11 19:44:41 -04:00
Zachary Boyd 2f57082394 "proxyByName" is now disabled by default because most browsers do not support SOCKS authentication 2018-09-11 19:37:13 -04:00
Zachary Boyd e2e43215ad Update README and CHANGELOG. Small bug fixes 2018-09-11 19:21:36 -04:00
Zachary Boyd c8bc7b81ac Adds setConfig, getConfig, saveConfig and loadConfig methods to the RPC interface. 2018-09-11 17:44:32 -04:00
Zachary Boyd f97272b5c0 Finishes proxy by name for groups. 2018-09-11 15:53:52 -04:00
Zachary Boyd be52091af1 Adds a rotate function to groups 2018-09-11 13:52:42 -04:00
Zachary Boyd 998185d31e Adds methods to the RPC Interface to interact with groups. Adds tests for those methods 2018-09-11 02:48:56 -04:00
Zachary Boyd 99c59541e0 Adds tests for the group feature. Isolates individual tests 2018-09-11 01:08:06 -04:00
Zachary Boyd f7537bbf8e Adds tests for the group feature. 2018-09-10 22:36:21 -04:00
Zachary Boyd 22908b7bba Adds group functionality to TorPool 2018-09-10 20:53:33 -04:00
Zachary Boyd 94a6511fd5 Fixes a bug where exceptions caused by the inbound socket on HTTPServer are not caught 2018-09-10 13:25:39 -04:00
Zachary Boyd c43e6cf14f Finishes proxying through a specific instance 2018-09-10 13:03:02 -04:00
Zachary Boyd ece4d4ea02 Can now connect directly to an instance via http 2018-09-09 23:44:24 -04:00
Zachary Boyd 4553bcc82b Replaced socksv5 with a version that supports user context. Locks down the versions of some packages 2018-09-09 22:26:55 -04:00
Zachary Boyd c379350de7 The control server can now accept websocket connections. All servers can be bound to a specific hostname 2018-09-09 22:13:39 -04:00
Zachary Boyd b65fa27ba8 Breaks the mocha test into individual files so tests can be run independently. Uses Promises in the mocha test. Adds a listen method to all servers 2018-09-09 15:42:50 -04:00
Zachary Boyd 1c29679024 Splits the mocha tests into individual files 2018-09-09 03:00:29 -04:00
Zachary Boyd a74409ddb7 Replaces callbacks with Promises throughout the rest of the application. 2018-09-09 01:45:12 -04:00
Zachary Boyd d1265253d2 Uses bluebird for Promises. All functions in TorProcess return Promises instead of callbacks 2018-09-09 00:44:39 -04:00
Zachary Boyd 723a227f26 replaces eventemitter2 with eventemitter3 2018-09-09 00:28:43 -04:00
Zachary Boyd c1515969b4 Adds a sepreate file for a silent winston logger to be used whenever a logger is not specified. Replaces all callbacks with Promises in TorPool. 2018-09-09 00:25:46 -04:00
Zachary Boyd 72aa9193d2 Moves 'tor-router' executable code to 'src/launch.js' 2018-09-08 23:56:34 -04:00
Zachary Boyd 56b34f2133 Launches tor with the '--quiet' flag when attempting to get the hashed password for the control port. Uses 'os.EOL' instead of '\n' when creating the config file for compatibility with windows 2018-08-10 15:43:28 -04:00
Zachary Boyd 7d996ffa81 Adds "queryInstanceByName" and "queryInstanceAt" 2018-08-10 13:06:40 -04:00
Zachary Boyd ba24667009 add nconf env loader 2018-08-10 00:57:47 -04:00
Zachary Boyd f77d6bf3b5 fixes typo 2018-08-10 00:53:43 -04:00
Zachary Boyd a8b68ef5ec Removes domains 2018-08-10 00:46:34 -04:00
Zachary Boyd 04f185f85b Cleans up existing test suites and adds suites for new methods 2018-08-10 00:44:07 -04:00
Zachary Boyd 4c148e2832 completes mocha test for TorProcess 2018-08-09 16:13:48 -04:00
Zachary Boyd b3a03b4a3e Removes refrences to 'nconf' within classes to make testing easier 2018-08-09 15:03:51 -04:00
Zachary Boyd f08aa6d23f removes all dependency on domains since they're being deprecated 2018-08-09 13:42:11 -04:00
Zachary Boyd 1273316e7d Allows signals to be sent to Tor instances using the control protocol from the rpc interface 2018-05-10 22:41:15 -07:00
Zachary Boyd 48373e3c71 Allows Tor configuration to be modified at runtime via the rpc interface 2018-05-10 22:25:26 -07:00
Zachary Boyd 38bf4d7c6a Adds remove_by_name and new_identity_by_name methods to TorPool 2018-05-10 22:08:38 -07:00
Zachary Boyd 5f8fde9039 Uses the Control Protocol to request a new identity. Replaces 'new_ip' with 'new_identity' and deprecates 'new_ip' 2018-05-10 21:44:30 -07:00
Zachary Boyd 4bc4c15dd7 Connects to the Tor instance via the control port when the instance starts 2018-05-10 21:17:00 -07:00
Zachary Boyd b3700e0202 Bundles the Tor executable 2018-05-09 22:42:30 -07:00
Zachary Boyd c0026c4411 Removes the default values on socksPort and instances 2018-05-09 22:09:31 -07:00
Zachary Boyd 62495b1e86 Adds documentation on all of the RPC methods 2018-05-09 21:56:00 -07:00
Zachary Boyd 12c00baecc Updates README to reflect changes. Uses instance name when reporting process info 2018-05-09 21:30:51 -07:00
Zachary Boyd da1d543d03 Allows for the load balance method to be set/retrived via the control server 2018-05-09 21:11:05 -07:00
Zachary Boyd 6878081797 Allows for multiple types of load-balancing methods to be selected and allows for instances to be load-balanced by weight. Allows for instances to be named. Fixes bug with instance cleanup 2018-05-09 21:09:38 -07:00
Zachary Boyd bfde78268a Removes the data directory when the tor process exits 2018-05-09 18:19:06 -07:00