7.3 KiB
7.3 KiB
Changelog
[4.0.12] - 2019-11-21
Added
- Added a entrypoint file so the node.js process is not the root process, so it responds to SIGINT calls (Ctrl+C).
[4.0.11] - 2019-01-15
Changed
- Updates
multi-rpc
to version 1.5.5.
[4.0.10] - 2018-12-14
Changed
- Updates
multi-rpc
to version 1.4.1.
[4.0.9] - 2018-12-14
Changed
- Updates
multi-rpc
to version 1.4.0.
[4.0.7] - 2018-12-14
Changed
- Updates
multi-rpc
to version 1.1.9.
[4.0.6] - 2018-12-14
Changed
- Updates
multi-rpc
to version 1.1.1.
[4.0.5] - 2018-10-15
Changed
- Prevents errors that occur when connecting to the destination in the SOCKS Proxy and HTTP Proxy from crashing the applications
[4.0.4] - 2018-09-24
Changed
- Replaces
jrpc2
withmulti-rpc
for providing the RPC Interface. No changes to the application or API
[4.0.3] - 2018-09-15
Changed
- References granax in
default_config.js
to comply with licensing requirements
[4.0.2] - 2018-09-15
Added
- Adds API documentation. To generate run
npm run docs
and open underdocs/index.html
Changed
- Much of the README has been moved to the wiki
- Updates granax to 3.1.4 which fixes a bug on MacOS
- The constructor on
ControlServer
now takes an nconf instance as the first argument and a logger as the second
[4.0.1] - 2018-09-11
[4.0.0] - 2018-09-09
Added
- Instances can now added to one or more groups by setting the
Group
field in the instance definition to a single string or array - You can now proxy through a specific instance using the username field when connecting to a proxy by setting
--proxyByName
or-n
to "individual" or true. For example: to connect to an instance namedinstance-1
via http usehttp://instance-1:@localhost:9080
- You can also connect to a specific group of instances by setting
--proxyByName
or-n
to "group". If enabled, requests made to://foo:@localhost:9080
would be routed to instances in thefoo
group in round-robin fashion - The control server will accept WebSocket connections if the
--websocketControlHost
or-w
argument is set. If the argument is used without a hostname it will default to 9078 on all interfaces - All servers (DNS, HTTP, SOCKS and Control) all have a
listen
method which takes a port and optionally a host. It will return a Promise that will resolve when the server is listening - Application configuration can be changed at runtime using the
getConfig
andsetConfig
RPC methods - Application configuration can be saved and loaded from disk using the
saveConfig
andloadConfig
RPC methods
Changes
- All "Port" config options (e.g. socksPort) have been replaced with "Host", and can take a full host (e.g. 127.0.0.1:9050) for its value. This allows you to bind Tor Router to a specific hostname. If just a port is given it will bind to all interfaces
- All methods now return promises instead of accepting callbacks
- The
logger
argument to the constructor of all classes is now optional - The
Config
property of instance definitions will now inherit all properties fromTorPool.default_tor_config
- The mocha test has been split into individual files all under
test/
- DNS shows the source/destination hostname/port in logs instead of what the query was resolved to
TorProcess
takes an instance definition as the second argument in its constructor
Removes
- The
new_ips
andnew_ip_at
TorPool andnew_ip
TorProcess have been removed. Usenew_identites
,new_identity_at
andnew_identity
instead. - The
getDefaultTorConfig
andsetDefaultTorConfig
RPC methods have removed. UsegetConfig('torConfig')
andsetConfig('torConfig', value)
instead.
[3.4.3] - 2018-08-10
Added
- Adds a changelog
- Adds
queryInstanceByName
andqueryInstanceAt
RPC methods to retrieve individual instances
Changes
- Makes changes to ensure compatibility on Windows
[3.4.2] - 2018-08-09
Added
- Test suites for
DNSServer
,HTTPServer
,SOCKSServer
andControlServer
- Added
TorPool.set_config_all
method to change configuration of all active instances
Changed
- Cleans up test suites for
TorPool
andTorProcess
- Removes potential security vulnerability
setTorConfig
rpc method will now change the configuration of active instances,setDefaultTorConfig
andgetDefaultTorConfig
will set or get the configuration of future instances- The default Tor Configuration will be applied to instances when the
Config
property on the instance definition is not set
[3.4.1] - 2018-07-19
Changed
- Fixes bug with the application not binding to port numbers specified on the command line
[3.4.0] - 2018-05-11
Added
- Bundles the Tor executable with the application. Tor will be downloaded during
npm install
- Signals and Configuration changes can be sent to live Tor instances via the Tor Control Protocol. Serveral RPC and
TorPool
methods have been added.
Changed
- By default Tor Router will use the Tor executable bundled with the application, to override use the
TOR_PATH
environment variable - Deprecates the
TorPool.new_ips
andTorProcess.new_ip
functions useTorPool.new_identites
candTorProcess.new_identity
function respectively.
[3.3.0] - 2018-05-10
Added
- Adds documentation on all available RPC Methods
- Allows different load-balance methods to be defined, and changed at runtime and via RPC
- Each instance can have started with a specific configuration (torrc) by setting the
Config
property in the definition
Changed
- If the
Name
property in the definition was not set the data directory will be deleted when the Tor Process exits - Switches from "commander" to "nconf"/"yargs" for command line processing, switches however will remain the same
[3.2.2] - 2018-05-08
Changed
- Tor Router and child Tor processes are run as an unprivilieged user in the Docker container
- Fixes Issue #4 which affects dynamically created Tor Instances
- Network traffic is only logged when
logLevel
is set to "verbose"
[3.2.1] - 2017-12-08
Changed
- Fixes typo bug in Control Server
[3.2.0] - 2017-12-07
Changed
- Replaced socket.io with JSON-RPC 2 as the RPC protocol
- The Dockerfile includes an
ENTRYPOINT
for Tor Router
[3.1.0] - 2017-12-07
Added
- Adds an HTTP Proxy Server
HTTPServer
which can HTTP-Connect requests (HTTPS traffic). - Adds a
queryInstances
RPC function as requested in Issue #3
Removed
- Removes the "docker-compose.yml" file
[3.0.7] - 2017-11-12
Changes
- The Dockerfile will now use Node.js version 8
[3.0.6] - 2017-07-25
Changes
- Fixes a bug that occures on OS X
[3.0.5] - 2017-04-05
Changes
- Fixes a bug with an RPC Method
[3.0.4] - 2017-04-05
Changes
- Changes the arguments tor-router will be launched with when run using npm start
[3.0.3] - 2017-03-25
Added
- Adds the Apache Licence Version 2 as the project's licence
[3.0.2] - 2017-03-25
Changed
- Data sent in a request before a Tor instance comes online is held in a buffer.
[3.0.1] - 2017-03-25
Added
- In
SOCKSServer
waits for a Tor instance in the pool to come online before making a connection.
[3.0.0] - 2017-03-24
Changed
- Rewrites the application as a proxy server written as a node.js app.