📜 ⬆️ ⬇️

Internet Magnets 3 - P2P Website and Forum

image The concept of the Internet on magnets is to not depend on the software, protocol or method of data transfer. No matter how you get the file with a magnet, you can make sure that you received exactly what you ordered.

To create and update a magnetic site with multiple pages, we need an electronic signature. We need it to identify the source and link the pages of the site. To create and use it, you can use the GnuPG package.


User-ID: ivan386 <magnet@ivan386.imtqy.com> Validity: from 2015-12-19 15:43 until forever Certificate type: 2,048-bit RSA (secret key available) Certificate usage: Signing EMails and Files, Encrypting EMails and Files, Certifying other Certificates Key-ID: 50B3C3CC Fingerprint: D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC 

')
We translate Fingerprint to base32:
 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m 


We also need a public key.

 -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2 mQENBFZ1QsUBCAC+tKNB8Ra6qsgwZjZyGBSoAwuXkTXpCM4xprzpkE2YwaVBhdNk rtEmtsX1KjGbIHlB+uk1ZfrwPS7u9Jk36zy0Nlg8P8SkVqvMvlC6tlpKT7oYxvzX /Bf8ZsrpKJtIxMH/cLTFVdtQoBcQx/8wbyf+DuDaqG4TxdVan1tuguJB8Xna9yeo xbba279pZiJ4YYzykLaR1YMB0eSDP3c7XpDrz8oIaGF4QynL/0bI0u+ubA4e5O6q GxJ3PdtPyh4ZZ042p1yKrwNjI4xo5HV/htBuDWm1nUcd+506RSkYk6zNlJ/lt96k 8VXLrGxblewPFNTIngOGGD0GECi/+7fY94S9ABEBAAG0Iml2YW4zODYgPG1hZ25l dEBpdmFuMzg2LmdpdGh1Yi5pbz6JATkEEwEIACMFAlZ1QsUCGwMHCwkIBwMCAQYV CAIJCgsEFgIDAQIeAQIXgAAKCRCVmX21ULPDzPVhCACbzZXP1rjIzDCgTw4wTa3m 29Nq7hm6UhZcy72RROtLiPC+bksetSmI/IMFkaaMcQubOo1W4CaYYpLG1HdRAQKN oevHSMrGKNZIH3BCbjZhhBXM3creesvD178pz4CnD58N6E5XWzWsS99PZcgbwyS0 uL6QmsOVzbtWcf9Q4Rcq3AW/zqAjtun5EpRc/88k9PTBPKYOFBVP1i8sBAGgiXo+ UAg7G9Hp9kmWQtGUP/amBiTKw2raL4gCs2IjM19niVPHCMDCrilyF0lPaWFeuX5T VvKxaWtLVcr8RLZqY5ExVrFJGAYUik42V6DWCuvStrCBAA61C9x5hddCPH+YCoHl uQENBFZ1QsUBCAC+kK6SBVhuWtBdF0+Lk807PH5PYEe7eZ8DWvwGOvDTIq4A2wmW jkelfG+Yk2h4liBHaKRJRob+pHLD/kLq5lwBtb+A3+AGQew0UDKoy51gWX/Su2hN A277bjzZ4V+p8vK7gGFGimvtvenC61DH7L/hCNKz4vJwi9dwDkuiOwhyNVbUT7JU 9+JINanmf4liLAKDXXsj36FTQKVc+zRCyxH09nxRxadgscnrnIm0uoFQbQHhtG1S V4kITu7VblRkJSZVNc4LzV4QC3yNWlLD358XHeOHCKvz3aozVciwg9PkLGy7yKbF ejROI5gomN7UIT611toMje8vdzjkFK2zq0lDABEBAAGJAR8EGAEIAAkFAlZ1QsUC GwwACgkQlZl9tVCzw8xbowgApoXx19hd/M/+jzP86Z5LBU4gSr+ab4ksHdcmc6zj hgToR5QwNoFsC6+HvUG43XYgcjjt8srSO1peMNo3/OsewemYFd1GBK64lS2eurgf 7mhrxpetZGhGMQtO+MlEesCbDTmVrWiU87VtwVsfI+dd5VvuyeB/g6olK9x6M2ZL kDXIwn9xW8HdDKs0YFHhw2WH2VuINCDLhcvvEYMF3Nf3st8vqH5/Na2GT2Dhka0E e/rUoLjUC3qT1Dqw5PMDBljcjtPQSICbrs07s2PkftyxTYr22r4VvBL9YXKvSx/Z Ryhnj3Si/La+8t0s96qpW8sKXJ4QeO32m0lMDwOcVBxzBQ== =PnA8 -----END PGP PUBLIC KEY BLOCK----- 


