Print server like Google Print on Linux [closed]

I have a Linux server at home running 7/24.. I also have a laser printer at home connected to the network. What I want is to use this laser printer over internet. Just like what Google Print service did in the past.

Do you know a server app / driver ( for Windows especially ) to utilize this app?


Solution 1:

You already have it.

There are several generic "network printing" protocols (LPR, IPP, JetDirect). Of those, the CUPS printing framework that you're most likely using on Linux is, at its core, an IPP server – whenever you print something with CUPS, apps talk to it via IPP at localhost:631.

The CUPS control panel at http://localhost:631 allows you to configure it for network access, share local printers, or add remote printers that another server has shared. There is also an option to enable TLS security (IPPS), which is basically HTTPS. (CUPS uses local system accounts for authentication; you might need to add yourself to the 'sys' group to get admin access.)

Windows can act as an IPP client, although this feature needs to be installed through "Turn Windows features on or off" → "Print and Document Services" → "Internet Printing Client". Afterwards you can add printers by their IPP URL.


Windows also supports LPR and JetDirect without any extra installation, but those protocols have no authentication and can only be used inside a trusted network, e.g. a VPN, whereas IPP has password authentication and TLS. Also, I'm not sure if CUPS can act as a server for those protocols.

On the other hand, your printer itself most likely acts as a JetDirect server, and probably as an IPP server as well. So if you have a VPN to home, you don't even need the Linux machine as a gateway – you can just configure Windows to connect to your printer directly.