refreshed and renamed docs, added bootstrap server, added default config for sec auditing
This commit is contained in:
		
							parent
							
								
									fe36b87c57
								
							
						
					
					
						commit
						6960d9209d
					
				
					 270 changed files with 20816 additions and 8345 deletions
				
			
		
							
								
								
									
										76
									
								
								docs/html/src/onionrstatistics/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								docs/html/src/onionrstatistics/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,76 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.onionrstatistics API documentation</title> | ||||
| <meta name="description" content="" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.onionrstatistics</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">from .transports import tor</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-submodules">Sub-modules</h2> | ||||
| <dl> | ||||
| <dt><code class="name"><a title="src.onionrstatistics.serializeddata" href="serializeddata.html">src.onionrstatistics.serializeddata</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication …</p></section> | ||||
| </dd> | ||||
| <dt><code class="name"><a title="src.onionrstatistics.transports" href="transports/index.html">src.onionrstatistics.transports</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src" href="../index.html">src</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-submodules">Sub-modules</a></h3> | ||||
| <ul> | ||||
| <li><code><a title="src.onionrstatistics.serializeddata" href="serializeddata.html">src.onionrstatistics.serializeddata</a></code></li> | ||||
| <li><code><a title="src.onionrstatistics.transports" href="transports/index.html">src.onionrstatistics.transports</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										196
									
								
								docs/html/src/onionrstatistics/serializeddata.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										196
									
								
								docs/html/src/onionrstatistics/serializeddata.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,196 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.onionrstatistics.serializeddata API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication …" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.onionrstatistics.serializeddata</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication</p> | ||||
| <p>This module serializes various data pieces for use in other modules, in particular the web api</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">""" | ||||
|     Onionr - Private P2P Communication | ||||
| 
 | ||||
