fixed sneakernet, removed unused vdf
This commit is contained in:
		
							parent
							
								
									d0baa7fd12
								
							
						
					
					
						commit
						2dc706a894
					
				
					 11 changed files with 15 additions and 99 deletions
				
			
		|  | @ -12,6 +12,5 @@ toomanyobjs==1.1.0 | |||
| niceware==0.2.1 | ||||
| psutil==5.7.2 | ||||
| filenuke==0.0.0 | ||||
| mimcvdf==1.1.0 | ||||
| watchdog==0.10.3 | ||||
| ujson==4.0.0 | ||||
|  |  | |||
|  | @ -137,10 +137,6 @@ markupsafe==1.1.1 \ | |||
|     --hash=sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7 \ | ||||
|     --hash=sha256:e8313f01ba26fbbe36c7be1966a7b7424942f670f38e666995b88d012765b9be \ | ||||
|     # via jinja2 | ||||
| mimcvdf==1.1.0 \ | ||||
|     --hash=sha256:97a4ccdebb58352c64c268d2e57ef8817c9fe4ac3dcc922410bfcc72033f344a \ | ||||
|     --hash=sha256:ae47c79bfd6b7b76077c8ce3301a48a7c10a609d8a882e7bd785e2ef851ecd28 \ | ||||
|     # via -r requirements.in | ||||
| niceware==0.2.1 \ | ||||
|     --hash=sha256:0f8b192f2a1e800e068474f6e208be9c7e2857664b33a96f4045340de4e5c69c \ | ||||
|     --hash=sha256:cf2dc0e1567d36d067c61b32fed0f1b9c4534ed511f9eeead4ba548d03b5c9eb \ | ||||
|  |  | |||
|  | @ -26,7 +26,7 @@ ONIONR_TAGLINE = 'Private P2P Communication - GPLv3 - https://Onionr.net' | |||
| ONIONR_VERSION = '6.0.0' | ||||
| ONIONR_VERSION_CODENAME = 'Genesis' | ||||
| ONIONR_VERSION_TUPLE = tuple(ONIONR_VERSION.split('.')) # (MAJOR, MINOR, VERSION) | ||||
| API_VERSION = '4' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you. | ||||
| API_VERSION = '2' # increments of 1; only change when something fundamental about how the API works changes. This way other nodes know how to communicate without learning too much information about you. | ||||
| MIN_PY_VERSION = 7 # min version of 7 so we can take advantage of non-cyclic type hints | ||||
| DEVELOPMENT_MODE = False | ||||
| IS_QUBES = False | ||||
|  |  | |||
|  | @ -1,45 +0,0 @@ | |||
| """Onionr - Private P2P Communication. | ||||
| 
 | ||||
| verifiable delay function proof | ||||
| """ | ||||
| from multiprocessing import Process | ||||
| from multiprocessing import Pipe | ||||
| 
 | ||||
| from mimcvdf import vdf_create | ||||
| from mimcvdf import vdf_verify | ||||
| """ | ||||
|     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.c | ||||
| 
 | ||||
|     You should have received a copy of the GNU General Public License | ||||
|     along with this program.  If not, see <https://www.gnu.org/licenses/>. | ||||
| """ | ||||
| ROUND_MULTIPLIER_PER_BYTE = 100 | ||||
| 
 | ||||
| 
 | ||||
| def create(data: bytes) -> str: | ||||
|     rounds = len(data) * ROUND_MULTIPLIER_PER_BYTE | ||||
|     return vdf_create(data, rounds) | ||||
| 
 | ||||
| 
 | ||||
| def multiproces_create(data: bytes) -> str: | ||||
|     parent_conn, child_conn = Pipe() | ||||
|     def __do_create(conn, data): | ||||
|         conn.send(create(data)) | ||||
|         conn.close() | ||||
|     p = Process(target=__do_create, args=(child_conn, data)) | ||||
|     p.start() | ||||
|     return parent_conn.recv() | ||||
| 
 | ||||
| 
 | ||||