The public key will allow identifying a single source and will serve as a beacon for searching for updates.

We get the magnet of the public key file.

 magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236 


We write two pages of the site for the test. And sign them.

First:
 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title>   .</title> <pre style="white-space: pre-wrap"> <h1></h1> <a href=""> 1</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm#page2"> 2</a>    . <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm">  2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm">  </a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSsaAAoJEJWZfbVQs8PMTrEH/2us1Zpkz6l0+tvOo8xXOay+ B+3V5fjNqHIUfk+8qeG0s/0ftrPAEaBUaUeBujyrPggOm1pPaBtDD3oUeRsRhpaO 8PqV+Sz2qj5jtkPy7SDNj97mHJ3PV9hm35/rJf5LPI7F8fSyZV5+qC/GSGhTpN0P BpmTtxxW2HF7CHH4c5rNj7OqjR7OQAhsTxgwAhYox5euO8zZ6bqOwPKSGoE07Wgy qeNtRDFGIybpnvWpqkWVjO9ngv96b5no8WerZGIKDgqnchMHGhja5uN9OGr+iQCL voQN+Nj9MLZYToNlT3bm6j4Gb79sSbyueYFpuAtGH37qvufICV8dXUgoR4a3+oE= =/6up -----END PGP SIGNATURE----- 


The page is signed by the command:
 gpg --clearsign 


We check the signature with the command:
 gpg --with-fingerprint 


 gpg --with-fingerprint 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm gpg: 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm:      : t.asc gpg:   12/22/15 14:51:06 Russian Standard Time  RSA  ID 50B3C3CC gpg:    "ivan386 <magnet@ivan386.imtqy.com>" []   : D359 C4A5 D7B4 6DF7 A10D 5FDC 9599 7DB5 50B3 C3CC 


 "D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC" == base32_to_hex("2nm4jjoxwrw7piinl7ojlgl5wvilhq6m") 

Online converter

The signature now is one with the file.

The link to the second page looks like this:
 <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm#page2"> 2</a> 


Since the first page of the site is created before the second, we can not put a magnet on the second link. Therefore, a link to the site map is used with the id of the link to the second page.

