공안조사폼 자동입력

psiainput.php 폼 필드를 자동으로 채워줍니다.

目前為 2025-08-22 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         공안조사폼 자동입력
// @namespace    https://www.moj.go.jp/
// @version      1.0.0
// @description  psiainput.php 폼 필드를 자동으로 채워줍니다.
// @match        https://www.moj.go.jp/psiamail/psiainput.php
// @grant        none
// @license      MIT
// ==/UserScript==

(function(){
  'use strict';

  // ─── 여기에 본인 정보로 수정하세요 ──────────────────────────────────────────
  const PROFILE = {
    innerJapan: '002',
    outerJapan: '003',
    prefecture: '000',
    age:        '003',
    occupation: '006',
    subject:    '中国スパイの報告',  // 件名 (50字以内)
    content:    `こんにちは。韓国の政治状況と関連して危険な憂慮人物と見られる中国スパイ容疑者に対して報告したいです。
最近、大韓民国の大統領を弾劾する法案が発議されましたが、その内容について非常に懸念しています。
弾劾法案には大統領が「北朝鮮、中国、ロシアを敵対視した」と明記されています
これは日本と韓国の同盟を弱体化させ、威嚇し、北韓やロシアとの関係を強化する狙いがあったとみられます。
添付された写真に表示されたこの危険な人物が弾劾集会に参加しており、日本に入国する場合、日本の安全保障に深刻な脅威になり得ると思います。
添付された人に対する詳しい調査を実施し、出入国審査をする際にこの点を考慮してくださるようお願いします。`,
    name:       'YourName',       // 氏名
    nationality:'KR',          // 国籍 (例: KR)
    email1:     '[email protected]'  // メールアドレス (任意)
  };
  // ────────────────────────────────────────────────────────────────────

  // 0. 페이지 로드 후 0.5초 대기
  window.addEventListener('load', () => setTimeout(fillAll, 500));

  function fillAll(){
    // 1) select 요소 채우기
    ['innerJapan','outerJapan','prefecture','age','occupation'].forEach(name => {
      const sel = document.querySelector(`select[name="${name}"]`);
      if(sel && PROFILE[name] != null) sel.value = PROFILE[name];
    });

    // 2) input/textarea 채우기
    const map = {
      subject: 'input[name="subject"]',
      content: 'textarea[name="content"]',
      name:    'input[name="name"]',
      nationality: 'input[name="nationality"]',
      email1:  'input[name="email1"]'
    };
    Object.entries(map).forEach(([key, sel]) => {
      const el = document.querySelector(sel);
      if(el && PROFILE[key] != null){
        el.value = PROFILE[key];
      }
    });
  }
})();