| def verify(data: bytes, block_id: str) -> bool: | ||||
|     rounds = len(data) * ROUND_MULTIPLIER_PER_BYTE | ||||
|     return vdf_verify(data, block_id, rounds) | ||||
| 
 | ||||
|  | @ -38,15 +38,17 @@ class _Importer(FileSystemEventHandler): | |||
|         if not event.src_path.endswith(BLOCK_EXPORT_FILE_EXT): | ||||
|             return | ||||
|         with open(event.src_path, 'rb') as block_file: | ||||
|             block_data = block_file.read() | ||||
|         os.remove(event.src_path) | ||||
|         try: | ||||
|             import_block_from_data(block_data) | ||||
|         except onionrexceptions.DataExists: | ||||
|             return | ||||
|         if block_data_location in event.src_path: | ||||
|             try: | ||||
|                 import_block_from_data(block_file.read()) | ||||
|             except onionrexceptions.DataExists: | ||||
|                 return | ||||
|             if block_data_location in event.src_path: | ||||
|                 try: | ||||
|                     os.remove(event.src_path) | ||||
|                 except FileNotFoundError: | ||||
|                     pass | ||||
|                 os.remove(event.src_path) | ||||
|             except FileNotFoundError: | ||||
|                 pass | ||||
| 
 | ||||
| 
 | ||||
| def sneakernet_import_thread(): | ||||
|  |  | |||
|  | @ -14,8 +14,8 @@ | |||
|         "hide_created_blocks": true, | ||||
|         "insert_deniable_blocks": true, | ||||
|         "max_block_age": 2678400, | ||||
|         "minimum_block_pow": 4, | ||||
|         "minimum_send_pow": 4, | ||||
|         "minimum_block_pow": 5, | ||||
|         "minimum_send_pow": 5, | ||||
|         "public_key": "", | ||||
|         "random_bind_ip": true, | ||||
|         "security_level": 0, | ||||
|  |  | |||
|  | @ -1 +1 @@ | |||
| 1599457658 | ||||
| 1602268895 | ||||
|  | @ -1,36 +0,0 @@ | |||
| #!/usr/bin/env python3 | ||||
| import sys, os | ||||
| sys.path.append(".") | ||||
| sys.path.append("src/") | ||||
| import uuid | ||||
| TEST_DIR = 'testdata/%s-%s' % (uuid.uuid4(), os.path.basename(__file__)) + '/' | ||||
| print("Test directory:", TEST_DIR) | ||||
| os.environ["ONIONR_HOME"] = TEST_DIR | ||||
| import unittest, json | ||||
| 
 | ||||
| from utils import identifyhome, createdirs | ||||
| from onionrsetup import setup_config | ||||
| from onionrproofs import vdf | ||||
| from time import time | ||||
| 
 | ||||
| createdirs.create_dirs() | ||||
| setup_config() | ||||
| 
 | ||||
| class TestVdf(unittest.TestCase): | ||||
|     def test_vdf(self): | ||||
|         res = vdf.create(b'test') | ||||
|         int(res, 16) | ||||
|         if len(res) == 0: raise ValueError | ||||
|         self.assertEqual(vdf.multiproces_create(b'test'), res) | ||||
|     def test_speed(self): | ||||
|         t = time() | ||||
|         vdf.create(b'test') | ||||
|         self.assertTrue(time() - t <= 10) | ||||
|         # test 2 kb | ||||
|         t = time() | ||||
|         vdf.create(b't'*10000) | ||||
|         self.assertTrue(time() - t >= 10) | ||||
|         #timeit(lambda: vdf.create(b'test')) | ||||
| 
 | ||||
| 
 | ||||
| unittest.main() | ||||
|  | @ -13,7 +13,7 @@ from etc import onionrvalues | |||
| 
 | ||||
| class TestOnionrValues(unittest.TestCase): | ||||
|     def test_api_version(self): | ||||
|         self.assertEqual(onionrvalues.API_VERSION, '1') | ||||
|         self.assertEqual(onionrvalues.API_VERSION, '2') | ||||
| 
 | ||||
|     def test_default_expire(self): | ||||
|         self.assertEqual(onionrvalues.DEFAULT_EXPIRE, 2678400) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue