Its always best say get a wack of used company / school / government pc's if your going to say setup a internet cafe, that way they are all the same make models, cards etc. Thats a real ideal situation where you could basically have a large hub and have them all wired together, with a remastered puppy cd with the internet settings already saved on it, Then you just do a ghost image and boom 30 pc's all up and running on 2 hubs. in like 3-4mins using a server. In college when I took networking management thats what we used to do every morning using server 2003 and Nortons Ghost, we did try linux type ghosting, but at the time Nortons Ghost was the only one which could do windows and linux, since we were using fedora, ubuntu, linux mint, puppy, what ever I would bring in that day. The thing about Nortons Ghost you could make images for different machines, and just call them out, a full xp installl with office was about 20mins, and you would just boot up using a floppy disk do a few clicks and then it was set.
anyways thats my 2c

b) I have just re-written ShareInternet as v2.0, (done proof of concept testing, but needs more testing, expect release in a couple of days.)
The thing about v2.0 is that given 2 or more, appropriately configured, active interfaces it does it's thing automatically. No more questions. No more stored configs. No more configuration dialog. Just "UP" a few interfaces, and run it. The interfaces can be any combination of ethernet, wifi, and upto one ppp0.

Given that, I would humbly suggest that to produce an ICS equivalent, you might look at producing a wizard that does the following:
1) Sends them into the Puppy network wizard to setup the Internet interface using dhcp.
2) Sends them into the Puppy network wizard to setup the local interface statically.
3) runs ShareInternet v2.0

Enhancements:
1) Create a customised version of the network wizard for step 2), that only shows "IP address" and "Network Mask", and both these already filled with default values "10.10.1.1" and "255.255.255.0". No confusing extra fields, and make it accept the above without complaint.
2) Nice if step 3) also provides them with an option to automatically run ShareInternet at boot time.
3) Create a customised version of the network wizard for step 1) e.g. automatically uses dhcp.
4) Further customise network wizard for step 2) so that it provides an oportunity to loop to define more than one local interface. (The second time round the loop the IP address would be "10.10.2.1" etc...)

You might consider making a single pet that contains the ShareInternet files as well as the new wizard stuff.

Please would you explain, from the point of view of someone sat at the screen, how the wizard behaves. For example, What exactly happens if ShareInternet doesnt find two active connections?

What would happen in the case of ShareInternet being run, and one internet interface is already up and configured? Would it then be able to seek out another, possible non-"upped" interface (or offer a choice of several if it finds more than one), and offer to share out the connection to that? Could it even share the internet out to several *at the same time*?

For example, if share internet were to run, and discover an active connection on eth0 already configured via DHCP, but also an unconfigured eth1 and wlan1? Would it offer the choice to share the connection out via either, or both of them? Just one would be fine for a start for sure. Sharing a connection from a mobile phone out via wireless or ethernet would also be a

What happens if ShareInternet finds no active connections at all? Would it then offer to launch the internet connection wizard? One idea...could the existing internet connection sharing wizard have an extra option upon a successful connection to the internet, the share this out via Shareinternet?

You may also wish to point out that to share a connection from one computer with a live connection, to one without a live connection via ethernet, a crossover cable is required.

I think its important to design a feature like this from the User Interface down, rather than from the internal mechanics up. I would be happy to spend a few hours designing the look and logic of the user interface, if you would write the internal code to put underneath it. Ive done a lot this before_________________Puppy Linux's Mission

V2.0 is now available for download. I've updated the original post. I hope that it is useful.

ecomoney,

ShareInternet V2.0 is not a wizard. It's more of a backend that just does things.

