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.

Method: POST


upload: example.txt

OR

datauri: data:image/png;base64,xxxxxxxxx

name: image.png


Config (optional):
open: true // Redirect on upload
redirect_url: https://example.com/file.php?url={output} // Custom redirect URL (if open=true)

Parameter Content:

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.

Config (optional):
redirect_url: https://example.com/file.php?url={output} // Custom redirect URL

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

Trash file

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

Method: GET

Parameters:

profile: xxxx

id: ID

Delete file

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

Method: GET

Parameters:

profile: xxxx

file: ID

Trash folder

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

Method: GET

Parameters:

profile: xxxx

id: 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

Config (optional):

trash: true or false // Shows folders in trash or excludes them

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 Files in Folder

This endpoint lists all files in a specific folder.

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

Method: GET

Parameter:

folder: xxxx

Example Output:

['xxxx', 'xxxx']

Get Folders

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

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

Method: GET

Config (optional):

trash: true or false // Shows folders in trash or excludes them

Parameter:

profile: xxxx

Example Output:

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

Get Public Files

This endpoint lists all public files.

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

Parameters: key=hash // Optional

Method: GET

Example Output:

[
    {
        "12345":[ // File ID
            "file.png", // File Name
            "2", // Download Count
            "abcdefg12345678" // Hash
        ]
    }
]

Get Public Folders

This endpoint lists all public folders.

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

Method: GET

Example Output:

[
    {
        "12345":[ // Folder ID
            "Photos" // Folder Name
        ]
    }
]

Create Folder

Endpoint: https://api.starfiles.co/folder/makefolder

Method: GET

Parameter:

profile: xxxx // Set folder owner

parent: xxxx // Set parent folder (optional)

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
        }
    }
]