Portable Browser Installer

Browsers, email, chat, etc.
Message
Author
User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

Re: Portable Browser Installer

#21 Post by rufwoof »

jrb wrote:The installs are now truly portable in that the profiles are contained in the portable directories and will be maintained from Puppy to Puppy.
Browsers are a common weak point attack vector for crackers. A potential common cracked browser that is persistent (across reboots) being shared across multiple/different boots isn't good practice. Better to run with a clean rebooted version, as good as factory fresh upon initially being started/loaded - which generally means having it stored within 'Puppy space'.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

wiak
Posts: 2040
Joined: Tue 11 Dec 2007, 05:12
Location: not Bulgaria

Re: Portable Browser Installer

#22 Post by wiak »

rufwoof wrote:
jrb wrote:The installs are now truly portable in that the profiles are contained in the portable directories and will be maintained from Puppy to Puppy.
Browsers are a common weak point attack vector for crackers. A potential common cracked browser that is persistent (across reboots) being shared across multiple/different boots isn't good practice. Better to run with a clean rebooted version, as good as factory fresh upon initially being started/loaded - which generally means having it stored within 'Puppy space'.
If you have, say, four different often used distributions, each with their own browser, that means four browsers you have to be careful with in terms of security and corruption. If you share one external browser between all four distros at least you only have to worry about that one browser. You coul make it a read-only install with configs/caches etc going to RAM and has advantage can be updated browser rather than old one provided by distro. But, yes, the 'portable' browsers generally discussed are read/write since saving their configs/caches in portable install folder.

wiak

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

Re: Portable Browser Installer

#23 Post by jrb »

rufwoof wrote:
jrb wrote:The installs are now truly portable in that the profiles are contained in the portable directories and will be maintained from Puppy to Puppy.
Browsers are a common weak point attack vector for crackers. A potential common cracked browser that is persistent (across reboots) being shared across multiple/different boots isn't good practice. Better to run with a clean rebooted version, as good as factory fresh upon initially being started/loaded - which generally means having it stored within 'Puppy space'.
I agree, but how many Puppy users are willing to give up the ability to Bookmark, to set their own homepage, to install extensions, to make and save any changes they want?

A profile saved in "Puppy space" is no more secure than one saved on the harddrive unless it is fixed and loaded to ram "fresh" every time. This is in fact how I run my browsers, but it means that anytime I want to make changes to it I have to start fresh, immediately make my changes, shutdown the browser, extract my custom sfs, replace the old profile with the new one. Resquash the sfs and reboot. For this reason I don't use bookmarks, I email links to myself. For the ones I use all the time I have built my own homepage.html with my 40 favourite links.

Puppy is supposed to be easy for newbies. Portable Browser Installer is supposed to be easy for newbies. With that ease comes some risk. Such is life.

My 2 cents (Canadian, although we don't have pennies or nickels anymore)

Cheers, J

@wlak - good point about reducing risk by sharing profiles between Puppies. Maybe a howto on backing up a clean profile and restoring would be a good idea.

User avatar
Mike Walsh
Posts: 6351
Joined: Sat 28 Jun 2014, 12:42
Location: King's Lynn, UK.

#24 Post by Mike Walsh »

@ jrb/wiak/all:-

'Common' profiles have been a fact of life for me for around 4 years, now.

It's a simple proposition with the 'portable'-browsers (a term I will continue to use, despite B.K.Johnson's anguished objections!) - sermon begins here, linked from here :roll: - given that with these, the whole thing (browser, profile & everything else) is in one-self-contained package. And thus easy to move around, of course.

Prior to this, I adapted a process which davids45 had been using for some time; the creation of a remote data partition, with an entire Linux file-system replicated within it, items I wished to share between Puppies located in their relevant locations, and everything sym-linked across to their counterpart in each Pup. Given that I run 3 or 4 different browsers in each of around 8-10 Pups at any point in time.....somewhere in the region of 6-7 GB in total.

I'm not short on resources; plenty of RAM, loads of internal and external storage, etc.....but that's a worthwhile space-saving exercise, and makes maintenance a hell of a lot easier into the bargain. Plus, it has to be more secure.....there's only one of everything to worry about.


Mike. :wink:

kuman11
Posts: 248
Joined: Tue 26 Dec 2017, 09:32

