IPNS, no link named "xxxx" under "hash" - http

I am using IPFS and IPNS to populate my website with data. Pulling json files via HTTP works great, but when I try to pull .jpg file from my IPNS published IPFS directory, I get an error.
https://ipfs.io/ipns/k51qzi5uqu5dkmn6qn85a4cxy1lji61a7tbiirmdbkae4ay9hd16qtp3qgatzh/picutres/marko.jpg
This is the link I am trying to put in src attribute inside of an img tag. Andd.... I get the following message:
ipfs resolve -r /ipns/k51qzi5uqu5dkmn6qn85a4cxy1lji61a7tbiirmdbkae4ay9hd16qtp3qgatzh/picutres/marko.jpg: no link named "picutres" under QmdkGNpfKBfbZhMNvbfMdHf21zwkEkyr7tnMPWuqYXM9Vw
It won't route to that file... But, the file is there, if you go first to the https://ipfs.io/ipns/k51qzi5uqu5dkmn6qn85a4cxy1lji61a7tbiirmdbkae4ay9hd16qtp3qgatzh through the gateway in the browser and manually locate the file it will route to it and retrieve it.
I am not using js-ipfs, since I want to reduce my bundle and complexity of the website, since it really doesn't require js-ipfs.
How can I solve this?? :(

easy one to answer you have a typo instead of 'pictures' you have 'picutres' as the error message says.
no link named "picutres"
basically this error message tells you that no folder with that name exists. You should check spelling.

Related

How to access html file inside iframe in production

I am creating a web app where, this app will generate a .html file in public/ directory. And after that i want to show that generated html file on a page using iframe .
I am using NextJS for this task. I have configured next.config.js for rewrites but getting 404 error. I am using Railway for hosting. Since in Vercel we can not access filesystem here.
Instead of generating html dynamically, if I upload that .html file, then i can access that file using iframe in production.
I think we can not access those files which were not available during build process. (this is my guess , maybe wrong)
How can I solve this problem or should I use another framework ?
Thanks
Since I was accessing .html files (i.e <iframe src="path-to-file"></iframe>) which were not available during build process, that's why i was getting 404 error.
So I did the following thing:
suppose I want to do this <iframe src="/pdf/page01.xhtml"></iframe> where file location is in public/pdf/page01.xhtml.
so this src is sending a GET request to localhost:3000/pdf/page01.xhtml.
To manipulate this request I created a pages/api/pdf/[...slug].js. In this file you can use process.cwd() to access the file inside your public dir. You read file content using fs.readFile and send the response res.status(200).send(data) like this.
By doing this I was getting the desired result.
Suggestions are always welcome.

How can I enable directory listing for a nexus3 raw repository?

In the past I was able to view the contents of my raw repository to which I upload my javadoc sites (through dav:http:// using mvn site-deploy):
e.g. Accessing from the browser: http://myserver/nexus/content/sites/my-raw-repository/ would list the subdirectories.
Now (after admin upgraded to nexus 3.20) directory-listing does not work and I have to explicitly request for a resource page e.g.:
http://myserver/nexus/content/sites/my-raw-repository/artifact-site-name/1.0.0/apidocs/index.html
Is there a way to bring back the directory listing?
This closed issue says that nexus3 supports it, but I cannot figure out how.
I found the issue. The repository browser url is now differrent.
content/sites has become: service/rest/repository/browse.
(The old path is still available but with no directory listing. Based on the findings below, I guess it is deprecated)
I went to the browse left-menu-option -> select the raw repository -> clicked on the Html View link and it took me to the correct location.
The new link is now: http://myserver/nexus/service/rest/repository/browse/my-raw-repository/
Something noteable is that now when reaching the actual resource file (e.g. html),
that resource file link is differrent: http://myserver/nexus/repository/my-raw-repository/path/to/the/htmlpage.html
so instead of service/rest/repository/browse/my-raw-repository/ it is repository/my-raw-repository/ (which also does not support directory listing)

Ask in a web form for the path of a file accessed from a user's computer

In a web form (aspx) I want to ask the user for the path of a file that needs to be used by one of our team.
At first it was a simple textbox but a lot of people send us wrong path (copy/paste seemed too hard for them).
So I tried to use an input file to be sure the path exists but noticed that the file is then send with the form. As the files can weight hundreds of Mb that was not acceptable.
Then I found a way with Jquery to use the input file to get the path of the file without sending it : it works fine on IE but Chrome translate the path in "fakepath". I understand that it is for security reasons.
So I am again looking for a solution, working on all browser, to get from the user the path of a file (with a specific extension) without him being able to write a wrong path.
I hope someone will have the brillant idea I am unable to find :-).
How about receiving only a few kilobytes of the file data from stream instead of the whole file to ensure the path points to a valid file.

Is there a way to download a PHP/ASP/whatever source code without processing it, as plain text?

Suppose the URL http://example.com/test.php. If I type this URL on the browser address bar, the PHP code is executed, and its output is returned to me. Fine. But, what if instead of executing it, I wanted to view it's source as plain text. Is there a a way to issue such request?
I believe that there must be some way, and my concern is that some outsider could retrieve sensitive code, such as configurations file, by guessing it's location. For example, Joomla instalations have a configuration.php on it's root folder. If someone retrieves such file as plain text, then these database credentials have been seriously compromised. Obviously, this could be prevented with proper permissions, but it's just too common to just issue 0777 as everything permissions and forgetting about access denials.
For PHP: if properly configured, there is no way to download it. File permissions won't help either way, as the webserver needs to be able to read the files, and that's the one serving contents. However. a webserver can for instance be configured to serve them with x-httpd-php-source, or the PHP/webserver configuration may be broken. Which is why files which don't need direct access (db config, class definitions, etc.) should be outside the document root, so there is no way those files will get served by accident even when the webserver config is incorrect / failing. If your current hoster does not allow you to store files outside the document root, switch hosting a.s.a.p.
There is a way to issue such request that downloads the source code of http://example.com/test.php if the server is configured to provide a URL to do so. Usually it isn't, so usually there is no way to issue such a request.

GET and .xq files

When using exist-db, a GET message will obtain an entire file from a collection (by providing the URI). In the case of a .xq file, however, the same GET message will instead execute the file.
I am wondering if there is anything I can attach to a GET message to cause exist-db to return the file rather than execute it. I should have all the necessary permissions, or I should be able to set them.
Thank you.
Assuming you are running eXist as a stand-alone server:
"GET accepts the following request parameters, which must be URL-encoded" _source=yes | no - which "Specifies whether the query should display its source code instead of being executed" - see the developers guide online for full details & example usage.
eXist sets this capability to 'no' as default in it's config - however you can override this permanently by adding specific files to the <allow-source></allow-source> section in the Web-application Descriptor file (descriptor.xml) read from WEB-INF directory of the web application or from the directory specified by the exist.home system property.
Hope that helps.

Resources