{{ html_head }}

browse files // control panel

or choose your OS for cooler alternatives:

make this server appear on your computer as a regular HDD!
pick your favorite below (sorted by performance, best first) and lets 🎉

placeholders: {% if accs %}{{ pw }}=password, {% endif %}W:=mountpoint {% if accs %}{{ pw }}=password, {% endif %}mp=mountpoint use real password

{% if args.idp_h_usr %}

WARNING: this server is using IdP-based authentication, so this stuff may not work as advertised. Depending on server config, these commands can probably only be used to access areas which don't require authentication, unless you auth using any non-IdP accounts defined in the copyparty config. Please see the IdP docs

{% endif %} {% if not args.no_dav %}

WebDAV

if you can, install winfsp+rclone and then paste this in cmd:

                rclone config create {{ aname }}-dav webdav url=http{{ s }}://{{ rip }}{{ hport }} vendor=owncloud pacer_min_sleep=0.01ms{% if accs %} user=k pass={{ pw }}{% endif %}
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-dav:{{ rvp }} W:
            

if you want to use the native WebDAV client in windows instead (slow and buggy), first run webdav-cfg.bat to remove the 47 MiB filesize limit (also fixes latency and password login), then connect:

                net use w: http{{ s }}://{{ ep }}/{{ rvp }}{% if accs %} k /user:{{ pw }}{% endif %}
            

rclone (v1.63 or later) is recommended:

                rclone config create {{ aname }}-dav webdav url=http{{ s }}://{{ rip }}{{ hport }} vendor=owncloud pacer_min_sleep=0.01ms{% if accs %} user=k pass={{ pw }}{% endif %}
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-dav:{{ rvp }} mp
            

alternatively use davfs2 (requires root, is slower, forgets lastmodified-timestamp on upload):

                yum install davfs2
                {% if accs %}printf '%s\n' {{ pw }} k | {% endif %}mount -t davfs -ouid=1000 http{{ s }}://{{ ep }}/{{ rvp }} mp
            

make davfs2 automount on boot:

                printf '%s\n' "http{{ s }}://{{ ep }}/{{ rvp }} {{ pw }} k" >> /etc/davfs2/secrets
                printf '%s\n' "http{{ s }}://{{ ep }}/{{ rvp }} mp davfs rw,user,uid=1000,noauto 0 0" >> /etc/fstab
            

or the emergency alternative (gnome/gui-only):

                {%- if accs %}
                echo {{ pw }} | gio mount dav{{ s }}://k@{{ ep }}/{{ rvp }}
                {%- else %}
                gio mount -a dav{{ s }}://{{ ep }}/{{ rvp }}
                {%- endif %}
            

on KDE Dolphin, use webdav{{ s }}://{{ ep }}/{{ rvp }}

                osascript -e ' mount volume "http{{ s }}://k:{{ pw }}@{{ ep }}/{{ rvp }}" '
            

or you can open up a Finder, press command-K and paste this instead:

                http{{ s }}://k:{{ pw }}@{{ ep }}/{{ rvp }}
            
{% if s %}

replace https with http if it doesn't work

{% endif %}
{% endif %} {% if args.ftp or args.ftps %}

FTP

if you can, install winfsp+rclone and then paste this in cmd:

{% if args.ftp %}

connect with plaintext FTP:

                rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} W:
            
{% endif %} {% if args.ftps %}

connect with TLS-encrypted FTPS:

                rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false explicit_tls=true
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} W:
            
{% endif %}

if you want to use the native FTP client in windows instead (please dont), press win+R and run this command:

                explorer {{ "ftp" if args.ftp else "ftps" }}://{% if accs %}{{ pw }}:k@{% endif %}{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
            
{% if args.ftp %}

connect with plaintext FTP:

                rclone config create {{ aname }}-ftp ftp host={{ rip }} port={{ args.ftp }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftp:{{ rvp }} mp
            
{% endif %} {% if args.ftps %}

connect with TLS-encrypted FTPS:

                rclone config create {{ aname }}-ftps ftp host={{ rip }} port={{ args.ftps }} pass=k user={% if accs %}{{ pw }}{% else %}anonymous{% endif %} tls=false explicit_tls=true
                rclone mount --vfs-cache-mode writes --dir-cache-time 5s {{ aname }}-ftps:{{ rvp }} mp
            
{% endif %}

emergency alternative (gnome/gui-only):

                {%- if accs %}
                echo {{ pw }} | 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 %}
            

note: FTP is read-only on macos; please use WebDAV instead

                open {{ "ftp" if args.ftp else "ftps" }}://{% if accs %}k:{{ pw }}@{% else %}anonymous:@{% endif %}{{ host }}:{{ args.ftp or args.ftps }}/{{ rvp }}
            
{% endif %}

partyfuse

partyfuse.py -- fast, read-only, needs fuse.py in the same folder, needs winfsp doesn't need root

            partyfuse.py{% if accs %} -a {{ pw }}{% endif %} http{{ s }}://{{ ep }}/{{ rvp }} W:mp
        
{% if s %} {% endif %}

you can use u2c.py to upload (sometimes faster than web-browsers)

{% if args.smb %}

SMB / CIFS

                net use w: \\{{ host }}\a{% if accs %} k /user:{{ pw }}{% endif %}
            
                mount -t cifs -o{% if accs %}user={{ pw }},pass=k,{% endif %}vers={{ 1 if args.smb1 else 2 }}.0,port={{ args.smb_port }},uid=1000 //{{ host }}/a/ mp
            
            open 'smb://{{ pw }}:k@{{ host }}/a'
        
{% endif %}

ShareX

to upload screenshots using ShareX v12 or v15+, save this as copyparty.sxcu and run it:

                { "Name": "copyparty",
                "RequestURL": "http{{ s }}://{{ ep }}/{{ rvp }}",
                "Headers": {
                    {% if accs %}"pw": "{{ pw }}",{% endif %}
                    "accept": "url"
                },
                "DestinationType": "ImageUploader, TextUploader, FileUploader",
                "FileFormName": "f" }
            

ishare

to upload screenshots using ishare, save this as copyparty.iscu and run it:

                { "Name": "copyparty",
                "RequestURL": "http{{ s }}://{{ ep }}/{{ rvp }}",
                "Headers": {
                    {% if accs %}"pw": "{{ pw }}",{% endif %}
                    "accept": "json"
                },
                "ResponseURL": "{{ '{{fileurl}}' }}",
                "FileFormName": "f" }
            

flameshot

to upload screenshots using flameshot, save this as flameshot.sh and run it:

                #!/bin/bash
                pw="{{ pw }}"
                url="http{{ s }}://{{ ep }}/{{ rvp }}"
                filename="$(date +%Y-%m%d-%H%M%S).png"
                flameshot gui -s -r | curl -sT- "$url$filename?want=url&pw=$pw" | xsel -ib
            
Ï€ {%- if js %} {%- endif %}