mirror of
https://github.com/ntop/n2n.git
synced 2024-09-20 00:51:10 +02:00
ae502d9181
* Ensure that recent code additions pass the linter * Include some of the more obviously correct lint fixes to edge_utils.c * Refactor edge JSON api into its own source file * Use shorter names for static management functions * Implement a JSON RPC way of managing the verbosity * Tidy up help display in n2nctl script * Make note of issue with implementing the stop command * Implement a JSON RPC call to fetch current community * Make n2nhttpd time value be more self-contained * Make n2nhttpd order more closely match the existing management stats output * Wire up status page to the verbosity setting * Add JSON versions of the remainder of the edge management stats * Add new file to cmake * Properly define management handler * Only update the last updated timestamp after a successful data fetch * Function and types definition cleanup * Force correct type for python scripts mgmt port * Implement initial JSON API for supernode * Fix whitespace error * Use helper function for rendering peers ip4 address * Proxy the auth requirement back out to the http client, allowing normal http auth to be used * Ensure that we do not leak the federation community * Use the same rpc method name and output for both edge and supernode for peers/edges * Allow n2nctl to show raw data returned without resorting to tricks * Make n2nctl pretty printer understandable with an empty table * Use the full name for supernodes RPC call * Use same RPC method name (but some missing fields) for getting communities from both edge and supernode * Add *_sup_broadcast stats to edge packet stats output * Refacter the stats into a packetstats method for supernode RPC * Even if I am not going to prettyprint the timestamps, at least make all the timestamps on the page the same unit * Simplify the RPC handlers by flagging some as writable and checking that in the multiplexer * Remove invalid edges data * Avoid crash on bad data to verbose RPC * Avoid showing bad or inconsistant protocol data in communities RPC * Minor clarification on when --write is handled * Make linter happy * Fix changed method name in n2nhttpd * Move mainloop stop flag into the n2n_edge_t structure, allowing access from management commands * Implement edge RPC stop command * Move mainloop stop flag into the n2n_sn_t structure, allowing access from management commands * Implement supernode RPC stop command * Allow multiple pages to be served from mini httpd * Extract common script functions into a separate URL * Handle an edge case in the python rpc class With a proper tag-based demultiplexer, this case should be a nop, but we are single-threaded and rely on the packet ordering in this library. * Add n2nhttpd support to query supernode using urls prefixed with /supernode/ * Handle missing values in javascript table print * Add another less filtering javascript key/value renderer * Add a supernode.html page to the n2nhttpd * Address lint issue * Mention the second html page on the Scripts doc * Remove purgable column from supernode edges list - it looks like it is rarely going to be set * Add a simple one-line example command at the top of the API documentation * Acknowledge that this is not the most efficient protocol, but point out that it was not supposed to be * Make it clear that the n2nctl script works for both edge and supernode * Fight with inconsistant github runner results * Turn off the /right/ coverage generator
45 lines
1.4 KiB
Markdown
45 lines
1.4 KiB
Markdown
# Scripts
|
|
|
|
There are a number of useful scripts included with the distribution.
|
|
Some of these scripts are only useful during build and development, but
|
|
other scripts are intended for end users to be able to use. These scripts
|
|
may be installed with n2n as part of your operating system package.
|
|
|
|
Short descriptions of these scripts are below.
|
|
|
|
## `scripts/hack_fakeautoconf`
|
|
|
|
This shell script is used during development to help build on Windows
|
|
systems. An example of how to use it is shown in
|
|
the [Building document](Building.md)
|
|
|
|
## `tools/test_harness`
|
|
|
|
This shell script is used to run automated tests during development.
|
|
|
|
## `scripts/n2nctl`
|
|
|
|
This python script provides an easy command line interface to the running
|
|
n2n processes. It uses UDP communications to talk to the Management API.
|
|
By specifying the right UDP port, it can talk to both the edge and the
|
|
supernode daemons.
|
|
|
|
Example:
|
|
- `scripts/n2nctl --help`
|
|
- `scripts/n2nctl help`
|
|
|
|
## `scripts/n2nhttpd`
|
|
|
|
This python script is a simple http gateway to the running edge. It provides
|
|
a proxy for REST-like HTTP requests to talk to the Management API.
|
|
|
|
By default it runs on port 8080.
|
|
|
|
It also provides a simple HTML page showing some edge information, which when
|
|
run with default settings can be seen at http://localhost:8080/ (Also
|
|
a http://localhost:8080/supernode.html page for the supernode)
|
|
|
|
Example:
|
|
- `scripts/n2nhttpd --help`
|
|
- `scripts/n2nhttpd 8087`
|