Compare commits
21 Commits
random-add
...
v1.1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ccca02e00 | ||
|
|
62bb7e66a7 | ||
|
|
6f5f58ba5f | ||
|
|
41de48a71f | ||
|
|
6493f2c17e | ||
|
|
b374b20690 | ||
|
|
f594f82e6f | ||
|
|
5cbd5d4af2 | ||
|
|
2f0c4080bc | ||
|
|
437e0b1686 | ||
|
|
0017ff79e3 | ||
|
|
79698c2130 | ||
|
|
5ff108ad4e | ||
|
|
8e23673f1d | ||
|
|
fd30f08223 | ||
|
|
8f8421d30f | ||
|
|
fa503cc073 | ||
|
|
7eda584a76 | ||
|
|
13b03c6371 | ||
|
|
08321080cb | ||
|
|
3aac36dd06 |
66
.github/workflows/generator-generic-ossf-slsa3-publish.yml
vendored
Normal file
66
.github/workflows/generator-generic-ossf-slsa3-publish.yml
vendored
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# This workflow uses actions that are not certified by GitHub.
|
||||||
|
# They are provided by a third-party and are governed by
|
||||||
|
# separate terms of service, privacy policy, and support
|
||||||
|
# documentation.
|
||||||
|
|
||||||
|
# This workflow lets you generate SLSA provenance file for your project.
|
||||||
|
# The generation satisfies level 3 for the provenance requirements - see https://slsa.dev/spec/v0.1/requirements
|
||||||
|
# The project is an initiative of the OpenSSF (openssf.org) and is developed at
|
||||||
|
# https://github.com/slsa-framework/slsa-github-generator.
|
||||||
|
# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier.
|
||||||
|
# For more information about SLSA and how it improves the supply-chain, visit slsa.dev.
|
||||||
|
|
||||||
|
name: SLSA generic generator
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
release:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
digests: ${{ steps.hash.outputs.digests }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
# ========================================================
|
||||||
|
#
|
||||||
|
# Step 1: Build your artifacts.
|
||||||
|
#
|
||||||
|
# ========================================================
|
||||||
|
- name: Build artifacts
|
||||||
|
run: |
|
||||||
|
# These are some amazing artifacts.
|
||||||
|
echo "artifact1" > artifact1
|
||||||
|
echo "artifact2" > artifact2
|
||||||
|
|
||||||
|
# ========================================================
|
||||||
|
#
|
||||||
|
# Step 2: Add a step to generate the provenance subjects
|
||||||
|
# as shown below. Update the sha256 sum arguments
|
||||||
|
# to include all binaries that you generate
|
||||||
|
# provenance for.
|
||||||
|
#
|
||||||
|
# ========================================================
|
||||||
|
- name: Generate subject for provenance
|
||||||
|
id: hash
|
||||||
|
run: |
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
# List the artifacts the provenance will refer to.
|
||||||
|
files=$(ls artifact*)
|
||||||
|
# Generate the subjects (base64 encoded).
|
||||||
|
echo "hashes=$(sha256sum $files | base64 -w0)" >> "${GITHUB_OUTPUT}"
|
||||||
|
|
||||||
|
provenance:
|
||||||
|
needs: [build]
|
||||||
|
permissions:
|
||||||
|
actions: read # To read the workflow path.
|
||||||
|
id-token: write # To sign the provenance.
|
||||||
|
contents: write # To add assets to a release.
|
||||||
|
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v1.4.0
|
||||||
|
with:
|
||||||
|
base64-subjects: "${{ needs.build.outputs.digests }}"
|
||||||
|
upload-assets: true # Optional: Upload to a new release
|
||||||
174
README.md
174
README.md
@@ -197,6 +197,146 @@ console.log(csv);
|
|||||||
console.log(json);
|
console.log(json);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Offline Local-Only Usage (Run Everything on Your Own Machine)
|
||||||
|
|
||||||
|
If, like me, you prefer to **keep all data and logic on your own computer only**, without relying on any external server, you can treat MockAddress Core as a pure static site and run it via a simple local HTTP server:
|
||||||
|
|
||||||
|
- My development environment is a Windows PC with:
|
||||||
|
- A modern browser (Chrome / Edge, etc.)
|
||||||
|
- Python / PHP / Node.js (at least one of them; in my case I have all three installed)
|
||||||
|
- Clone this repository to a local directory, e.g. `D:\mockaddress-core\`.
|
||||||
|
- In the project root, create a `start-local-server.bat` with the following content to start a local server and automatically open `http://localhost:8000`:
|
||||||
|
|
||||||
|
```bat
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Starting local server...
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
REM Check if Python 3 is available
|
||||||
|
|
||||||
|
python --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
python -c "import sys; sys.exit(0 if sys.version_info >= (3, 0) else 1)" >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Python 3
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
python -m http.server 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if Python 2 is available
|
||||||
|
|
||||||
|
python --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
python -c "import sys; sys.exit(0 if sys.version_info < (3, 0) else 1)" >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Python 2
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
python -m SimpleHTTPServer 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if PHP is available
|
||||||
|
|
||||||
|
php --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found PHP
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
php -S localhost:8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if Node.js is available
|
||||||
|
|
||||||
|
where npx >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Node.js
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
npx --yes http-server -p 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
echo Error: No server found
|
||||||
|
|
||||||
|
echo Please install Python, PHP, or Node.js
|
||||||
|
|
||||||
|
pause
|
||||||
|
|
||||||
|
exit /b 1
|
||||||
|
```
|
||||||
|
|
||||||
|
How to use:
|
||||||
|
|
||||||
|
- Double-click `start-local-server.bat`. The script will try Python 3 → Python 2 → PHP → Node.js in order, start the first available local server, and open `http://localhost:8000` in your browser.
|
||||||
|
- From that point on, **all address generation logic— including the US address generator and the Hong Kong English/Chinese address generator—runs entirely on your own machine, with no Internet connection required**.
|
||||||
|
- This setup is ideal for **intranet environments** or teams with strict privacy/compliance requirements.
|
||||||
|
|
||||||
For detailed usage instructions, see [`使用说明.md`](./使用说明.md) (Usage Guide in Chinese).
|
For detailed usage instructions, see [`使用说明.md`](./使用说明.md) (Usage Guide in Chinese).
|
||||||
|
|
||||||
You can also refer to our production site <https://mockaddress.com/> to see real-world usage scenarios and UI design, then customize as needed in your own project.
|
You can also refer to our production site <https://mockaddress.com/> to see real-world usage scenarios and UI design, then customize as needed in your own project.
|
||||||
@@ -362,3 +502,37 @@ address-generator, random-address, fake-address, tax-free-state, real-address, r
|
|||||||
## License
|
## License
|
||||||
|
|
||||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💰 Support & Technical Services
|
||||||
|
|
||||||
|
|
||||||
|
### Cryptocurrency Donations
|
||||||
|
|
||||||
|
You can also support us via cryptocurrency:
|
||||||
|
|
||||||
|
**Ethereum / USDT (ERC-20):**
|
||||||
|
```
|
||||||
|
0x6Df562A8B669bf90EAe5ccB0E0440eb9DF237E4e
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**USDT (TRC-20):**
|
||||||
|
```
|
||||||
|
TYz2SP7GtL84t14CeL7tnhHLgeako3haHW
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> **Note**: Cryptocurrency donations are non-refundable. Please double-check the address before sending.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 📊 Technical Services Support
|
||||||
|
|
||||||
|
Need technical support for your project? Feel free to contact us for paid services and technical assistance.
|
||||||
|
|
||||||
|
📧 Email: [jietoushiren01@gmail.com](mailto:jietoushiren01@gmail.com)
|
||||||
|
|||||||
184
README_CN.md
184
README_CN.md
@@ -9,9 +9,11 @@
|
|||||||
[]()
|
[]()
|
||||||
|
|
||||||
> 本仓库包含 MockAddress 的**开源前端核心引擎**,用于生成跨多个国家/地区的真实格式测试地址和 MAC 地址数据。
|
> 本仓库包含 MockAddress 的**开源前端核心引擎**,用于生成跨多个国家/地区的真实格式测试地址和 MAC 地址数据。
|
||||||
> 完整生产环境网站:<https://mockaddress.com/>
|
> 完整生产环境网站:<https://mockaddress.com/>
|
||||||
|
>
|
||||||
|
> 🇬🇧 **English users please see: [README_EN.md](./README_EN.md) (English Documentation)**
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
## 项目简介
|
## 项目简介
|
||||||
|
|
||||||
@@ -195,6 +197,146 @@ console.log(csv);
|
|||||||
console.log(json);
|
console.log(json);
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 在本机离线运行(仅自己使用,无需联网)
|
||||||
|
|
||||||
|
如果你和我一样,希望**只在自己的电脑上独享数据,不依赖任何外网服务器**,可以把整个 MockAddress Core 当成一个纯静态站点,在本机用一个简单的 HTTP 服务跑起来:
|
||||||
|
|
||||||
|
- 我的开发环境是 Windows 电脑,安装了:
|
||||||
|
- 一个现代浏览器(Chrome / Edge 等)
|
||||||
|
- Python / PHP / Node.js(至少其一,实际我三者都装了)
|
||||||
|
- 仓库代码放在本地某个目录,比如:`D:\mockaddress-core\`。
|
||||||
|
- 在项目根目录新建一个 `start-local-server.bat`,内容如下,一键启动本地服务器并自动打开浏览器访问 `http://localhost:8000`:
|
||||||
|
|
||||||
|
```bat
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
echo Starting local server...
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
REM Check if Python 3 is available
|
||||||
|
|
||||||
|
python --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
python -c "import sys; sys.exit(0 if sys.version_info >= (3, 0) else 1)" >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Python 3
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
python -m http.server 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if Python 2 is available
|
||||||
|
|
||||||
|
python --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
python -c "import sys; sys.exit(0 if sys.version_info < (3, 0) else 1)" >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Python 2
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
python -m SimpleHTTPServer 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if PHP is available
|
||||||
|
|
||||||
|
php --version >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found PHP
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
php -S localhost:8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
REM Check if Node.js is available
|
||||||
|
|
||||||
|
where npx >nul 2>&1
|
||||||
|
|
||||||
|
if %errorlevel% equ 0 (
|
||||||
|
|
||||||
|
echo Found Node.js
|
||||||
|
|
||||||
|
echo Starting server on http://localhost:8000
|
||||||
|
|
||||||
|
echo Press Ctrl+C to stop
|
||||||
|
|
||||||
|
echo.
|
||||||
|
|
||||||
|
timeout /t 2 /nobreak >nul
|
||||||
|
|
||||||
|
start http://localhost:8000
|
||||||
|
|
||||||
|
npx --yes http-server -p 8000
|
||||||
|
|
||||||
|
exit /b 0
|
||||||
|
|
||||||
|
)
|
||||||
|
|
||||||
|
echo Error: No server found
|
||||||
|
|
||||||
|
echo Please install Python, PHP, or Node.js
|
||||||
|
|
||||||
|
pause
|
||||||
|
|
||||||
|
exit /b 1
|
||||||
|
```
|
||||||
|
|
||||||
|
运行方式:
|
||||||
|
|
||||||
|
- 双击 `start-local-server.bat`,脚本会依次尝试 Python 3 → Python 2 → PHP → Node.js,找到可用环境后自动启动本地服务器。
|
||||||
|
- 浏览器会自动打开 `http://localhost:8000`,此时**所有地址生成逻辑、包括美国地址生成器、香港中英文地址生成器等,全部只在你自己电脑本地运行,不依赖互联网**。
|
||||||
|
- 这种方式非常适合**内网环境**或对隐私/合规要求较高的团队。
|
||||||
|
|
||||||
详细使用说明请参考 [`使用说明.md`](./使用说明.md)。
|
详细使用说明请参考 [`使用说明.md`](./使用说明.md)。
|
||||||
|
|
||||||
你也可以参考我们的生产站点 <https://mockaddress.com/> 查看真实使用场景和 UI 设计,然后在自己的项目中按需定制。
|
你也可以参考我们的生产站点 <https://mockaddress.com/> 查看真实使用场景和 UI 设计,然后在自己的项目中按需定制。
|
||||||
@@ -360,3 +502,41 @@ address-generator, random-address, fake-address, tax-free-state, real-address, r
|
|||||||
## License
|
## License
|
||||||
|
|
||||||
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
|
本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💰 支持与技术服务
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 加密货币打赏
|
||||||
|
|
||||||
|
你也可以通过加密货币支持我们:
|
||||||
|
|
||||||
|
**Ethereum / USDT (ERC-20):**
|
||||||
|
```
|
||||||
|
0x6Df562A8B669bf90EAe5ccB0E0440eb9DF237E4e
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
**USDT (TRC-20):**
|
||||||
|
```
|
||||||
|
TYz2SP7GtL84t14CeL7tnhHLgeako3haHW
|
||||||
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
> **注意**:加密货币打赏不可退款,请确认地址无误后再发送。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### 📊 技术服务支持
|
||||||
|
|
||||||
|
需要建站的技术和内容支持?欢迎随时联系我们,提供付费服务与技术协助。
|
||||||
|
|
||||||
|
📧 邮箱:[jietoushiren01@gmail.com](mailto:jietoushiren01@gmail.com)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user