first commit
This commit is contained in:
commit
b37a4272fc
27
README.md
Normal file
27
README.md
Normal file
@ -0,0 +1,27 @@
|
||||
# Microsoft Spotlight for GNU/Linux distros
|
||||
Just set your display manager's login greeter's background to use the image set in this script's WALLPAPER variable (or vice versa) and put the script in the startup :)
|
||||
|
||||
E.g.: For lightdm you would have to edit /etc/lightdm/lightdm-gtk-greeter.conf to use /opt/login-background.jpg
|
||||
|
||||
## About the MS Spotlight API
|
||||
|
||||
The Spotlight API is located on the following endpoint:
|
||||
|
||||
`https://arc.msn.com/v3/Delivery/Cache?pid=209567&fmt=json&rafb=0&ua=WindowsShellClient%2F0&disphorzres=9999&dispvertres=9999&lo=80217&pl=en-US&lc=en-US&ctry=us&time=2017-12-31T23:59:59Z`
|
||||
|
||||
Where the expected arguments are:
|
||||
- `pid` : Purpose currently unknown
|
||||
- `fmt` : Output format, e.g. `json`
|
||||
- `rafb` : Purpose currently unknown
|
||||
- `ua` : Client user agent string
|
||||
- `disphorzres`: Screen width in pixels
|
||||
- `dispvertres`: Screen height in pixels
|
||||
- `lo` : Purpose currently uknown
|
||||
- `pl` : Locale, e.g. `en-US`
|
||||
- `lc` : Language, e.g. `en-US`
|
||||
- `ctry` : Country, e.g. `us`
|
||||
- `time` : Time, e.g. `2017-12-31T23:59:59Z`
|
||||
|
||||
The JSON response contains details about 6-7 images including image url, title, sha256, ads, etc.
|
||||
|
||||
Spotlight API URL was originally found in this [file](https://github.com/KoalaBR/spotlight/blob/3164a43684dcadb751ce9a38db59f29453acf2fe/spotlightprovider.cpp#L17), thanks to the author for their findings!
|
27
spotlight.sh
Normal file
27
spotlight.sh
Normal file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
#
|
||||
# spotlight.sh
|
||||
#
|
||||
# Diogo Cordeiro
|
||||
# www.diogo.site
|
||||
#
|
||||
|
||||
sleep 5
|
||||
ping -q -c 1 -W 1 8.8.8.8 >/dev/null || exit
|
||||
|
||||
WALLPAPER="/opt/login-background.jpg"
|
||||
API="https://arc.msn.com/v3/Delivery/Cache?pid=209567&fmt=json&rafb=0&ua=WindowsShellClient%2F0&disphorzres=9999&dispvertres=9999&lo=80217&pl=en-US&lc=en-US&ctry=us&time="
|
||||
TIME=$( date '+%Y-%m-%dT%H:%M:%SZ' )
|
||||
|
||||
while [ ! -s "$WALLPAPER.new" ]
|
||||
do
|
||||
REQUEST_RESULT=$( curl --silent "$API$TIME" -H 'Host: arc.msn.com' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' )
|
||||
for j in `grep -Eo "landscape.{56}https:.{51}binary.{9}" <<< $REQUEST_RESULT | grep -Eo "https:.{51}binary.{9}"`
|
||||
do
|
||||
j=$( sed "s@\\\\@@g" <<< $j )
|
||||
curl --silent $j > "$WALLPAPER.new"
|
||||
done
|
||||
done
|
||||
|
||||
mv "$WALLPAPER.new" "$WALLPAPER"
|
Reference in New Issue
Block a user