I would like a program or website to connect to a computer and be able to edit a file there.
Say I have a server. Call it 192.168.1.2 Say I have a file. Call it /data/editme.txt
I want either a simple link I can bookmark to edit this file, or to a note app (such as Joplin or Obsidian) and also be able to edit this file.
I tried using Syncthing, however I would rather not have to sync the file from one location to another. This file has no need to be stored in multiple locations.
Anything that’ll solve this for me?
You could use Nano (or Vim) over SSH, or set up a Samba-share from the server and mount it in your local OS somewhere.
Vim handles remote files over SCP natively:
vim scp://192.168.1.2//data/editme.txt
“Use vim in SSH” is not a great answer to asking for a convenient way to edit a single file, because it requires understanding multiple somewhat-complex pieces of technology that OP might not be familiar with and have a reasonably steep learning curve.
But I’d still like to explain why it pops up so much. And the short version is very simple: versatility.
Once you’ve learned how to SSH into your server you can do a lot more than just edit a file. You can download files with
curl
directly to your server, you can move around files, copy them, install new software, set up an entire new docker container, update the system, reboot the system and many more things.So while there’s definitely easier-to-use solutions to the one singular task of editing a specific file on the server, the “learn to SSH and use a shell” approach opens up a lot more options in the future.
So if in 5 weeks you need to reboot the machine, but your web-based-file-editing tool doesn’t support that option, you’ll have to search for a new solution. But if you had learned how to use the shell then a simple “how do I reboot linux from the shell” search will be all that you need.
Also: while many people like using vim, for a beginner in text based remote management I’d recommend something simpler like nano.
Often I use git and just edit my repo files with the GitHub app and then git pull the changes from the server that needa the file. If you’re already familiar with git it’s probably easier than learning vim. You can probably do it directly to a repo behind ssh. If not then I’d learn vim before git.
Do you use your own git server? Or do you use github? I want to use git but i dont want microsofts grubby hands in my data
You don’t need a dedicated git server if you just want a simple place to store git. Simply place a git repository on your server and use
ssh://yourserver/path/to/repo
as the remote URL and you can push/pull.If you want more than that (i.e. a nice Web UI and user management, issue tracking, …) then Gitea is a common solution, but you can even run Gitlab itself locally.
that sounds good. thanks.
Look into ssh
You’re talking about remotely editing a file. That means you’ll need remote access to the fileserver where it lives. The common way to do this would be with a network fileshare, but there are many options.
If you want to access the file from OUTSIDE your home network, you need a VPN or something similar. The simplest option is probably Tailscale. Just install it on your server and on your remote device, and boom, both are always magically on the same virtual network.
I use Zerotier-One for the vpn part, also real easy to setup as an alternative.
Try set up ssh then u can ether use a terminal or vscode with the ssh emote something extension
Personally I use vscode remote-ssh for editing random files on other servers if I want/need a GUI for it.
There’s a project called Filebrowser that allows you to edit text files in a web interface. You can just run that on the 192.168.1.2 machine. It’s easy to set up simple auth, and you can restrict it to the /data/ directory.
Ah, gotta love the people who tell someone with obviously limited knowledge to “just use ssh and vim”, lol. Yeah, just open up port 22 to the general public, what could go wrong…
A VPN, e.g. Wireguard, would allow you access to your local network, so you could just mount a network drive. This would be relatively easy to set up.
But to be frank, unless you have more reason than “no need for the file to be stored in different locations”, syncthing is probably your best option. It’s convenient and secure.
Edit: why the downvotes? I didn’t say anything bad about your beloved vim, no need to get triggered 😘
i agree with you. also the ‘use vscode ssh-remote-eeit-plugin’ or ‘install a remote web ide thing to edit one file’ answers are… questionable.
syncthing does not require to open access to the outside and does what op wants.
WinSCP is a nice GUI app that will connect over various protocols and let you edit a file easily. You can save the connection details so it’s just like 2 clicks to edit a file.
Surprised everyone is recommended SSH and vim and stuff when you wanted easy and simple.
Technically speaking the OP would be, most likely, be using SSH as the protocol to connect to the server using WinSCP. But yes, I agree with your point.
WebDAV will handle that, and Joplin has WebDAV client built in.
Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:
Fewer Letters More Letters Git Popular version control system, primarily for code IP Internet Protocol SSH Secure Shell for remote terminal access SSL Secure Sockets Layer, for transparent encryption VPN Virtual Private Network
5 acronyms in this thread; the most compressed thread commented on today has 15 acronyms.
[Thread #320 for this sub, first seen 1st Dec 2023, 11:15] [FAQ] [Full list] [Contact] [Source code]
If you want to edit files in a browser, then it will all depend on what kind of files you want to edit.
If it’s office suite related files, I’m leaning towards the Collabora Online suite with Nextcloud. If it’s markdown files, I’d go with something like HedgeDoc
Deploy code-server and either connect to it with a VPN or open the port needed to connect over the internet.
Always be careful when opening the port. But yes this is what I do as well, I just keep it behind a VPN