mirror of
https://github.com/9001/copyparty.git
synced 2025-08-17 09:02:15 -06:00
228 lines
10 KiB
HTML
228 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>{{ args.doctitle }} @ {{ args.name }}</title>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=0.8">
|
|
<meta name="theme-color" content="#333">
|
|
{{ html_head }}
|
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/splash.css?_={{ ts }}">
|
|
<link rel="stylesheet" media="screen" href="{{ r }}/.cpr/ui.css?_={{ ts }}">
|
|
</head>
|
|
|
|
<body>
|
|
<div id="wrap" class="w">
|
|
<div class="cn">
|
|
<p class="btns"><a href="/{{ rvp }}">browse files</a> // <a href="{{ r }}/?h">control panel</a></p>
|
|
<p>or choose your OS for cooler alternatives:</p>
|
|
<div class="ossel">
|
|
<a id="swin" href="#">Windows</a>
|
|
<a id="slin" href="#">Linux</a>
|
|
<a id="smac" href="#">macOS</a>
|
|
</div>
|
|
</div>
|
|
|
|
<p class="sph">
|
|
make this server appear on your computer as a regular HDD!<br />
|
|
pick your favorite below (sorted by performance, best first) and lets 🎉<br />
|
|
<br />
|
|
<span class="os win lin mac">placeholders:</span>
|
|
<span class="os win">
|
|
{% if accs %}<code><b>{{ pw }}</b></code>=password, {% endif %}<code><b>W:</b></code>=mountpoint
|
|
</span>
|
|
<span class="os lin mac">
|
|
{% if accs %}<code><b>{{ pw }}</b></code>=password, {% endif %}<code><b>mp</b></code>=mountpoint
|
|
</span>
|
|
</p>
|
|
|
|
|
|
|
|
{% if not args.no_dav %}
|
|
<h1>WebDAV</h1>
|
|
|
|
<div class="os win">
|
|
<p>if you can, install <a href="https://winfsp.dev/rel/">winfsp</a>+<a href="https://downloads.rclone.org/rclone-current-windows-amd64.zip">rclone</a> and then paste this in cmd:</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-dav webdav url=http{{ s }}://{{ rip }}{{ hport }} vendor=owncloud pacer_min_sleep=0.01ms{% if accs %} user=k pass=<b>{{ pw }}</b>{% endif %}
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-dav:{{ rvp }} <b>W:</b>
|
|
</pre>
|
|
{% if s %}
|
|
<p><em>note: if you are on LAN (or just dont have valid certificates), add <code>--no-check-certificate</code> to the mount command</em><br />---</p>
|
|
{% endif %}
|
|
|
|
<p>if you want to use the native WebDAV client in windows instead (slow and buggy), first run <a href="{{ r }}/.cpr/a/webdav-cfg.bat">webdav-cfg.bat</a> to remove the 47 MiB filesize limit (also fixes latency and password login), then connect:</p>
|
|
<pre>
|
|
net use <b>w:</b> http{{ s }}://{{ ep }}/{{ rvp }}{% if accs %} k /user:<b>{{ pw }}</b>{% endif %}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="os lin">
|
|
<pre>
|
|
yum install davfs2
|
|
{% if accs %}printf '%s\n' <b>{{ pw }}</b> k | {% endif %}mount -t davfs -ouid=1000 http{{ s }}://{{ ep }}/{{ rvp }} <b>mp</b>
|
|
</pre>
|
|
<p>make it automount on boot:</p>
|
|
<pre>
|
|
printf '%s\n' "http{{ s }}://{{ ep }}/{{ rvp }} <b>{{ pw }}</b> k" >> /etc/davfs2/secrets
|
|
printf '%s\n' "http{{ s }}://{{ ep }}/{{ rvp }} <b>mp</b> davfs rw,user,uid=1000,noauto 0 0" >> /etc/fstab
|
|
</pre>
|
|
<p>or you can use rclone instead, which is much slower but doesn't require root (plus it keeps lastmodified on upload):</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-dav webdav url=http{{ s }}://{{ rip }}{{ hport }} vendor=owncloud pacer_min_sleep=0.01ms{% if accs %} user=k pass=<b>{{ pw }}</b>{% endif %}
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-dav:{{ rvp }} <b>mp</b>
|
|
</pre>
|
|
{% if s %}
|
|
<p><em>note: if you are on LAN (or just dont have valid certificates), add <code>--no-check-certificate</code> to the mount command</em><br />---</p>
|
|
{% endif %}
|
|
|
|
<p>or the emergency alternative (gnome/gui-only):</p>
|
|
<!-- gnome-bug: ignores vp -->
|
|
<pre>
|
|
{%- if accs %}
|
|
echo <b>{{ pw }}</b> | gio mount dav{{ s }}://k@{{ ep }}/{{ rvp }}
|
|
{%- else %}
|
|
gio mount -a dav{{ s }}://{{ ep }}/{{ rvp }}
|
|
{%- endif %}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="os mac">
|
|
<pre>
|
|
osascript -e ' mount volume "http{{ s }}://k:<b>{{ pw }}</b>@{{ ep }}/{{ rvp }}" '
|
|
</pre>
|
|
<p>or you can open up a Finder, press command-K and paste this instead:</p>
|
|
<pre>
|
|
http{{ s }}://k:<b>{{ pw }}</b>@{{ ep }}/{{ rvp }}
|
|
</pre>
|
|
|
|
{% if s %}
|
|
<p><em>replace <code>https</code> with <code>http</code> if it doesn't work</em></p>
|
|
{% endif %}
|
|
</div>
|
|
{% endif %}
|
|
|
|
|
|
|
|
{% if args.ftp or args.ftps %}
|
|
<h1>FTP</h1>
|
|
|
|
<div class="os win">
|
|
<p>if you can, install <a href="https://winfsp.dev/rel/">winfsp</a>+<a href="https://downloads.rclone.org/rclone-current-windows-amd64.zip">rclone</a> and then paste this in cmd:</p>
|
|
{% if args.ftp %}
|
|
<p>connect with plaintext FTP:</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}<b>{{ pw }}</b>{% else %}anonymous{% endif %} tls=false
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} <b>W:</b>
|
|
</pre>
|
|
{% endif %}
|
|
{% if args.ftps %}
|
|
<p>connect with TLS-encrypted FTPS:</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}<b>{{ pw }}</b>{% else %}anonymous{% endif %} tls=false explicit_tls=true
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} <b>W:</b>
|
|
</pre>
|
|
<p><em>note: if you are on LAN (or just dont have valid certificates), add <code>no_check_certificate=true</code> to the config command</em><br />---</p>
|
|
{% endif %}
|
|
<p>if you want to use the native FTP client in windows instead (please dont), press <code>win+R</code> and run this command:</p>
|
|
<pre>
|
|
explorer {{ "ftp" if args.ftp else "ftps" }}://{% if accs %}<b>{{ pw }}</b>:k@{% endif %}{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="os lin">
|
|
{% if args.ftp %}
|
|
<p>connect with plaintext FTP:</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}<b>{{ pw }}</b>{% else %}anonymous{% endif %} tls=false
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} <b>mp</b>
|
|
</pre>
|
|
{% endif %}
|
|
{% if args.ftps %}
|
|
<p>connect with TLS-encrypted FTPS:</p>
|
|
<pre>
|
|
rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}<b>{{ pw }}</b>{% else %}anonymous{% endif %} tls=false explicit_tls=true
|
|
rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} <b>mp</b>
|
|
</pre>
|
|
<p><em>note: if you are on LAN (or just dont have valid certificates), add <code>no_check_certificate=true</code> to the config command</em><br />---</p>
|
|
{% endif %}
|
|
<p>emergency alternative (gnome/gui-only):</p>
|
|
<!-- gnome-bug: ignores vp -->
|
|
<pre>
|
|
{%- if accs %}
|
|
echo <b>{{ pw }}</b> | gio mount ftp{{ "" if args.ftp else "s" }}://k@{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
|
|
{%- else %}
|
|
gio mount -a ftp{{ "" if args.ftp else "s" }}://{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
|
|
{%- endif %}
|
|
</pre>
|
|
</div>
|
|
|
|
<div class="os mac">
|
|
<p>note: FTP is read-only on macos; please use WebDAV instead</p>
|
|
<pre>
|
|
open {{ "ftp" if args.ftp else "ftps" }}://{% if accs %}k:<b>{{ pw }}</b>@{% else %}anonymous:@{% endif %}{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
|
|
</pre>
|
|
</div>
|
|
{% endif %}
|
|
|
|
|
|
|
|
<h1>partyfuse</h1>
|
|
<p>
|
|
<a href="{{ r }}/.cpr/a/partyfuse.py">partyfuse.py</a> -- fast, read-only,
|
|
<span class="os win">needs <a href="https://winfsp.dev/rel/">winfsp</a></span>
|
|
<span class="os lin">doesn't need root</span>
|
|
</p>
|
|
<pre>
|
|
partyfuse.py{% if accs %} -a <b>{{ pw }}</b>{% endif %} http{{ s }}://{{ ep }}/{{ rvp }} <b><span class="os win">W:</span><span class="os lin mac">mp</span></b>
|
|
</pre>
|
|
{% if s %}
|
|
<p><em>note: if you are on LAN (or just dont have valid certificates), add <code>-td</code></em></p>
|
|
{% endif %}
|
|
<p>
|
|
you can use <a href="{{ r }}/.cpr/a/up2k.py">up2k.py</a> to upload (sometimes faster than web-browsers)
|
|
</p>
|
|
|
|
|
|
{% if args.smb %}
|
|
<h1>SMB / CIFS</h1>
|
|
<em><a href="https://github.com/SecureAuthCorp/impacket/issues/1433">bug:</a> max ~300 files in each folder</em>
|
|
|
|
<div class="os win">
|
|
<pre>
|
|
net use <b>w:</b> \\{{ host }}\a{% if accs %} k /user:<b>{{ pw }}</b>{% endif %}
|
|
</pre>
|
|
<!-- rclone fails due to copyparty-smb bugs -->
|
|
</div>
|
|
|
|
<div class="os lin">
|
|
<pre>
|
|
mount -t cifs -o{% if accs %}user=<b>{{ pw }}</b>,pass=k,{% endif %}vers={{ 1 if args.smb1 else 2 }}.0,port={{ args.smb_port }},uid=1000 //{{ host }}/a/ <b>mp</b>
|
|
</pre>
|
|
<!-- p>or the emergency alternative (gnome/gui-only):</p nevermind, only works through mdns -->
|
|
</div>
|
|
|
|
<pre class="os mac">
|
|
open 'smb://<b>{{ pw }}</b>:k@{{ host }}/a'
|
|
</pre>
|
|
{% endif %}
|
|
|
|
|
|
|
|
</div>
|
|
<a href="#" id="repl">π</a>
|
|
<script>
|
|
|
|
var SR = {{ r|tojson }},
|
|
lang="{{ lang }}",
|
|
dfavico="{{ favico }}";
|
|
|
|
document.documentElement.className=localStorage.theme||"{{ args.theme }}";
|
|
|
|
</script>
|
|
<script src="{{ r }}/.cpr/util.js?_={{ ts }}"></script>
|
|
<script src="{{ r }}/.cpr/svcs.js?_={{ ts }}"></script>
|
|
</body>
|
|
</html>
|