Zachary Boyd
6040db22dc
merge
2019-11-23 22:41:28 -05:00
Zachary Boyd
c1b7a124c4
Merge branch 'master' into upstream_master
2019-11-23 22:39:55 -05:00
Zachary Boyd
5617f2bfdb
Switches the granax package to the new package location
2019-11-21 23:13:31 -05:00
Zachary Boyd
fbdbf525df
Added a entrypoint file so the node.js process is not the root process, so it responds to SIGINT calls (Ctrl+C).
2019-11-21 22:25:01 -05:00
Roman Brunner
f89e4b20c5
Pool getPort race condition
...
It appears that when requesting multiple ports asynchronously,
that a port is given out multiple times, which crashes single
Tor processes. Such a crash brings down the whole system as of
now, which might or might not be desired.
This is caused by a race condition on the port numbers. This
commit fixes the issue if a number of Tor instances for the pool
is requested. If the pool is populated with an array of definitions,
the user has to make sure to include the ports in the definition,
otherwise the race condition still persists. If this should still be
allowed is up for discussion or if a check should be included in the
TorPool create function.
2019-11-21 16:27:48 +01:00
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