Starfiles

File sharing done simple.

Home

API (Developer Tools)

API can be complicated. If you plan on using Starfiles' API in a website, it is recommended to use our very own Javascript library - StarfilesJS.

You will receive a file ID when a file is successfully uploaded. The file's link is:

https://starfiles.ml/file/ID

Simple File Uploads

Endpoint: https://api.starfiles.ml/upload/upload_file

Endpoint to upload file to a folder: https://api.starfiles.ml/upload/upload_file?folder=xxxx&profile=yyyy
When uploading to a folder, you must own the folder. Replace yyyy with the verification code shown at Sync Profiles.

Parameter Name: upload

Parameter Content: example.txt

Max file size: 100mb

HTML | Python | Javascript | PHP | Curl | NodeJS

Want to upload larger files?

Endpoint: https://upload.starfiles.ml

Max file size: 2gb

Chunked File Upload

Files are split into chunks of 2MB (2097152 bytes). Each chunk needs to be uploaded separately.

Endpoint: https://api.starfiles.ml/upload/upload_file

Parameters:

upload: file

number_of_chunks: chunk count

chunk_number: chunk number

The last chunk uploaded will return the file ID.

Upload from URL

This endpoint will only work for Patreon members.

Endpoint: https://api.starfiles.ml/upload/upload_url?profile=xxxx

Replace xxxx with the verification code shown at Settings.

Method: POST

Parameter:

url: https://example.com/example.txt

StarfilesJS

A plug and play javascript library.

<!-- StarfilesJS -->
<script src="https://cdn.starfiles.co/js/starfilesjs.min.js"></script>

<!-- Upload form -->
<input type="file" id="uploaded_file" onchange="uploadFile()" multiple="multiple">

<!-- Outputs -->
<div id="preuploadoutput"></div>
<div id="output"></div>

<!-- Upload Progress -->
<div id="progress">
    <span id="progressContainer"></span>
    <span id="remaining_size"></span>
    <span id="eta"></span>
    <span id="status"></span>
    <span id="upload_speed"></span>
</div>

ShareX (Windows)

  1. Install ShareX
  2. Download and run this config file
  3. That's it. Just do Control + Print Screen and select Starfiles

Download File

Endpoint: https://api.starfiles.ml/direct/xxxxx

Method: GET

Parameter:

Profile: xxxx (optional)

Download File from Folder

This endpoint let's you download a file from a folder without knowing the file id, just the file name.

Endpoint: https://api.starfiles.ml/downloadfromfolder

Method: GET

Parameter:

Folder: xxxxxxxx

Name: example.txt

Profile: xxxx (optional)

Install IPA

This endpoint generates the PLIST content required to install an IPA.

Endpoint: https://api.starfiles.ml/installipa/xxxxx

Install IPA: itms-services://?action=download-manifest&url=https://api.starfiles.ml/installipa/xxxxx

Torrent

This endpoint converts your file into a torrent file. The torrent file is automatically seeded by Starfiles forever so the torrent never dies.

Endpoint: https://api.starfiles.ml/torrent/xxxxx

Delete file

Endpoint: https://api.starfiles.ml/file/delete

Method: GET

Parameters:

profile: xxxx

file: ID

Delete folder

Endpoint: https://api.starfiles.ml/folder/delete

Method: GET

Parameters:

profile: xxxx

id: ID

Get file information

Endpoint: https://api.starfiles.ml/file/fileinfo

Method: GET

Parameter:

File: ID

Example Output:

{
    "id":"26ae82",
    "name":"face.png",
    "extension":"png",
    "mime_type":"image/png",
    "size":"654382",
    "tidy_size":"639.04KB",
    "upload_time":"1598272797",
    "time_ago":"5 months ago",
    "download_count":"0",
    "deleted":true
}

Get Files

This endpoint lists all files that belong to a specific user.

Endpoint: https://api.starfiles.ml/user/files

Method: GET

Parameter:

Profile: xxxx

Example Output:

[
	{
		"hash":"6e067c4e9e06eb198b6b8d589a20cad416e205e8b8bb9655fffa56f300a253b0",
		"id":"3c5e90",
		"name":"wallpaper.jpeg",
		"star":"0"
	},
	{
		"hash":"fa93d9c0a3e17c6f7460f256cc09fe0c67e54e41a8e5b2eb5aa2d15f67a025c7",
		"id":"st-7FfQLq",
		"name":"pfp.png",
		"star":"0"
	}
]

Get Folders

This endpoint lists all folders that belong to a specific user.

Endpoint: https://api.starfiles.ml/user/folders

Method: GET

Parameter:

Profile: xxxx

Example Output:

[
	{
		"id":"61e81dfecf",
		"name":"Wallpapers",
		"parent":"",
		"colour":"",
		"star":"0"
	}
]

Get Droppers

This endpoint lists all droppers that belong to a specific user.

Endpoint: https://api.starfiles.ml/user/droppers

Method: GET

Parameter:

Profile: xxxx

Example Output:

[
    {
        "id":"quix"
    },
    {
        "id":"test"
    }
]

Sign IPA

This endpoint lets you sign your own IPAs with any certificate you like. First you must upload the IPA, p12 file, and the mobileprovision to Starfiles and get their file ids.

Endpoint: https://sign.starfiles.co

Method: GET

Parameter:

ipa: xxxx // IPA's File ID

p12: xxxx // p12's File ID

mobileprovision: xxxx // mobileprovision's File ID

password: xxxx // Cert password (optional)

The request won't return any JSON, instead redirecting you to the signed IPA.

Get Certificates

This endpoint lists all certificates.

Endpoint: https://api.starfiles.co/signingcerts

Method: GET

Example Output:

[
    {
        "name":"iPhone Distribution Beijing Lezhixing Software Co., Ltd",
        "mobileprovision":"st-UcQDZG",
        "p12":"st-GQNtyT",
        "password":"25",
        "badges":{
            "jailbreaksapp":false,
            "scarlet":false,
            "eonhub":true
        }
    },
    {
        "name":"Zhuhai",
        "mobileprovision":"st-EcHfzq",
        "p12":"st-dTq5gk",
        "password":"112244",
        "badges":{
            "jailbreaksapp":false,
            "scarlet":false,
            "eonhub":true
        }
    }
]