serve http on localhost and open default browser without toolbar - browser

Is there a crossplatform way to open the default browser without a toolbar and point it to localhost, where my app will serve http?
eg in C++, python, golang or java?

On OSX, you can download the chrome-cli:
brew install chrome-cli
chrome-cli open <url> (Open url in new tab)
chrome-cli open <url> -n (Open url in new window)
chrome-cli open <url> -i (Open url in new incognito window)
chrome-cli open <url> -t <id> (Open url in specific tab)
chrome-cli open <url> -w <id> (Open url in new tab in specific window)
On Linux, you will need xdg-open:
sudo apt-get install xdg-open
xdg-open open <url> (Open url in new tab)

Related

lftp pget 401 Unauthorized

Yo
I'm trying to download a file from DigitalBlasphemy.com using lftp and pget on cygwin on windows.
Now, the usual route involves logging in to the website via web browser (It asks for username and password).
When I try to use lftp's pget command to download the file, lftp just farts out with "401 Unauthorized". How can I provide the relevant credentials to my command?
You have to edit the url of the file you are downloading.
For example instead of
pget https://example.com/directory-structure/filename.ext
you have to do
pget https://username:password#example.com/directory-structure/filename.ext

Set home page in chrome using terminal command

I need to open a chrome browser (with full screen + localhost:8080) just after login in Debian 8.0 and I am partially able to achieve same with below command-
#!/bin/bash
sensible-browser 127.0.0.1:8080 ---- this opens the browser with the URL
sensible-browser --kiosk 127.0.0.1:8080 ---- this opens the browser in full screen but not with the URL
I am thinking of alternate approach that if I can set browser default page using command then above line can work to open browser in full screen but don't know how to do it.
Please help. Thanks in advance!
This behavior is due to the sensible-browser command. If you look inside the script (probably at /usr/bin/sensible-browser) you may see that this script takes only the first argument.
You can get the expected behavior by running the Chrome executable, usually named google-chrome.
Either google-chrome '127.0.0.1:8000' --kiosk or google-chrome --kiosk '127.0.0.1:8000' will work properly.

How to change an opened safari browser url from terminal?

After running the command open -a safari http://localhost:9090 in terminal, I would like to change the opened safari url to a relative address like javascript:foo();, but I couldn't run this url, from the command line, without opening a new safari browser.
You can use applescript for this:
osascript -e "tell application \"Safari\" to set URL of the front document to \"http://www.google.fr\""

Unsafe attempt to load URL Nodejs res.send

I am trying to send xml via NodeJs. My code is
res.set('Content-Type', 'application/xml');
res.send(body);
But chrome says
Unsafe attempt to load URL http://localhost:3030/my-file.xml from frame with URL http://localhost:3030/my-file.xml. Domains, protocols and ports must match.
How can I fix this?
This doesn't work is due to a security concern that Chrome has blocked XML files from accessing local files in the same directory, while HTML files can access.
Workaround:
On Windows: from the command prompt run
C:\Users\USERNAME\AppData\Local\Google\Chrome\Application\chrome.exe --allow-file-access-from-files
(replacing USERNAME with your username)
On Ubuntu:
for chromium browser type
chromium-browser --allow-file-access-from-files
for google chrome
google-chrome --allow-file-access-from-files
Maybe you have to kill all running windows processes for chrome.exe in the windows task manager.

Download file/folder from sharepoint using Curl/Wget automatically

I have been trying to use Curl and wget to download file from Sharepoint. I am planning to make it as Script which runs automatically everyday and download the file from URL.
I tried using CURL with following command
curl -O --user Myusername:Mypassword https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
But it gave me error about SSL connection. I got to know that there is some existing bug in CURL 7.35 So i downgraded it to 7.22. But still gives me same error.
I also tried using Wget
wget --user=Myusername --password=MyPassword --no-check-certificate https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
But it still gives me error -- Unable to establish SSL connection
Can someone please let me know how i can accomplish my task
UPDATE
I was able to resolve the error in CURL. Below is the command that i gave
curl -O -L --sslv3 -A "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13" --user Myusername:Mypassword 'https://OurDomain.sharepoint.com/_%7BB21r-9CA2-345DEF%7D&file=IPS_cleaned.xlsx&action=default'
Now what it downloads is a file, which when i open it shows me Login page of Sharepoint. It does not download the actual excel file.
Any reason?
Another potential solution to this involves taking your sharepoint link and replacing the text after the '?' with download=1:
This:
https://my.sharepoint.com/:u:/g/XXX/XXXX-bunchofRandomText?e=kRlVi
Becomes this:
https://my.sharepoint.com/:u:/g/XXX/XXXX-bunchofRandomText?download=1
Now, you can just:
wget https://my.sharepoint.com/:u:/g/XXX/XXXX-bunchofRandomText?download=1
*Note, this example used a single file and a link where anyone with the link could access the file (no credentials required)
Please use rclone
Download and install the latest one from https://rclone.org/downloads
First option: Use OneDrive to access SharePoint sites/personal folder. This option will help you to upload large files.
1.create rclone configurations using the rclone config command
2.Select New remote and give a name
3.Select cloud storage OneDrive
4.Leave client ID and secret as blank
5.Edit advanced config: n
6.Remote config: Use auto-config: y
7.Open the URL on the browser and give access to rclone
8.Select personal/shared site URL option
8a.Shared site URL option you have to give the site URL. ie; https://sharepoint.com/sites/SiteName
9.Select personal/Documents drive. Documents drive will show if you selected the shared site URL option in the 8th step
Save config and quit
And the configuration file contents will be like the following. If you selected the Personal option drive type will be personal.
[onedrive]
type = onedrive
token =
drive_id =
drive_type = documentLibrary
Second option: In this option, you can upload up to 2 GB-sized files.
1.create rclone configurations using rclone config command
2.Select New remote and give a name
3.Select cloud storage WebDAV
4.Give site URL, username and password
5.Save and quit
And the configuration file contents will be like the following. Password will be in an encrypted format.
vim /root/.config/rclone/rclone.conf
[sharepoint]
type = webdav
url = https://sharepoint.com/sites/SiteName/Documents
vendor = sharepoint
user =
pass =
Download a file from SharePoint.
rclone copy --ignore-times --ignore-size --verbose sharepoint:SourceFolder/file.txt DestFolder
Firefox plugin that captures the link with session ID etc.. and it provides a command you could paste in the console for curl or wget.
If anyone has a better suggestion please let me know.
It gives you a curl or wget command with headers, cookies and all, with a copy to clipboard button, right on the download dialogue.
Download URL: https://addons.mozilla.org/en-US/firefox/addon/cliget
Reference: https://superuser.com/questions/27243/how-to-find-out-the-real-download-url-on-download-sites-that-use-redirects/1239026#1239026
Struggled with the same issue myself, and had my not-so-automatic-but-man-so-convenient way, with a daily log-in.
logged into Sharepoint with a browser,
exported the cookie,
run the following command.
wget --cookies=on --load-cookies cookies.txt --keep-session-cookies --no-check-certificate -m https://yoursharepoint.com
And files were downloaded just fine.
For anyone using CURL to download a file on Sharepoint with an "Anyone with the link" download option. Below are the steps I had to follow to download. Essentially you have to use the cookie from the share link, and then download the file from a different download link they don't provide easily for you.
When sending the CURL command for the “share link” it returns a 302 message, a forward link, and a cookie. If we save that cookie and use it to hit a “download” link I am able to download the file. Essentially, Microsoft uses the initial “share link” to send the cookie to the browser, and then redirect to their “View File” website. On that website you need to use the cookie provided (authentication), and select your next function (On screen view, print, download, etc). When you click the download button you hit a different link. I was able to find this link by going to the "view page" website for the file/link, turning on developer tools, and watching the link the browser follows when hitting download. You can then replicate that link for each file. If we use that download link along with the cookie, we can download the file.
curl -i -c cookies.txt SHARE LINK
curl -o docsdownloaded.pdf -b cookies.txt DOWNLOAD LINK
Share Link Ex: https://tenant.sharepoint.com/:b:/s/Folder/EdNUf4xAVzFJgBoO0MqkfppR5tgobxLrmCnRqU4LFJQ?e=rOGNSD
Download Link Ex:https://tenant.sharepoint.com/sites/Folder/_layouts/15/download.aspx?SourceUrl=%2Fsites%2FFolder%2FShared%20Documents%2FGeneral%2FBig%2Dfile%2Epdf
Similar to the answer Zyglute gave, using cURL:
You can export your login cookie using the cookies.txt Chrome extension: https://chrome.google.com/webstore/detail/njabckikapfpffapmjgojcnbfjonfjfg
Then use the following code:
curl -b cookie.txt https://OurDomain.sharepoint.com/_XXX&file=IPS_cleaned.xlsx&action=default
At some point your Sharepoint session will expire (not sure how long that takes), and you will need a new cookie file.
EDIT: If a malicious user gets a hold of your cookie.txt, they could get into your SharePoint account, so be sure to keep it safe.
Use wget adding &download=1 at the end of the link.
wget "<yourlink>&download=1"
it will be download with <yourlink> string as name, then just mv with the correct name after.

Resources