this post was submitted on 06 Sep 2024
25 points (100.0% liked)

Selfhosted

40183 readers
497 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Hi!

I have setup ScanServJS which is an awesome web page that access your scanner and let you scan and download the scanned pages from your self hosted web server. I have the scanner configured via sane locally on the server and now I can scan via web from whatever device (phone, laptop, tablet, whatever) with the same consistent web interface for everyone. No need to configure drivers anywhere else.

I want to do the same with printing. On my server, the printer is already configured using CUPS, and I can print from Linux laptops via shared cups printer. But that require a setup anyway, and while I could make it work for phones and tablets, I want to avoid that

I would like to setup a nice web page, like for the scanner, where the users no matter the device they use, can upload files and print them. Without installing nor configuring anything on their devices.

Is there anything that I can self-host to this end?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] -1 points 2 months ago (1 children)

I am saying that CUPS requires zero drivers or anything else from clients. It advertises the printer on the network, a device sees it, and submits a job. That's it. Exactly what you are describing doing with a web form, except CUPS already does all of this.

Sounds like you're not sure how it works.

[–] [email protected] 3 points 2 months ago (1 children)

It still requires the device to be capable to print...

And the user to find the printer select it and so on. And must expose more ports on the network beside 443...

So, indeed cups is a great solution, but not to the problem I want to solve.

I do use cups in fact for the trusted part of the network, driverless printing for windows and Linux. Android doesn't even need cups since it picks up the printer directly from the printer itself (AirPrint or whatevee that's called).

[–] [email protected] -1 points 2 months ago (1 children)

Just going to say it again: IPP (Internet Printing Protocol) via CUPS solves for all of this, but you seem destined for a specific thing you want to do and don't actually need help with your current issues, so not sure why you posted here.

[–] [email protected] 2 points 2 months ago (1 children)

Ok, I have a web browser on a locked down device and nothing else: how do I print a pdf or a photo using IPP?

I have: a camera, a browser, a file manager (kind of, think of an iPhone or some stock android business device) and I need to print a photo taken with the camera or a pdf file sent to me via email or WhatsApp?

The device is connected to the WiFi guest network with limited internet access (if any) and as only available service a server with port 443 open (a reverse proxy on that, captive portal and such).

In my experience, there is no way to print via cups in this configuration. Maybe I am wrong?

[–] [email protected] 1 points 2 months ago* (last edited 2 months ago)

Well if you're talking about isolated networks, that's a different story, and not in your post. That's a completely different scenario than what you posted about.

In that case, you could also use port forwarding and IPP via CUPS to achieve the same result without needing to build a web form. If you're unfamiliar with CUPS, try enabling the WebUI and setting it up from there, but there is an option to allow printing from the internet, meaning it's enabling IPP and accepting requests from outside the source network it's hosted on (not the global internet, because surely you have a firewall on the edge router of your home network), effectively creating a bridge between your two networks for this specific purpose and only using that one port for printing.