Sitemap File Name:
 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm 


 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title> .</title> <style> :target{ diplay: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; } :target:before{ content: "   : " } </style> <pre style="white-space: pre-wrap"> <h1> : 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</h1> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm#magnet:?xt=urn:ed2k:6adb7b11137f776a6cdcb48502dd5d05&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm&xt=urn:bitprint:OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI&xt=urn:btih:c419daa9c44d1cb46799de3c41067346721e67ae" id="page1">   .</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm#magnet:?xt=urn:ed2k:e27b8ecd60ec9b6c5f72caafc5f74aee&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm&xt=urn:bitprint:SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI&xt=urn:btih:88de33aec8d839698b5a39285ee1d43ef6b19a8c" id="page2">   .</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm"></a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236" id="publickey">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSzBAAoJEJWZfbVQs8PM4JAIAItZh86ChU1mC2JHIPjDQvXk Q1yCx+0M/d4f2Pp0QVmsfR8rwxwTI75k0zeqVsEaBBclqWlr1qWXb9Lfoz9+0ksH rj4OJmvl42cLavFtn8zEXr7o7Ok11CPrvXZy2oVPc432rDsUDH584aChQbhlOyKf r92/troyM9ow1OHvlWJUyMGBUTFjproL2Ur2ZICjMp6HcKAsr7cRwDzGemYS5nXM JdrEOKRNXxKU6iFAHxVTke30vY7h9mzPQS8YGAAYCf+eIjFsqXh1aRB1ZVW/xuJe FXC0Cz5CMNXqYrCvPfjF/zCNh5sTpNTTi9uCkRxLHSfaBg2TTRo7zEJc12H7VUs= =Y+BA -----END PGP SIGNATURE----- # magnet:? xt = urn: ed2k: 6adb7b11137f776a6cdcb48502dd5d05 & xl = -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title> .</title> <style> :target{ diplay: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; } :target:before{ content: "   : " } </style> <pre style="white-space: pre-wrap"> <h1> : 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</h1> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm#magnet:?xt=urn:ed2k:6adb7b11137f776a6cdcb48502dd5d05&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm&xt=urn:bitprint:OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI&xt=urn:btih:c419daa9c44d1cb46799de3c41067346721e67ae" id="page1">   .</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm#magnet:?xt=urn:ed2k:e27b8ecd60ec9b6c5f72caafc5f74aee&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm&xt=urn:bitprint:SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI&xt=urn:btih:88de33aec8d839698b5a39285ee1d43ef6b19a8c" id="page2">   .</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm"></a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236" id="publickey">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSzBAAoJEJWZfbVQs8PM4JAIAItZh86ChU1mC2JHIPjDQvXk Q1yCx+0M/d4f2Pp0QVmsfR8rwxwTI75k0zeqVsEaBBclqWlr1qWXb9Lfoz9+0ksH rj4OJmvl42cLavFtn8zEXr7o7Ok11CPrvXZy2oVPc432rDsUDH584aChQbhlOyKf r92/troyM9ow1OHvlWJUyMGBUTFjproL2Ur2ZICjMp6HcKAsr7cRwDzGemYS5nXM JdrEOKRNXxKU6iFAHxVTke30vY7h9mzPQS8YGAAYCf+eIjFsqXh1aRB1ZVW/xuJe FXC0Cz5CMNXqYrCvPfjF/zCNh5sTpNTTi9uCkRxLHSfaBg2TTRo7zEJc12H7VUs= =Y+BA -----END PGP SIGNATURE----- = urn: bitprint: OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI & xt = urn: btih: c419daa9c44d1cb46799de3c41067346721e67ae" id = -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title> .</title> <style> :target{ diplay: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; } :target:before{ content: "   : " } </style> <pre style="white-space: pre-wrap"> <h1> : 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</h1> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm#magnet:?xt=urn:ed2k:6adb7b11137f776a6cdcb48502dd5d05&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm&xt=urn:bitprint:OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI&xt=urn:btih:c419daa9c44d1cb46799de3c41067346721e67ae" id="page1">   .</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm#magnet:?xt=urn:ed2k:e27b8ecd60ec9b6c5f72caafc5f74aee&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm&xt=urn:bitprint:SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI&xt=urn:btih:88de33aec8d839698b5a39285ee1d43ef6b19a8c" id="page2">   .</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm"></a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236" id="publickey">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSzBAAoJEJWZfbVQs8PM4JAIAItZh86ChU1mC2JHIPjDQvXk Q1yCx+0M/d4f2Pp0QVmsfR8rwxwTI75k0zeqVsEaBBclqWlr1qWXb9Lfoz9+0ksH rj4OJmvl42cLavFtn8zEXr7o7Ok11CPrvXZy2oVPc432rDsUDH584aChQbhlOyKf r92/troyM9ow1OHvlWJUyMGBUTFjproL2Ur2ZICjMp6HcKAsr7cRwDzGemYS5nXM JdrEOKRNXxKU6iFAHxVTke30vY7h9mzPQS8YGAAYCf+eIjFsqXh1aRB1ZVW/xuJe FXC0Cz5CMNXqYrCvPfjF/zCNh5sTpNTTi9uCkRxLHSfaBg2TTRo7zEJc12H7VUs= =Y+BA -----END PGP SIGNATURE----- # magnet:? xt = urn: ed2k: e27b8ecd60ec9b6c5f72caafc5f74aee & xl = -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title> .</title> <style> :target{ diplay: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; } :target:before{ content: "   : " } </style> <pre style="white-space: pre-wrap"> <h1> : 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</h1> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm#magnet:?xt=urn:ed2k:6adb7b11137f776a6cdcb48502dd5d05&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm&xt=urn:bitprint:OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI&xt=urn:btih:c419daa9c44d1cb46799de3c41067346721e67ae" id="page1">   .</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm#magnet:?xt=urn:ed2k:e27b8ecd60ec9b6c5f72caafc5f74aee&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm&xt=urn:bitprint:SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI&xt=urn:btih:88de33aec8d839698b5a39285ee1d43ef6b19a8c" id="page2">   .</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm"></a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236" id="publickey">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSzBAAoJEJWZfbVQs8PM4JAIAItZh86ChU1mC2JHIPjDQvXk Q1yCx+0M/d4f2Pp0QVmsfR8rwxwTI75k0zeqVsEaBBclqWlr1qWXb9Lfoz9+0ksH rj4OJmvl42cLavFtn8zEXr7o7Ok11CPrvXZy2oVPc432rDsUDH584aChQbhlOyKf r92/troyM9ow1OHvlWJUyMGBUTFjproL2Ur2ZICjMp6HcKAsr7cRwDzGemYS5nXM JdrEOKRNXxKU6iFAHxVTke30vY7h9mzPQS8YGAAYCf+eIjFsqXh1aRB1ZVW/xuJe FXC0Cz5CMNXqYrCvPfjF/zCNh5sTpNTTi9uCkRxLHSfaBg2TTRo7zEJc12H7VUs= =Y+BA -----END PGP SIGNATURE----- = urn: bitprint: SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI & xt = urn: btih: 88de33aec8d839698b5a39285ee1d43ef6b19a8c" id = -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 <meta charset="utf-8" /> <title> .</title> <style> :target{ diplay: block; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: white; } :target:before{ content: "   : " } </style> <pre style="white-space: pre-wrap"> <h1> : 2nm4jjoxwrw7piinl7ojlgl5wvilhq6m</h1> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm#magnet:?xt=urn:ed2k:6adb7b11137f776a6cdcb48502dd5d05&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page1.asc.htm&xt=urn:bitprint:OZCKN2HQSLCXH3ALOTHEFHOUTTM3KVUA.2ZNBFSZOJEBROWB32CMUFH2V64FPU5SLGFB4LVI&xt=urn:btih:c419daa9c44d1cb46799de3c41067346721e67ae" id="page1">   .</a> <a href="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm#magnet:?xt=urn:ed2k:e27b8ecd60ec9b6c5f72caafc5f74aee&xl=1458&dn=2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-page2.asc.htm&xt=urn:bitprint:SFHTWLRM5DDEJQ6LT5COOHTNYM2LAUQE.R6KIBSBC2QPQIDD6OTCXMXHOFQEFKATVMZ3P2GI&xt=urn:btih:88de33aec8d839698b5a39285ee1d43ef6b19a8c" id="page2">   .</a> <a href="" download="2nm4jjoxwrw7piinl7ojlgl5wvilhq6m-map.asc.htm"></a> <a href="D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc#magnet:?xt=urn:ed2k:933a52e5ede31f2c84df67794a6cd56e&xl=1736&dn=D359C4A5D7B46DF7A10D5FDC95997DB550B3C3CC.asc&xt=urn:bitprint:23ATOCUXA64AKIZQ5JAUYAM2XXEGGO2Y.WYUX7ID3KM7SMD3T6L6G7BJ3CCYW45IRWKSSZ7I&xt=urn:btih:a318690763710c6d9ce3a3de6f0b969d45bf9236" id="publickey">  </a> : -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCAAGBQJWeSzBAAoJEJWZfbVQs8PM4JAIAItZh86ChU1mC2JHIPjDQvXk Q1yCx+0M/d4f2Pp0QVmsfR8rwxwTI75k0zeqVsEaBBclqWlr1qWXb9Lfoz9+0ksH rj4OJmvl42cLavFtn8zEXr7o7Ok11CPrvXZy2oVPc432rDsUDH584aChQbhlOyKf r92/troyM9ow1OHvlWJUyMGBUTFjproL2Ur2ZICjMp6HcKAsr7cRwDzGemYS5nXM JdrEOKRNXxKU6iFAHxVTke30vY7h9mzPQS8YGAAYCf+eIjFsqXh1aRB1ZVW/xuJe FXC0Cz5CMNXqYrCvPfjF/zCNh5sTpNTTi9uCkRxLHSfaBg2TTRo7zEJc12H7VUs= =Y+BA -----END PGP SIGNATURE----- 


