Dweb - web publishing, RESTful web apps, versioned data and

You could open

http://10.0.0.21:44119/

Manually instead of being automatically redirected - that should work and you should see atlas (possibly you need to set the host to 0.0.0.0 to access it from externally - but since you saw the redirect / it got triggered you seem to be able to access it just as you configured it)

4 Likes

–host seems to only use the host for the main dweb server and app ports listen on localhost.

The only way I get this to work is.
Host A - Where my web browser is running
Host B - Where dweb is running

I start dweb on Host B with a specific port using --port, but leave it listening only localhost.
From Host A, I open an ssh tunnel that forwards the main dweb port to Host B.
From Host A, browse to the dweb open URL. Wait for the redirect (which will fail) and find the new port number to add
From Host A add the new port to the ssh tunnel setup
From Host A, reload the redirect URL

1 Like

I think this is the bug and hope to find time to sort it soon. When the main server (running on --host) spins up a new server for an app it should pass that --host parameter to the new server but presumably isn’t doing that. Hopefully a simple fix but I have some more work to do before I get to that.

Thanks for helping with this.

3 Likes

v0.10.1

Minor improvements:

  • support --chunk-retries which retries failed chunk uploads when set >0
  • rename --api-tries (was --tries), the number of times to call Autonomi APIs when they repeatedly return an error
  • fix support for custom host and port on dweb serve and dweb open

@storage_guy note the last one. Fingers crossed this will work as is. If you find time to try it please let us know how you get on. cc @ambled

Updating

Update either with:

cargo install dweb-cli

Or download the v0.10.1 build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

11 Likes

First feedback.

Can’t use 0.0.0.0 as --host, have to use the exposed IP address. 0.0.0.0 properly listens on all interfaces, however open reports to use 0.0.0.0 instead of guessing which ip address to use. fair

Altas loaded up just fine, but I have a strange friends experience where the UI loads, but no data.

For giggles, here is the dweb output for friends:

dweb serve --host 162.254.24.125
Dweb Autonomi client initialising...
DEBUG loaded wallet: REDACT
DEBUG     tokens: REDACT
DEBUG     gas   : REDACT
Max fee per gas set to: LimitedAuto(60000000)
-> public network evm-arbitrum-one
DEBUG Registered built-in DWEB-NAME: atlas -> 99e3b8df52814b379e216caf797426071000905a2cd93a9f5e90eef2b32517a9ec1ef0bfe27d79360014fd97639ac612
DEBUG Registered built-in DWEB-NAME: awesome -> 80ef65377028522309551ff549e015d82572b7ae306e029fce702ebffde4167c0b67049ad062174055fbb2526f237cc7
DEBUG Registered built-in DWEB-NAME: billboard -> b6da6740bc5394f9ac0e6a6fa5a42f7f587d3aeaa48fd23ae9a45bef95b571a32429b0353148aa9e04f17cd6da57d179
DEBUG Registered built-in DWEB-NAME: friends -> a447871043968be2be1628584026cad30b824009a30eab43db3ee6dd8c0990051c27160cc8d1662da763d57c41c091f6
DEBUG Registered built-in DWEB-NAME: scratchchat -> a27b3fdb495870ace8f91005223998dc675c8e1bceb50bac66c993bb720a013c9f83d7a46e6d0daecbb3530d5249e587
DEBUG Registered built-in DWEB-NAME: toast -> 95be239165b7016b7f6dada20134438e038d0456bff04ec37943e95742726854225aa03faeed4e7bbd96f5383a8f9448
dweb main server listening on 162.254.24.125:5537
DEBUG serve with ports HttpRequest : GET /dweb-open/v/friends
DEBUG /dweb-open/v/friends
DEBUG parse_versioned_path_params_with_as_name() v/friends
1:v 2: friends r:
version:None as_name: anonymous, address_or_name: friends remote_path:
DEBUG History::from_history_address(a447871043968be2be1628584026cad30b824009a30eab43db3ee6dd8c0990051c27160cc8d1662da763d57c41c091f6)
>>TRYING pointer_get(b04d00aaa4011fe75106f9490e62f40e6f6c1b254585a3601055b772fd97c1ccec6a4352f20376e7d0e1be946dda41b7) unlimited times:
DEBUG pointer counter: 10, head address: 9844aca8bcec90d13c42d949332edf0b383648a9996136b4b80ff71d9e6969d51aa575ba058f8ee9432b010224809f69
>>SUCCESS!
DEBUG INSPECT pointer_counter: 10
DEBUG INSPECT pointer_target : 9844aca8bcec90d13c42d949332edf0b383648a9996136b4b80ff71d9e6969d51aa575ba058f8ee9432b010224809f69
DEBUG from_history_address() returning History with num_entries: 11
DEBUG History::get_version_entry_value(version: 10)
DEBUG History::get_entry_value(index: 10)
DEBUG from_archive_address() at a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
DEBUG DualArchive attempting to deserialise as PrivateArchive...
DEBUG Retrieved PrivateArchive of 7 files
DEBUG Tree initialised using PrivateArchive
Started a dweb server listening on 162.254.24.125:36282 for version None at Some(HistoryAddress { owner: PublicKey(0447..37bc) }) -> a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
DEBUG req.full_url(): http://162.254.24.125:5537/dweb-open/v/friends
DEBUG scheme   : http
DEBUG port     : :36282
DEBUG response_redirect() redirecting to http://162.254.24.125:36282
DEBUG serve with ports HttpResponse: 303 See Other  (See Other)
DEBUG serve with ports HttpRequest : GET /
DEBUG www_handler(/)...
DEBUG our_directory_version:
            port: 36282
 history_address: Some(HistoryAddress { owner: PublicKey(0447..37bc) })
         version: None
 archive_address: a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
Splitting path '/'
...into '/' and ''
Looking for resource at '/'
Retrying for index file in new_resource_path '/'
DEBUG looking for a default INDEX file, one of ["index.html", "index.htm"]
DEBUG lookup_name_in_vec(index.html)
DEBUG lookup_name_in_vec(index.htm)
DEBUG: immutable data with eTag: "immutable-4963161524512289691-text/html"
DEBUG get_content_using_hex() calling data_get() with datamap_chunk: 81a54669727374939400dc0020172b0554ccc76813cca92a38ccf2cc8330ccf6ccb2ccfe52cc80050e124e6812cc89cc904b79ccdb777943dc00201864ccaeccb22b77ccf8cc8722ccc6cccdccaa55ccecccf3cc9c132bccbd19ccd03e28cce63bccacccb3cc95cc8529ccbdccc1ccee9401dc0020cccb1961ccbdccda4fccdeccd2cca931cc9b7eccdc79ccf013cc8567cc9c44ccdf7a51cc8562ccb0ccf6715fcce76a50dc0020ccbf10ccf5ccd4ccd1053ecc98ccb873cca32dccc1ccbeccacccbcccc24eccbbccb1cce5ccf561cccacc87ccb2ccebccf2531b14ccb8ccee9402dc0020ccbe1ecceb4a1bccf1cced15ccea053421cce5763eccf8cc9d15ccf5ccf605ccf7ccafccadcc8739ccd8ccec396fcca153dc0020cc9dccf4ccd2cc99cccf52ccfeccbccca06b3e3e0bcca6551fccd06345ccd8ccc7ccdccc80492fccd67a7dccb373ccd7cccbccee
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /_app/immutable/assets/bundle.B1SmwnQQ.css
DEBUG www_handler(/_app/immutable/assets/bundle.B1SmwnQQ.css)...
DEBUG our_directory_version:
            port: 36282
 history_address: Some(HistoryAddress { owner: PublicKey(0447..37bc) })
         version: None
 archive_address: a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
Splitting path '/_app/immutable/assets/bundle.B1SmwnQQ.css'
...into '/_app/immutable/assets/' and 'bundle.B1SmwnQQ.css'
Looking for resource at '/_app/immutable/assets/'
DEBUG Tree looking up 'bundle.B1SmwnQQ.css'
DEBUG lookup_name_in_vec(bundle.B1SmwnQQ.css)
DEBUG: immutable data with eTag: "immutable-516264717758678667-text/css"
DEBUG get_content_using_hex() calling data_get() with datamap_chunk: 81a54669727374939400dc002009ccedccd15fcc96ccc9ccf3732043ccf112cccf270fcc8e72ccfbccddccbccca5377e2dcc8bccf8ccf823cce4cc9162ccb5dc002034031f645b6a46ccfbcc9e7072cce62dccf8cc8663ccbe08cc896e53ccdf7eccf4ccec3f40cc873fccf5ccd9cccacd185a9401dc0020cca9ccbeccadccb52970ccd4621ecc975959596b226703cca0cce6cc92cc8d12492c12cc94cc8dcc84ccd81602ccd5dc0020cc856acca61454ccdb51cce2cceacca2cce3212601ccdb31cc8fcc9cccc0ccc2ccd5cce76325cca771ccb6ccd7042dcccdccaccd185a9402dc0020cc99ccf8cce71b096bcc880f2fccf5cc86ccb2ccf925ccebcc80ccaa33ccbd432253ccb8ccd7ccbacccc56cce632ccecccb567dc0020cc806a660c12475044ccf26accc9cc804bcc9822cca0ccbdcc8d5f66ccce5fcc84ccd43dccd836382269cc87cc88cd185c
DEBUG serve with ports HttpRequest : GET /_app/immutable/bundle.BL5wGiB4.js
DEBUG www_handler(/_app/immutable/bundle.BL5wGiB4.js)...
DEBUG our_directory_version:
            port: 36282
 history_address: Some(HistoryAddress { owner: PublicKey(0447..37bc) })
         version: None
 archive_address: a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
Splitting path '/_app/immutable/bundle.BL5wGiB4.js'
...into '/_app/immutable/' and 'bundle.BL5wGiB4.js'
Looking for resource at '/_app/immutable/'
DEBUG Tree looking up 'bundle.BL5wGiB4.js'
DEBUG lookup_name_in_vec(bundle.BL5wGiB4.js)
DEBUG: immutable data with eTag: "immutable-9370459302931017613-text/javascript"
DEBUG get_content_using_hex() calling data_get() with datamap_chunk: 81a54669727374939400dc0020ccd11457cc98cc97ccf751ccf2cc87ccc2ccda1cccf0cc83220645cc93cc9c640fcc90ccb01151cc83ccf1ccef03ccdccca1cccadc002057ccce05cc825e031209ccb60d4e25ccfb6bcce149093a147c5721ccf3ccff5730104a3477ccbb34cdd8ea9401dc002053cc9703ccbc4901cc9dcca3cc994b27ccbb33ccc3ccb158cceb69cca538ccf53fcc8a3f381d0accf6cc98716f49dc0020cceb07ccab00693ccca106ccaacca06bccb662ccb5cc8ecc93cc891a0eccd4701716cca749cc9fcc83cc9fcc8e1943ccc4cdd8ea9402dc0020ccc4ccc6cce1cc9120cc8fccc5484742cc8accd6cc895b31ccfa52ccf61c52ccbf476a39cc8accc4ccdb5d29cc94110bdc0020ccfa7a543b68cca26943ccbf0537ccab47cc9d2accf8ccd7cc943c512ecca4cc93ccfeccf76f0e62ccbf4769ccdecdd8ea
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG serve with ports HttpRequest : GET /favicon.png
DEBUG www_handler(/favicon.png)...
DEBUG our_directory_version:
            port: 36282
 history_address: Some(HistoryAddress { owner: PublicKey(0447..37bc) })
         version: None
 archive_address: a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
Splitting path '/favicon.png'
...into '/' and 'favicon.png'
Looking for resource at '/'
DEBUG Tree looking up 'favicon.png'
DEBUG lookup_name_in_vec(favicon.png)
DEBUG: immutable data with eTag: "immutable-14059872909897154169-image/png"
DEBUG get_content_using_hex() calling data_get() with datamap_chunk: 81a54669727374939400dc0020cce067ccdacc952bccafccd1cc9ecce0cce52a35ccdd67cc9833682e72cceccc9ccca1ccc6cc9e076a08ccda75ccb174cce3dc00203d53cce2771ccc894e1dccb3cc9c65cca73673cce34cccf7ccc1cce9170c6ecc88cc892839ccc7ccb2ccce02ccaecccace00012a059401dc0020ccd972354accd9cce7cc8a650accd5cc9ccccaccb157ccbe6b1b487fccd6325812ccaacc871d2a45ccafccfcccc8ccbddc00203d774bccac34ccb83511ccab2f3dcc91294821ccb8ccabccd112ccf0495acca828ccdbcc9402ccbecccfccf7ccc2ccbace00012a059402dc0020cca9ccf05d447407ccd0ccd0ccac7873cc80ccaf7cccc03035cc8acca06b2acc9f461d3b64cca9cc831ccce4ccb5ccd6dc0020ccd6ccf1076accb078ccd618cc873ccca52dcc93cc9555cccb7a76ccdf65ccea5d4bccfeccf6ccbb49ccd57e600806ce00012a07
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/data/8b383229ec360839182ce85e510596145ba6e3cecaa69a130cc5e96f5d1ad8a5
DEBUG /ant-0/data/8b383229ec360839182ce85e510596145ba6e3cecaa69a130cc5e96f5d1ad8a5
DEBUG serve with ports HttpRequest : PUT /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
>>TRYING scratchpad_private_put() unlimited times:
DEBUG serve with ports HttpResponse: 200 OK
DEBUG: immutable data with eTag: "immutable-8b383229ec"
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/data/13957eee2e36b8f7af7eab69f7bdc6eacf0b3ce3735c3d64873a4be8bc36b84c
DEBUG /ant-0/data/13957eee2e36b8f7af7eab69f7bdc6eacf0b3ce3735c3d64873a4be8bc36b84c
DEBUG serve with ports HttpRequest : GET /favicon.png
DEBUG www_handler(/favicon.png)...
DEBUG our_directory_version:
            port: 36282
 history_address: Some(HistoryAddress { owner: PublicKey(0447..37bc) })
         version: None
 archive_address: a5d9bfd7b1dba4ad8fcd872804fd5a00e0c17d15864cfa5cfe8d16b95c39baaa
Splitting path '/favicon.png'
...into '/' and 'favicon.png'
Looking for resource at '/'
DEBUG Tree looking up 'favicon.png'
DEBUG lookup_name_in_vec(favicon.png)
DEBUG: immutable data with eTag: "immutable-14059872909897154169-image/png"
DEBUG ETAG COMPARING: "immutable-14059872909897154169-image/png" and "immutable-14059872909897154169-image/png"
DEBUG serve with ports HttpResponse: 304 Not Modified  (Not Modified)
DEBUG: immutable data with eTag: "immutable-13957eee2e"
DEBUG serve with ports HttpResponse: 200 OK
>>SUCCESS!
DEBUG scratchpad_private_put() stored private Scratchpad on the network
DEBUG MutateResult as JSON: "{\"dweb_type\":\"PrivateScratchpad\",\"rest_operation\":\"/scratchpad-private PUT\",\"status_code\":200,\"status_message\":\"success\",\"cost_in_ant\":\"0.0\",\"cost_in_arb_eth\":\"0.0\",\"file_name\":\"\",\"full_path\":\"\",\"object_name\":\"\",\"network_address\":\"\",\"data_map\":\"\"}"
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-public
DEBUG /ant-0/scratchpad-public
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: Some("comm"), owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-public GET failed to decrypt scratchpad data failed - Failed to derive CipherText from encrypted_data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
DEBUG serve with ports HttpRequest : GET /ant-0/scratchpad-private
DEBUG /ant-0/scratchpad-private
DEBUG process_mutable_type_header_and_query_params()
DEBUG parse_app_id_header_params()
DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: None, owner_secret: None, type_derivation_index: None, app_id: Some("friends") }
DEBUG /scratchpad-private GET successfully decrypted scratchpad data
DEBUG serve with ports HttpResponse: 200 OK
1 Like

I am thinking of using dweb within the colony GUI to enable auto-loading dweb based web applications when they are clicked on. I’d rather not have dweb be a separate application that the user has to deal with and install. Single click, install, done. Any tips on how I can get this functionality into colony using dweb as a library?

2 Likes

Time for ELI5 a I’m afraid. You’re dealing with a novice in this area.

I’d love to support this and we’re on the same page regarding one click etc.

For now I don’t think you’re going to get this as a lib, so maybe do this the bad way for now and we can work towards a library for this and other REST endpoints.

That’s the idea behind the community doc I published so it may be worth adding something about this if you think I’ve not covered it adequately.

FYI I’ve begun implementing the changes for the path outlined there and hope others will too.

4 Likes

v0.10.2

  • updated to Autonomi v0.5.1 which was the easiest yet. A good sign!
  • a big change coming for developers - see below
  • a fix to dweb open when you include a path

Updating

Update either with:

cargo install dweb-cli

Or download the build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

Developers

Please publish updates to your dweb REST apps before the end of August.
cc @riddim @Josh @safemedia @zettawatt

Developers of apps using the dweb REST APIs should note that the current /ant-0 routes have been DEPRECATED in this release.

Identical routes now exist on /dweb-0 so please update your web apps to use only /dweb-0 routes as soon as possible. This change is a step towards a unified set of routes for Autonomi REST servers which are aligning with the collaborative approach described in the community document Third party REST APIs. Later, new `/ant-0’ routes will be supported in accordance with that document.

A future release (not before end August 2025) will remove the existing /ant-0 routes so please update, test and publish your updated apps before that date.

11 Likes

v0.10.4

A bugfix which affects any uploading (dweb publish) using dweb.

Thanks to @riddim for finding and providing a fix!

Updating

Update either with:

cargo install dweb-cli

Or download the corresponding build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

6 Likes

Are there binaries for v0.10.4 available? I looked for them, but I don’t see them in the releases. Also, the ā€˜latest’ release is pointing to v0.10.2. All that said, I suppose you’ll be working on a v0.10.5 soon with the new autonomi crate release?

3 Likes

0.10.4 is building now, sorry!

Might be updating again today for latest Autonomi.

3 Likes

As @zettawatt predicted v0.10.5 is building now and will be available shortly…

v0.10.5

Updates to Autonomi v0.5.2

Updating

Update either with:

cargo install dweb-cli

Or download the corresponding build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

5 Likes

Amazing! The Mac version is working fine.

3 Likes

v0.10.6

  • adds REST API /dweb-0/wallet-balance to get ANT and ETH balances (due to popular demand, well @riddim is a popular chap :rofl:)
  • fixes a bug which stopped some /dweb-0 APIs from being found (which nobody noticed, including me :thinking:)

Updating

Update either with:

cargo install dweb-cli

Or download the corresponding build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

(Building now and will be available shortly)

7 Likes

v0.10.7

  • update to Autonomi v0.5.3 with client side improvements

If you try this update please report your experiences. There are no changes to dweb itself, just an update to get the latest Autonomi improvements for uploading and downloading.

Updating

You can download the corresponding build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

(you may have to wait a few minutes for these to build - come back and hit Ctrl-R or F5)

Alternatively if you have Rust update using:

cargo install dweb-cli

If that gives an error, try:

cargo install --locked dweb-cli

EDIT: this has been published to crates.io but there’s a delay in them updating their registry

9 Likes

Tested with the Mac binary ``dweb-darwin-arm64
``

and we have a winner!

5 Likes

v0.10.8

  • works around ā€œfake forkā€ bug in the Scratchpad API (should improve Friends & Atlas etc)

Updating

You can download the corresponding build for Windows, Mac or Linux at the link below, and see this post for help using this on Windows:

(you may have to wait a few minutes for these to build - come back and hit Ctrl-R or F5)

Alternatively if you have Rust update using:

cargo install dweb-cli

If that gives an error, try:

cargo install --locked dweb-cli

9 Likes

The Mac version dweb-darwin-arm64 is working perfectly! Whatever you did to resolve forks has revitalised Atlas and Friends for me. A Tuesday night tip of the hat to you sir!

8 Likes

It says here you haven’t been seen for weeks…

Im no happy with my status : No connections Not requested…

@riddim - I just got an error msg in German there but it disappeared before I could copy it. Account package not found, possibly??

Im on the latest dweb FWIW.

Now seeing a few messages like this in dweb serve output

more at dweb serve output - Pastebin.com


1. DEBUG process_mutable_type_header_and_query_params()

2. DEBUG parse_app_id_header_params()

3. DEBUG REST request ParsedParams: ParsedRequestParams { tries: 0, object_name: Some("b895d488ca130cc2f08b813695b2ddc435d7116f9c9a925db75c3b70b0e7e91c065c5800d7ac4334021cc4f2e30fe863comm96ad9f5922ea0416f6ff9e05a5c4bda1bddfc5f906338555efda7d91421ec29b8d9da4d8425a956d9d91cca848273560"), owner_secret: None, type_derivation_index: None, app_id: Some("friends") }

4. DEBUG /scratchpad-public GET failed to decrypt scratchpad data failed - Failed to derive CipherText from encrypted_data

5. DEBUG serve with ports HttpResponse: 200 OK

Tried sending you a message, but I can’t seem to get it to connect. Are you able to send me something?

Friend’s ID: 8b6bf2d303c95fce4c5c9e17913c469b99d5eb8804e010428c1a160ac95326d6f09de11f7385779d97c8201415a5f659

2 Likes