If you run it with less than 2 "UP" interfaces, it shows an error message stating this, and exits.
If you run it with 2 interfaces, but no default gateway is defined, it shows an error message, and exits. (Such a configuration wouldn't work anyway.)
If you run it with 3 "UP" interfaces, it will share the one that connects to the default gateway, with the other 2.

ShareInternet uses all the interfaces that are "UP". You control what it does by what interfaces are "UP" and how they are configured. If the Internet/upstream interface is configured with dhcpcd or pppd, and all local/downstream interfaces are statically configured with just an IP address and netmask, then it just works.

I don't use a crossover cable, rather a spare ethernet switch. These tend to be agnostic about which type of cable you use. Also, Puppy won't bring up an ethernet interface unless it is connected to a powered on device on the other end. Since I prefer to setup the router first and then startup the client, plugging Puppy into a powered on ethernet switch is my preferred method.

You, or anyone else, are most welcome to write a wizard/ frontend, and use ShareInternet as a backend.
I use "StoredNetConfigs" to easily control which interfaces are "UP" and how they are configured. This is so that I can quickly turn my laptop into any of the 3 types of router that I sometimes use.
(Share modem over ethernet, share modem over wifi, share local wifi over ethernet.)

Thanks for the stimulation.
I've just realised I should re-write "StoredNetConfigs" so that it works at a higher level, with configs having user defined names like "Ethernet workstation". "Wifi workstation", "Share PPP over ethernet", "Share PPP over wifi" and "Share wifi over ethernet". Ah well another project to keep me off the streets.

ShareInternet V2.0 is not a wizard. It's more of a backend that just does things.

Quote:

You, or anyone else, are most welcome to write a wizard/ frontend, and use ShareInternet as a backend.

A wizard really is what is needed, the whole idea of puppy is that it "just works" (see mission statement). However, what your saying is that this is a set of "libraries" that could be called by such a wizard in order to easily set up internet connection sharing for those new to networking? If this is the case would you document the API (Application Programming Interface) when you have completed your own testing, so that a "newb-friendly" front end can be developed from it.

It definitely sounds like ShareInternet 2.0 would be very useful in the further development of this much needed function. Thank you for your work._________________Puppy Linux's Mission

However, what your saying is that this is a set of "libraries" that could be called by such a wizard in order to easily set up internet connection sharing for those new to networking? If this is the case would you document the API (Application Programming Interface) when you have completed your own testing, so that a "newb-friendly" front end can be developed from it.

No, it's not a library, it has no API. Its a standalone application that you execute once you have configured and activated the network interfaces you want to use in your router.

It doesn't care what software you use to configure the interfaces.
You can do it with the Puppy network wizard + rc.network.
If more flexibility is required you can do it with StoredNetConfigs.
You can write your own script to configure the interfaces using only command line utilities if you really want to do things the hard way.
Or you can write your own GUI to configure and activate the interfaces.

Just somehow get all the required interfaces configured and activated ("UP").
Then, execute ShareInternet to start the router running.
Later when you've finished with routing, click on ShareInternet's icon again, and routing will stop.

Changes in shareInternet v2.2.1:
1) Share Internet no longer conflicts with the use of rc.firewall. It uses it's own iptables code based on one of the Linux based software firewalls.
If you run rc.firewall before running shareInternet, everything rc.firewall did will be ignored. Running rc.firewall while shareInternet is running may stop it working, and is not supported.

2) Upgraded the included dnsmasq to v2.51, compiled on pup-431.

gyro

Edit: withdrawn, please use shareInternet v2.2.3, see first postLast edited by gyro on Fri 11 Jun 2010, 21:43; edited 1 time in total

every 3-6 hours, other computer got disconnect network from puppy (with this software ICS) then i manual turn off this software then second, turn off then on eth1 (ISP) (like 'ifconfig eth1 [up/down]') then i turn on this software...

then it will work...so is there automatic? im tired of repeat every disconnect...

but my internet keep always disconnect every 3-6 hours (maybe for new IP address. It's dynamic IP). so i tested with Xubuntu. its really working test 24 hours but i hate all ubuntu for my old computer. because it made my old computer so slow and overload memory and processor. only Puppy Linux can do with my old computer but problem is manual turn off then turn on eth1. that's why that will make conflict with 2 ethernet card after internet disconnect.

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum