An AI agent development platform with all-in-one visual tools, simplifying agent creation, debugging, and deployment like never before. Coze your way to AI Agent creation.
Coze Studio is an all-in-one AI agent development tool. Providing the latest large models and tools, various development modes and frameworks, Coze Studio offers the most convenient AI agent development environment, from development to deployment.
Provides all core technologies needed for AI agent development: prompt, RAG, plugin, workflow, enabling developers to focus on creating the core value of AI.
Ready to use for professional AI agent development at the lowest cost: Coze Studio provides developers with complete app templates and build frameworks, allowing you to quickly construct various AI agents and turn creative ideas into reality.
Coze Studio, derived from the "Coze Development Platform" which has served tens of thousands of enterprises and millions of developers, we have made its core engine completely open. It is a one-stop visual development tool for AI Agents that makes creating, debugging, and deploying AI Agents unprecedentedly simple. Through Coze Studio's visual design and build tools, developers can quickly create and debug agents, apps, and workflows using no-code or low-code approaches, enabling powerful AI app development and more customized business logic. It's an ideal choice for building low-code AI products tailored . Coze Studio aims to lower the threshold for AI agent development and application, encouraging community co-construction and sharing for deeper exploration and practice in the AI field.
The backend of Coze Studio is developed using Golang, the frontend uses React + TypeScript, and the overall architecture is based on microservices and built following domain-driven design (DDD) principles. Provide developers with a high-performance, highly scalable, and easy-to-customize underlying framework to help them address complex business needs.
Feature list
Module
Feature
Model service
Manage the model list, integrate services such as OpenAI and Volcengine
Build agent
* Build, publish, and manage agent * Support configuring workflows, knowledge bases, and other resources
Build apps
* Create and publish apps * Build business logic through workflows
Build a workflow
Create, modify, publish, and delete workflows
Develop resources
Support creating and managing the following resources: * Plugins * Knowledge bases * Databases * Prompts
API and SDK
* Create conversations, initiate chats, and other OpenAPI * Integrate agents or apps into your own app through Chat SDK
Quickstart
Learn how to obtain and deploy the open-source version of Coze Studio, quickly build projects, and experience Coze Studio's open-source version.
Environment requirements:
Before installing Coze Studio, please ensure that your machine meets the following minimum system requirements: 2 Core、4 GB
Pre-install Docker and Docker Compose, and start the Docker service.
Deploy and start the service. When deploying and starting Coze Studio for the first time, it may take a while to retrieve images and build local images. Please be patient. If you see the message "Container coze-server Started," it means the Coze Studio service has started successfully.
cd coze-studio
# start service# for macOS or Linux
make web
# for windows
cp ./docker/.env.example ./docker/.env
docker compose -f ./docker/docker-compose.yml up
For common startup failure issues, please refer to the FAQ.
Register an account by visiting http://localhost:8888/sign, entering your username and password, and clicking the Register button.
Configure the model at http://localhost:8888/admin/#model-management by adding a new model. (The image version must be greater than or equal to 0.5.0.)
Visit Coze Studio at http://localhost:8888/.
Warning
If you want to deploy Coze Studio in a public network environment, it is recommended to assess security risks before you begin, and take corresponding protection measures. Possible security risks include account registration functions, Python execution environments in workflow code nodes, Coze Server listening address configurations, SSRF (Server - Side Request Forgery), and some horizontal privilege escalations in APIs. For more details, refer to Quickstart.
Developer Guide
Project Configuration:
Model Configuration: Before deploying the open-source version of Coze Studio, you must configure the model service. Otherwise, you cannot select models when building agents, workflows, and apps.
Plugin Configuration: To use official plugins from the plugin store, you must first configure the plugins and add the authentication keys for third-party services.
Basic Component Configuration: Learn how to configure components such as image uploaders to use functions like image uploading in Coze Studio .
API Reference: The Coze Studio Community Edition API and Chat SDK are authenticated using Personal Access Token, providing APIs for conversations and workflows.
Project Architecture: Learn about the technical architecture and core components of the open-source version of Coze Studio.
Code Development and Testing: Learn how to perform secondary development and testing based on the open-source version of Coze Studio.
Troubleshooting: Learn how to view container states and system logs.
Using the open-source version of Coze Studio
Regarding how to use Coze Studio, refer to the Coze Development Platform Official Documentation Center for more information. Please note that certain features, such as tone customization, are limited to the commercial version. Differences between the open-source and commercial versions can be found in the Feature List.
Quick Start: Quickly build an AI assistant agent with Coze Studio.
Developing Agents: Learn how to create, build, publish, and manage agents. You can use functions such as knowledge, plugins, etc., to resolve model hallucination and lack of expertise in professional fields. In addition, Coze Studio provides rich memory features that enable agents to generate more accurate responses based on a personal user's historical conversations during interactions.
Develop workflows: A workflow is a set of executable instructions used to implement business logic or complete specific tasks. It structures data flow and task processing for apps or agents. Coze Studio provides a visual canvas where you can quickly build workflows by dragging and dropping nodes.
Resources such as plugins: In Coze Studio, workflows, plugins, databases, knowledge bases, and variables are collectively referred to as resources.
Tutorials for practice: Learn how to use Coze Studio to implement various AI scenarios, such as building web-based online customer service using Chat SDK.
Acknowledgments
Thank you to all the developers and community members who have contributed to the Coze Studio project. Special thanks:
The Eino framework team - providing powerful support for Coze Studio's agent and workflow runtime engines, model abstractions and implementations, and knowledge base indexing and retrieval
The FlowGram team - providing a high-quality workflow building engine for Coze Studio's frontend workflow canvas editor
The Hertz team - Go HTTP framework with high-performance and strong-extensibility for building micro-services
All users who participated in testing and feedback
Fast Download and Convert to mp3.
Background: Electron and Vue。
Build Setup
# install dependencies
npm install
# serve with hot reload at localhost:9080
npm run dev
# build electron application for production
npm run build
# lint all JS/Vue component files in `src/`
npm run lint
This project was generated with electron-vue@16fb2b9 using vue-cli. Documentation about the original structure can be found here.
Download and install the exe or msi file. Exe file lets you choose custom download location, msi file doesn't ask for location. Windows defender may show a popup saying Windows Protected Your PC. Just click on More info and click on Run Anyway
Chocolatey
App can be installed from Chocolatey using the following command
choco install ytdownloader
Scoop
App can be installed with Scoop using the following command
App can be installed with Winget using the following command
winget install aandrew-me.ytDownloader
Linux 🐧
Linux has several options available - Flatpak, AppImage and Snap.
Flatpak is recommended. For arm processors, download from flathub.
AppImage
AppImage format is supported on most Linux distros and has Auto-Update support.
It just needs to be executed after downloading. See more about AppImages here.
You will also need to install yt-dlp with homebrew
brew install yt-dlp
Internationalization (Localization) 🌍
Translations into other languages would be highly appreciated. If you want to help translating the app to other languages, you can join from here. Open a new issue and that language will be added to Crowdin. Please don't make pull requests with json files, instead use Crowdin.
You need to download ffmpeg and put it in the root directory of the project. If you don't need to build for arm processor, you can download ffmpeg by executing any of the files - linux.sh / mac.sh / windows.sh depending on the platform. Otherwise you need to download ffmpeg from here for windows/linux and from here for mac (not tested)
To build for Linux (It will create packages as specified in package.json). The builds are stored in release folder.
npm run linux
To build for Windows:
npm run windows
To build for macOS:
npm run mac
If you only want to build for one format, you can do
Media Downloader is a Qt/C++ front end to yt-dlp, youtube-dl, gallery-dl, lux, you-get, svtplay-dl, aria2c, wget。
Media Downloader
This project is a Qt/C++ based GUI frontend to CLI multiple CLI-based tools that deal with downloading online media.
yt-dlp CLI tool is the default supported tool and other tools can be added by
downloading their extension and a list of supported extensions is managed here.
Features offered:-
The GUI can be used to download any media from any website supported by installed extensions.
The GUI offers a configurable list of preset options that can be used to download media if they are provided in multiple formats.
The GUI offers the ability to do an unlimited number of concurrent downloads. Be careful with this ability because doing too many concurrent
downloads may cause the host to ban you.
The GUI offers the ability to do batch downloads by entering individual links in the UI or telling the app to read them from a local file.
The GUI offers an ability to download a playlist from websites that supports them like YouTube.
The GUI offers the ability to manage links to playlists to easily monitor their activities(subscriptions).
The GUI is offered in multiple languages and as of this writing, the supported languages are English, Chinese, Spanish, Polish, Turkish, Russian, Japanese, French, Italian, Portuguese, Arabic, Korean, Swedish, German, Greek and Ukrainian.
To Install these extensins, go to "Configure" tab and then go to "Extensions" sub tab and then click the "Add An Extension" button and then select from the list an extension you want to install.
Make sure you have access to the internet before you run "Media Downloader" for the first time because it will attempt to use the internet to download the latest version of yt-dlp. Installing most extensions will also cause "Media Downloader" to access the internet to download the extension's executable.
These bundles are not notarized and your system may report it as "corrupted". Search the internet on how to install bundles that are not notarized if you want to use this app on MacOS. This bundle works on macOS 14.0 or later.
Installer for Microsoft Windows
Installer for Microsoft Windows that is 32 bit, build with Qt5 and has a minimum requirenment of windows 7 is here.
Installer for Microsoft Windows that is 64 bit, build with Qt6 and has a minimum requirenment of windows 10 is here.
Portable version for Microsoft Windows
A portable version is a self-contained version that keeps everything in the application folder and does not need to be installed first.
Portable version for Microsoft Windows that is 32 bit, build with Qt5 and has a minimum requirenment of windows 7 is here.
Portable version for Microsoft Windows that is 64 bit, build with Qt6 and has a minimum requirenment of windows 10 is here.
You can also install the portable version for Windows using scoop with the following commands:
Add the extras bucket:
scoop bucket add extras
Install Media Downloader:
scoop install media-downloader
Git versions for windows and macos can be downloaded from here.
Problems with Windows's antivirus programs
Once in a while, Windows Defender and other antivirus tools will report this application as a virus/unsafe
or Potentially unwanted. These are false positive reports and they are tracked here.
Flatpak
Media Downloader is on flathub for those who prefer to use flatpaks.
AppImage
Users of AppImages can get an AppImage package of Media Downloader from here.
Aur package for Arch Linux
Arch Linux users can build the project from source using this aur package.
Package for Fedora
Media Downloader is in official Fedora repositories and can be installed by running sudo dnf -y install media-downloader
Binary packages for other Linux distributions
Binary packages i maintain for a few Linux distributions are here.
Packaging Status
A short list of distributions that have Media Downloader in their repositories and the version they have is maintained here.
How to compile for Linux
clone the repo and cd into it
git clone https://github.com/mhogomchungu/media-downloader && cd media-downloader
chmod it to make it a executeable
chmod +x build_linux.sh
now run the shell script
./build_linux.sh
Fedora
Fedora users can use the following script to build from source:
./build_fedora.sh
Arch linux
Arch linux users can use the following script to build from source:
./build_arch.sh
from https://github.com/mhogomchungu/media-downloader
aria2 is a lightweight multi-protocol & multi-source command-line
download utility. It supports HTTP/HTTPS, FTP, SFTP,
BitTorrent and Metalink. aria2 can be manipulated via built-in
JSON-RPC and XML-RPC interfaces.
Download
Download version 1.37.0.
There you can download source distribution and binaries for OS X, Windows and Android.
The legacy releases earlier than 1.19.1 are available
here.
Features
Multi-Connection Download.
aria2 can download a file
from multiple sources/protocols and tries to utilize your
maximum download bandwidth. Really speeds up your download
experience.
Lightweight.
aria2 doesn’t require much memory and CPU time. When disk cache is
off, the physical memory usage is typically 4MiB (normal
HTTP/FTP downloads) to 9MiB (BitTorrent downloads). CPU usage in
BitTorrent with download speed of 2.8MiB/sec is around 6%.
Fully Featured BitTorrent Client.
All features you want in BitTorrent client are available: DHT,
PEX, Encryption, Magnet URI, Web-Seeding, Selective Downloads,
Local Peer Discovery and UDP tracker.
Metalink Enabled.
aria2 supports The Metalink Download Description Format
(aka Metalink v4),
Metalink version 3 and
Metalink/HTTP.
Metalink offers the file verification, HTTP/FTP/SFTP/BitTorrent integration
and the various configurations for language, location, OS, etc.
Remote Control.
aria2 supports RPC interface to control the aria2 process.
The supported interfaces are JSON-RPC (over HTTP and WebSocket)
and XML-RPC.
Usage Examples
Command-line scares you off? No, aria2 is really easy to use!!
aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink.
aria2 can download a
file from multiple sources/protocols and tries to utilize your maximum
download bandwidth. It supports downloading a file from
HTTP(S)/FTP/SFTP and BitTorrent at the same time, while the data
downloaded from HTTP(S)/FTP/SFTP is uploaded to the BitTorrent
swarm. Using Metalink's chunk checksums, aria2 automatically validates
chunks of data while downloading a file like BitTorrent.
To get the latest source code, run the following command:
$ git clone https://github.com/aria2/aria2.git
This will create an aria2 directory in your current directory and source
files are stored there.
Dependency
features
dependency
HTTPS
OSX or GnuTLS or OpenSSL or Windows
SFTP
libssh2
BitTorrent
None. Optional: libnettle+libgmp or libgcrypt
or OpenSSL (see note)
Metalink
libxml2 or Expat.
Checksum
None. Optional: OSX or libnettle or libgcrypt
or OpenSSL or Windows (see note)
gzip, deflate in HTTP
zlib
Async DNS
C-Ares
Firefox3/Chromium cookie
libsqlite3
XML-RPC
libxml2 or Expat.
JSON-RPC over WebSocket
libnettle or libgcrypt or OpenSSL
Note
libxml2 has precedence over Expat if both libraries are installed.
If you prefer Expat, run configure with --without-libxml2.
Note
On Apple OSX, OS-level SSL/TLS support will be preferred. Hence
neither GnuTLS nor OpenSSL is required on that platform. If you'd
like to disable this behavior, run configure with
--without-appletls.
GnuTLS has precedence over OpenSSL if both libraries are installed.
If you prefer OpenSSL, run configure with --without-gnutls--with-openssl.
On Windows, there is SSL implementation available that is based on
the native Windows SSL capabilities (Schannel) and it will be
preferred. Hence neither GnuTLS nor OpenSSL is required on that
platform. If you'd like to disable this behavior, run configure
with --without-wintls.
Note
On Apple OSX, the OS-level checksum support will be preferred,
unless aria2 is configured with --without-appletls.
libnettle has precedence over libgcrypt if both libraries are
installed. If you prefer libgcrypt, run configure with
--without-libnettle --with-libgcrypt. If OpenSSL is selected over
GnuTLS, neither libnettle nor libgcrypt will be used.
If none of the optional dependencies are installed, an internal
implementation that only supports md5 and sha1 will be used.
On Windows, there is SSL implementation available that is based on
the native Windows capabilities and it will be preferred, unless
aria2 is configured with --without-wintls.
A user can have one of the following configurations for SSL and crypto
libraries:
OpenSSL
GnuTLS + libgcrypt
GnuTLS + libnettle
Apple TLS (OSX only)
Windows TLS (Windows only)
You can disable BitTorrent and Metalink support by providing
--disable-bittorrent and --disable-metalink to the configure
script respectively.
aria2 is primarily written in C++. Initially, it was written based on
C++98/C++03 standard features. We are now migrating aria2 to the C++11
standard. The current source code requires a C++11 aware compiler. For
well-known compilers, such as g++ and clang, the -std=c++11 or
-std=c++0x flag must be supported.
To build aria2 from the source package, you need the following
development packages (package name may vary depending on the
distribution you use):
libgnutls-dev (Required for HTTPS, BitTorrent, Checksum support)
nettle-dev (Required for BitTorrent, Checksum support)
libgmp-dev (Required for BitTorrent)
libssh2-1-dev (Required for SFTP support)
libc-ares-dev (Required for async DNS support)
libxml2-dev (Required for Metalink support)
zlib1g-dev (Required for gzip, deflate decoding support in HTTP)
libsqlite3-dev (Required for Firefox3/Chromium cookie support)
pkg-config (Required to detect installed libraries)
You can use libgcrypt-dev instead of nettle-dev and libgmp-dev:
libgpg-error-dev (Required for BitTorrent, Checksum support)
libgcrypt-dev (Required for BitTorrent, Checksum support)
You can use libssl-dev instead of
libgnutls-dev, nettle-dev, libgmp-dev, libgpg-error-dev and libgcrypt-dev:
libssl-dev (Required for HTTPS, BitTorrent, Checksum support)
You can use libexpat1-dev instead of libxml2-dev:
libexpat1-dev (Required for Metalink support)
On Fedora you need the following packages: gcc, gcc-c++, kernel-devel,
libgcrypt-devel, libxml2-devel, openssl-devel, gettext-devel, cppunit
If you downloaded source code from a git repository, you have to install
the following packages to get autoconf macros:
libxml2-dev
libcppunit-dev
autoconf
automake
autotools-dev
autopoint
libtool
And run the following command to generate configure script and other files
necessary to build the program:
The configure script checks available libraries and enables as many
features as possible except for experimental features not enabled by
default.
Since 1.1.0, aria2 checks the certificate of HTTPS servers by default.
If you build with OpenSSL or the recent version of GnuTLS which has
gnutls_certificate_set_x509_system_trust() function and the
library is properly configured to locate the system-wide CA
certificates store, aria2 will automatically load those certificates
at the startup. If it is not the case, I recommend supplying the path
to the CA bundle file. For example, in Debian the path to CA bundle
file is '/etc/ssl/certs/ca-certificates.crt' (in ca-certificates
package). This may vary depending on your distribution. You can give
it to configure script using --with-ca-bundle option:
$ ./configure --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
$ make
Without --with-ca-bundle option, you will encounter the error when
accessing HTTPS servers because the certificate cannot be verified
without the CA bundle. In such a case, you can specify the CA bundle file
using aria2's --ca-certificate option. If you don't have the CA bundle
file installed, then the last resort is to disable the certificate
validation using --check-certificate=false.
Using the native OSX (AppleTLS) and/or Windows (WinTLS) implementation
will automatically use the system certificate store, so
--with-ca-bundle is not necessary and will be ignored when using
these implementations.
By default, the bash_completion file named aria2c is installed to
the directory $prefix/share/doc/aria2/bash_completion. To change
the install directory of the file, use --with-bashcompletiondir
option.
After a make, the executable is located at src/aria2c.
aria2 uses CppUnit for automated unit testing. To run the unit test:
$ make check
Cross-compiling Windows binary
In this section, we describe how to build a Windows binary using a
mingw-w64 (http://mingw-w64.org/doku.php) cross-compiler on Debian
Linux. The MinGW (http://www.mingw.org/) may not be able to build
aria2.
The easiest way to build Windows binary is using Dockerfile.mingw. See
Dockerfile.mingw how to build a binary. If you cannot use Dockerfile,
then continue to read the following paragraphs.
Basically, after compiling and installing depended libraries, you can
do cross-compile just passing appropriate --host option and
specifying CPPFLAGS, LDFLAGS, and PKG_CONFIG_LIBDIR
variables to configure. For convenience and to lower our own
development cost, we provide an easier way to configure the build
settings.
mingw-config script is a configure script wrapper for mingw-w64.
We use it to create official Windows build. This script assumes
the following libraries have been built for cross-compile:
c-ares
expat
sqlite3
zlib
libssh2
cppunit
Some environment variables can be adjusted to change build settings:
HOST
cross-compile to build programs to run on HOST. It defaults to
i686-w64-mingw32. To build a 64bit binary, specify
x86_64-w64-mingw32.
PREFIX
Prefix to the directory where dependent libraries are installed. It
defaults to /usr/local/$HOST. -I$PREFIX/include will be
added to CPPFLAGS. -L$PREFIX/lib will be added to
LDFLAGS. $PREFIX/lib/pkgconfig will be set to
PKG_CONFIG_LIBDIR.
For example, to build a 64bit binary do this:
$ HOST=x86_64-w64-mingw32 ./mingw-config
If you want libaria2 dll with --enable-libaria2, then don't use
ARIA2_STATIC=yes and prepare the DLL version of external
libraries.
Building documentation
Sphinx is used to building the
documentation. aria2 man pages will be build when you run make if
they are not up-to-date. You can also build an HTML version of the aria2
man page by make html. The HTML version manual is also available
online (Russian
translation, Portuguese
translation).
BitTorrent
About file names
The file name of the downloaded file is determined as follows:
single-file mode
If "name" key is present in .torrent file, the file name is the value
of "name" key. Otherwise, the file name is the base name of .torrent
file appended by ".file". For example, .torrent file is
"test.torrent", then file name is "test.torrent.file". The
directory to store the downloaded file can be specified by -d
option.
multi-file mode
The complete directory/file structure mentioned in .torrent file
is created. The directory to store the top directory of
downloaded files can be specified by -d option.
Before download starts, a complete directory structure is created if
needed. By default, aria2 opens at most 100 files mentioned in
.torrent file, and directly writes to and reads from these files.
The number of files to open simultaneously can be controlled by
--bt-max-open-files option.
DHT
aria2 supports mainline compatible DHT. By default, the routing table
for IPv4 DHT is saved to $XDG_CACHE_HOME/aria2/dht.dat and the
routing table for IPv6 DHT is saved to
$XDG_CACHE_HOME/aria2/dht6.dat unless files exist at
$HOME/.aria2/dht.dat or $HOME/.aria2/dht6.dat. aria2 uses the
same port number to listen on for both IPv4 and IPv6 DHT.
UDP tracker
UDP tracker support is enabled when IPv4 DHT is enabled. The port
number of the UDP tracker is shared with DHT. Use --dht-listen-port
option to change the port number.
Other things should be noted
-o option is used to change the file name of .torrent file itself,
not a file name of a file in .torrent file. For this purpose, use
--index-out option instead.
The port numbers that aria2 uses by default are 6881-6999 for TCP
and UDP.
aria2 doesn't configure port-forwarding automatically. Please
configure your router or firewall manually.
The maximum number of peers is 55. This limit may be exceeded when
the download rate is low. This download rate can be adjusted using
--bt-request-peer-speed-limit option.
As of release 0.10.0, aria2 stops sending request messages after
selective download completes.
Metalink
The current implementation supports HTTP(S)/FTP/SFTP/BitTorrent. The
other P2P protocols are ignored. Both Metalink4 (RFC 5854) and
Metalink version 3.0 documents are supported.
For checksum verification, md5, sha-1, sha-224, sha-256, sha-384, and
sha-512 are supported. If multiple hash algorithms are provided, aria2
uses a stronger one. If whole file checksum verification fails, aria2
doesn't retry the download and just exits with a non-zero return code.
The supported user preferences are version, language, location,
protocol, and os.
If chunk checksums are provided in the Metalink file, aria2 automatically
validates chunks of data during download. This behavior can be turned
off by a command-line option.
If a signature is included in a Metalink file, aria2 saves it as a file
after the completion of the download. The file name is download
file name + ".sig". If the same file already exists, the signature file is
not saved.
In Metalink4, a multi-file torrent could appear in metalink:metaurl
element. Since aria2 cannot download 2 same torrents at the same
time, aria2 groups files in metalink:file element which has the same
BitTorrent metaurl, and downloads them from a single BitTorrent swarm.
This is a basically multi-file torrent download with file selection, so
the adjacent files which are not in Metalink document but share the same
piece with the selected file are also created.
If relative URI is specified in metalink:url or metalink:metaurl
element, aria2 uses the URI of Metalink file as base URI to resolve
the relative URI. If relative URI is found in the Metalink file which is
read from the local disk, aria2 uses the value of --metalink-base-uri
option as base URI. If this option is not specified, the relative URI
will be ignored.
Metalink/HTTP
The current implementation only uses rel=duplicate links. aria2
understands Digest header fields and check whether it matches the
digest value from other sources. If it differs, drop the connection.
aria2 also uses this digest value to perform checksum verification
after the download is finished. aria2 recognizes geo value. To tell aria2
which location you prefer, you can use --metalink-location option.
netrc
netrc support is enabled by default for HTTP(S)/FTP/SFTP. To disable
netrc support, specify -n command-line option. Your .netrc file
should have correct permissions(600).
WebSocket
The WebSocket server embedded in aria2 implements the specification
defined in RFC 6455. The supported protocol version is 13.
libaria2
The libaria2 is a C++ library that offers aria2 functionality to the
client code. Currently, libaria2 is not built by default. To enable
libaria2, use --enable-libaria2 configure option. By default,
only the shared library is built. To build a static library, use
--enable-static configure option as well. See libaria2
documentation to know how to use API.
# install dependencies
npm install
# serve with hot reload at localhost:9080
npm run dev
# build electron application for production
npm run build
# run unit & end-to-end tests
npm test# lint all JS/Vue component files in `src/`
npm run lint
This project was generated with electron-vue@7c4e3e9 using vue-cli. Documentation about the original structure can be found here.
from https://github.com/alanzhangzm/Photon
( 下载软件Photon
Photon是一款基于 aria2 的开源下载软件,支持 HTTP/HTTPS,磁力链,BT 和 Metalink。目前支持Mac OS 和 Windows 平台。可以直接使用基于 RPC 协议的 aria2 插件。
apt-get update
apt-get -y install wget screen curl python zip unzip sudo vim
#由于shell的局限性,请先复制上方内容执行完再复制下方执行
wget http://mirrors.linuxeye.com/oneinstack.tar.gz
tar xzf oneinstack.tar.gz && rm -f oneinstack.tar.gz
cd oneinstack
screen -S oneinstack
./install.sh
交互记录
Please input SSH port(Default: 22): #回车
Do you want to enable iptables? [y/n]: n
Do you want to install Web server? [y/n]: y
Please select Nginx server:
1. Install Nginx
2. Install Tengine
3. Install OpenResty
4. Do not install
Please input a number:(Default 1 press Enter) #回车
Please select Apache server:
1. Install Apache-2.4
2. Install Apache-2.2
3. Do not install
Please input a number:(Default 3 press Enter) #回车
Please select tomcat server:
1. Install Tomcat-8
2. Install Tomcat-7
3. Install Tomcat-6
4. Do not install
Please input a number:(Default 4 press Enter) #回车
Do you want to install Database? [y/n]: n
Do you want to install PHP? [y/n]: y
Please select a version of the PHP:
1. Install php-5.3
2. Install php-5.4
3. Install php-5.5
4. Install php-5.6
5. Install php-7.0
6. Install php-7.1
7. Install php-7.2
Please input a number:(Default 5 press Enter) #回车
Do you want to install opcode cache of the PHP? [y/n]: y
Please select a opcode cache of the PHP:
1. Install Zend OPcache
3. Install APCU
Please input a number:(Default 1 press Enter) #回车
Do you want to install ionCube? [y/n]: n
Do you want to install ImageMagick or GraphicsMagick? [y/n]: n
Do you want to install Pure-FTPd? [y/n]: n
Do you want to install phpMyAdmin? [y/n]: n
Do you want to install redis? [y/n]: n
Do you want to install memcached? [y/n]: n
Do you want to install HHVM? [y/n]: n
######################################################################## OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+ ## For more information please visit https://oneinstack.com ########################################################################
What Are You Doing?
1. Use HTTP Only
2. Use your own SSL Certificate and Key
3. Use Let's Encrypt to Create SSL Certificate and Key
q. Exit
Please input the correct option: 1
Please input domain(example: www.example.com): aria2down.tk
domain=aria2down.tk
Please input the directory for the domain:aria2down.tk :#回车
(Default directory: /data/wwwroot/aria2down.tk):
Virtual Host Directory=/data/wwwroot/aria2down.tk
Create Virtul Host directory......
set permissions of Virtual Host directory......
Do you want to add more domain name? [y/n]: n
Do you want to add hotlink protection? [y/n]: n
Allow Rewrite rule? [y/n]: n
Allow Nginx/Tengine/OpenResty access_log? [y/n]: n
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Reload Nginx......
######################################################################## OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+ ## For more information please visit https://oneinstack.com ########################################################################
Your domain: aria2down.tk
Virtualhost conf: /usr/local/nginx/conf/vhost/aria2down.tk.conf
Directory of: /data/wwwroot/aria2down.tk
大家将aria2down.tk更换成自己的域名即可,接下来是上传站点程序。
cd /data/wwwroot/aria2down.tk
wget "https://github.com/chiakge/Aria2-Rclone-DirectoryLister-Aria2Ng/raw/master/website/Aria2Ng.zip"
unzip Aria2Ng.zip && rm -f Aria2Ng.zip
现在我们就可以尝试打开自己域名看看能不能访问Aria2Ng.
接下来部署DirectoryLister
cd /root/oneinstack
./vhost.sh
交互记录
######################################################################## OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+ ## For more information please visit https://oneinstack.com ########################################################################
What Are You Doing?
1. Use HTTP Only
2. Use your own SSL Certificate and Key
3. Use Let's Encrypt to Create SSL Certificate and Key
q. Exit
Please input the correct option: 1
Please input domain(example: www.example.com): www.aria2down.tk
domain=www.aria2down.tk
Please input the directory for the domain:www.aria2down.tk :
(Default directory: /data/wwwroot/www.aria2down.tk):
Virtual Host Directory=/data/wwwroot/www.aria2down.tk
Create Virtul Host directory......
set permissions of Virtual Host directory......
Do you want to add more domain name? [y/n]: n
Do you want to add hotlink protection? [y/n]: n
Allow Rewrite rule? [y/n]: n
Allow Nginx/Tengine/OpenResty access_log? [y/n]: n
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
Reload Nginx......
######################################################################## OneinStack for CentOS/RadHat 6+ Debian 7+ and Ubuntu 12+ ## For more information please visit https://oneinstack.com ########################################################################
Your domain: www.aria2down.tk
Virtualhost conf: /usr/local/nginx/conf/vhost/www.aria2down.tk.conf
Directory of: /data/wwwroot/www.aria2down.tk
wget https://github.com/aria2/aria2/releases/download/release-1.33.1/aria2-1.33.1.tar.gz
tar xzvf aria2-1.33.1.tar.gz
cd aria2-1.33.1
./configure
make
make install
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> aria2down #随便填,后面要用到
Type of storage to configure.
Choose a number from below, or type in your own value
1 / Alias for a existing remote
\ "alias"
2 / Amazon Drive
\ "amazon cloud drive"
3 / Amazon S3 (also Dreamhost, Ceph, Minio, IBM COS)
\ "s3"
4 / Backblaze B2
\ "b2"
5 / Box
\ "box"
6 / Cache a remote
\ "cache"
7 / Dropbox
\ "dropbox"
8 / Encrypt/Decrypt a remote
\ "crypt"
9 / FTP Connection
\ "ftp"
10 / Google Cloud Storage (this is not Google Drive)
\ "google cloud storage"
11 / Google Drive
\ "drive"
12 / Hubic
\ "hubic"
13 / Local Disk
\ "local"
14 / Microsoft Azure Blob Storage
\ "azureblob"
15 / Microsoft OneDrive
\ "onedrive"
16 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
\ "swift"
17 / Pcloud
\ "pcloud"
18 / QingCloud Object Storage
\ "qingstor"
19 / SSH/SFTP Connection
\ "sftp"
20 / Webdav
\ "webdav"
21 / Yandex Disk
\ "yandex"
22 / http Connection
\ "http"
Storage> 11 #选择11
Google Application Client Id - leave blank normally.
client_id>#留空
Google Application Client Secret - leave blank normally.
client_secret>#留空
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
1 / Full access all files, excluding Application Data Folder.
\ "drive"
2 / Read-only access to file metadata and file contents.
\ "drive.readonly"
/ Access to files created by rclone only.
3 | These are visible in the drive website.
| File authorization is revoked when the user deauthorizes the app.
\ "drive.file"
/ Allows read and write access to the Application Data folder.
4 | This is not visible in the drive website.
\ "drive.appfolder"
/ Allows read-only access to file metadata but
5 | does not allow any access to read or download file content.
\ "drive.metadata.readonly"
scope> 1 #选择1
ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).
root_folder_id>#留空
Service Account Credentials JSON file path - leave blank normally.
Needed only if you want use SA instead of interactive login.
service_account_file>#留空
Remote config
Use auto config?
* Say Y if not sure
* Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> n #选择n
If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth.... #复制到浏览器打开,获取验证码
Log in and authorize rclone for access
Enter verification code> #填入上面获取到的验证码
Configure this as a team drive?
y) Yes
n) No
y/n> y #选择y
Fetching team drive list...
No team drives found in your account--------------------
[Rats]
client_id =
client_secret =
service_account_file =
token = {"access_token":"ya29.GltFBd7UJN2qrxdG8FnG_rMuB18ogb8QlujdL7glvXtfV"}
team_drive =
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y #选择y
Current remotes:
Name Type
==== ====
aria2down drive
e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q #选择q退出
退出后我们来设置下rclone的自启动脚本。
wget https://raw.githubusercontent.com/chiakge/Aria2-Rclone-DirectoryLister-Aria2Ng/master/sh/rcloned
vim rcloned
NAME 即是刚刚rclone配置是输入的name。这里我填写的是aria2down。
REMOTE 填写的是谷歌云盘中文件夹的名称,我在云盘里新建了一个chikage的文件夹,所以这里填写的就是chikage。
LOCAL 填写挂载在vps中位置的地址,在这里我填写的是/data/wwwroot/www.aria2down.tk/Cloud
输入完成后保存。我们将其设置自启,并尝试启动。