A utility which can easily import file from another wiki.
- Destination Wiki API URL (Example: https://example.com/w/api.php)
- Import Source Wiki Main URL (Example: https://example.com/wiki/)
- A list of import filename
Also, this requires $wgAllowCopyUploads = true; in the wiki's local settings and an account with the upload_by_url user right.
- Turn to Special:BotPasswords on the Destination Wiki
- Fill in your username/passwords
- Create a new bot
- Remember to add upload permissions
- Save the bot passwords, it should be like xxx@xxxand a random key.
optional: You can save your credentials to 1Password, and fill in conf.yml with secret reference URIs (op://).
- Download the latest build version from here.
- Decompress the file, creat a new directory (folder), and move main.exe.
- Run the main.exefor the first time, and it'll create the fileconf.yml.example.
- Rename conf.yml.exampletoconf.yml.
- Fill in the Bot credentials previous fetched. Example:
bot:
  username: xxx@xxx
  password: 7aCTEJJM6eitNpJqmfsaPfERZmsQcawh
- Run main.exeand follow the instructions.
Sorry, but there's currently no other systems' version of this utility. Please turn to the development section.
- Prepare Python 3.10 + environment.
- Clone this repository. git clone https://github.com/AlanYe-Dev/mediawiki-file-import-utility.git.
- cd into the directory cd mediawiki-file-import-utility.
- Install requirements pip install -r src/requirements.txt.
- Duplicate conf.yml.example, rename it toconf.yml.
- Fill in the Bot credentials previous fetched.
- Optional: Prepare a list of import filename to import.txt.
- run python3 src/main.py
Use PyInstaller to complete the build process. pyinstaller -F src/main.py
- Fork this repository, including the GitHub Actions
- Edit src/main.pyor whatever you like, and the Actions will build your code everytime you edit it.
Please feel free to create new issues and pull requests in this repository!