|     This module serializes various data pieces for use in other modules, in particular the web api | ||||
| """ | ||||
| """ | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| """ | ||||
| 
 | ||||
| import json # noqa | ||||
| import time # noqa | ||||
| 
 | ||||
| from coredb import blockmetadb # noqa | ||||
| import communicator # noqa | ||||
| 
 | ||||
| class SerializedData: | ||||
|     def __init__(self): | ||||
|         """ | ||||
|         Serialized data is in JSON format: | ||||
|         { | ||||
|             'success': bool, | ||||
|             'foo': 'bar', | ||||
|             etc | ||||
|         } | ||||
|         """ | ||||
|      | ||||
|     def get_stats(self): | ||||
|         """Return statistics about our node""" | ||||
|         stats = {} | ||||
|         try: | ||||
|             self._too_many | ||||
|         except AttributeError: | ||||
|             time.sleep(1) | ||||
|         comm_inst = self._too_many.get(communicator.OnionrCommunicatorDaemon, args=(self._too_many,)) | ||||
|         connected = [] | ||||
|         [connected.append(x) for x in comm_inst.onlinePeers if x not in connected]  | ||||
|         stats['uptime'] = comm_inst.getUptime() | ||||
|         stats['connectedNodes'] = '\n'.join(connected) | ||||
|         stats['blockCount'] = len(blockmetadb.get_block_list()) | ||||
|         stats['blockQueueCount'] = len(comm_inst.blockQueue) | ||||
|         return json.dumps(stats)</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-classes">Classes</h2> | ||||
| <dl> | ||||
| <dt id="src.onionrstatistics.serializeddata.SerializedData"><code class="flex name class"> | ||||
| <span>class <span class="ident">SerializedData</span></span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Serialized data is in JSON format: | ||||
| { | ||||
| 'success': bool, | ||||
| 'foo': 'bar', | ||||
| etc | ||||
| }</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">class SerializedData: | ||||
|     def __init__(self): | ||||
|         """ | ||||
|         Serialized data is in JSON format: | ||||
|         { | ||||
|             'success': bool, | ||||
|             'foo': 'bar', | ||||
|             etc | ||||
|         } | ||||
|         """ | ||||
|      | ||||
|     def get_stats(self): | ||||
|         """Return statistics about our node""" | ||||
|         stats = {} | ||||
|         try: | ||||
|             self._too_many | ||||
|         except AttributeError: | ||||
|             time.sleep(1) | ||||
|         comm_inst = self._too_many.get(communicator.OnionrCommunicatorDaemon, args=(self._too_many,)) | ||||
|         connected = [] | ||||
|         [connected.append(x) for x in comm_inst.onlinePeers if x not in connected]  | ||||
|         stats['uptime'] = comm_inst.getUptime() | ||||
|         stats['connectedNodes'] = '\n'.join(connected) | ||||
|         stats['blockCount'] = len(blockmetadb.get_block_list()) | ||||
|         stats['blockQueueCount'] = len(comm_inst.blockQueue) | ||||
|         return json.dumps(stats)</code></pre> | ||||
| </details> | ||||
| <h3>Methods</h3> | ||||
| <dl> | ||||
| <dt id="src.onionrstatistics.serializeddata.SerializedData.get_stats"><code class="name flex"> | ||||
| <span>def <span class="ident">get_stats</span></span>(<span>self)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Return statistics about our node</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_stats(self): | ||||
|     """Return statistics about our node""" | ||||
|     stats = {} | ||||
|     try: | ||||
|         self._too_many | ||||
|     except AttributeError: | ||||
|         time.sleep(1) | ||||
|     comm_inst = self._too_many.get(communicator.OnionrCommunicatorDaemon, args=(self._too_many,)) | ||||
|     connected = [] | ||||
|     [connected.append(x) for x in comm_inst.onlinePeers if x not in connected]  | ||||
|     stats['uptime'] = comm_inst.getUptime() | ||||
|     stats['connectedNodes'] = '\n'.join(connected) | ||||
|     stats['blockCount'] = len(blockmetadb.get_block_list()) | ||||
|     stats['blockQueueCount'] = len(comm_inst.blockQueue) | ||||
|     return json.dumps(stats)</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.onionrstatistics" href="index.html">src.onionrstatistics</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-classes">Classes</a></h3> | ||||
| <ul> | ||||
| <li> | ||||
| <h4><code><a title="src.onionrstatistics.serializeddata.SerializedData" href="#src.onionrstatistics.serializeddata.SerializedData">SerializedData</a></code></h4> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.onionrstatistics.serializeddata.SerializedData.get_stats" href="#src.onionrstatistics.serializeddata.SerializedData.get_stats">get_stats</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										71
									
								
								docs/html/src/onionrstatistics/transports/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								docs/html/src/onionrstatistics/transports/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,71 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.onionrstatistics.transports API documentation</title> | ||||
| <meta name="description" content="" /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.onionrstatistics.transports</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">from . import tor</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-submodules">Sub-modules</h2> | ||||
| <dl> | ||||
| <dt><code class="name"><a title="src.onionrstatistics.transports.tor" href="tor/index.html">src.onionrstatistics.transports.tor</a></code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Onionr - Private P2P Communication.</p></section> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.onionrstatistics" href="../index.html">src.onionrstatistics</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-submodules">Sub-modules</a></h3> | ||||
| <ul> | ||||
| <li><code><a title="src.onionrstatistics.transports.tor" href="tor/index.html">src.onionrstatistics.transports.tor</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										228
									
								
								docs/html/src/onionrstatistics/transports/tor/index.html
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								docs/html/src/onionrstatistics/transports/tor/index.html
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,228 @@ | |||
| <!doctype html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
| <meta charset="utf-8"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1" /> | ||||
| <meta name="generator" content="pdoc 0.7.4" /> | ||||
| <title>src.onionrstatistics.transports.tor API documentation</title> | ||||
| <meta name="description" content="Onionr - Private P2P Communication." /> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css' rel='stylesheet'> | ||||
| <link href='https://cdnjs.cloudflare.com/ajax/libs/10up-sanitize.css/8.0.0/sanitize.min.css' rel='stylesheet'> | ||||
| <link href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" rel="stylesheet"> | ||||
| <style>.flex{display:flex !important}body{line-height:1.5em}#content{padding:20px}#sidebar{padding:30px;overflow:hidden}.http-server-breadcrumbs{font-size:130%;margin:0 0 15px 0}#footer{font-size:.75em;padding:5px 30px;border-top:1px solid #ddd;text-align:right}#footer p{margin:0 0 0 1em;display:inline-block}#footer p:last-child{margin-right:30px}h1,h2,h3,h4,h5{font-weight:300}h1{font-size:2.5em;line-height:1.1em}h2{font-size:1.75em;margin:1em 0 .50em 0}h3{font-size:1.4em;margin:25px 0 10px 0}h4{margin:0;font-size:105%}a{color:#058;text-decoration:none;transition:color .3s ease-in-out}a:hover{color:#e82}.title code{font-weight:bold}h2[id^="header-"]{margin-top:2em}.ident{color:#900}pre code{background:#f8f8f8;font-size:.8em;line-height:1.4em}code{background:#f2f2f1;padding:1px 4px;overflow-wrap:break-word}h1 code{background:transparent}pre{background:#f8f8f8;border:0;border-top:1px solid #ccc;border-bottom:1px solid #ccc;margin:1em 0;padding:1ex}#http-server-module-list{display:flex;flex-flow:column}#http-server-module-list div{display:flex}#http-server-module-list dt{min-width:10%}#http-server-module-list p{margin-top:0}.toc ul,#index{list-style-type:none;margin:0;padding:0}#index code{background:transparent}#index h3{border-bottom:1px solid #ddd}#index ul{padding:0}#index h4{font-weight:bold}#index h4 + ul{margin-bottom:.6em}@media (min-width:200ex){#index .two-column{column-count:2}}@media (min-width:300ex){#index .two-column{column-count:3}}dl{margin-bottom:2em}dl dl:last-child{margin-bottom:4em}dd{margin:0 0 1em 3em}#header-classes + dl > dd{margin-bottom:3em}dd dd{margin-left:2em}dd p{margin:10px 0}.name{background:#eee;font-weight:bold;font-size:.85em;padding:5px 10px;display:inline-block;min-width:40%}.name:hover{background:#e0e0e0}.name > span:first-child{white-space:nowrap}.name.class > span:nth-child(2){margin-left:.4em}.inherited{color:#999;border-left:5px solid #eee;padding-left:1em}.inheritance em{font-style:normal;font-weight:bold}.desc h2{font-weight:400;font-size:1.25em}.desc h3{font-size:1em}.desc dt code{background:inherit}.source summary,.git-link-div{color:#666;text-align:right;font-weight:400;font-size:.8em;text-transform:uppercase}.source summary > *{white-space:nowrap;cursor:pointer}.git-link{color:inherit;margin-left:1em}.source pre{max-height:500px;overflow:auto;margin:0}.source pre code{font-size:12px;overflow:visible}.hlist{list-style:none}.hlist li{display:inline}.hlist li:after{content:',\2002'}.hlist li:last-child:after{content:none}.hlist .hlist{display:inline;padding-left:1em}img{max-width:100%}.admonition{padding:.1em .5em;margin-bottom:1em}.admonition-title{font-weight:bold}.admonition.note,.admonition.info,.admonition.important{background:#aef}.admonition.todo,.admonition.versionadded,.admonition.tip,.admonition.hint{background:#dfd}.admonition.warning,.admonition.versionchanged,.admonition.deprecated{background:#fd4}.admonition.error,.admonition.danger,.admonition.caution{background:lightpink}</style> | ||||
| <style media="screen and (min-width: 700px)">@media screen and (min-width:700px){#sidebar{width:30%}#content{width:70%;max-width:100ch;padding:3em 4em;border-left:1px solid #ddd}pre code{font-size:1em}.item .name{font-size:1em}main{display:flex;flex-direction:row-reverse;justify-content:flex-end}.toc ul ul,#index ul{padding-left:1.5em}.toc > ul > li{margin-top:.5em}}</style> | ||||
| <style media="print">@media print{#sidebar h1{page-break-before:always}.source{display:none}}@media print{*{background:transparent !important;color:#000 !important;box-shadow:none !important;text-shadow:none !important}a[href]:after{content:" (" attr(href) ")";font-size:90%}a[href][title]:after{content:none}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h1,h2,h3,h4,h5,h6{page-break-after:avoid}}</style> | ||||
| </head> | ||||
| <body> | ||||
| <main> | ||||
| <article id="content"> | ||||
| <header> | ||||
| <h1 class="title">Module <code>src.onionrstatistics.transports.tor</code></h1> | ||||
| </header> | ||||
| <section id="section-intro"> | ||||
| <p>Onionr - Private P2P Communication.</p> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">"""Onionr - Private P2P Communication. | ||||
| 
 | ||||
| 
 | ||||
| """ | ||||
| import json | ||||
| from gevent import sleep | ||||
| 
 | ||||
| from stem import CircStatus | ||||
| 
 | ||||
| from netcontroller.torcontrol.torcontroller import get_controller | ||||
| 
 | ||||
| """ | ||||
|     This program is free software: you can redistribute it and/or modify | ||||
|     it under the terms of the GNU General Public License as published by | ||||
|     the Free Software Foundation, either version 3 of the License, or | ||||
|     (at your option) any later version. | ||||
| 
 | ||||
|     This program is distributed in the hope that it will be useful, | ||||
|     but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||
|     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | ||||
|     GNU General Public License for more details. | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| """ | ||||
| 
 | ||||
| 
 | ||||
| class TorStats: | ||||
|     def __init__(self): | ||||
|         self.circuits = {} | ||||
|         self.json_data = "" | ||||
| 
 | ||||
|     def get_json(self): | ||||
|         """Refresh circuits then serialize them into form: | ||||
| 
 | ||||
|         "nodes": list of tuples containing fingerprint and nickname strings" | ||||
|         "purpose": https://stem.torproject.org/api/control.html#stem.CircPurpose | ||||
|         """ | ||||
|         self.get_circuits() | ||||
|         json_serialized = {} | ||||
|         for circuit in self.circuits.keys(): | ||||
|             json_serialized[circuit] = { | ||||
|                 "nodes": [], | ||||
|                 "purpose": self.circuits[circuit][1] | ||||
|             } | ||||
|             for entry in self.circuits[circuit][0]: | ||||
|                 json_serialized[circuit]["nodes"].append({'finger': entry[0], | ||||
|                                                          'nick': entry[1]}) | ||||
|         self.json_data = json.dumps(json_serialized) | ||||
|         return self.json_data | ||||
| 
 | ||||
|     def get_circuits(self): | ||||
|         """Update the circuit dictionary""" | ||||
|         circuits = {} | ||||
|         for circ in list(sorted(get_controller().get_circuits())): | ||||
|             if circ.status != CircStatus.BUILT: | ||||
|                 continue | ||||
|             circuits[circ.id] = (circ.path, circ.purpose) | ||||
|         self.circuits = circuits</code></pre> | ||||
| </details> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| </section> | ||||
| <section> | ||||
| <h2 class="section-title" id="header-classes">Classes</h2> | ||||
| <dl> | ||||
| <dt id="src.onionrstatistics.transports.tor.TorStats"><code class="flex name class"> | ||||
| <span>class <span class="ident">TorStats</span></span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">class TorStats: | ||||
|     def __init__(self): | ||||
|         self.circuits = {} | ||||
|         self.json_data = "" | ||||
| 
 | ||||
|     def get_json(self): | ||||
|         """Refresh circuits then serialize them into form: | ||||
| 
 | ||||