#25 Post by kuman11 »

Mike,

Have u seen my question?

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#26 Post by jrb »

kuman11 wrote:jrb & Mike,

I installed the portable & F/f portable on my ext HD and d/l the YAD in /root. I see the entries in the Int menu though it couldn't run the portable F/f when I clicked on it. I started it when I clicked the script in the unzipped F/f folder.
I also copied the the YAD to the HD cause I run Slacko_5.7.2_CE in ram so I have it handy for the next restart of Puppy.

What can be wrong?
Sorry for taking so long to answer kuman11, :oops: guess I got distracted by the other posts.

The yad-0.40.3-i686_common32.pet that you downloaded to root is a .pet file. This means you have to click on it once to install it in Puppy, just downloading it is not enough. Once you have done that the internet menu entries should work.

BTW, PortaBrowseInstall-i386-0.4.pet will download and install the yad .pet but PortaBrowseInstall-i386-0.3.pet will only download it.

kuman11
Posts: 248
Joined: Tue 26 Dec 2017, 09:32

#27 Post by kuman11 »

jrb,

I d/l the YAD in /root then installed it by clicking on it. Then I run PortaBrowseInstall-i386-0.3.pet & it placed the entries in the Int menu. Then I wasn't able to run ff from this menu entry. That's the problem.

My architecture is older so 0.4.pet didn't work.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#28 Post by jrb »

kuman11 wrote:jrb,

I d/l the YAD in /root then installed it by clicking on it. Then I run PortaBrowseInstall-i386-0.3.pet & it placed the entries in the Int menu. Then I wasn't able to run ff from this menu entry. That's the problem.

My architecture is older so 0.4.pet didn't work.
Open a terminal and type:

Code: Select all

ffportable_launch
and let me know what happens and what is printed in the terminal.

kuman11
Posts: 248
Joined: Tue 26 Dec 2017, 09:32

#29 Post by kuman11 »

jrb, I got this:

# ffportable_launch
grep: option requires an argument -- 'e'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.

firefox_66.0.5_32 cannot be found. Do you wish to reinstall? y/n

then:
y
/usr/local/bin/ffportable_launch: line 16: /usr/local/bin/ffportable-inst: No such file or directory

Though It's on the HD:

/mnt/sda1/firefox_66.0.5_32

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#30 Post by jrb »

kuman11 wrote:jrb, I got this:

# ffportable_launch
grep: option requires an argument -- 'e'
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.

firefox_66.0.5_32 cannot be found. Do you wish to reinstall? y/n

then:
y
/usr/local/bin/ffportable_launch: line 16: /usr/local/bin/ffportable-inst: No such file or directory

Though It's on the HD:

/mnt/sda1/firefox_66.0.5_32
I'm not sure what's happened in your system kuman11 but I think you should open up PPM (PuppyPackageManager) from the "Install" icon on the desktop and choose "Uninstall". Click on PortaBrowseInstall-i386-0.3, and "Remove Package". If 0.4 is there then remove that too. Also remove /usr/local/bin/ffUUID. Once these are gone you can reinstall the .pet and then reinstall firefox.

You mention that your architecture is older. That should make no difference between versions 0.3 and 0.4. If your architecture is really old then Firefox should not run on your machine at all, only PalemoonSSE. I suggest you install 0.4 and then setup Firefox. When you do you will find that Firefox has a new version, firefox_67.0_32, which will be installed.

Good Luck, J
Attachments
PPM-uninstall.jpg
(42.05 KiB) Downloaded 244 times

kuman11
Posts: 248
Joined: Tue 26 Dec 2017, 09:32

#31 Post by kuman11 »

jrb,

No, F/f runs best of all browsers on my Acer Notebook '08. My original HD is out of order, though F/f runs well in RAM, even the newest portable. I still can start it from the ff script.
I'll try this.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#32 Post by jrb »

I'm heading out on a road trip for the next two or three weeks. Will not be able to offer support until I get back.

Cheers, J

User avatar
fredx181
Posts: 4448
Joined: Wed 11 Dec 2013, 12:37
Location: holland

#33 Post by fredx181 »

jrb wrote:I'm heading out on a road trip for the next two or three weeks. Will not be able to offer support until I get back.