All internal pages of the site link to the map by passing in the hash the ID of the page to which the map should redirect. This will allow you to update information on the pages without losing connectivity between them. When updating, only the site map will change.

The card is signed and published anywhere (p2p, web, etc.).

Viewing the site is carried out by searching for the most recent map file, checking the signature and then you can download directly the site pages.

Magnet for test

direct link

After clicking on it, the site map will be loaded. Open it and click on the first page. After that, delete the part to magnet:? and press Enter. Your p2p client should download the first page of the site and similarly for the rest.

This is a test site. There are many ways to simplify the life of the visitor using JavaScript and IFrame, so that the magnet opens automatically if the page is not on the disk but it will be later.

The problem of torrents.



Site files are no longer dependent on the data transfer protocol and can be transferred even on flash drives to each other. The problem of torrents is that there is an additional entity, namely the torrent file. It can be lost in the exchange process and having the file we can not create a torrent on it with an identical info hash.

Solution One Torrent + HTML


The HTML page itself will include a torrent file. To do this, simply insert the page code in the torrent comment when creating. At the end of the comment we add
 <a href="" download="page.torrent"> </a> <plaintext style="display: none;"> 

This is a link to a torrent file and a tag that will hide the contents of the torrent file.

To the name of the received torrent add the extension htm

