feat(new-tool): generate ula based on timestamp and mac address (#344)

* feat(ipv6-ula-generator): new tool: generate ula based on timestamp and mac address

This new tool generates a random unique ula based on the current timestamp and the provided mac address. An ULA is your "secondary" IPV6-Address only for internal use.
It can also be used as a backup address if your provider gets offline and your Prefix-IPs are not longer valid.Also you can create the most of your internal firewall rules based on your ULAs.

* feat(ipv6-ula-generator): changes requested by review

* Update src/tools/ipv6-ula-generator/index.ts

* Update src/tools/ipv6-ula-generator/ipv6-ula-generator.vue

---------

Co-authored-by: Corentin THOMASSET <corentin.thomasset74@gmail.com>
This commit is contained in:
cgoIT 2023-04-09 20:58:27 +02:00 committed by GitHub
parent ec7cb9351c
commit 1d7f8b9a8c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 98 additions and 12 deletions

View file

@ -30,23 +30,15 @@
</template>
<script setup lang="ts">
import { useValidation } from '@/composable/validation';
import db from 'oui/oui.json';
import { macAddressValidation } from '@/utils/macAddress';
const getVendorValue = (address: string) => address.trim().replace(/[.:-]/g, '').toUpperCase().substring(0, 6);
const macAddress = ref('20:37:06:12:34:56');
const details = computed<string | undefined>(() => db[getVendorValue(macAddress.value)]);
const { attrs: validationAttrs } = useValidation({
source: macAddress,
rules: [
{
message: 'Invalid MAC address',
validator: (value) => value.trim().match(/^([0-9A-Fa-f]{2}[:-]){2,5}([0-9A-Fa-f]{2})$/),
},
],
});
const { attrs: validationAttrs } = macAddressValidation(macAddress);
</script>
<style lang="less" scoped></style>