New startup sells coffee through SSH
904 points by ethanholt1 1 year ago | 407 comments- rvnx 1 year agoOne safety tip: disable SSH Agent Forwarding before you connect, otherwise the remote server can theoretically reuse your private key to establish new connections to GitHub.com or prod servers (though this host is unlikely malicious).
https://www.clockwork.com/insights/ssh-agent-hijacking/ (SSH Agent Hijacking)
- fragmede 1 year agoThe full command you want is:
to disable agent forwarding, as well as to not share your ssh public key with them, but that's just a little less slick than saying just:ssh -a -i /dev/null terminal.shop
to connect.ssh terminal.shop
- glennpratt 1 year agoI'm curious why you added `-i /dev/null`. IIUC, this doesn't remove ssh-agent keys.
If you want to make sure no keys are offered, you'd want:
I'm not sure if the `-i` actually prevents anything, I believe things other than /dev/null will still be tried in sequence.ssh -a -o IdentitiesOnly=yes terminal. Shop
- fragmede 1 year agoCheck for yourself with
vsssh -v -i /dev/null terminal.shop
What you're looking for is that there is no line that says something likessh -v terminal.shop
Upon further testing, the full command you want is:debug1: Offering public key: /Users/fragmede/.ssh/id_rsa RSA SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
to forcibly disable a local identity agent from offering up its identities as well, and not just agent forwarding.ssh -a -i /dev/null -o IdentityAgent=/dev/null terminal.shop
Upon further testing,
still offers up my public key on my system (macOS, OpenSSH_9.6p1, LibreSSL 3.3.6), contrary to what StackOverflow and the Internet seems to think. Tested by hitting whoami.filippo.io, linked in child comment.ssh -o IdentitiesOnly=yes terminal.shop
- ProfessorZoom 1 year agoinstructions not clear, my entire drive is empty now
- fragmede 1 year ago
- kazinator 1 year ago1. Why is this something that would be enabled by default.
2. Can't you disable agent forwarding in a config file, so as not to have to clutter the command line?
- hedora 1 year agoI think it’s disabled by default on all distros I’ve used. You could add an entry to /etc/ssh_config or ~/.ssh/ if you want.
(It’ll still offer public keys by default in the exchange, but that’s “just” a privacy issue, not a privilege escalation problem.)
- hedora 1 year ago
- Intralexical 1 year agoI just ran it in a `tmpfs` without any credentials:
$ bwrap --dev-bind / / --tmpfs ~ ssh terminal.shop
- jamesdutc 1 year agoI think you may want to clear the environment (e.g., of `SSH_AUTH_SOCK`) as well as isolate in a PID namespace as well. I also reflexively `--as-pid-1 --die-with-parent`.
(The `bwrap` manpage says “you are unlikely to use it directly from the commandline,” yet I use it like this all the time. If you do, too, then we should be friends!)bwrap --dev-bind / / --clearenv --tmpfs ~ --unshare-pid --as-pid-1 --die-with-parent ssh terminal.shop
- jamesdutc 1 year ago
- Repulsion9513 1 year agoHonestly the only thing that you need is -a (and only if you made the bad choice to do agent forwarding by default). Sending your pubkey (and a signature, because the server pretends to accept your pubkey for some reason?) isn't a security risk and you're (in theory) going to be providing much more identifying information in the form of your CC...
(And as the siblings mentioned this won't work to prevent your key from being sent if you're using an agent)
- fragmede 1 year agoI agree with you, but there are those that take an extreme stance on privacy and I'm willing to oblige.
- fragmede 1 year ago
- glennpratt 1 year ago
- SoftTalker 1 year agoSSH Agent Forwarding does not happen by default. You need to include the -A option in your ssh command, unless maybe you've enabled it globally in your ~/.ssh/config file.
They can't get your private keys, but they could "perform operations on the keys that enable them to authenticate using the identities loaded into the agent" (quoting the man page). This would also only be possible while you are connected.
- thih9 1 year agoThis is only a threat if you enable agent forwarding for all hosts.
If you enable agent forwarding for all hosts then yes, data will be forwarded.
Your link says:
> Don’t enable agent forwarding when connecting to untrustworthy hosts. Fortunately, the ~/.ssh/config syntax makes this fairly simple
- binkHN 1 year agoLike you noted, ForwardAgent no is the default in /etc/ssh/ssh_config.
- binkHN 1 year ago
- bananskalhalk 1 year ago*disable ssh agent FORWARDING.
Which honestly should always be disabled. There are no trusted hosts.
- tichiian 1 year agoThat's baby+bathwater.
Just use ssh-add -c to have the ssh-agent confirm every use of a key.
- bananskalhalk 1 year agoTIL. Thanks! Gonna do wonders when working at places where I can't use a hardware key with physical confirmation of use.
My assessment still stands. Use proxyjump (-J) instead of proxy command whenever possible.
- lrvick 1 year agoOr use a hardware backed ssh key you have to tap once for every use, like a Yubikey or Nitrokey.
- deeblering4 1 year ago[flagged]
- bananskalhalk 1 year ago
- contingencies 1 year agoDefault for the last 24 years according to https://github.com/openssh/openssh-portable/blame/385ecb31e1...
- sva_ 1 year agoI've found myself to be much more comfortable to just define all my private keys in ~/.ssh/config on a host-by-host basis.
- jmole 1 year agoAFAIK, this doesn't solve the SSH agent problem - the problem is the agent has access to all of those keys regardless of the host you connect to.
So forwarding your SSH agent means an administrator of the system you're connected to could use any of those host keys loaded in the agent to connect to their associated machine.
- jmole 1 year ago
- derefr 1 year ago> There are no trusted hosts.
...your own (headless) server that's in the same room as you, when you're using your laptop as a thin-client for it?
- dotancohen 1 year agoDepending on what it's serving, and how up to date it is, and who else is on that network and can access the server, and who else can come into that same room when you're not there, and from where you get the software that you install on that server... it might be less trustworthy than you think.
- xandrius 1 year agoWith all these recent exploits, I wouldn't even be 100% sure of that.
- dotancohen 1 year ago
- 1 year ago
- tichiian 1 year ago
- arghwhat 1 year agoJust to be clear, ssh agent forwarding is disabled by default and enabling it is always a hazard when connecting to machines that others also have access to.
Not at all specific to this.
- nomel 1 year agoIs it not standard practice to make different keys for different important services?
I have a private key for my prod server, a private key for GitHub, and a private junk key for authenticating to misc stuff. I can discard any without affecting anything else that's important.
If I authenticated with my junk key, would my other keys still be at risk?
- n2d4 1 year ago> If I authenticated with my junk key, would my other keys still be at risk?
Yes, if you authenticate with your junk key (or no key), and SSH agent forwarding is enabled, you are still at risk. It lets the remote machine login to any server with any keys that are on your local SSH agent. Parent's link shows how this can be abused.
Fortunately, it's disabled by default, at least on newer versions.
- leni536 1 year agoIt's a good practice, but it's somewhat against the grain of ssh defaults. It's not surprising that many people stick to the defaults.
- ShamelessC 1 year agoIt’s a practice, but not necessarily a standard one. In any case if even one person sees that, the advice will have served its purpose.
- brandensilva 1 year agoTIL, the good news I guess is I only ssh into my hosting platforms and GitHub who have a reason to protect my data since I pay them.
Still I'll be sure to break up my keys more going forward and disable SSH forwarding.
- brandensilva 1 year ago
- Repulsion9513 1 year agoThe only reason/benefit for using different keys is to prevent someone from correlating your identity across different services... if you're worried about that go ham
- hot_gril 1 year agoIf anything it's more standard practice to have agent forwarding disabled, since that's the default.
- n2d4 1 year ago
- jolmg 1 year agoDefault is disabled.
- hnarn 1 year agoExactly, this tip only applies if you reconfigured ssh to automatically forward agent to all hosts, which is absolutely insane.
- hnarn 1 year ago
- chuckadams 1 year agoI take it you mean disable ssh agent forwarding — the agent itself is fine. You should never forward your ssh agent to a box you don’t trust as much as your own.
- rvnx 1 year agoMessage edited, thank you, you are absolutely right.
- rvnx 1 year ago
- chrismorgan 1 year agoAnd for privacy, don’t let it know your identity or username:
Otherwise, the remote server can probably identify who you are on platforms like GitHub.ssh -o PubkeyAuthentication=no -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -a nobody@terminal.shop
- kazinator 1 year agoThis feature is not enabled by default; "ForwardAgent = yes" has to be in the config file.
The article you cited makes it clear that you can turn this on for specific hosts in your private SSH config (and probably should do it that way).
So why wouldn't you?
Turning on forwarding globally and then having to remember to disable it for some untrusted hosts with -a looks silly and error-prone to me.
- LeoPanthera 1 year ago"ForwardAgent no" in ~/.ssh/config will do this automatically.
- zaik 1 year agoNot having "ForwardAgent yes" in ~/.ssh/config will do this automatically too.
- hombre_fatal 1 year agoSeems like a ridiculous amount of hoopla over something that isn't even a default.
- hombre_fatal 1 year ago
- teruakohatu 1 year agoIs "Host * \n AddKeysToAgent yes" acceptable from a security POV or should that also be per host?
- orblivion 1 year agoIs it "yes" by default? If so, that seems insane given what the op said about it. But other comments say it's "no" by default. If it's "no" by default, why are people alarming us by bringing this up? And why for terminal.shop in particular?
- zzo38computer 1 year agoThe man page for ssh_config(5) says that it is set to "no" by default, at least on my computer.
- hot_gril 1 year agoMaybe there was some blanket advice in the past to enable it? Idk, this got me alarmed for nothing.
- trallnag 1 year agoIt's off by default. No idea what this fuzz is about. Gathering internet attention points maybe?
- zzo38computer 1 year ago
- zaik 1 year ago
- heavyset_go 1 year agoUsing discoverable and non-discoverable keys via FIDO security keys will require PIN + physical confirmation, or just physical confirmation, by default if anyone tries to use your agent's keys.
- lrvick 1 year agoIf you want to use SSH forwarding reasonably safely, use a yubikey for ssh so you have to tap once for each hop. Now a MITM can't use your key for more hops without you physically consenting to each one.
- gowld 1 year agoThat's terrifying. I don't understand why the design requires Forwarding to work without more explicit consent from the client at use time. (That is, when the middle tier wants to make a connection, it should forward an encrypted challenge from the server that can only be decrypted, answered, and re-encrypted by the original ssh keyholder on the client, similar to how, you know, ssh itself works over untrusted routers.
- mercora 1 year agoYou can configure the agent to confirm each key usage to have your cake and eat it too. :)
It's also good to see if any malicious process tries to make use of the agent locally!
- arcanemachiner 1 year agoThanks for the PSA. It gave me a good opportunity to double check that I hadn't enabled agent forwarding in any of my SSH scripts that don't need it.
- raggi 1 year agoYou actually want to verify first or someone will mitm you, e.g. mitm.terminal.shop.rag.pub
- dartos 1 year agoWith this one comment, you’ve convinced me that ssh apps are a bad idea
- vrighter 1 year agoi usually just disable ssh agent forwarding globally by default, and only enable it selectively via my ~/.ssh/config
- abc_lisper 1 year agoDang. Didn't know this was a thing. Thank you!
- 1 year ago
- amne 1 year agohere we go again. domain and path restricted cookies anyone?
- throwaway984393 1 year ago[dead]
- fragmede 1 year ago
- miki123211 1 year agoI can't test this due to the product being out of stock, but I wonder what their approach to PCI compliance is.
Processing credit card data has a high compliance burden if you're unwilling to use a secure widget made by an already-authorized provider like Stripe. That's for a good reason, most web and mobile apps are designed such that their backend servers never see your full credit card number and CVV. You can't do this over SSH.
I also wonder whether you could even do this if you had to handle PSD2 2-factor authentication (AKA 3d Secure), which is a requirement for all EU-based companies. This is usually implemented by displaying an embed from your bank inside an iframe. The embed usually asks you to authenticate in your banking app or enter a code that you get via SMS.
You can take the easy way out of course and make the payment form a web page and direct the user to it with an URL and/or a Unicode-art rendition of a QR code.
- srinathkrishna 1 year agoThey mention in the faq that they use Stripe - https://www.terminal.shop/faq. Stripe does offer integrations that are not natively using their widgets. Ultimately, the PII data is stored at Stripe.
PS: I work at Stripe but I don't really work on the PCI compliant part of the company.
- hn_throwaway_99 1 year agoThe fact that the card number data is stored at Stripe doesn't matter that much. As parent commenter says, the card numbers are still visible on terminal.shop's network because it all goes over their SSH connection.
For most websites that use the Stripe widget, the website owner can never see the full card number, because the credit card number entry fields are iframed in on the page. That means website owners in this scenario are PCI compliant just by filling out PCI SAQ A (self assessment questionnaire A), which is for "Card-not-present Merchants, All Cardholder Data Functions Fully Outsourced": https://listings.pcisecuritystandards.org/documents/SAQ_A_v3...
But that questionnaire is only for merchants where "Your company does not electronically store, process, or transmit any cardholder data on your systems or premises, but relies entirely on a third party(s) to handle all these functions;" For e-commerce merchants who CAN see the card number, they need to use SAQ D, https://listings.pcisecuritystandards.org/documents/SAQ_D_v3.... This includes additional requirements and I believe stuff like a pen test to be PCI compliant.
- jjeaff 1 year agoit's been a while since I did the full pci compliance rigamarole, but I don't recall it being that difficult. you basically just answer a bunch of questions correctly about how you are transmitting and storing the data using sufficient encryption and then they run some automated pen tests on your site and then you are done.
- throwaway5371 1 year agoyou can say the same about the widget, as the website embedding the widget has access to the document's keydown
- jjeaff 1 year ago
- samwillis 1 year agoInterestingly Stripe started life as /dev/payments and I seem to remember the first iteration was an agent on your server that literally processed card payments when you wrote the details to /dev/payments
- ppbjj 1 year agoThat's awesome
- niutech 1 year agoYou can still find the source code here: https://github.com/benweissmann/dev-payments
- tazu 1 year agoI'm guessing they ditched that idea because it wouldn't absolve the "writer" of PCI compliance, since the information has to pass through RAM.
- cperciva 1 year agoI thought /dev/payments was their second name. Weren't they /dev/creditcard or something like that first?
- ppbjj 1 year ago
- hn_throwaway_99 1 year ago
- Cu3PO42 1 year agoNot just EU companies. Also EU customers. I cannot use my cards in a Card-Not-Present transaction that does not support 3D Secure. This obviously isn't a concern for them yet since they only ship to the US, but it might become one.
In the past one of my banks required me to put in a One-Time Password on the frame I'm shown. While it's different right now, you do need to show that page in the general case. That would really break the immersion of their process :/
- notpushkin 1 year agoI remember seeing a 3D Secure screen in some app that didn't use a webview but rendered the form as native controls. It worked with Estonian LHV at least (I think?). If that can be done with Stripe, they could render the form as a TUI.
And if everything fails, they can just render the 3DS page in the terminal! (e. g. using Browsh [1]) Although I'm not sure if that would be compliant with the regulations.
- niutech 1 year agoAnother option is Carbonyl browser.
- niutech 1 year ago
- notpushkin 1 year ago
- zzo38computer 1 year agoI think that a better way (which is protocol-independent, and does not require a web browser, or even necessarily an internet connection), would be a kind of payment specification which is placed inside of a order file. This payment specification is encrypted and digitally signed and can be processed by the bank or credit card company or whatever is appropriate; it includes the sender and recipient, as well as the amount of money to be transferred (so that they cannot steal additional money), and possibly a hash of the order form. A payment may also be made by payphones or by prepaid phone cards (even if you do not have a bank account nor a credit card), in which case you may be given a temporary single-use key which can be used with this payment specification data; if you do not do this, then you can use the credit card instead.
- amne 1 year agoI was asking myself the same thing while watching the live stream where they somehat explained how it works.
It's still not clear to me if they are compliant.
To make it work like in the browser it would require some sort of SSH multiplexing where your client is connected to both the shop and Stripe's SSH server and you enter your card data into a terminal region that is being rendered by stripe's ssh server. And then the triangle is completed by Stripe notifying the shop that the payment is ok.
- konschubert 1 year agoWouldn’t it be amazing if there was a simpler way to pay money online.
- Perz1val 1 year agoI don't know if this is sarcasm or not, but in Poland we have BLIK and it is amazing. Paying online is as simple as entering a 6 digit code from the app and confirming transaction in the app. Afaik every major bank supports it too
- konschubert 1 year agoI would prefer if these systems worked internationally and didn’t exclude foreigners.
But yea…
- konschubert 1 year ago
- Perz1val 1 year ago
- das_keyboard 1 year agoThe websites faq says they are still using stripe for payment and ordering - however this may work.
- 1 year ago
- fuzzy_biscuit 1 year agoThe FAQ says they use Stripe for orders and don't even have their own DB in which to store purchase data, so PCI compliance should be a non-issue
- unscaled 1 year agoPCI compliance is never a non-issue.
Even if you're using a third party provider that handles both credit card entry and processing, you need to comply with some subset of the PCI/DSS requirements.
In the case of terminal.shop it's not even true, since they can see the credit card number on their side, even if all they do is to forward that number to Stripe and forget about it.
For small and medium-sized merchants, PCI/DSS classifies different types of handling through the concept of which SAQ (Self-Assessment Questionnaire) you have to fill in. Different SAQ have different subset of requirements that you need to fulfill. For e-commerce use cases, there are generally 3 relevant SAQs, in order of strictness:
- SAQ A: Applicable when the merchant redirects payment requests to the payment processor's page or shows an iframe that is hosted by the processor. This is the level required for Stripe Checkout or Stripe Elements.
- SAQ A-EP: Applicable when the merchant handles input on the browser, but sends the data directly to the processor without letting it pass through the merchant's server. This is equivalent to the classic Stripe.js.
- SAQ D: Applicable when the card data is transmitted, stored or processed on the merchant's own server, even if the merchant just receives the card number and passes that on to the payment provider. Stripe calls this type of usage "Direct API Integration" [1].
The level of compliance required for terminal.shop should be SAQ-D for Merchants, which is quite onerous. It covers almost all of the full set of PCI/DSS requirements.
But even if a merchant just uses Stripe.js, the PCI SSC still cares about the possibility of an attacker siphoning card data from the merchant's site through an XSS vulnerability.
And even if the merchant is using an iframe or a redirect (with something like Stripe Checkout or Stripe Elements) there is still the possibility of hard-to-detect phishing, where an attacker could replace the iframe or redirect target with their own site, made to look exactly like Stripe.
---
- whatthesmack 1 year agoI think the important element is that terminal.shop's use case (likely SAQ D, likely level 4 or level 3 volumes) allows them to comply with relatively minimal expense and complexity.
Sure, there would be a non-zero time investment required to implement and ensure actual compliance with what is being attested, but it's quite doable for a person or small group of folks with a mix of SDE skills, SRE-like skills, and PCI-DSS experience.
- whatthesmack 1 year ago
- unscaled 1 year ago
- niutech 1 year agoOne esy to solve this is to use a terminal web browser like Carbonyl.
- thescriptkiddie 1 year agoThe burden of PCI compliance is a lot lighter than you might think. You basically just have to fill out a bunch of forms, there's no inspection or anything.
- alt227 1 year agoYou obviously havent had to manage PCI compliance for a company which takes credit card numbers directly onto their site or over the phone.
- thescriptkiddie 1 year agoNo I'm not a manager, I'm a programmer. I haven't personally had to fill out the forms, we have a guy for that. Actually that's not his main job, but he used to work as a paralegal so he got volunteered for it.
- thescriptkiddie 1 year ago
- alt227 1 year ago
- srinathkrishna 1 year ago
- PaulDavisThe1st 1 year agoA lot of people don't know that before Amazon started, there was a company out of Portland, OR called Bookstacks selling books via a telnet interface. In the early days, Bezos was quite worried about their potential to get "there" first (wherever "there" was going to be). It was a fairly cool interface, at least for 1994.
[ EDIT: worried to the point that we actually implemented a telnet version of the store in parallel with the http/html one for a few months before abandoning it ]
- mleo 1 year agoThere were a few using telnet before the web gained wider traction. For example, CDNow started out that way in 1994.
- brk 1 year agoI remember ordering a CD via CDNow and a very rudimentary SMS interface on my phone around 1996. It took about 10 minutes to go through the entire process, but I did it while at the movies with my wife, waiting for the previews to start and we both thought it was just SO advanced.
- keepamovin 1 year agoThat is an epically cool story from the early days of the Internet / web. Thanks for sharing!
- keepamovin 1 year ago
- kloch 1 year agoI bought a CD from CDNOW over Telnet in the early 90's!
I also remember telnet BBS's became popular for a few years when I was in college 91-93.
- obruchez 1 year agoThat's how I ordered my first CDs online: via a Telnet interface. It sounds crazy 30 years later.
- brk 1 year ago
- ahazred8ta 1 year agoYes, they were the original books.com, and I used to buy from them via telnet before they had their www site up.
- simantel 1 year agoDo you have more info? I found this article[0] about "Book Stacks" which became Books.com, but it looks like they were based in Cleveland?
[0] https://sbnonline.com/article/visionary-in-obscurity-charles...
- PaulDavisThe1st 1 year agoMore info is: I was wrong, Ohio is right.
- B1FF_PSUVM 1 year agoYes, books.com was based in Ohio. I bought from them via the mentioned telnet interface.
- PaulDavisThe1st 1 year ago
- StableAlkyne 1 year ago> selling books via a telnet interface.
Were people just that trusting back then, or had they figured out some kind of pre-SSL way of securing things?
- __s 1 year agoIn terms of MITM attacks, yes, they were trusting
Even back in 2010 lots of sites were http, like Facebook, & there was FireSheep which would snoop on public wifi for people logging into sites over HTTP
- SoftTalker 1 year agoIn 1994? Most of the internet was unencrypted, and it wasn't very commercial yet. https had just been invented, and ssh was a year away. There was no wifi, everything was dial-up unless you were at a university or something, and snooping just wasn't all that big a risk.
- hultner 1 year agoI can only talk from personal experience I did not trust most online payments around the turn of the millennium, but I did order quite a few things online. I usually payed either by collect on delivery or by invoice like regular good old fashioned mail-order, or by the early 00s VISA had something called e-card or similar, where you could generate a temporary one time use CC via a Java applet, this card was only valid for a day and could only be charged by a pre-determined amount, making the risk very low.
- PaulDavisThe1st 1 year agoWe were aware of this in the earliest days of amzn, and included a phone-in payment option to try to deal with this reluctance. It was rarely, rarely used.
- PaulDavisThe1st 1 year ago
- __s 1 year ago
- newsclues 1 year agoA large bookstore was using CLI for their internal inventory management system well into the 2000s.
- PaulDavisThe1st 1 year agoamzn was likely doing that too. the original tools that we wrote in 94-96 for store ops were all CLI.
- PaulDavisThe1st 1 year ago
- mleo 1 year ago
- thdxr 1 year agohey! i'm one of the people who worked on this, we actually launched a few days ago and sold out quite quickly - we'll remove the email capture so you can poke around
we'll be back in a few weeks with proper inventory and fulfillment
we'll also be opensourcing the project and i can answer any questions people have about this
- halfcat 1 year agoOh wow. You’re the guy who knows Adam right? His Laravel video was so inspiring.
- Mockapapella 1 year agooh shit, you're open sourcing this as well? I'd love to use a similar workflow for some of my projects. Love the idea!
Also you guys should post over on Threads -- a bunch of people over there are really into the idea as well: https://www.threads.net/@mockapapella/post/C5_vLdDP0J1
- qudat 1 year agoWe're doing similar things over at https://pico.sh/
- xyst 1 year ago[flagged]
- qudat 1 year ago
- d3m0t3p 1 year agoHey, nice work, how to get updates about the open source release ?
- thdxr 1 year agoprobably follow the twitter account @terminaldotshop
- thdxr 1 year ago
- dwhly 1 year ago"Strong keys, Strong coffee" There, you're welcome. :)
- halfcat 1 year ago
- thisisauserid 1 year agoIs it /usr/locally grown and single .'ed? How quickly can they mv it to my ~?
- tiptup300 1 year agoas per chatgpt
This joke is a clever play on words that merges elements of computer programming and coffee culture. Let's break it down:
New startup sells coffee through SSH: SSH stands for Secure Shell, which is a network protocol that allows for secure communication between two computers. In this context, the joke suggests that this new startup is selling coffee through a secure connection, presumably online. Is it /usr/locally grown and single .'ed?: This part of the joke is a play on the directory structure in Unix-like operating systems, where /usr typically contains user-related programs and data. "Locally grown" suggests that the coffee is sourced locally, and "single .'ed" is a wordplay on "single origin," a term used in coffee culture to denote coffee that comes from a single geographic origin. The /usr/locally grown part humorously combines Unix directory structure with the concept of coffee sourcing. How quickly can they mv it to my ~?: Here, "mv" is a command in Unix systems used to move files or directories, and "~" represents the user's home directory. So, "mv it to my ~" is a playful way of asking how quickly they can deliver the coffee to the customer's home. It's also a pun on the idea of moving the coffee to the user's home directory.
- phone8675309 1 year agoPretty good
- 1 year ago
- tiptup300 1 year ago
- Shakahs 1 year agoI'm curious how they built this. It's SSH but the IP address is Cloudflare's edge network. It could be using CF Tunnel to transparently route all the SSH sessions to some serving infrastructure, but I didn't know you could publicly serve arbitrary TCP ports like that. Building it in serverless fashion on CF Workers would be ideal for scalability, but those don't accept incoming TCP connections.
- Scaevolus 1 year agoYup! Cloudflare naturally advertises HTTP most heavily and it has fancier routing controls, but it supports arbitrary TCP protocols.
> Cloudflare Tunnel can connect HTTP web servers, SSH servers, remote desktops, and other protocols safely to Cloudflare.
https://developers.cloudflare.com/cloudflare-one/connections...
> In addition to HTTP, cloudflared supports protocols like SSH, RDP, arbitrary TCP services, and Unix sockets.
https://developers.cloudflare.com/cloudflare-one/connections...
- KomoD 1 year agoCloudflare Tunnels only open HTTP/S to the internet, you'll need their client to reach the other protocols. More likely that this is Cloudflare Spectrum.
- psd1 1 year agoI don't think that's correct. I serve matrix on 8443 through a tunnel.
- psd1 1 year ago
- londons_explore 1 year agoThat requires the client to install custom tunnelling software.
If you want the client to not require special software, they provide a web based terminal emulator for ssh, and a web based VNC client.
- KomoD 1 year ago
- thdxr 1 year agohey - worked on this it's using Cloudflare Spectrum which can proxy any tcp traffic
will be talking more about this soon
- zzo38computer 1 year agoSome protocols do not support virtual hosting; apparently this includes SSH.
It would be possible to support other protocols with a single IP address (either because they are running on the same computer, or for any other reason) if they support virtual hosting.
Of the "small web" protocols: Gopher and Nex do not support virtual hosting; Gemini, Spartan, and Scorpion do support virtual hosting. (Note that Scorpion protocol also has a type I request for interactive use.)
NNTP does not support virtual hosting although depending on what you are doing, it might not be necessary, although all of the newsgroups will always be available regardless of what host name you use (which requires that distinct newsgroups do not have the same names). This is also true of IRC and SMTP.
However, if you are connecting with TLS then it is possible to use SNI to specify the host name, even if the underlying protocol does not implement it.
(This will be possible without the client requiring special software, if the protocol is one that supports virtual hosting. There may be others that I have not mentioned above, too.)
- nkcmr 1 year agoMost likely using "Spectrum" which allows Layer 4 TCP+UDP proxying/DDoS protection: https://www.cloudflare.com/application-services/products/clo...
- londons_explore 1 year agoCloudflare workers has support for inbound TCP coming 'soon' [1]. Maybe they have early access?
[1]: https://developers.cloudflare.com/workers/reference/protocol...
- 1 year ago
- Scaevolus 1 year ago
- 9front 1 year ago
┌──────────┬────────┬─────────┬───────┬────────────────────┐ │ terminal │ s shop │ a about │ f faq │ c checkout $ 0 [0] │ └──────────┴────────┴─────────┴───────┴────────────────────┘ nil blend coffee whole bean | medium roast | 12oz $25 Dive into the rich taste of Nil, our delicious semi-sweet coffee with notes of chocolate, peanut butter, and a hint of fig. Born in the lush expanses of Fazenda Rainha, a 280-hectare coffee kingdom nestled in Brazil's Vale da Grama. This isn't just any land; it's a legendary volcanic valley, perfectly poised on the mystical borders between São Paulo State and Minas Gerais. On the edge of the Mogiana realm, Fazenda Rainha reigns supreme, a true coffee royalty crafting your next unforgettable cup. sold out! ──────────────────────────────────────────────────────────── + add item - remove item c checkout ctrl+c exit
- xyst 1 year agothis needs some "charm" to it. it's a bit basic
- 8organicbits 1 year agoCharm here is: https://charm.sh/
- archon810 1 year agoWow, this is incredible stuff.
- archon810 1 year ago
- 8organicbits 1 year ago
- xyst 1 year ago
- tonymet 1 year agoI long for an alternate dimension where terminal-based internet like Minitel dominated .
Something like hypercard implemented with 80x24 ncurses UI
- anthk 1 year agoELisp and Emacs UI tools under the TTY version it's close.
Also, check gopher and gopher://magical.fish under Lynx or Sacc. The news section it's pretty huge for what you can get with very, very little bandwidth.
gopher://midnight.pub and gopher:/sdf.org are fun too.
And, OFC, the tilde/pubnix concept. SDF it's awesome.
- fouc 1 year agoI love TUI (as in text-based user interfaces) so much more than GUI. It always felt like a far more peaceful and productive environment.
- allknowingfrog 1 year agoI love the idea of TUIs, but I honestly don't have a lot of experience with them. There's a lovely Go library called Wish that I keep looking for reasons to use. https://github.com/charmbracelet/wish
- IamDaedalus 1 year agocharm bracelet has some really great projects and my obsession for TUI interfaces is why I'm learning Go so that I can use one of their libraries in a peoject
- IamDaedalus 1 year ago
- tonymet 1 year agoResponsive, high-contrast, low bitrate, low complexity
- tiptup300 1 year agoAs long as I have ctrl+c/v copy and pasting I'm right there with you.
- int_19h 1 year agoFor DOS TUI, the standard was https://en.wikipedia.org/wiki/IBM_Common_User_Access: Shift+Delete to cut, Ctrl+Insert to copy, Shift+Insert to paste. These worked in DOS utilities like EDIT.COM, QBASIC.EXE and HELP.EXE, in all Turbo Vision apps including Borland Pascal and Borland C++ IDEs, in Visual Basic and Visual FoxPro for DOS, and they still work today in any Windows app that doesn't try to play silly tricks with its UI by doing its own text input.
- umbra07 1 year agodon't you mean yy and p?
- int_19h 1 year ago
- allknowingfrog 1 year ago
- mdgrech23 1 year agoThe real power of the internet all along in my opinion was networked databases. Everything else is fluff and not a particularly great use of resources.
- tonymet 1 year agonetworked spreadsheets would have been ideal
- tonymet 1 year ago
- Justsignedup 1 year agoCommand line dominates in quick flexibility. But is awful when it comes to discoverability. Most people can't even find the turn off ads button in windows 11. And people hate that. So what hope do they have at a terminal.
- thsksbd 1 year agoI think Ms Dos 6ish TUI integration was very well done, better than Linux today.
Word perfect had good mouse support, as did Editor.
- pizzafeelsright 1 year agoI have a theory that TUI is masculine and GUI is feminine.
- pizzafeelsright 1 year ago
- efreak 1 year agoTo be fair, would the button isn't hidden away too badly, most people have no reason to go into settings for anything. They go through the wizard at the beginning (if that) to do first-time setup, then when they decide they don't like something they just deal with it or complain incessantly until someone fixes it for them.
Someone complained to me a while back about the size of icons on the windows desktop being too small - I told them they can hold Ctrl and scroll the mouse wheel to change the zoom level. They've complained about the same thing a couple times since, and so far as I can tell have made no effort to fix it.
- Justsignedup 1 year agoTalking to people, settings terrifies them.
- Justsignedup 1 year ago
- CalRobert 1 year ago"Most people can't even find the turn off ads button in windows 11"
Perhaps the problem there is incentives.
- thsksbd 1 year ago
- vinay_ys 1 year agoncurses!
- mindcrime 1 year agoTurboVision!
- mindcrime 1 year ago
- anthk 1 year ago
- pimlottc 1 year ago> # use the command below to order your delicious 12oz bag of Nil Blend coffee
> ssh terminal.shop
Oops, I thought I was supposed to enter it directly into the prompt on the webpage. The styling makes it look like an interactive console, I figured they included an embedded javascript SSH client for users who might not have one.
- mgfist 1 year agoMade the same mistake
- mgfist 1 year ago
- latexr 1 year agoReminded me of Hacker Scripts, specifically `fucking-coffee`:
> this one waits exactly 17 seconds (!), then opens a telnet session to our coffee-machine (we had no frikin idea the coffee machine is on the network, runs linux and has a TCP socket up and running) and sends something like `sys brew`. Turns out this thing starts brewing a mid-sized half-caf latte and waits another 24 (!) seconds before pouring it into a cup. The timing is exactly how long it takes to walk to the machine from the dudes desk.
- raggi 1 year agoBefore a bunch of you run off and make more of these “because it’s cool”, they’ll likely lose access to stripe once stripes security team pay attention and realize that this can be trivially man in the middled and doesn’t actually offer the equivalent protection to https.
I wrote up a little demo and explainer at
https://mitm.terminal.shop.rag.pub ssh mitm.terminal.shop.rag.pub
- lol768 1 year ago> I wrote up a little demo and explainer at
They give you the ed25519 host key to insert into your known_hosts file on their homepage, which itself is served over TLS with all of the protections you describe in your article. They could go into more detail on being careful with not falling into the tofu trap perhaps, but I don't see that there's an inherent PCI-critical problem here. ssh tells you who, cryptographically, you're connecting to.
If I mess with my DNS and point it at your "little demo", this happens:
Anyone ignoring a big scary warning like that probably isn't going to brew the coffee properly anyway.$ ssh foo@terminal.shop @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
And guess what? My browser lets me bypass HTTPS warnings too! Yes, even when HSTS is enabled I can take steps to bypass the warning.
- raggi 1 year agoExcept in their marketing materials they just say `ssh terminal.shop`
Users will fall into the TOFU trap, most users who've sent them cash certainly did.
Most users won't put their credit card credentials into a page that they've had to bypass a cert warning on.
- raggi 1 year ago
- I_o_IllI__o_I 1 year agoHmm, I'm having trouble finding that site. Sick sunset at rag.pub though!
- raggi 1 year agoIt’s available via ssh and https
That shots from my parents balcony in Bermuda
- raggi 1 year ago
- lol768 1 year ago
- Repulsion9513 1 year agoPSA to anyone making a public SSH service: List the fingerprint, not the host key, thanks. (Or better yet list both!)
- raggi 1 year agoor better yet, don't use ssh for this purpose, it's not good for it.
letsencrypt is free, you might hate the browser for many fair reasons, but PKI and the CA/B forum are actually effective.
- robocat 1 year agoPlease avoid acronyms on HN or spell them out. We don't all live in your context.
duckduckgo just says PSA is Prostate specific antigen. What did you mean?
- efreak 1 year agoI would blame this one on DDG, actually. PSA is an incredibly common acronym for public service announcement. Wherever DDG sources acronyms for might also be assuming people just know it. Try wiktionary or Wikipedia disambiguation pages for acronyms when they don't show up in search, I can often find them there.
- drekipus 1 year agoWhat's HN?
- eddd-ddde 1 year agoIIRC Public service announcement.
- acheong08 1 year agoPublic service announcement. It’s very widely used
- Repulsion9513 1 year agoSorry, I meant Secure SHell. Oh wait, that wasn't the widely-known acronym you asked about.
- SoftTalker 1 year agoSorry to see this downvoted, I think it's a common courtesy to spell out acronyms on first use, no matter how widely understood one believes them to be.
- lambdaxyzw 1 year agoI think that's because most people consider this requires unjustified. Do you think similarly about expanding acronyms like SSH, CLI, HTTP, HN, FYI, USD, US, EU, PKI? Why/why not?
- lambdaxyzw 1 year ago
- 1 year ago
- snapcaster 1 year agopublic service announcement, chatgpt would have got it for you
- efreak 1 year ago
- raggi 1 year ago
- tithe 1 year agoHmm, a CLI interface for consumer purchasing.
Can I pipe that order through to a payment processor and delivery method? Script my meals for the week?
- solardev 1 year agoEverquest has you beat by a couple decades: https://www.nbcnews.com/id/wbna7020132
In that game you can type /pizza and it'll get ordered and delivered
- hk1337 1 year agoPizza Party beat this by a few years, I believe.
https://entertainment.slashdot.org/story/04/05/07/138238/piz...
- ethbr1 1 year agoThat makes me miss the days when "but in 3D!" was a novel business model...
https://duckduckgo.com/?q=everquest+gameplay&t=fpas&iar=imag...
Hard to be formulaic when there's not a formula.
"Why not real pizza ingame?"
- solardev 1 year agoThe Everquests certainly seem dated today, but for their time, they were pretty neat! The gameplay was simple (especially by today's standards), but it was a pretty unforgiving game that required a lot of teamwork. It was the social aspect that kept most people playing, I think, especially in guilds.
I remember a lot of the playerbase kept asking for significant changes to make the game less grindy and hardcore, but the main game designer would always push back and reiterate The Vision™ (in their words) and stick to their plans. Not only did they not ask for feedback, they would actively fight back against it and reinforce their stance. Well, they must've done something right... 25 years later, EQ is still alive, celebrating its anniversary, and making new expansions (after several sets of publisher/developer changes, though).
If not for EQ, we wouldn't have had World of Warcraft and all the other MMOs. But today's MMOs have all become basically "massively singleplayer" in that grouping is rare outside of guilds and limited end-game raids, with bots and boosters of various sorts taking the place of what used to require multiple real people (AI really IS ruining everything!)
The social aspect has been heavily deemphasized nowadays (Diablo and Destiny don't even have global chats anymore) and you mostly just see the ghosts of people doing their own things with no real need to interact with them anymore. Too bad =/
Showing off /pizza or other fun commands (emotes, music, crafting, etc.) was a big part of the old-school experience. These days there are still some semi-social MMOs (New World has an awesome group music jamming system, where multiple people can get together and jam like Rock Band/Guitar Hero: https://www.youtube.com/watch?v=ggWZJNnaLNU)... but sadly no more in-game pizza that I know of.
-----------
If anyone's looking for an old-school MMO in the style of EQ, Project Gorgon is an indie MMO made by (I believe) a mom-and-pop dev team: https://store.steampowered.com/app/342940/Project_Gorgon/
- solardev 1 year ago
- tithe 1 year agoNice. I was wondering if this had been done somewhere before.
"Sony plans to integrate the pizza function more tightly into the game", which every game should do, of course :)
- codetrotter 1 year agoGame programmers: it’s a video game, we don’t need the same kind of application security that other programs do
Hacker: Hold my beer while I exploit this dude’s game client and makes it order 10,000 pizzas to his door
- codetrotter 1 year ago
- robertlagrant 1 year ago> Demonstrating a deep understanding of what its computer-gaming audience, Sony has built the ability to order pizza into its latest online multiplayer game.
NBC's command of language might not be good, but it turns out it is consistent.
- hk1337 1 year ago
- solardev 1 year ago
- lambdaxyzw 1 year ago>is ordering via ssh secure?# you bet it is. arguably more secure than your browser. ssh incorporates encryption and authentication via a process called public key cryptography. if that doesn’t sound secure we don’t know what does.
Strong disagree. The encryption is the easy part, the hard part is the symmetric key exchange. And PKI used by browsers is much more robust for this usecase then TOFU model of ssh. Of course the proper way to fix this is checking the ssh key fingerprint, but almost nobody does this.
- 1 year ago
- 1231232131231 1 year agoWon't it warn you if you put the public key in your authorized_keys as shown here: https://www.terminal.shop/?
- 1 year ago
- orblivion 1 year agoSo unless you mean to exclusively sell coffee to users who don't have a white terminal background, you may want to consider your color scheme. I was missing the white text.
(I know this is considered an atrocity by some, but I happen to not really care enough about my terminal color to change the default)
- bee_rider 1 year agoThe atrocity was committed by whoever set that default, we can work out a plea deal as long as you rat them out.
- Tijdreiziger 1 year agoMac OS X’s Terminal.app used to be black-on-white by default, wouldn’t be surprised if that’s still the case.
- int_19h 1 year agoXterm is black on white by default.
- int_19h 1 year ago
- Tijdreiziger 1 year ago
- zzo38computer 1 year agoIs there an environment variable defined for specifying if you want light or dark colours? If so, then it would help with local programs, and also with remote programs (such as this one) if you add a SendEnv command into the SSH configuration file to specify that SSH should use this environment variable.
- ammar2 1 year agoA little non-portable but there is an xterm escape sequence[1] that gets the user's background color: \e]11;?\a
You might also be able to use the reverse-video[2] escape sequence to get something that works depending on the user's color scheme.
- ammar2 1 year ago
- gavindean90 1 year agoThe whole system wide light/dark stuff came about too late to help our terminal sessions.
- adamdotdev 1 year agowe meant to have this fixed before launch, but ran into some snags with charm's `wish` and adaptive colors.
shipped an improved light mode today!
- bee_rider 1 year ago
- low_tech_punk 1 year ago"Shell company" takes on a new meaning!
- sva_ 1 year agoReally cool interface. Is there any list of such servers publicly available through ssh?
- efreak 1 year agoSome of the older still-available services are listed below
SSH: ascii.theater was mentioned here, so was mapscii.me There's a bunch of games at https://overthewire.org/wargames/ (and there's likely still dozens of other small muds running over telnet as well) chat.shazow.net is a chat server
Non-ssh (the games mostly require registration): `curl wttr.in` for weather `finger help@graph.no` for weather `cat | nc termbin.com 9999` for a pastebin `telnet telehack.com` `telnet freechess.org` `telnet gt.gamingmuseum.com` `telnet fibs.com 4321` to pay backgammon
There's used to be Nyan cat through telnet, which I'd hacked into running on ssh but AFAICT there's no longer any servers around (my own server is no longer around either) https://nyancat.dakko.us
Unknown how many of these are running still: https://info.cern.ch/hypertext/DataSources/Yanoff.html There's a much more recent list that includes ssh and telnet services here: https://github.com/chubin/awesome-console-services
---
On a related note, http://shells.red-pill.eu/ lists a bunch of free shell services.
- qudat 1 year ago
- eddd-ddde 1 year agoI remember some blog post that took comments via ssh, that was cool as well.
- tonymet 1 year agocreate the next ssh crawler
- 1 year ago
- efreak 1 year ago
- wrs 1 year agoLove the idea! Congratulations (?) on being sold out!
My constructive feedback is that the text contrast is so low (in iTerm2 anyway) I can barely read anything. I thought only web pages had that problem, but I guess sufficiently sophisticated TUI apps have designer color problems too! What's next, incredibly tiny terminal fonts? (jk, designers...sort of)
- ethanholt1 1 year agoI wasn’t the one who made this, fwiw.
- ethanholt1 1 year ago
- manicennui 1 year agoI really like Fellow Drops: https://fellowproducts.com/pages/fellow-drops
It is SMS based. Each week they offer a different bean from a different roaster, and you reply with the number of bags you want. I've discovered a number of great roasters this way.
- lxe 1 year agoInteresting. I like this. No need for a cookie banner.
- atq2119 1 year agoThere is never a good reason for cookie banners, by definition.
The rule is that if you have a good reason for your cookies (i.e., basically one that isn't user-hostile), you have nothing to worry about and don't need a cookie banner.
It's only when you engage in user-hostile practices, such as tracking, that you need to ask for consent.
I'm being sightly snarky, but that's really the essence of it.
- quesera 1 year agoYou are not wrong.
But beware the predatory lawyers who will come after you for ostensible violations of California’s Invasion of Privacy Act, California Penal Code section 630, et seq. (“CIPA”).
One company I work with received multiple arbitration demands (claimed "privacy" damages in excess of $25000 each, helpfully offered to settle for $5000 each!). And this company didn't even set any cookies or run any 3P tracking on their site!
Their (famous-you-know-them, expensive, California-based) lawyers said "yes, we are seeing this more and more. We can fight and win for $200K, or you can pay the $50K of claims outstanding and add a banner to your site".
Their CEO chose the less-expensive option. :-/
- viraptor 1 year agoDoes the law even matter in this case? If the idea was to make you convinced you'd spend $200k to win a bogus case, you can be sued for literally anything...
- viraptor 1 year ago
- s__s 1 year agoVery few people understand the law and just opt to defensively throw a cookie banner up on the site. Usually a 3rd party service.
At this point I’ve even had clients ask for it, thinking it makes their site more professional and credible, since everyone else does it.
- DEADMINCE 1 year ago> It's only when you engage in user-hostile practices, such as tracking, that you need to ask for consent.
Which is what the majority of sites want to do which is why there is a good reason for a cookie banner, by definition.
- karaterobot 1 year agoI believe that you need to inform users about the use of strictly necessary cookies as well. You just don't have to ask for consent before adding them.
> While it is not required to obtain consent for these cookies, what they do and why they are necessary should be explained to the user.
There's nothing about a cookie banner in GDPR, it's just the most convenient (and, often, laziest) solution to the question of how to confidently say you've told users something.
- quesera 1 year ago
- paxys 1 year agoBut what if I want coffee and a cookie?
- joelfried 1 year agoCan I interest you in this delicious cup of Java?
- joelfried 1 year ago
- Jerrrry 1 year ago
there was never a need>No need for a cookie banner.
- tonymet 1 year agothey get your ssh public key which is a unique identifier so that should be disclosed.
- bigstrat2003 1 year agoIt's a public key. You should operate under the assumption that anyone could have it at any time.
- Scarblac 1 year agoStill, it identifies you so it can be used to track you over visits to many different stores-over-ssh, just like third party cookies.
- david422 1 year agoThat's kinda what I thought about emails too but ... somehow that has changed.
- tonymet 1 year agowhat does that have to do with disclosing the potential for tracking?
- riffic 1 year agoit's a dessert topping and a floor wax
- Scarblac 1 year ago
- paxys 1 year agoIf they aren't logging it then there's nothing to disclose.
- safdskljlkj 1 year agoIf IIS had won the server wars, your MOTD could give you targeted ads based on exactly this. Oh, the innovation!
- bigstrat2003 1 year ago
- dezren39 1 year agoit's a us company they don't need a cookie banner anyways
- quesera 1 year agoBe careful. If you have California customers you need to worry about California’s Invasion of Privacy Act, California Penal Code section 630, et seq. (“CIPA”).
It's not clear that it applies to the web! But predatory lawyers will come after you for it, if you are big enough and don't have a cookie banner.
- quesera 1 year ago
- f_devd 1 year agoI mean, if they somehow ported google analytics (or some other brokered PII network) I think they technically would need consent and disclosure.
- organsnyder 1 year agoThey'd only need a cookie banner if they somehow could put a cookie on your machine using SSH.
Depending on how they're using any personal data you provide, they likely wouldn't need consent: for instance, if they use the personal data you provide to ship you your order, they don't need to ask (you supplied your information for the express purpose of placing an order, after all). However, if they want to do more with that data, they'd need consent.
- organsnyder 1 year ago
- atq2119 1 year ago
- exabrial 1 year agoThe authenticity of host 'terminal.shop (172.65.113.113)' can't be established. ED25519 key fingerprint is SHA256:TMZnO7N8mmR/Pap3urU2P4uBNuhxuWtDUak0g9gyZ8s
That's a bit different than the key listed
- tichiian 1 year agoNo. The key listed is the whole plain ed25519 pubkey (those are relatively short). The message displays the SHA256 digest.
You can check that in your local known_hosts file (after having connected at least once) with "ssh-keygen -F terminal.shop -l" and "ssh-keygen -F terminal.shop -lv". (Yes, it is confusing that the command is named "ssh-keygen" but does lots of things that are not about generating any keys)
If you want to do it without connecting, try "ssh-keyscan terminal.shop".
- zaik 1 year agoHave you added the required line to ~/.ssh/known_hosts as described on their website?
- cgriswald 1 year agoThat's not actually what they describe. They describe catting known_hosts and seeing terminal.shop with the given key in the output. That won't work if you don't continue to connect because known_hosts won't be updated with their key. Additionally, if hosts are hashed, you won't see terminal.shop anyway.
- zaik 1 year agoI think what "cat" here means is that you are supposed to add their key to the known hosts file manually before you connect. Showing the output of "cat file" is a way of saying "this should be in the file".
- zaik 1 year ago
- cgriswald 1 year ago
- 1 year ago
- tichiian 1 year ago
- 1970-01-01 1 year agoReminds me of
"Before Google, Sergey Brin tried (and failed) to let us order pizza by fax"
- m463 1 year agosolaris used to have a pizzatool
EDIT: image here: https://blog.adafruit.com/2022/01/31/the-story-of-sun-micros...
- Kwpolska 1 year ago
- Kwpolska 1 year ago
- m463 1 year ago
- rrr_oh_man 1 year agoI might be horribly out of touch, but... is $25 for a 12oz bag of not-totally-horrible coffee beans really a normal price?
- mywittyname 1 year agoNo. 12oz Dunkin is like $9 at Target, same with Starbucks medium roast; Pete's is $12. The most expensive stuff is this mushroom chuga coffee (I have no clue what this is) for $16/12oz. And Target is generally more expensive than most chain supermarkets.
So no, not a normal price.
- lee_a 1 year agonot normal price for anything you'd find in most grocery stores.
but as an anecdote, I get a lot of coffee from the Fellow Drops subscription service, and those bags average around $25 - often for less than 12oz.
- technodelic 1 year agoThe best local roaster in my town charges about $20 for a 12oz bag of specialty single origin coffee. Their blends are a little cheaper even.
The lowest price specialty coffee I could find online is about $12 for a little over 10oz from a place called S&W.
So $25 is a very bad value in my opinion.
- deadmutex 1 year ago~$15-$20 for a 12oz to get it fresh from a local roaster in the SFBA.
- SoftTalker 1 year agoYou're paying for the convenience.
- mywittyname 1 year ago
- TaylorAlexander 1 year agoReminds me of my friend’s zine-via-telnet: https://anewsession.com/
- FerretFred 1 year agoNow /that's/ interesting! Thanks for the link - I must try this myself...
- FerretFred 1 year ago
- geuis 1 year agoIf you're looking for a movie to enjoy with your coffee, https://ascii.theater/
ssh -a -i /dev/null -o StrictHostKeyChecking=no watch.ascii.theater
- sigio 1 year agoI raise you:
telnet mapscii.me
- sigio 1 year ago
- Dig1t 1 year agoIt's sold out and the only option if you actually connect via ssh is to give them your email address so they can send you updates.
- netsharc 1 year agoHah, they went awesome and implemented an SSH interface, and they ended up with an unescapable "subscribe to our fucking newsletter" prompt anyway...
- bradlys 1 year agoMakes me wonder if this is just a ploy to email harvest and there never was any coffee being sold.
- fragmede 1 year agoThey were mentioned 2 and 1 days ago, and weren't sold out then.
- memco 1 year agoThere’s always risk exchanging money and information with a merchant regardless of where and how the transaction takes place. And SSH is a fairly unconventional way to run a business so that’s a point in favor of extra caution. That said, tit is pretty unlikely to be a scam. Two of the team members are theprimeagen and teej_dv; both longtime twitch/youtube streamers: with a reasonable following: one of whom is a core neovim maintainer. They streamed the development of most of this live on twitch. They have a reputation to uphold and a track record of other publicly facing work to help support the legitimacy of this venture. Sadly, the VOD requires a subscription and the source isn’t available (though they said they plan to open source it) so there’s not much to fall back on other than hearsay until the orders start arriving or the code gets posted.
- ehutch79 1 year agoThe Primeagen is behind this, and they had physical samples at react whatever in miami recently for whatever that's worth
- sm0ol_ 1 year agoall the guys involved with this are public and legit. you just happened to look after they were sold out. I ordered some just fine.
- aaroninsf 1 year agofor backend dev recruiterspam
- fragmede 1 year ago
- netsharc 1 year ago
- aftbit 1 year agoAh lame, they won't even let you browse since they're sold out.
- krasin 1 year agoI believe it's just a stub for collecting emails. Nothing more.
Edit: somebody was able to order coffee through them (see below).
- nkcmr 1 year agoNope! It is real, I was able to order some coffee a few days ago. Will report back on if it shows up or if it is any good :)
- krasin 1 year agoOh, cool! That gives me hope.
- krasin 1 year ago
- aftbit 1 year agoWell I hope they enjoy getting a lot of fake emails, because that's what's gonna happen.
- krasin 1 year agoMany people forget that their email is included in the public key that is presented to the ssh server by default. So, the email collection form is actually somewhat redundant.
But yes, I added my share of funny email addresses to their list. Tradition is a tradition.
- krasin 1 year ago
- nkcmr 1 year ago
- krasin 1 year ago
- 1 year ago
- nerdjon 1 year agoWas kinda hoping this was some place selling made coffee, but I do realize the reach of that would be small.
But I do kinda like the idea of something as... niche as this popping up in a highly tech area and then offering the ability to buy and get your coffee without ever seeing someone.
Like you just walk into a room with a rotating door (like one you might see at a doctors office for samples) or something like that.
Feels very... introvert and would be kinda fun.
- toddmorey 1 year agoThe founders have a great (if conversational and sometimes off topic) podcast about development topics:
https://podcasts.apple.com/us/podcast/how-about-tomorrow/id1...
- 1f60c 1 year ago"Universal" podcast link: https://pods.link/i/1651741524
- 1f60c 1 year ago
- 9front 1 year agoFrom the FAQ:
will Nil make me a better developer? legally we cannot guarantee that it will, but... is it true your coffee contains the sweat of @theprimeagen? we can neither confirm nor deny these rumors. is it true your coffee contains the tears of @thdxr? yes, this is true.
- 1 year ago
- mebazaa 1 year agoReminds me of prose.sh. Turns out, there’s a lot you can do if you SSH keys as an authentication mechanism!
- aprilnya 1 year agoFAQ:
> is ordering via ssh secure? you bet it is. arguably more secure than your browser. ssh incorporates encryption and authentication via a process called public key cryptography. if that doesn’t sound secure we don’t know what does.
Doesn’t TLS use public key cryptography too?
- tempaccount420 1 year ago"More secure than your browser," while serving the hostkey over HTTPS.
- tempaccount420 1 year ago
- yegle 1 year agoIt would be awesome if I can do something like this:
> ssh terminal.shop "register foo $pubkey"
> ssh foo@terminal.shop "set shipping address to $addr, credit card info $info, email address $email"
> ssh foo@terminal.shop "order one 12oz light roast"
- dancemethis 1 year agoClaim to be ethical, yet don't deliver in the country the coffee is actually made.
- hk1337 1 year agoReminds me of the pizza cli app that would order Domino's Pizza.
EDIT Pizza Party is what I am thinking about.
- melodyogonna 1 year agoPrime and Teej streamed the development
- arianvanp 1 year agoAnother service that is completely controlled through a ssh tui : https://nixbuild.net
- raytopia 1 year agoThis is really cool. I wonder how they pipe the data to stripe?
As an aside kind of funny to see this pop up. I was just talking about if anyone was doing ordering through a cli a while ago: https://news.ycombinator.com/context?id=39817617
- abe-101 1 year agoWith the stripe api Why would their backend be different then any other website using stripe
- abe-101 1 year ago
- zachlatta 1 year agoI love this. If you love this, you might also like a game I built a while ago:
$ ssh sshtron.zachlatta.com
- worker_thread 1 year agoI am very curious how this is built, I would like to build similar SSH interactive experiences. Any resources and how to get started would be really appreciated. (I know how to setup a basic TCP server that listens on SSH port, but I really don't know how to implement navigation etc for the SSH experience)
- zedutchgandalf 1 year agoI think they use Wish in Go: https://github.com/charmbracelet/wish The company making this, charm.sh, has a whole bunch of cool cli frameworks
- zedutchgandalf 1 year ago
- mynameisnoone 1 year agoWhile it's cute, it's a small business not a startup and still a gimmick that doesn't solve the problem that coffee is a commodity and so the business is fundamentally not defensible. It's equivalent to being a meal kit business, which is one notch away from being a restaurant.
- archgoon 1 year agoSince I can't currently order, can someone say how the ordering process works? Do they send back a link to be used with stripe? Or do they try to handle everything within the terminal? The latter seems to invalidate their claim that this is just as secure as using a web browser.
- langcss 1 year agoIs this a reverse-Dropbox play? Make something need ssh, rsync, etc. that didn't need it before.
- pahool 1 year ago$25 for 12 oz? Yikes!
- fabian2k 1 year agoWith 70$/kg that's at the upper end of typical prices for specialty coffee (though I'm not familiar with US prices specifically). No idea if they are at a level where they can compete at that price point, a single blend as main product is rather odd for a coffee roaster. At this price point you'd usually get various single origin coffees.
- tonymet 1 year agowhat did you expect when they said "startup" and not "shop"
- jkestner 1 year agoFree coffee in exchange for all future rights to my productivity metrics.
- tonymet 1 year agoknowing "startups" i'm sure their vision is streaming SSH subscription as a service . They track your keystroke rate and automatically ship new batches of $2/oz coffee when you get below 90 keystrokes/min
- tonymet 1 year ago
- mywittyname 1 year agoNo joke, but "startup" can often be code for, "extremely high-quality items that are subsidized by VC money". The quality doesn't last, but if you get in early, you can often buy stuff that's way nicer than it should be for the price.
- tonymet 1 year agoi would frame this comment if I could.
Early AirBnB, Lyft, Uber, Lime, Bird, Netflix, online-retail were very high quality for low cost and then inverted.
- tonymet 1 year ago
- jkestner 1 year ago
- dilyevsky 1 year agoGuessing you’re not an Onyx Coffee fan then? =)
- ok123456 1 year agoI'm sticking to costco.
- fabian2k 1 year ago
- cbhl 1 year agoLooks like they're sold out now.
The "enter your email for restock updates" part of the screen showed up as white-on-white on my light-mode-by-default Gnome Terminal on my first try and so I was slightly confused; sshing from `uxterm` worked fine though.
- low_tech_punk 1 year agoHow does scaling work for SSH? e.g. How many concurrent connections can the server handle?
- doawoo 1 year agoNeat — big fan of TUIs! But I’m an even bigger fan of coffee… so show me where that coffee actually is sourced from…
Did you go and source it from farms? Is this sourced from another company? Whose blend? Do you provide the roast date on the bag?
- pmarreck 1 year agoI love TUI's. And now that Sixel exists, we can even have images in the Terminal.
The massive simplification this provides over rendering HTML/CSS should be attractive to startups.
Now I wish we had a CLI/TUI for things like Amazon...
- poopsmithe 1 year agoSo cool! Congrats on selling out!
I was curious to see if I could connect using mosh. I could, but I wasn't able to use the hotkeys to browse the different screens like I was when I connected via ssh.
- kobieps 1 year agoI would not be upset if the entire internet went back to this.
- dingosity 1 year agoHappy to see this didn't work
I was worried for a second they hadn't thought of that.scp foo.txt terminal.shop:.
- dingosity 1 year agoThough obviously, something like
orscp evil_passwd_file terminal.shop:/etc/passwd
is really the kind of thing you don't want. But if you can't copy foo.txt into your home directory, you probably can't copy attacker versions of more sensitive files into sensitive locations.scp evil_authorized_keys terminal.shop:.ssh/authorized_keys
- dingosity 1 year ago
- normsbee 1 year agoThis is so cool! Just imagine a world where you can run `getcoffee latte` and have a latte show up at your door 20 minutes later.
- paxys 1 year agoMost of these APIs already exist, just that they are hidden behind custom apps and auth walls. For example you can order coffee on starbucks.com or doordash.com right now and see all the network requests which facilitate the delivery.
- objektif 1 year agoYour receipt: - latte 5.99 - delivery fees 5.99 - ssh fees 0.99 - internet fees 0.59 - water 0.19 - sewage 0.09 …..
- jethro_tell 1 year ago
Wait, what?Sub total 5.99 Total. 10.80
- daft_pink 1 year agosomeone call the ftc lol
- jethro_tell 1 year ago
- paxys 1 year ago
- semessier 1 year agoI wanted to ask if they do telnet/finger also, but there is no email listed.
- wuj 1 year agoCool concept, but quite limiting if you are selling a mass-market product.
- matt3210 1 year agoSlack preview link shows up weird. It shows as follows
> wip: terminal (initial commit)
- whimsicalism 1 year agoThey sold out in 15 minutes? Or this is email/ip addy harvesting?
- mminer237 1 year agoFrom their Twitter, they sold out yesterday. OP must have just thought it was interesting regardless, even if it's a suboptimal time for them.
- mminer237 1 year ago
- bascope24 1 year agoThis is really cool. Which tech does it use for ecommerce functions?
- mhh__ 1 year agoI've been toying around with an ssh based casino recently.
- k8svet 1 year agoMan, consumerism is a powerful drug. Just one gimmick needed.
- nomel 1 year agoIn this case, caffeine would be the literal drug.
- jethro_tell 1 year agoI mean, some of us are going to buy and drink coffee anyways.
- nomel 1 year ago
- ayman_saleh 1 year agoThis is genius!
Not sure how the stripe payments intake work but very cool!
- willcipriano 1 year agoLooking forward to reading about this incredible journey
- nunez 1 year agoThis is cool; I wish they had decaf single origin!
- yalok 1 year agoI would really like to see a decaf option there.
- amelius 1 year agoDoes ssh have a good payment system built in?
- bee_rider 1 year agoAre the beans any good, what kind of roast?
- 9front 1 year ago"Dive into the rich taste of Nil, our delicious semi-sweet coffee with notes of chocolate, peanut butter, and a hint of fig" and "medium roast"
- bee_rider 1 year agoOh, is that in the email or something?
I searched Nil blend coffee but only got results about sports teams.
I wonder if it is white-label or something.
- bee_rider 1 year ago
- 9front 1 year ago
- skilled 1 year agoKind of disappointed that there is no option for commands like “ls” or “whoami”. I think it would be a nice addition, especially if this inspires other people to launch similar pages for other types of products.
- cat_plus_plus 1 year agoScared to order after xz exploit...
- mateusfreira 1 year agoSame here, I know Prime tho. I really looks fun, but sound scary
- mateusfreira 1 year ago
- einpoklum 1 year agoHey terminal.shop, Y U No T? :-(
- gnabgib 1 year agoPage title: wip: terminal
- skilled 1 year agoThat is objectively a worse title than what is submitted - which explains what the page/product does.
- skilled 1 year ago
- latentsea 1 year agoWho has this problem?
- colesantiago 1 year agozero interest rate startups are still in fashion I see.
- jethro_tell 1 year agoWhat makes you think any small business like this would need to get VC funding for a website and a simple tui program with a couple features?
People make cafes and coffee shops all the time without taking money or at least VC money.
- sm0ol_ 1 year agothey're self-funded, there's no interest rates present.
- daft_pink 1 year agoonly if they spunoff their ssh based shopping cart with stripe integration to a vc funded startup.
- jethro_tell 1 year ago
- cozzyd 1 year agohopefully using a java implementation of an ssh server
- nkcmr 1 year agoI'd bet it is probably Golang and using this: https://github.com/charmbracelet/wish
- bored9000 1 year agossh -v reports remote software version Go, immediately looked like the charm stack to me as well
- bored9000 1 year ago
- nkcmr 1 year ago
- atleastoptimal 1 year agook cool gimmick but why? is it special coder coffee?
- glonq 1 year agosure, but can I sudo a sandwich ?
- kolinko 1 year agoSold out :(
- botsone 1 year agoCHROOT
- fagrobot 1 year agosuuuuper gay
- qxfys 1 year agonow, I want to sell ketchup over SSH.
- I_o_IllI__o_I 1 year agoNot to dunk on the coffee which I haven't tried but this seems like a viral ad? I get it's cool that this actually works, but in practice how is it different to selling coffee through an API through a generic web interface served by shopify? In the end in both ways they are selling you coffe beans for money. It's still cool to see it in your terminal though.
- pmx 1 year ago> It's still cool to see it in your terminal though
This is the whole point, I think. Things can exist just because they're fun :)
- pmx 1 year ago
- nescioquid 1 year agoThis seems obligatory: https://tldp.org/HOWTO/Coffee.html
- daft_pink 1 year agonow I need a turing complete waffle iron
- 1 year ago
- daft_pink 1 year ago
- Linda231 1 year ago[dead]
- helpfulContrib 1 year ago[dead]
- huhuhu111 1 year agoThey are missing out.. There are some Tor customers out there...
- 1 year ago
- em1sar 1 year ago[dead]
- dwhly 1 year ago"STRONG KEYS, STRONG COFFEE"