Solution two micro Torrent (not to be confused with a well-known client for the BitTorrent network)


This is a torrent file that is generated from the contents of the magnet link.
We will need:
  1. sha1 file hash
  2. file size
  3. the name of the file (as a completely emergency case, you can simply use the name "file")


The block size in the micro torrent is equal to the file size if it is larger than 16384 bytes. Thus, the sha1 block hash is equal to the sha1 file hash.

Micro torrent from magnet links can be generated using javascript or it can be generated by the torrent client.

make_micro_torrent
 function make_micro_torrent(file){ if (file.name && file.size && file.hash && file.hash.sha1){ var torrent = ["data:application/x-bittorrent;,d"] if (file.trackers && file.trackers.length>0){ torrent.push("8:announce") push_string(file.trackers[0], torrent) if (file.trackers.length>1){ torrent.push("13:announce-listl") for (i = 1; file.trackers.length>i; i++){ var tracker = encodeURIComponent(decodeURIComponent(file.trackers[i])) push_string(tracker, torrent) } torrent.push("e") } } torrent.push("4:infod") torrent.push("6:length") torrent.push("i") torrent.push(file.size) torrent.push("e") torrent.push("4:name") var name = encodeURIComponent(file.name) push_string(name, torrent) torrent.push("12:piece%20length") torrent.push("i") torrent.push(file.size < 16384 ? 16384 : file.size) torrent.push("e") torrent.push("6:pieces") var sha1 = file.hash.sha1 if (sha1.length < 40) sha1 = base32_to_hex(sha1); sha1 = sha1.replace(/[0-9A-Fa-f]{2}/g,"%$&") push_string(sha1, torrent) torrent.push("e") if (file.url && file.url.length>0){ torrent.push("8:url-listl") for (i = 0; file.url.length>i; i++){ var url = encodeURIComponent(decodeURIComponent(file.url[i])) push_string(url, torrent) } torrent.push("e") } torrent.push("e") return torrent.join("") } } 


This solution is suitable for small files that are usually web pages.

Forum



Each post in the forum is a separate HTML page in which, in addition to the post and the previous quote, there must be a combined link to the previous post. And also the signature of the author.

Message File Name:

 to-sha1-[msg_sha1_base32]-fp-[fingerprint_base32]-from-fp-[fingerprint-base32].asc.htm 


msg_sha1_base32 is a sha1 hash of the message file to which the author responds

If the message is first in the thread, then the to part is replaced with the title.

 title-   -from-fp-2nm4jjoxwrw7piinl7ojlgl5wvilhq6m.asc.htm 


You can also comment on the files:

 to-sha1-[file_sha1_base32]-from-fp-[fingerprint-base32].asc.htm 


Message files are simply shared in any way.

Magnet Internet 1 - Magnet
Magnet Online 2 - Hypertext
Internet Magnets 3 - P2P Website and Forum
Internet on magnets 4 - Divide the magnet into pieces
Internet Magnets 5 - Lighthouses and Messages (Personal, Public, and Updates)

Source: https://habr.com/ru/post/273713/


All Articles