Cheers, J
Probably the Firefox option of the Portabrowser installer won't work properly anymore now because it's depending on a download url from Dropbox (which has been changed), see here:
http://murga-linux.com/puppy/viewtopic. ... 64#1029564

EDIT: Attached replacement of ffportable-inst script from jrb (remove fake .gz, make executable and replace in /usr/local/PortableBrowserInstaller)
Only change is the Dropbox url address pointing to the ff32-additions.tar.gz , so then should work again to download and extract it.

Fred
Attachments
ffportable-inst.gz
ffportable-inst with correct dropbox url, remove fake .gz, make executable and replace in /usr/local/PortableBrowserInstaller
(3.17 KiB) Downloaded 203 times

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#34 Post by s243a »

Does this dpend on "xterm". I tried symlinking xterm to urxvt and I get the error,

Code: Select all

urxvt: unable to exec child. 
I'm experience this issue on tiny_puduan_ascii-PreAlpha4.iso. See post:
p=1029785#1029785
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#35 Post by s243a »

s243a wrote:Does this dpend on "xterm". I tried symlinking xterm to urxvt and I get the error,

Code: Select all

urxvt: unable to exec child. 
I'm experience this issue on tiny_puduan_ascii-PreAlpha4.iso. See post:
p=1029785#1029785
Okay, I figured it out. First I realized that the pminst would run if I called it directly. Eventually I figured out that if I got rid of the single quotes around '$0' in:

Code: Select all

tty -s; if [ $? -ne 0 ]; then xterm -hold -e "'$0'"; exit; fi
it would work. Interestingly enough, when I did a strace on PortableBrowserInstall, it did expand the variable (i.e. /usr/local/bin/pminst) but I think it expanded it with single quotes around it, which isn't a valid file name. This might be a diference between xterm and urxvt. So maybeone should add an if statment and if xterm is installed then we keep the original code but if one is using urxvt instead then we call it without the single quotes around $0.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#36 Post by s243a »

I'm wondering why we do this in two lines:

Code: Select all

echo /bin/bash > /usr/local/bin/ffUUID
sed -i 's|/bin/bash|#!/bin/bash|g' /usr/local/bin/ffUUID
can't we just do:

Code: Select all

echo '#!/bin/bash' > /usr/local/bin/ffUUID
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#37 Post by s243a »

I'm wondering how re-installation should be handled.

I noticed that the mkdir fails (if firefox was previously installed) (not sure if this was code from fredx181 or JRB). Anyway, my first idea was to add a prompt to remove the folder if it exists:

Code: Select all

echo "Extracting Firefox..."
if [ -d firefox_${VERSION}_32 ]; then
  echo "y/n remove directory $(realpath "firefox_${VERSION}_32")"
  read YN
  if [[ $YN == "y" ]]; then #TODO add option to keep previous user settings
    rm -rf firefox_${VERSION}_32
    mkdir firefox_${VERSION}_32
  else
    exit
  fi
else
  mkdir firefox_${VERSION}_32
fi
/usr/local/PortableBrowserInstaller/ffportable-inst#L99

I noticed though that the other install scripts (e.g. pminst) don't pre make the related directory. This latter approach might be more robust if the directory name in the tar changes. Also tar has options on how to handle over-writes.

I have to give some thought about the best way to do this, but I think using the various over-write (vs keep) options in tar might be valid if someone doesn't want to remove the folder. One down side though is I'm not sure which of these options are supported by busybox. Granted most people will have the full version of tar installed.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

User avatar
rufwoof
Posts: 3690
Joined: Mon 24 Feb 2014, 17:47

#38 Post by rufwoof »

s243a - somewhat surprised. Thought you were more in the camp of keeping the likes of a browser within the save area of a Puppy for the security benefits that provides (booting the same clean version every time - assuming you practice no Puppy saving once you've configured it as you like). More so given that browsers are typically a common attack vector for crackers.
[size=75]( ͡° ͜ʖ ͡°) :wq[/size]
[url=http://murga-linux.com/puppy/viewtopic.php?p=1028256#1028256][size=75]Fatdog multi-session usb[/url][/size]
[size=75][url=https://hashbang.sh]echo url|sed -e 's/^/(c/' -e 's/$/ hashbang.sh)/'|sh[/url][/size]

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#39 Post by s243a »

rufwoof wrote:s243a - somewhat surprised. Thought you were more in the camp of keeping the likes of a browser within the save area of a Puppy for the security benefits that provides (booting the same clean version every time - assuming you practice no Puppy saving once you've configured it as you like). More so given that browsers are typically a common attack vector for crackers.
Hello rufwoof,

that is a good point. However, there might be performance advantages to having the browser outside the save area. I actually modified JRBs script so that you can install the browser anywaywhere (including in the save area)...although I seem to have not uploaded these changes to github yet.

I'll consider adding some kind of warning per your advice.

Edit 1
**coped changes allowing browser to be installed anywhere to my git folder

Code: Select all

#mount drive
if [ ! "${DRVNM:0:1}" = "/" ]; then
  mkdir -p /mnt/$DRVNM > /dev/null 2>&1
  [ -e /dev/$DRVNM ] && mount /dev/$DRVNM /mnt/$DRVNM > /dev/null 2>&1

  #switch to drive
  cd "/mnt/$DRVNM"
else
  mkdir -p "$DRVNM" > /dev/null 2>&1
  cd "$DRVNM"
fi
/usr/local/PortableBrowserInstaller/ffportable-inst#L59

I think though I have a few bugs to work out and I also probably need to modify the launch scripts.

Here are my last three commits:

modify portable browser installer e377d19
allow portable browser to be installed anywhere 90ba01e
allow portable browser to launch from anywhere 64f4098
fix DRVNM_ALT variable in portable browser installer 94a7cc2

Edit 2 some stuff related to launching firefox

Code: Select all

echo "DRVNM_ALT='$DRVNM'" >> /usr/local/bin/ffUUID
/usr/local/PortableBrowserInstaller/ffportable-inst#L84

Code: Select all

DRVNM=`blkid | grep -e $UUIDFF | cut -d "/" -f 3- | cut -d ":" -f -1`
echo $DRVNM
DRVNM="${DRVNM:-$DRVNM_ALT}"
/usr/local/PortableBrowserInstaller/ffportable-inst#L84

Code: Select all

if [ -d "/mnt/$DRVNM/$FFDIR" ]; then
  #/mnt/$DRVNM/$FFDIR/firefox
  cp /usr/local/PortableBrowserInstaller/ff "/mnt/$DRVNM/$FFDIR"
  cd "/mnt/$DRVNM/$FFDIR"
  "/mnt/$DRVNM/$FFDIR/ff" "$@"
else
  #/mnt/$DRVNM/$FFDIR/firefox
  cp /usr/local/PortableBrowserInstaller/ff "$DRVNM/$FFDIR"
  cd "$DRVNM/$FFDIR"
  "$DRVNM/$FFDIR/ff" "$@"
fi
/usr/local/PortableBrowserInstaller/ffportable-inst#L141

Code: Select all

  DRVNM="${DRVNM:-$DRVNM_ALT}"
  mount /dev/${DRVNM} /mnt/${DRVNM} > /dev/null 2>&1
  if [ -e "/mnt/$DRVNM/$FFDIR/firefox" ]; then
     cd "/mnt/$DRVNM/$FFDIR"
     "/mnt/$DRVNM/$FFDIR/ff" "$@"
  elif [ -e "/mnt/$DRVNM/$FFDIR/firefox" ]; then
     cd "$DRVNM/$FFDIR"
     "$DRVNM/$FFDIR/ff" "$@"  
else
/usr/local/PortableBrowserInstaller/ffportable_launch#L9
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

s243a
Posts: 2580
Joined: Tue 02 Sep 2014, 04:48
Contact:

#40 Post by s243a »

I'm looking at the launch script now. blkid is a slow command. We might first want to check that the file exists at the previous path or alternativly add a variable in /tmp that indicates that we did blkid (already once) in the lanuch script so that we don't have to repeat this command.

**I'll think about this and then make a change later.

***on another note, firefox seems to depend on libwayland-client.so.0. Normally puppy would have this installed so it isn't an issue? In my tiny_devaun experiment, I've tried removing this file.
Find me on [url=https://www.minds.com/ns_tidder]minds[/url] and on [url=https://www.pearltrees.com/s243a/puppy-linux/id12399810]pearltrees[/url].

Post Reply