Pasang HTTP Server Sebagai Sistem File

9

Saya memiliki mesin yang ingin saya pasang beberapa server jarak jauh untuk mengaksesnya secara terpusat. Untuk sistem berbasis Linux jarak jauh saya menggunakan SSHFS yang berfungsi dengan baik. Tetapi untuk sistem Windows, atau sistem tanpa SSH, mereka semua memiliki beberapa bentuk server HTTP yang diinstal berbagi file (sehingga mereka semua memiliki penjelajahan direktori diaktifkan).

Dapatkah saya memasang server HTTP sebagai sistem file lokal seperti SSHFS, jadi saya dapat menginstal semua server jauh ini secara lokal dan disajikan dengan cara yang seragam?

jwbensley
sumber
1
Seseorang di luar sana mungkin telah menulis alat untuk mensimulasikan ini tetapi saya ragu. Cara server HTTP biasanya menyajikan informasi tidak sangat kondusif untuk itu.
goldilocks
Seperti di atas. Penjelajahan HTTP juga hanya itu - penjelajahan dan bacaan, tidak mendukung pengunggahan. Saya akan melihat berbagi folder untuk dipasang baik melalui SMB / CIFS atau FTP. Atau lihat WebDAV dan saya yakin Anda dapat menemukan implementasi IIS.
Dave C
2
@goldilocks seseorang di luar sana menjadikannya standar lebih dari 10 tahun yang lalu.
jordanm
Hidup dan belajar. :)
goldilocks
1
@DaveC Yah biasanya penelusuran direktori tidak mendukung pengunggahan, namun saya gagal menyebutkan bahwa saya ingin akses hanya baca. Meskipun HTTP sendiri mendukung pengunggahan dengan metode PUT.
jwbensley

Jawaban:

8

Anda dapat melakukan ini menggunakan WebDAV . Ini adalah ekstensi HTTP yang didukung oleh sebagian besar server web, termasuk IIS dan Apache. WebDAV dapat dipasang di linux melalui davfs2modul FUSE.

jordanm
sumber
1
davfs2... atau fusedavatau avfsatau gvfs(Gnome / Nautilus) setidaknya.
Stéphane Chazelas
5

Masalah dengan HTTP biasa adalah hanya untuk mengambil konten. Tidak ada konsep folder atau daftar file.

Beberapa server web memungkinkan Anda menjelajahi struktur direktori dengan membuat halaman HTML yang bagus dengan tautan ke file untuk direktori. Dan setidaknya hal-hal seperti lftpdapat mem-parsing beberapa format umum indeks yang dihasilkan sebagai dan memberi Anda kesan bahwa itu adalah protokol transfer file, tetapi itu tidak benar-benar, dan saya tidak tahu ada sistem file sekering yang dapat parse index cara yang lftpdilakukan.

DAV adalah ekstensi yang hanya melakukan itu dan sudah dicakup oleh jawaban jordanm.

Tetapi perhatikan bahwa jika Anda tidak perlu membuat daftar direktori, avfssetidaknya Anda dapat mengakses halaman web melalui sistem file.

$ mkdir AVFS
$ avfsd AVFS
$ grep -w Reputation 'AVFS/#http:unix.stackexchange.com|users|12583|javano'
 <span class="count">731</span> Reputation

Sekarang juga perhatikan bahwa Anda dapat menginstal sshd(melalui cygwin) atau FTP atau Apache dengan DAV pada mesin Windows juga, jadi Anda harus dapat melakukan hal yang sama seperti yang Anda lakukan pada mesin Unix.

Stéphane Chazelas
sumber
bukankah bagian jalur URL HTTP dianggap sesuai dengan struktur direktori di bawah root? juga, banyak server web menawarkan daftar file jika Anda meminta URL yang diakhiri dengan direktori, bukan file. dan kemudian kedua konsep ini dapat diterjemahkan ke dalam model pemasangan server HTTP ini sebagai sistem file. sekarang, sejauh memposting perubahan ke mount seperti itu, saya tidak yakin tentang itu tetapi mungkin beberapa server web dapat dikonfigurasi untuk melakukannya seperti FTP
amphibient
@amphibient, ya, apa yang Anda panggil file listingadalah apa yang saya sebut a generated HTML page with links to file. Itu masih perlu diurai dan tidak ada standar pada format halaman-halaman itu. Di Apache saja ada beberapa modul yang menghasilkan indeks yang dapat disetel dengan berbagai cara. Jadi tidak ada solusi yang mudah. Seperti yang saya katakan lihat lftp, cobalah untuk menguraikan banyak dari halaman daftar itu .
Stéphane Chazelas
1

masalah utama yang sudah dibahas di atas adalah: direktori / daftar pohon.

Meskipun pertanyaan Anda sudah cukup lama dan Anda mungkin telah melakukan yang sebaliknya, saya baru-baru ini menulis sistem file sekering yang melakukan persis apa yang Anda butuhkan, asalkan Anda menulis skrip kecil untuk memberikannya "pohon" URL.

Itu ada di sana: https://gitlab.com/BylonAkila/astreamfs

Anda memiliki contoh skrip untuk penyedia 1fichier, yang dapat Anda adaptasi ke server pribadi Anda. Apa yang dilakukan skrip hanya menyiapkan semua argumen untuk astreamf, sehingga mount akan menampilkan semua file dan folder Anda di tempat yang tepat. Ia melakukannya dengan teknik "web scraping" yang terkenal, alias membaca halaman HTML dan mengekstraksi bagian-bagian yang relevan dari situ.

Masih ada dua kendala utama, jelas, dibandingkan dengan tunggangan biasa seperti NFS atau SSHFS:

  • Server http perlu menangani 'rentang' (sebagian besar server dapat melakukan itu)
  • Ini hanya baca!
Bylon
sumber