|         "nodes": list of tuples containing fingerprint and nickname strings" | ||||
|         "purpose": https://stem.torproject.org/api/control.html#stem.CircPurpose | ||||
|         """ | ||||
|         self.get_circuits() | ||||
|         json_serialized = {} | ||||
|         for circuit in self.circuits.keys(): | ||||
|             json_serialized[circuit] = { | ||||
|                 "nodes": [], | ||||
|                 "purpose": self.circuits[circuit][1] | ||||
|             } | ||||
|             for entry in self.circuits[circuit][0]: | ||||
|                 json_serialized[circuit]["nodes"].append({'finger': entry[0], | ||||
|                                                          'nick': entry[1]}) | ||||
|         self.json_data = json.dumps(json_serialized) | ||||
|         return self.json_data | ||||
| 
 | ||||
|     def get_circuits(self): | ||||
|         """Update the circuit dictionary""" | ||||
|         circuits = {} | ||||
|         for circ in list(sorted(get_controller().get_circuits())): | ||||
|             if circ.status != CircStatus.BUILT: | ||||
|                 continue | ||||
|             circuits[circ.id] = (circ.path, circ.purpose) | ||||
|         self.circuits = circuits</code></pre> | ||||
| </details> | ||||
| <h3>Methods</h3> | ||||
| <dl> | ||||
| <dt id="src.onionrstatistics.transports.tor.TorStats.get_circuits"><code class="name flex"> | ||||
| <span>def <span class="ident">get_circuits</span></span>(<span>self)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Update the circuit dictionary</p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_circuits(self): | ||||
|     """Update the circuit dictionary""" | ||||
|     circuits = {} | ||||
|     for circ in list(sorted(get_controller().get_circuits())): | ||||
|         if circ.status != CircStatus.BUILT: | ||||
|             continue | ||||
|         circuits[circ.id] = (circ.path, circ.purpose) | ||||
|     self.circuits = circuits</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| <dt id="src.onionrstatistics.transports.tor.TorStats.get_json"><code class="name flex"> | ||||
| <span>def <span class="ident">get_json</span></span>(<span>self)</span> | ||||
| </code></dt> | ||||
| <dd> | ||||
| <section class="desc"><p>Refresh circuits then serialize them into form:</p> | ||||
| <p>"nodes": list of tuples containing fingerprint and nickname strings" | ||||
| "purpose": <a href="https://stem.torproject.org/api/control.html#stem.CircPurpose">https://stem.torproject.org/api/control.html#stem.CircPurpose</a></p></section> | ||||
| <details class="source"> | ||||
| <summary> | ||||
| <span>Expand source code</span> | ||||
| </summary> | ||||
| <pre><code class="python">def get_json(self): | ||||
|     """Refresh circuits then serialize them into form: | ||||
| 
 | ||||
|     "nodes": list of tuples containing fingerprint and nickname strings" | ||||
|     "purpose": https://stem.torproject.org/api/control.html#stem.CircPurpose | ||||
|     """ | ||||
|     self.get_circuits() | ||||
|     json_serialized = {} | ||||
|     for circuit in self.circuits.keys(): | ||||
|         json_serialized[circuit] = { | ||||
|             "nodes": [], | ||||
|             "purpose": self.circuits[circuit][1] | ||||
|         } | ||||
|         for entry in self.circuits[circuit][0]: | ||||
|             json_serialized[circuit]["nodes"].append({'finger': entry[0], | ||||
|                                                      'nick': entry[1]}) | ||||
|     self.json_data = json.dumps(json_serialized) | ||||
|     return self.json_data</code></pre> | ||||
| </details> | ||||
| </dd> | ||||
| </dl> | ||||
| </dd> | ||||
| </dl> | ||||
| </section> | ||||
| </article> | ||||
| <nav id="sidebar"> | ||||
| <h1>Index</h1> | ||||
| <div class="toc"> | ||||
| <ul></ul> | ||||
| </div> | ||||
| <ul id="index"> | ||||
| <li><h3>Super-module</h3> | ||||
| <ul> | ||||
| <li><code><a title="src.onionrstatistics.transports" href="../index.html">src.onionrstatistics.transports</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| <li><h3><a href="#header-classes">Classes</a></h3> | ||||
| <ul> | ||||
| <li> | ||||
| <h4><code><a title="src.onionrstatistics.transports.tor.TorStats" href="#src.onionrstatistics.transports.tor.TorStats">TorStats</a></code></h4> | ||||
| <ul class=""> | ||||
| <li><code><a title="src.onionrstatistics.transports.tor.TorStats.get_circuits" href="#src.onionrstatistics.transports.tor.TorStats.get_circuits">get_circuits</a></code></li> | ||||
| <li><code><a title="src.onionrstatistics.transports.tor.TorStats.get_json" href="#src.onionrstatistics.transports.tor.TorStats.get_json">get_json</a></code></li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </li> | ||||
| </ul> | ||||
| </nav> | ||||
| </main> | ||||
| <footer id="footer"> | ||||
| <p>Generated by <a href="https://pdoc3.github.io/pdoc"><cite>pdoc</cite> 0.7.4</a>.</p> | ||||
| </footer> | ||||
| <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script> | ||||
| <script>hljs.initHighlightingOnLoad()</script> | ||||
| </body> | ||||
| </html> | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue